From b1b4c57ab4bd1831b6b959019b82eb1fc667d24e Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Thu, 5 Mar 2020 13:27:28 -0500 Subject: [PATCH 01/19] feat: idw instance in iframe --- Dockerfile.example | 13 + package-lock.json | 3957 ++++++++++++++++++++++++++++++++++++++++- package.json | 8 +- public/account.js | 2004 --------------------- public/index.html | 38 +- src/account.js | 179 -- src/displayHandler.js | 23 + src/idwProxy.js | 24 + src/index.js | 104 +- 9 files changed, 3958 insertions(+), 2392 deletions(-) create mode 100644 Dockerfile.example delete mode 100644 public/account.js delete mode 100644 src/account.js create mode 100644 src/displayHandler.js create mode 100644 src/idwProxy.js diff --git a/Dockerfile.example b/Dockerfile.example new file mode 100644 index 0000000..7b7ede0 --- /dev/null +++ b/Dockerfile.example @@ -0,0 +1,13 @@ +FROM node:10 + +WORKDIR /3box-account + +COPY package.json package-lock.json ./ + +COPY src ./src +COPY webpack*.config.js .babelrc ./ +COPY public ./public + +EXPOSE 30001 + +CMD npm run example:start diff --git a/package-lock.json b/package-lock.json index 230a4c0..bfd6f15 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,16 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "3id-blockchain-utils": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/3id-blockchain-utils/-/3id-blockchain-utils-0.3.2.tgz", + "integrity": "sha512-5l8aZspimqrJPwJabcbz0fFsCwG0EO3f0A/peB7LPlwCZR0A6gbrwgKVY3NDXi45aaqJFTZ+1PmgLycB+iA/tQ==", + "requires": { + "@ethersproject/contracts": "^5.0.0-beta.140", + "@ethersproject/providers": "^5.0.0-beta.144", + "@ethersproject/wallet": "^5.0.0-beta.133" + } + }, "@babel/cli": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.2.3.tgz", @@ -870,6 +880,367 @@ "to-fast-properties": "^2.0.0" } }, + "@ethersproject/abi": { + "version": "5.0.0-beta.146", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.0-beta.146.tgz", + "integrity": "sha512-9wn60tZ0rLGTlHnrD2V58i+bo+UvWytSCuI506ytqfwYauPI9gSkd3IPQI8Li61J1albZa4qtM37W5QlP0B7Eg==", + "requires": { + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/constants": ">=5.0.0-beta.128", + "@ethersproject/hash": ">=5.0.0-beta.128", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/strings": ">=5.0.0-beta.130" + } + }, + "@ethersproject/abstract-provider": { + "version": "5.0.0-beta.138", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.0-beta.138.tgz", + "integrity": "sha512-bIEBUMm62TxTF+zHOUHPfMQLf3gvN5cVR1Gyv5/LVuDz3UESgFTBHBpFLHPlW2/RLHDo7K0jx16a38vs6/r2gQ==", + "requires": { + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/networks": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/transactions": ">=5.0.0-beta.128", + "@ethersproject/web": ">=5.0.0-beta.129" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.0.0-beta.140", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.0-beta.140.tgz", + "integrity": "sha512-fROSxYPhtXqxK1y6/mJMpCUcjfUzCSuqNfACcPy2pwoOHMz1hsqS7m7HOEXy0HGAsQPw4fVuo4fywfA+Q62kmQ==", + "requires": { + "@ethersproject/abstract-provider": ">=5.0.0-beta.131", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131" + } + }, + "@ethersproject/address": { + "version": "5.0.0-beta.134", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.0-beta.134.tgz", + "integrity": "sha512-FHhUVJTUIg2pXvOOhIt8sB1cQbcwrzZKzf9CPV7JM1auli20nGoYhyMFYGK7u++GXzTMJduIkU1OwlIBupewDw==", + "requires": { + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/rlp": ">=5.0.0-beta.126", + "bn.js": "^4.4.0" + } + }, + "@ethersproject/base64": { + "version": "5.0.0-beta.132", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.0-beta.132.tgz", + "integrity": "sha512-zLpyJ6BzxTipQUERRy3cj2RbPvUKJ8wqTDvPmtELXdJcMttULBBkAHBWLqY+19K9K8VL08bE72sfr6QeLz9h5g==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129" + } + }, + "@ethersproject/basex": { + "version": "5.0.0-beta.132", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.0.0-beta.132.tgz", + "integrity": "sha512-BlTGjIW5O03Tl3cVrBWPYnSnhEdz7h3sAely82xDZPutUw9PyPy/PF7IN19iVNgv5ZKQlaDmQZ6M2OGzVOuIPw==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131" + } + }, + "@ethersproject/bignumber": { + "version": "5.0.0-beta.135", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.0-beta.135.tgz", + "integrity": "sha512-7Tw2NgHzK7o+70bwyoaIZCbRycz+saWNU0sLOYnis3qYXwYsdTL+Rm0PMGA2v4jyHJt7BPS2pxGww+akVXbX+w==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "bn.js": "^4.4.0" + } + }, + "@ethersproject/bytes": { + "version": "5.0.0-beta.136", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.0-beta.136.tgz", + "integrity": "sha512-yoi5Ul16ScMHVNsf+oCDGaAnj+rtXxITcneXPeDl8h0rk1VNIqb1WKKvooD5WtM0oAglyauuDahHIF+4+5G/Sg==", + "requires": { + "@ethersproject/logger": ">=5.0.0-beta.129" + } + }, + "@ethersproject/constants": { + "version": "5.0.0-beta.133", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.0.0-beta.133.tgz", + "integrity": "sha512-VCTpk3AF00mlWQw1vg+fI6qCo0qO5EVWK574t4HNBKW6X748jc9UJPryKUz9JgZ64ZQupyLM92wHilsG/YTpNQ==", + "requires": { + "@ethersproject/bignumber": ">=5.0.0-beta.130" + } + }, + "@ethersproject/contracts": { + "version": "5.0.0-beta.144", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.0.0-beta.144.tgz", + "integrity": "sha512-8SZCRwVX+4Ov9n57OAyYfqGkcOQib5exIUa0wzYxDy/C9vUcAHMPyD8H39/hSx5QQVR9XU9ANCKyXaUPrOa0sA==", + "requires": { + "@ethersproject/abi": ">=5.0.0-beta.137", + "@ethersproject/abstract-provider": ">=5.0.0-beta.131", + "@ethersproject/abstract-signer": ">=5.0.0-beta.132", + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/constants": ">=5.0.0-beta.128", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/transactions": ">=5.0.0-beta.128" + } + }, + "@ethersproject/hash": { + "version": "5.0.0-beta.133", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.0.0-beta.133.tgz", + "integrity": "sha512-tfF11QxFlJCy92rMtUZ0kImchWhlYXkN5Gj5cYfTcCdWEUKwNq1LljDnlrjV2JabO6s5enb8uiUj4RBTo2+Rgw==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/strings": ">=5.0.0-beta.130" + } + }, + "@ethersproject/hdnode": { + "version": "5.0.0-beta.137", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.0.0-beta.137.tgz", + "integrity": "sha512-TDe57vm/tndbaSKi/NRgC0uAp4uVr60LurTAw+u6mG5ihZg9mlYgr15GxOXWTRiJfa3V3kQD8VsTpzlNMYHViw==", + "requires": { + "@ethersproject/abstract-signer": ">=5.0.0-beta.132", + "@ethersproject/basex": ">=5.0.0-beta.127", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/pbkdf2": ">=5.0.0-beta.127", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/sha2": ">=5.0.0-beta.129", + "@ethersproject/signing-key": ">=5.0.0-beta.129", + "@ethersproject/strings": ">=5.0.0-beta.130", + "@ethersproject/transactions": ">=5.0.0-beta.128", + "@ethersproject/wordlists": ">=5.0.0-beta.128" + } + }, + "@ethersproject/json-wallets": { + "version": "5.0.0-beta.136", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.0.0-beta.136.tgz", + "integrity": "sha512-hO10rNY+m39lTjP6TWb91+rGx1flsde/LP5Ajx/mXeBwx2pLm8dWAv7h7XdymCeUvFgwVdDx2jAskm+9u1AN1Q==", + "requires": { + "@ethersproject/abstract-signer": ">=5.0.0-beta.132", + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/hdnode": ">=5.0.0-beta.130", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/pbkdf2": ">=5.0.0-beta.127", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/random": ">=5.0.0-beta.128", + "@ethersproject/strings": ">=5.0.0-beta.130", + "@ethersproject/transactions": ">=5.0.0-beta.128", + "aes-js": "3.0.0", + "scrypt-js": "3.0.0", + "uuid": "2.0.1" + }, + "dependencies": { + "scrypt-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.0.tgz", + "integrity": "sha512-7CC7aufwukEvqdmllR0ny0QaSg0+S22xKXrXz3ZahaV6J+fgD2YAtrjtImuoDWog17/Ty9Q4HBmnXEXJ3JkfQA==" + } + } + }, + "@ethersproject/keccak256": { + "version": "5.0.0-beta.131", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.0.0-beta.131.tgz", + "integrity": "sha512-KQnqMwGV0IMOjAr/UTFO8DuLrmN1uaMvcV3zh9hiXhh3rCuY+WXdeUh49w1VQ94kBKmaP0qfGb7z4SdhUWUHjw==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "js-sha3": "0.5.7" + } + }, + "@ethersproject/logger": { + "version": "5.0.0-beta.135", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.0.0-beta.135.tgz", + "integrity": "sha512-8Umim0a4lLqHLhoftxRma8ADDTUC5QIP4FvdXps4QJQy6wN4IYmHJffxfNDvGY3DFqwLxftYJobHjsfNOTVRUg==" + }, + "@ethersproject/networks": { + "version": "5.0.0-beta.136", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.0.0-beta.136.tgz", + "integrity": "sha512-skMDix0LVOhpfCItbg6Z1fXLK6vAtUkzAKaslDxVczEPUvjQ0kiJ5ceurmL+ROOO1owURGxUac5BrIarbO7Zgw==", + "requires": { + "@ethersproject/logger": ">=5.0.0-beta.129" + } + }, + "@ethersproject/pbkdf2": { + "version": "5.0.0-beta.134", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.0.0-beta.134.tgz", + "integrity": "sha512-ic9QwtaEzQANF4xggwh4LT3YtNEClxJZFpUPrbS+BTZ63R1hPhw+xVCtfHuKSOy2xZ4z8Sm6v8RHG6QoZrsthA==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/sha2": ">=5.0.0-beta.129" + } + }, + "@ethersproject/properties": { + "version": "5.0.0-beta.137", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.0.0-beta.137.tgz", + "integrity": "sha512-AcvoVmV0aXixa7SxaPj237OAIEXl/UMJf4vl2yFNzWjf77mMyZaZoKLLOh2zes++mLeQ3EJEIebSWFm06L5NuA==", + "requires": { + "@ethersproject/logger": ">=5.0.0-beta.129" + } + }, + "@ethersproject/providers": { + "version": "5.0.0-beta.154", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.0.0-beta.154.tgz", + "integrity": "sha512-ienwhs1d429fc3IgEXKG5yInTdqVFuIOKitTXgAJY2Q2Nw90/PUre5G43OWSNnT6Lawq/dC1ju5eroNmiPe8QQ==", + "requires": { + "@ethersproject/abstract-provider": ">=5.0.0-beta.131", + "@ethersproject/abstract-signer": ">=5.0.0-beta.132", + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/constants": ">=5.0.0-beta.128", + "@ethersproject/hash": ">=5.0.0-beta.128", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/networks": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/random": ">=5.0.0-beta.128", + "@ethersproject/rlp": ">=5.0.0-beta.126", + "@ethersproject/strings": ">=5.0.0-beta.130", + "@ethersproject/transactions": ">=5.0.0-beta.128", + "@ethersproject/web": ">=5.0.0-beta.129" + } + }, + "@ethersproject/random": { + "version": "5.0.0-beta.134", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.0.0-beta.134.tgz", + "integrity": "sha512-diq2+ycpNFQKgbR7ZNwXV5wIGiVZ7dQkMuKVLp6Essh4xLDsyLiplHLgMTICDNicaWbq8c87kFEFy/7360HlOw==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129" + } + }, + "@ethersproject/rlp": { + "version": "5.0.0-beta.131", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.0.0-beta.131.tgz", + "integrity": "sha512-sUJUGbywlnuk2frkSWzWiGenTrwOnrKQaNKJqjCGmK35x0WIzcR4/1gC6jWa0hpWJT6Seq6J6SCT5CS+ZWCFNw==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129" + } + }, + "@ethersproject/sha2": { + "version": "5.0.0-beta.135", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.0.0-beta.135.tgz", + "integrity": "sha512-DK/cUT5ilCVLtf1xk7XDPB9xGHsXiU3TsULKsEg823cTBIhFl2l0IiHAGqu9uiMlSJRpb2BwrWQuMgmFe/vMwQ==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129", + "hash.js": "1.1.3" + } + }, + "@ethersproject/signing-key": { + "version": "5.0.0-beta.135", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.0.0-beta.135.tgz", + "integrity": "sha512-D4w5svi8F8eYs+LTuroKzOR8le6ZKtmH/mDmtuz15vz3XdOkLPGVne5mqqqLJd8APBnOEDtsAqmg7ZCrAk8Mag==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "elliptic": "6.5.2" + }, + "dependencies": { + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + } + } + }, + "@ethersproject/strings": { + "version": "5.0.0-beta.136", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.0.0-beta.136.tgz", + "integrity": "sha512-Hb9RvTrgGcOavHvtQZz+AuijB79BO3g1cfF2MeMfCU9ID4j3mbZv/olzDMS2pK9r4aERJpAS94AmlWzCgoY2LQ==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/constants": ">=5.0.0-beta.128", + "@ethersproject/logger": ">=5.0.0-beta.129" + } + }, + "@ethersproject/transactions": { + "version": "5.0.0-beta.134", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.0.0-beta.134.tgz", + "integrity": "sha512-06VxNv6UHds153Ey3WJ2YDPReNkwmIm8fyuJOXRZ6IoYh5ns5CfR4fkmHSBtw7+/KIVjmRoMQZ4Yg/tcGmzz0A==", + "requires": { + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/constants": ">=5.0.0-beta.128", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/rlp": ">=5.0.0-beta.126", + "@ethersproject/signing-key": ">=5.0.0-beta.129" + } + }, + "@ethersproject/wallet": { + "version": "5.0.0-beta.137", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.0.0-beta.137.tgz", + "integrity": "sha512-L5Ms3Rdq5LYpTHXRqZ17rdIKlbVlRUbncHtp1bMa+W7VGZJoQEWSLXtqN+q0u6Lx+w2Cg1sHvXqL+i66TRhDkw==", + "requires": { + "@ethersproject/abstract-provider": ">=5.0.0-beta.131", + "@ethersproject/abstract-signer": ">=5.0.0-beta.132", + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/hash": ">=5.0.0-beta.128", + "@ethersproject/hdnode": ">=5.0.0-beta.130", + "@ethersproject/json-wallets": ">=5.0.0-beta.129", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/random": ">=5.0.0-beta.128", + "@ethersproject/signing-key": ">=5.0.0-beta.129", + "@ethersproject/transactions": ">=5.0.0-beta.128", + "@ethersproject/wordlists": ">=5.0.0-beta.128" + } + }, + "@ethersproject/web": { + "version": "5.0.0-beta.136", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.0.0-beta.136.tgz", + "integrity": "sha512-slJ+6diNl1ZuHhAO0OPX11BAhfyZtD5oxbpEp3+A/agR+iHKMmC5AZTJU0vhl2622Jpx21Aa35s2IHU2lPui5A==", + "requires": { + "@ethersproject/base64": ">=5.0.0-beta.126", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/strings": ">=5.0.0-beta.130", + "cross-fetch": "3.0.4" + } + }, + "@ethersproject/wordlists": { + "version": "5.0.0-beta.135", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.0.0-beta.135.tgz", + "integrity": "sha512-hGwIme0in4cJrhdumTJVc1OLEa7S/oxALMOION4C+31yKFdWfX00dOXi6aqokWkGaUQXvmHz4r9/GhfqzoB2Qg==", + "requires": { + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/hash": ">=5.0.0-beta.128", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/strings": ">=5.0.0-beta.130" + } + }, "@types/node": { "version": "10.14.4", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.4.tgz", @@ -1394,11 +1765,23 @@ } } }, + "base-x": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.4.tgz", + "integrity": "sha512-UYOadoSIkEI/VrRGSG6qp93rp2WdokiAiNYDfGW5qURAY8GiAQkvMbwNNSDYiVJopqv4gCna7xqf4rrNGp+5AA==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, "base64-js": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", - "dev": true + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + }, + "base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" }, "big.js": { "version": "5.2.2", @@ -1406,12 +1789,22 @@ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, + "bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" + }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, + "blakejs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", + "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" + }, "bluebird": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", @@ -1423,6 +1816,18 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, + "borc": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.1.tgz", + "integrity": "sha512-vPLLC2/gS0QN4O3cnPh+8jLshkMMD4qIfs+B1TPGPh30WrtcfItaO6j4k9alsqu/hIgKi8dVdmMvTcbq4tIF7A==", + "requires": { + "bignumber.js": "^9.0.0", + "commander": "^2.15.0", + "ieee754": "^1.1.8", + "iso-url": "~0.4.4", + "json-text-sequence": "~0.1.0" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1549,6 +1954,14 @@ "node-releases": "^1.1.12" } }, + "bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", + "requires": { + "base-x": "^3.0.2" + } + }, "buffer": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", @@ -1696,6 +2109,17 @@ "tslib": "^1.9.0" } }, + "cids": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.3.tgz", + "integrity": "sha512-V0xa0oFIH1GGsGE4vaTsAgiTkrZw3wUVOTAVN/oZU8ptW6oaz4cOdFbqRv+tbienIZq5bG2ok0CRKfUurUtFnA==", + "requires": { + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" + } + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -1712,6 +2136,11 @@ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, + "class-is": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -1801,8 +2230,7 @@ "commander": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" }, "commondir": { "version": "1.0.1", @@ -1957,6 +2385,15 @@ "sha.js": "^2.4.8" } }, + "cross-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.4.tgz", + "integrity": "sha512-MSHgpjQqgbT/94D4CyADeNoYh52zMkCX4pcJvPP5WqPsLFMKjr2TCMg381ox5qI0ii2dPwaLx/00477knXqXVw==", + "requires": { + "node-fetch": "2.6.0", + "whatwg-fetch": "3.0.0" + } + }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -2106,6 +2543,11 @@ } } }, + "delimit-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", + "integrity": "sha1-m4MZR3wOX4rrPONXrjBfwl6hzSs=" + }, "des.js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", @@ -2122,6 +2564,57 @@ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", "dev": true }, + "did-jwt": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-0.1.3.tgz", + "integrity": "sha512-hZvjC4bstxo6bqFIOAlX90LdSaA5uxMdg0zSFCPm2WwIhgHFp4SfVM6f5yq1ebA5/cJzcUr+MclnTrlEiixuiQ==", + "requires": { + "@babel/runtime": "^7.3.1", + "base64url": "^3.0.1", + "buffer": "^5.2.1", + "did-resolver": "0.0.6", + "elliptic": "^6.4.0", + "js-sha256": "^0.9.0", + "js-sha3": "^0.8.0", + "tweetnacl": "^1.0.1", + "tweetnacl-util": "^0.15.0" + }, + "dependencies": { + "buffer": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", + "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + } + } + }, + "did-resolver": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/did-resolver/-/did-resolver-0.0.6.tgz", + "integrity": "sha512-PqxzaoomTbJG3IzEouUGgppu3xrsbGKHS75zS3vS/Hfm56XxLpwIe7yFLokgXUbMWmLa0dczFHOibmebO4wRLA==" + }, "diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", @@ -2223,6 +2716,11 @@ "tapable": "^1.0.0" } }, + "err-code": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.0.tgz", + "integrity": "sha512-MsMOijQ4v0xlmrz1fc7lyPEy7jFhoNF7EVaRSP7mPzs20LaFOwG6qNjGRy3Ie85n9DARlcUnB1zbsBv5sJrIvw==" + }, "errno": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", @@ -2595,8 +3093,7 @@ "events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", - "dev": true + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" }, "evp_bytestokey": { "version": "1.0.3", @@ -3702,6 +4199,16 @@ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, "homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", @@ -3759,11 +4266,40 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "identity-wallet": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/identity-wallet/-/identity-wallet-1.1.1.tgz", + "integrity": "sha512-Nta6LK7Z9B9+W9bQVS4Tj+axoAmGuYIPIN6ChW5qWoS+98CYUe1EDcbO5YgjCKpeJSUSKbzfJiVL2N3jdl9QbA==", + "requires": { + "3id-blockchain-utils": "^0.3.2", + "@babel/runtime": "^7.4.5", + "@ethersproject/hdnode": "^5.0.0-beta.137", + "@ethersproject/wallet": "^5.0.0-beta.136", + "did-jwt": "^0.1.3", + "events": "^3.0.0", + "ipfs-did-document": "^1.2.3", + "ipld-dag-cbor": "^0.15.0", + "js-sha256": "^0.9.0", + "multihashes": "^0.4.15", + "store": "^2.0.12", + "tweetnacl": "^1.0.1", + "tweetnacl-util": "^0.15.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz", + "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + } + } + }, "ieee754": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" }, "iferr": { "version": "0.1.5", @@ -3841,6 +4377,11 @@ "through": "^2.3.6" } }, + "install": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", + "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==" + }, "interpret": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", @@ -3862,6 +4403,23 @@ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", "dev": true }, + "ipfs-did-document": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/ipfs-did-document/-/ipfs-did-document-1.2.3.tgz", + "integrity": "sha512-LLcmDbj9m+kBS8srL1Mq3oOgSOuqTe9lyj70DhjQkd+T+4xj1plkiYanbB6w600e/XOHnGxbbOkKYOpRs0vpgw==" + }, + "ipld-dag-cbor": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.1.tgz", + "integrity": "sha512-V0ZSpC0DvnYSjC4RgyezHMZMx8g/keSi5jikElLbzCXPdRRoOemJoMBUedmIWwQaY+6f2UDbHr2qf9ZmVeL4Mw==", + "requires": { + "borc": "^2.1.0", + "cids": "~0.7.0", + "is-circular": "^1.0.2", + "multicodec": "^1.0.0", + "multihashing-async": "~0.8.0" + } + }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -3909,6 +4467,11 @@ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", "dev": true }, + "is-circular": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", + "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -4070,6 +4633,11 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "iso-url": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.6.tgz", + "integrity": "sha512-YQO7+aIe6l1aSJUKOx+Vrv08DlhZeLFIVfehG2L29KLSEb9RszqPXilxJRVpp57px36BddKR5ZsebacO5qG0tg==" + }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", @@ -4082,6 +4650,11 @@ "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", "dev": true }, + "js-sha256": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", + "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==" + }, "js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", @@ -4127,6 +4700,14 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "json-text-sequence": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", + "integrity": "sha1-py8hfcSvxGKf/1/rME3BvVGi89I=", + "requires": { + "delimit-stream": "0.1.0" + } + }, "json5": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", @@ -4394,6 +4975,11 @@ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -4477,6 +5063,65 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "multibase": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.0.tgz", + "integrity": "sha512-R9bNLQhbD7MsitPm1NeY7w9sDgu6d7cuj25snAWH7k5PSNPSwIQQBpcpj8jx1W96dLbdigZqmUWOdQRMnAmgjA==", + "requires": { + "base-x": "3.0.4" + } + }, + "multicodec": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.0.tgz", + "integrity": "sha512-CBiLdYcMnVnkN/2kL4AaUH3betYXQGKV5CCmN2CfgHUt5xROtsj91w780ltX6Wy7frgc6en8md3h2UQl6jDXAg==", + "requires": { + "varint": "^5.0.0" + } + }, + "multihashes": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.15.tgz", + "integrity": "sha512-G/Smj1GWqw1RQP3dRuRRPe3oyLqvPqUaEDIaoi7JF7Loxl4WAWvhJNk84oyDEodSucv0MmSW/ZT0RKUrsIFD3g==", + "requires": { + "bs58": "^4.0.1", + "varint": "^5.0.0" + } + }, + "multihashing-async": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.0.tgz", + "integrity": "sha512-t0iDSl1kkI65vaKmv9/bBM9/E/ogywB18+A9hI7QzcQjolue1tcaNWKdoFuniF6QQtNOJFplO4nQtLfQeK3lLw==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.4.3", + "err-code": "^2.0.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.15", + "murmurhash3js-revisited": "^3.0.0" + }, + "dependencies": { + "buffer": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", + "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + } + } + }, + "murmurhash3js-revisited": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", + "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==" + }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", @@ -4491,9 +5136,9 @@ "optional": true }, "nanoid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.0.1.tgz", - "integrity": "sha512-k1u2uemjIGsn25zmujKnotgniC/gxQ9sdegdezeDiKdkDW56THUMqlz3urndKCXJxA6yPzSZbXx/QCMe/pxqsA==" + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", + "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" }, "nanomatch": { "version": "1.2.13", @@ -4532,6 +5177,11 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, "node-libs-browser": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", @@ -4598,93 +5248,3197 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "npm": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.0.tgz", + "integrity": "sha512-OgfdLadz7j6dikbpaimmLzMxwLKbXthQXHiJwtegorwtBVnhecfUeYkHopwd5ICaiClQnqlYQCHERXDiYK3Jcw==", + "requires": { + "JSONStream": "^1.3.5", + "abbrev": "~1.1.1", + "ansicolors": "~0.3.2", + "ansistyles": "~0.1.3", + "aproba": "^2.0.0", + "archy": "~1.0.0", + "bin-links": "^1.1.7", + "bluebird": "^3.5.5", + "byte-size": "^5.0.1", + "cacache": "^12.0.3", + "call-limit": "^1.1.1", + "chownr": "^1.1.4", + "ci-info": "^2.0.0", + "cli-columns": "^3.1.2", + "cli-table3": "^0.5.1", + "cmd-shim": "^3.0.3", + "columnify": "~1.5.4", + "config-chain": "^1.1.12", + "debuglog": "*", + "detect-indent": "~5.0.0", + "detect-newline": "^2.1.0", + "dezalgo": "~1.0.3", + "editor": "~1.0.0", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "fs-vacuum": "~1.2.10", + "fs-write-stream-atomic": "~1.0.10", + "gentle-fs": "^2.3.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "has-unicode": "~2.0.1", + "hosted-git-info": "^2.8.6", + "iferr": "^1.0.2", + "imurmurhash": "*", + "infer-owner": "^1.0.4", + "inflight": "~1.0.6", + "inherits": "^2.0.4", + "ini": "^1.3.5", + "init-package-json": "^1.10.3", + "is-cidr": "^3.0.0", + "json-parse-better-errors": "^1.0.2", + "lazy-property": "~1.0.0", + "libcipm": "^4.0.7", + "libnpm": "^3.0.1", + "libnpmaccess": "^3.0.2", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "libnpx": "^10.2.2", + "lock-verify": "^2.1.0", + "lockfile": "^1.0.4", + "lodash._baseindexof": "*", + "lodash._baseuniq": "~4.6.0", + "lodash._bindcallback": "*", + "lodash._cacheindexof": "*", + "lodash._createcache": "*", + "lodash._getnative": "*", + "lodash.clonedeep": "~4.5.0", + "lodash.restparam": "*", + "lodash.union": "~4.6.0", + "lodash.uniq": "~4.5.0", + "lodash.without": "~4.4.0", + "lru-cache": "^5.1.1", + "meant": "~1.0.1", + "mississippi": "^3.0.0", + "mkdirp": "~0.5.1", + "move-concurrently": "^1.0.1", + "node-gyp": "^5.0.7", + "nopt": "~4.0.1", + "normalize-package-data": "^2.5.0", + "npm-audit-report": "^1.3.2", + "npm-cache-filename": "~1.0.2", + "npm-install-checks": "^3.0.2", + "npm-lifecycle": "^3.1.4", + "npm-package-arg": "^6.1.1", + "npm-packlist": "^1.4.8", + "npm-pick-manifest": "^3.0.2", + "npm-profile": "^4.0.2", + "npm-registry-fetch": "^4.0.3", + "npm-user-validate": "~1.0.0", + "npmlog": "~4.1.2", + "once": "~1.4.0", + "opener": "^1.5.1", + "osenv": "^0.1.5", + "pacote": "^9.5.12", + "path-is-inside": "~1.0.2", + "promise-inflight": "~1.0.1", + "qrcode-terminal": "^0.12.0", + "query-string": "^6.8.2", + "qw": "~1.0.1", + "read": "~1.0.7", + "read-cmd-shim": "^1.0.5", + "read-installed": "~4.0.3", + "read-package-json": "^2.1.1", + "read-package-tree": "^5.3.1", + "readable-stream": "^3.6.0", + "readdir-scoped-modules": "^1.1.0", + "request": "^2.88.0", + "retry": "^0.12.0", + "rimraf": "^2.6.3", + "safe-buffer": "^5.1.2", + "semver": "^5.7.1", + "sha": "^3.0.0", + "slide": "~1.1.6", + "sorted-object": "~2.0.1", + "sorted-union-stream": "~2.1.3", + "ssri": "^6.0.1", + "stringify-package": "^1.0.1", + "tar": "^4.4.13", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "uid-number": "0.0.6", + "umask": "~1.1.0", + "unique-filename": "^1.1.1", + "unpipe": "~1.0.0", + "update-notifier": "^2.5.0", + "uuid": "^3.3.3", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "~3.0.0", + "which": "^1.3.1", + "worker-farm": "^1.7.0", + "write-file-atomic": "^2.4.3" }, "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, + "JSONStream": { + "version": "1.3.5", + "bundled": true, "requires": { - "is-descriptor": "^0.1.0" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" } }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "agent-base": { + "version": "4.3.0", + "bundled": true, "requires": { - "is-buffer": "^1.1.5" + "es6-promisify": "^5.0.0" } - } - } - }, - "object-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "once": { + }, + "agentkeepalive": { + "version": "3.5.2", + "bundled": true, + "requires": { + "humanize-ms": "^1.2.1" + } + }, + "ajv": { + "version": "5.5.2", + "bundled": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ansi-align": { + "version": "2.0.0", + "bundled": true, + "requires": { + "string-width": "^2.0.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "ansi-styles": { + "version": "3.2.1", + "bundled": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansicolors": { + "version": "0.3.2", + "bundled": true + }, + "ansistyles": { + "version": "0.1.3", + "bundled": true + }, + "aproba": { + "version": "2.0.0", + "bundled": true + }, + "archy": { + "version": "1.0.0", + "bundled": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "asap": { + "version": "2.0.6", + "bundled": true + }, + "asn1": { + "version": "0.2.4", + "bundled": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "bundled": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true + }, + "aws-sign2": { + "version": "0.7.0", + "bundled": true + }, + "aws4": { + "version": "1.8.0", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bin-links": { + "version": "1.1.7", + "bundled": true, + "requires": { + "bluebird": "^3.5.3", + "cmd-shim": "^3.0.0", + "gentle-fs": "^2.3.0", + "graceful-fs": "^4.1.15", + "npm-normalize-package-bin": "^1.0.0", + "write-file-atomic": "^2.3.0" + } + }, + "bluebird": { + "version": "3.5.5", + "bundled": true + }, + "boxen": { + "version": "1.3.0", + "bundled": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.0.0", + "bundled": true + }, + "builtins": { + "version": "1.0.3", + "bundled": true + }, + "byline": { + "version": "5.0.0", + "bundled": true + }, + "byte-size": { + "version": "5.0.1", + "bundled": true + }, + "cacache": { + "version": "12.0.3", + "bundled": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "call-limit": { + "version": "1.1.1", + "bundled": true + }, + "camelcase": { + "version": "4.1.0", + "bundled": true + }, + "capture-stack-trace": { + "version": "1.0.0", + "bundled": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true + }, + "chalk": { + "version": "2.4.1", + "bundled": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chownr": { + "version": "1.1.4", + "bundled": true + }, + "ci-info": { + "version": "2.0.0", + "bundled": true + }, + "cidr-regex": { + "version": "2.0.10", + "bundled": true, + "requires": { + "ip-regex": "^2.1.0" + } + }, + "cli-boxes": { + "version": "1.0.0", + "bundled": true + }, + "cli-columns": { + "version": "3.1.2", + "bundled": true, + "requires": { + "string-width": "^2.0.0", + "strip-ansi": "^3.0.1" + } + }, + "cli-table3": { + "version": "0.5.1", + "bundled": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + } + }, + "cliui": { + "version": "4.1.0", + "bundled": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "bundled": true + }, + "cmd-shim": { + "version": "3.0.3", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "mkdirp": "~0.5.0" + } + }, + "co": { + "version": "4.6.0", + "bundled": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "color-convert": { + "version": "1.9.1", + "bundled": true, + "requires": { + "color-name": "^1.1.1" + } + }, + "color-name": { + "version": "1.1.3", + "bundled": true + }, + "colors": { + "version": "1.3.3", + "bundled": true, + "optional": true + }, + "columnify": { + "version": "1.5.4", + "bundled": true, + "requires": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } + }, + "combined-stream": { + "version": "1.0.6", + "bundled": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "concat-stream": { + "version": "1.6.2", + "bundled": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "config-chain": { + "version": "1.1.12", + "bundled": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "3.1.2", + "bundled": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "copy-concurrently": { + "version": "1.0.5", + "bundled": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "iferr": { + "version": "0.1.5", + "bundled": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "create-error-class": { + "version": "3.0.2", + "bundled": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "bundled": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "bundled": true + } + } + }, + "crypto-random-string": { + "version": "1.0.0", + "bundled": true + }, + "cyclist": { + "version": "0.2.2", + "bundled": true + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + }, + "debuglog": { + "version": "1.0.1", + "bundled": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true + }, + "decode-uri-component": { + "version": "0.2.0", + "bundled": true + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true + }, + "defaults": { + "version": "1.0.3", + "bundled": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "bundled": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true + }, + "detect-indent": { + "version": "5.0.0", + "bundled": true + }, + "detect-newline": { + "version": "2.1.0", + "bundled": true + }, + "dezalgo": { + "version": "1.0.3", + "bundled": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "dot-prop": { + "version": "4.2.0", + "bundled": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "5.0.1", + "bundled": true + }, + "duplexer3": { + "version": "0.1.4", + "bundled": true + }, + "duplexify": { + "version": "3.6.0", + "bundled": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editor": { + "version": "1.0.0", + "bundled": true + }, + "encoding": { + "version": "0.1.12", + "bundled": true, + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "requires": { + "once": "^1.4.0" + } + }, + "env-paths": { + "version": "2.2.0", + "bundled": true + }, + "err-code": { + "version": "1.1.2", + "bundled": true + }, + "errno": { + "version": "0.1.7", + "bundled": true, + "requires": { + "prr": "~1.0.1" + } + }, + "es-abstract": { + "version": "1.12.0", + "bundled": true, + "requires": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "bundled": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-promise": { + "version": "4.2.8", + "bundled": true + }, + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "requires": { + "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" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "bundled": true + } + } + }, + "extend": { + "version": "3.0.2", + "bundled": true + }, + "extsprintf": { + "version": "1.3.0", + "bundled": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "bundled": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "bundled": true + }, + "figgy-pudding": { + "version": "3.5.1", + "bundled": true + }, + "find-npm-prefix": { + "version": "1.0.2", + "bundled": true + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flush-write-stream": { + "version": "1.0.3", + "bundled": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true + }, + "form-data": { + "version": "2.3.2", + "bundled": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs-minipass": { + "version": "1.2.7", + "bundled": true, + "requires": { + "minipass": "^2.6.0" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + } + } + }, + "fs-vacuum": { + "version": "1.2.10", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "path-is-inside": "^1.0.1", + "rimraf": "^2.5.2" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "iferr": { + "version": "0.1.5", + "bundled": true + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "function-bind": { + "version": "1.1.1", + "bundled": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "requires": { + "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" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "genfun": { + "version": "5.0.0", + "bundled": true + }, + "gentle-fs": { + "version": "2.3.0", + "bundled": true, + "requires": { + "aproba": "^1.1.2", + "chownr": "^1.1.2", + "cmd-shim": "^3.0.3", + "fs-vacuum": "^1.2.10", + "graceful-fs": "^4.1.11", + "iferr": "^0.1.5", + "infer-owner": "^1.0.4", + "mkdirp": "^0.5.1", + "path-is-inside": "^1.0.2", + "read-cmd-shim": "^1.0.1", + "slide": "^1.1.6" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "iferr": { + "version": "0.1.5", + "bundled": true + } + } + }, + "get-caller-file": { + "version": "1.0.3", + "bundled": true + }, + "get-stream": { + "version": "4.1.0", + "bundled": true, + "requires": { + "pump": "^3.0.0" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.4", + "bundled": true, + "requires": { + "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" + } + }, + "global-dirs": { + "version": "0.1.1", + "bundled": true, + "requires": { + "ini": "^1.3.4" + } + }, + "got": { + "version": "6.7.1", + "bundled": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "bundled": true + } + } + }, + "graceful-fs": { + "version": "4.2.3", + "bundled": true + }, + "har-schema": { + "version": "2.0.0", + "bundled": true + }, + "har-validator": { + "version": "5.1.0", + "bundled": true, + "requires": { + "ajv": "^5.3.0", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "bundled": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "bundled": true + }, + "has-symbols": { + "version": "1.0.0", + "bundled": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true + }, + "hosted-git-info": { + "version": "2.8.6", + "bundled": true + }, + "http-cache-semantics": { + "version": "3.8.1", + "bundled": true + }, + "http-proxy-agent": { + "version": "2.1.0", + "bundled": true, + "requires": { + "agent-base": "4", + "debug": "3.1.0" + } + }, + "http-signature": { + "version": "1.2.0", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "bundled": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + }, + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.23", + "bundled": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "iferr": { + "version": "1.0.2", + "bundled": true + }, + "ignore-walk": { + "version": "3.0.3", + "bundled": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "import-lazy": { + "version": "2.1.0", + "bundled": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true + }, + "infer-owner": { + "version": "1.0.4", + "bundled": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "bundled": true + }, + "ini": { + "version": "1.3.5", + "bundled": true + }, + "init-package-json": { + "version": "1.10.3", + "bundled": true, + "requires": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "bundled": true + }, + "ip": { + "version": "1.1.5", + "bundled": true + }, + "ip-regex": { + "version": "2.1.0", + "bundled": true + }, + "is-callable": { + "version": "1.1.4", + "bundled": true + }, + "is-ci": { + "version": "1.1.0", + "bundled": true, + "requires": { + "ci-info": "^1.0.0" + }, + "dependencies": { + "ci-info": { + "version": "1.6.0", + "bundled": true + } + } + }, + "is-cidr": { + "version": "3.0.0", + "bundled": true, + "requires": { + "cidr-regex": "^2.0.10" + } + }, + "is-date-object": { + "version": "1.0.1", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "bundled": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-npm": { + "version": "1.0.0", + "bundled": true + }, + "is-obj": { + "version": "1.0.1", + "bundled": true + }, + "is-path-inside": { + "version": "1.0.1", + "bundled": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-redirect": { + "version": "1.0.0", + "bundled": true + }, + "is-regex": { + "version": "1.0.4", + "bundled": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-retry-allowed": { + "version": "1.1.0", + "bundled": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true + }, + "is-symbol": { + "version": "1.0.2", + "bundled": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "bundled": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "bundled": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true + }, + "jsonparse": { + "version": "1.3.1", + "bundled": true + }, + "jsprim": { + "version": "1.4.1", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "latest-version": { + "version": "3.1.0", + "bundled": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "lazy-property": { + "version": "1.0.0", + "bundled": true + }, + "lcid": { + "version": "2.0.0", + "bundled": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "libcipm": { + "version": "4.0.7", + "bundled": true, + "requires": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "graceful-fs": "^4.1.11", + "ini": "^1.3.5", + "lock-verify": "^2.0.2", + "mkdirp": "^0.5.1", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "pacote": "^9.1.0", + "read-package-json": "^2.0.13", + "rimraf": "^2.6.2", + "worker-farm": "^1.6.0" + } + }, + "libnpm": { + "version": "3.0.1", + "bundled": true, + "requires": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.3", + "find-npm-prefix": "^1.0.2", + "libnpmaccess": "^3.0.2", + "libnpmconfig": "^1.2.1", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmpublish": "^1.1.2", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "lock-verify": "^2.0.2", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "npm-profile": "^4.0.2", + "npm-registry-fetch": "^4.0.0", + "npmlog": "^4.1.2", + "pacote": "^9.5.3", + "read-package-json": "^2.0.13", + "stringify-package": "^1.0.0" + } + }, + "libnpmaccess": { + "version": "3.0.2", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "get-stream": "^4.0.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmconfig": { + "version": "1.2.1", + "bundled": true, + "requires": { + "figgy-pudding": "^3.5.1", + "find-up": "^3.0.0", + "ini": "^1.3.5" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "bundled": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "bundled": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.2.0", + "bundled": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "bundled": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "bundled": true + } + } + }, + "libnpmhook": { + "version": "5.0.3", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmorg": { + "version": "1.0.1", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmpublish": { + "version": "1.1.2", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "lodash.clonedeep": "^4.5.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0", + "semver": "^5.5.1", + "ssri": "^6.0.1" + } + }, + "libnpmsearch": { + "version": "2.0.2", + "bundled": true, + "requires": { + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmteam": { + "version": "1.0.2", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpx": { + "version": "10.2.2", + "bundled": true, + "requires": { + "dotenv": "^5.0.1", + "npm-package-arg": "^6.0.0", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.0", + "update-notifier": "^2.3.0", + "which": "^1.3.0", + "y18n": "^4.0.0", + "yargs": "^11.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lock-verify": { + "version": "2.1.0", + "bundled": true, + "requires": { + "npm-package-arg": "^6.1.0", + "semver": "^5.4.1" + } + }, + "lockfile": { + "version": "1.0.4", + "bundled": true, + "requires": { + "signal-exit": "^3.0.2" + } + }, + "lodash._baseindexof": { + "version": "3.1.0", + "bundled": true + }, + "lodash._baseuniq": { + "version": "4.6.0", + "bundled": true, + "requires": { + "lodash._createset": "~4.0.0", + "lodash._root": "~3.0.0" + } + }, + "lodash._bindcallback": { + "version": "3.0.1", + "bundled": true + }, + "lodash._cacheindexof": { + "version": "3.0.2", + "bundled": true + }, + "lodash._createcache": { + "version": "3.1.2", + "bundled": true, + "requires": { + "lodash._getnative": "^3.0.0" + } + }, + "lodash._createset": { + "version": "4.0.3", + "bundled": true + }, + "lodash._getnative": { + "version": "3.9.1", + "bundled": true + }, + "lodash._root": { + "version": "3.0.1", + "bundled": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "bundled": true + }, + "lodash.restparam": { + "version": "3.6.1", + "bundled": true + }, + "lodash.union": { + "version": "4.6.0", + "bundled": true + }, + "lodash.uniq": { + "version": "4.5.0", + "bundled": true + }, + "lodash.without": { + "version": "4.4.0", + "bundled": true + }, + "lowercase-keys": { + "version": "1.0.1", + "bundled": true + }, + "lru-cache": { + "version": "5.1.1", + "bundled": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "1.3.0", + "bundled": true, + "requires": { + "pify": "^3.0.0" + } + }, + "make-fetch-happen": { + "version": "5.0.2", + "bundled": true, + "requires": { + "agentkeepalive": "^3.4.1", + "cacache": "^12.0.0", + "http-cache-semantics": "^3.8.1", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^4.0.0", + "ssri": "^6.0.0" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "bundled": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "meant": { + "version": "1.0.1", + "bundled": true + }, + "mem": { + "version": "4.3.0", + "bundled": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "bundled": true + } + } + }, + "mime-db": { + "version": "1.35.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.19", + "bundled": true, + "requires": { + "mime-db": "~1.35.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true + }, + "minizlib": { + "version": "1.3.3", + "bundled": true, + "requires": { + "minipass": "^2.9.0" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + } + } + }, + "mississippi": { + "version": "3.0.0", + "bundled": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + } + }, + "move-concurrently": { + "version": "1.0.1", + "bundled": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + } + } + }, + "ms": { + "version": "2.1.1", + "bundled": true + }, + "mute-stream": { + "version": "0.0.7", + "bundled": true + }, + "nice-try": { + "version": "1.0.5", + "bundled": true + }, + "node-fetch-npm": { + "version": "2.0.2", + "bundled": true, + "requires": { + "encoding": "^0.1.11", + "json-parse-better-errors": "^1.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node-gyp": { + "version": "5.0.7", + "bundled": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "npmlog": "^4.1.2", + "request": "^2.88.0", + "rimraf": "^2.6.3", + "semver": "^5.7.1", + "tar": "^4.4.12", + "which": "^1.3.1" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "bundled": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "resolve": { + "version": "1.10.0", + "bundled": true, + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "npm-audit-report": { + "version": "1.3.2", + "bundled": true, + "requires": { + "cli-table3": "^0.5.0", + "console-control-strings": "^1.1.0" + } + }, + "npm-bundled": { + "version": "1.1.1", + "bundled": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-cache-filename": { + "version": "1.0.2", + "bundled": true + }, + "npm-install-checks": { + "version": "3.0.2", + "bundled": true, + "requires": { + "semver": "^2.3.0 || 3.x || 4 || 5" + } + }, + "npm-lifecycle": { + "version": "3.1.4", + "bundled": true, + "requires": { + "byline": "^5.0.0", + "graceful-fs": "^4.1.15", + "node-gyp": "^5.0.2", + "resolve-from": "^4.0.0", + "slide": "^1.1.6", + "uid-number": "0.0.6", + "umask": "^1.1.0", + "which": "^1.3.1" + } + }, + "npm-logical-tree": { + "version": "1.2.1", + "bundled": true + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "bundled": true + }, + "npm-package-arg": { + "version": "6.1.1", + "bundled": true, + "requires": { + "hosted-git-info": "^2.7.1", + "osenv": "^0.1.5", + "semver": "^5.6.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "npm-packlist": { + "version": "1.4.8", + "bundled": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-pick-manifest": { + "version": "3.0.2", + "bundled": true, + "requires": { + "figgy-pudding": "^3.5.1", + "npm-package-arg": "^6.0.0", + "semver": "^5.4.1" + } + }, + "npm-profile": { + "version": "4.0.2", + "bundled": true, + "requires": { + "aproba": "^1.1.2 || 2", + "figgy-pudding": "^3.4.1", + "npm-registry-fetch": "^4.0.0" + } + }, + "npm-registry-fetch": { + "version": "4.0.3", + "bundled": true, + "requires": { + "JSONStream": "^1.3.4", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.4.1", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "npm-package-arg": "^6.1.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.0", + "bundled": true + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npm-user-validate": { + "version": "1.0.0", + "bundled": true + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "requires": { + "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": { + "version": "1.0.1", + "bundled": true + }, + "oauth-sign": { + "version": "0.9.0", + "bundled": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "object-keys": { + "version": "1.0.12", + "bundled": true + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "bundled": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1" + } + }, + "opener": { + "version": "1.5.1", + "bundled": true + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true + }, + "os-locale": { + "version": "3.1.0", + "bundled": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "bundled": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "bundled": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.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" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "bundled": true + }, + "p-finally": { + "version": "1.0.0", + "bundled": true + }, + "p-is-promise": { + "version": "2.1.0", + "bundled": true + }, + "p-limit": { + "version": "1.2.0", + "bundled": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "bundled": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "bundled": true + }, + "package-json": { + "version": "4.0.1", + "bundled": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, + "pacote": { + "version": "9.5.12", + "bundled": true, + "requires": { + "bluebird": "^3.5.3", + "cacache": "^12.0.2", + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.1.0", + "glob": "^7.1.3", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "minimatch": "^3.0.4", + "minipass": "^2.3.5", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "normalize-package-data": "^2.4.0", + "npm-normalize-package-bin": "^1.0.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.1.12", + "npm-pick-manifest": "^3.0.0", + "npm-registry-fetch": "^4.0.0", + "osenv": "^0.1.5", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^5.0.1", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.2", + "semver": "^5.6.0", + "ssri": "^6.0.1", + "tar": "^4.4.10", + "unique-filename": "^1.1.1", + "which": "^1.3.1" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + } + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "requires": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "path-exists": { + "version": "3.0.0", + "bundled": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "path-is-inside": { + "version": "1.0.2", + "bundled": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true + }, + "path-parse": { + "version": "1.0.6", + "bundled": true + }, + "performance-now": { + "version": "2.1.0", + "bundled": true + }, + "pify": { + "version": "3.0.0", + "bundled": true + }, + "prepend-http": { + "version": "1.0.4", + "bundled": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true + }, + "promise-inflight": { + "version": "1.0.1", + "bundled": true + }, + "promise-retry": { + "version": "1.1.1", + "bundled": true, + "requires": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + }, + "dependencies": { + "retry": { + "version": "0.10.1", + "bundled": true + } + } + }, + "promzard": { + "version": "0.3.0", + "bundled": true, + "requires": { + "read": "1" + } + }, + "proto-list": { + "version": "1.2.4", + "bundled": true + }, + "protoduck": { + "version": "5.0.1", + "bundled": true, + "requires": { + "genfun": "^5.0.0" + } + }, + "prr": { + "version": "1.0.1", + "bundled": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true + }, + "psl": { + "version": "1.1.29", + "bundled": true + }, + "pump": { + "version": "3.0.0", + "bundled": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "bundled": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "bundled": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "1.4.1", + "bundled": true + }, + "qrcode-terminal": { + "version": "0.12.0", + "bundled": true + }, + "qs": { + "version": "6.5.2", + "bundled": true + }, + "query-string": { + "version": "6.8.2", + "bundled": true, + "requires": { + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "qw": { + "version": "1.0.1", + "bundled": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true + } + } + }, + "read": { + "version": "1.0.7", + "bundled": true, + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-cmd-shim": { + "version": "1.0.5", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "read-installed": { + "version": "4.0.3", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "graceful-fs": "^4.1.2", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "slide": "~1.1.3", + "util-extend": "^1.0.1" + } + }, + "read-package-json": { + "version": "2.1.1", + "bundled": true, + "requires": { + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, + "read-package-tree": { + "version": "5.3.1", + "bundled": true, + "requires": { + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "util-promisify": "^2.1.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "bundled": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdir-scoped-modules": { + "version": "1.1.0", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "registry-auth-token": { + "version": "3.3.2", + "bundled": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "bundled": true, + "requires": { + "rc": "^1.0.1" + } + }, + "request": { + "version": "2.88.0", + "bundled": 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" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true + }, + "resolve-from": { + "version": "4.0.0", + "bundled": true + }, + "retry": { + "version": "0.12.0", + "bundled": true + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-queue": { + "version": "1.0.3", + "bundled": true, + "requires": { + "aproba": "^1.1.1" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true + }, + "semver": { + "version": "5.7.1", + "bundled": true + }, + "semver-diff": { + "version": "2.1.0", + "bundled": true, + "requires": { + "semver": "^5.0.3" + } + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + }, + "sha": { + "version": "3.0.0", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "slide": { + "version": "1.1.6", + "bundled": true + }, + "smart-buffer": { + "version": "4.1.0", + "bundled": true + }, + "socks": { + "version": "2.3.3", + "bundled": true, + "requires": { + "ip": "1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "4.0.2", + "bundled": true, + "requires": { + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "dependencies": { + "agent-base": { + "version": "4.2.1", + "bundled": true, + "requires": { + "es6-promisify": "^5.0.0" + } + } + } + }, + "sorted-object": { + "version": "2.0.1", + "bundled": true + }, + "sorted-union-stream": { + "version": "2.1.3", + "bundled": true, + "requires": { + "from2": "^1.3.0", + "stream-iterate": "^1.1.0" + }, + "dependencies": { + "from2": { + "version": "1.3.0", + "bundled": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~1.1.10" + } + }, + "isarray": { + "version": "0.0.1", + "bundled": true + }, + "readable-stream": { + "version": "1.1.14", + "bundled": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true + } + } + }, + "spdx-correct": { + "version": "3.0.0", + "bundled": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "bundled": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.3", + "bundled": true + }, + "split-on-first": { + "version": "1.1.0", + "bundled": true + }, + "sshpk": { + "version": "1.14.2", + "bundled": true, + "requires": { + "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" + } + }, + "ssri": { + "version": "6.0.1", + "bundled": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stream-each": { + "version": "1.2.2", + "bundled": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-iterate": { + "version": "1.2.0", + "bundled": true, + "requires": { + "readable-stream": "^2.1.5", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-shift": { + "version": "1.0.0", + "bundled": true + }, + "strict-uri-encode": { + "version": "2.0.0", + "bundled": true + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.3.0", + "bundled": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.0", + "bundled": true + } + } + }, + "stringify-package": { + "version": "1.0.1", + "bundled": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + }, + "supports-color": { + "version": "5.4.0", + "bundled": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "tar": { + "version": "4.4.13", + "bundled": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + } + } + }, + "term-size": { + "version": "1.2.0", + "bundled": true, + "requires": { + "execa": "^0.7.0" + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true + }, + "through": { + "version": "2.3.8", + "bundled": true + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "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" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "timed-out": { + "version": "4.0.1", + "bundled": true + }, + "tiny-relative-date": { + "version": "1.3.0", + "bundled": true + }, + "tough-cookie": { + "version": "2.4.3", + "bundled": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + }, + "typedarray": { + "version": "0.0.6", + "bundled": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true + }, + "umask": { + "version": "1.1.0", + "bundled": true + }, + "unique-filename": { + "version": "1.1.1", + "bundled": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "bundled": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "bundled": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "bundled": true + }, + "unzip-response": { + "version": "2.0.1", + "bundled": true + }, + "update-notifier": { + "version": "2.5.0", + "bundled": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "bundled": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "util-extend": { + "version": "1.0.3", + "bundled": true + }, + "util-promisify": { + "version": "2.1.0", + "bundled": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "uuid": { + "version": "3.3.3", + "bundled": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "bundled": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "bundled": true, + "requires": { + "builtins": "^1.0.3" + } + }, + "verror": { + "version": "1.10.0", + "bundled": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "bundled": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "which": { + "version": "1.3.1", + "bundled": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "requires": { + "string-width": "^1.0.2" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "widest-line": { + "version": "2.0.0", + "bundled": true, + "requires": { + "string-width": "^2.1.1" + } + }, + "worker-farm": { + "version": "1.7.0", + "bundled": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "write-file-atomic": { + "version": "2.4.3", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "bundled": true + }, + "xtend": { + "version": "4.0.1", + "bundled": true + }, + "y18n": { + "version": "4.0.0", + "bundled": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true + }, + "yargs": { + "version": "11.1.1", + "bundled": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.1.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" + }, + "dependencies": { + "y18n": { + "version": "3.2.1", + "bundled": true + } + } + }, + "yargs-parser": { + "version": "9.0.2", + "bundled": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "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" + } + }, + "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" + } + } + } + }, + "object-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", + "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", @@ -5574,8 +9328,7 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-regex": { "version": "1.1.0", @@ -5680,11 +9433,11 @@ "dev": true }, "shortid": { - "version": "2.2.14", - "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.14.tgz", - "integrity": "sha512-4UnZgr9gDdA1kaKj/38IiudfC3KHKhDc1zi/HSxd9FQDR0VLwH3/y79tZJLsVYPsJgIjeHjqIWaWVRJUj9qZOQ==", + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.15.tgz", + "integrity": "sha512-5EaCy2mx2Jgc/Fdn9uuDuNIIfWBpzY4XIlhoqtXF6qsf+/+SGZ+FxDdX/ZsMZiWupIWNqAEmiNY4RC+LSmCeOw==", "requires": { - "nanoid": "^2.0.0" + "nanoid": "^2.1.0" } }, "signal-exit": { @@ -6524,6 +10277,11 @@ "spdx-expression-parse": "^3.0.0" } }, + "varint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", + "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" + }, "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", @@ -6613,6 +10371,11 @@ } } }, + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" + }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", diff --git a/package.json b/package.json index 7fe1ed5..790a6f1 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "build:dist:prod": "./node_modules/.bin/webpack --config webpack.config.js --mode=production --output-filename index.min.js", "build": "npm run build:dist; npm run build:dist:prod", "prepublishOnly": "npm run build", - "example-server:start": "http-server -c-1 -p 54345 public", + "example-server:start": "http-server -c-1 -p 30001 public", "example:start": "npm run build:dist:watch & npm run example-server:start" }, "jest": { @@ -32,11 +32,9 @@ "homepage": "https://github.com/3box/3box-account#readme", "dependencies": { "@babel/runtime": "^7.1.2", - "ethers": "^4.0.27", + "identity-wallet": "^1.1.1", "postmsg-rpc": "^2.4.0", - "store": "^2.0.12", - "tweetnacl": "^1.0.1", - "tweetnacl-util": "^0.15.0" + "store": "^2.0.12" }, "devDependencies": { "@babel/cli": "^7.1.2", diff --git a/public/account.js b/public/account.js deleted file mode 100644 index 6b30c4b..0000000 --- a/public/account.js +++ /dev/null @@ -1,2004 +0,0 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(); - else if(typeof define === 'function' && define.amd) - define([], factory); - else { - var a = factory(); - for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; - } -})(window, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./src/account.js"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js": -/*!*****************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/asyncToGenerator.js ***! - \*****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/classCallCheck.js": -/*!***************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/helpers/createClass.js": -/*!************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/createClass.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/createClass.js?"); - -/***/ }), - -/***/ "./node_modules/@babel/runtime/regenerator/index.js": -/*!**********************************************************!*\ - !*** ./node_modules/@babel/runtime/regenerator/index.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("module.exports = __webpack_require__(/*! regenerator-runtime */ \"./node_modules/regenerator-runtime/runtime.js\");\n\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/regenerator/index.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1.js": -/*!******************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1.js ***! - \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var asn1 = exports;\n\nasn1.bignum = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\n\nasn1.define = __webpack_require__(/*! ./asn1/api */ \"./node_modules/asn1.js/lib/asn1/api.js\").define;\nasn1.base = __webpack_require__(/*! ./asn1/base */ \"./node_modules/asn1.js/lib/asn1/base/index.js\");\nasn1.constants = __webpack_require__(/*! ./asn1/constants */ \"./node_modules/asn1.js/lib/asn1/constants/index.js\");\nasn1.decoders = __webpack_require__(/*! ./asn1/decoders */ \"./node_modules/asn1.js/lib/asn1/decoders/index.js\");\nasn1.encoders = __webpack_require__(/*! ./asn1/encoders */ \"./node_modules/asn1.js/lib/asn1/encoders/index.js\");\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1/api.js": -/*!**********************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1/api.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var asn1 = __webpack_require__(/*! ../asn1 */ \"./node_modules/asn1.js/lib/asn1.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n};\n\nEntity.prototype._createNamed = function createNamed(base) {\n var named;\n try {\n named = __webpack_require__(/*! vm */ \"./node_modules/vm-browserify/index.js\").runInThisContext(\n '(function ' + this.name + '(entity) {\\n' +\n ' this._initNamed(entity);\\n' +\n '})'\n );\n } catch (e) {\n named = function (entity) {\n this._initNamed(entity);\n };\n }\n inherits(named, base);\n named.prototype._initNamed = function initnamed(entity) {\n base.call(this, entity);\n };\n\n return new named(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(asn1.decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(asn1.encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1/api.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1/base/buffer.js": -/*!******************************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1/base/buffer.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar Reporter = __webpack_require__(/*! ../base */ \"./node_modules/asn1.js/lib/asn1/base/index.js\").Reporter;\nvar Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer;\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n var res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n}\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n var res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n}\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n}\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!(item instanceof EncoderBuffer))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = new Buffer(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1/base/buffer.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1/base/index.js": -/*!*****************************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1/base/index.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var base = exports;\n\nbase.Reporter = __webpack_require__(/*! ./reporter */ \"./node_modules/asn1.js/lib/asn1/base/reporter.js\").Reporter;\nbase.DecoderBuffer = __webpack_require__(/*! ./buffer */ \"./node_modules/asn1.js/lib/asn1/base/buffer.js\").DecoderBuffer;\nbase.EncoderBuffer = __webpack_require__(/*! ./buffer */ \"./node_modules/asn1.js/lib/asn1/base/buffer.js\").EncoderBuffer;\nbase.Node = __webpack_require__(/*! ./node */ \"./node_modules/asn1.js/lib/asn1/base/node.js\");\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1/base/index.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1/base/node.js": -/*!****************************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1/base/node.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var Reporter = __webpack_require__(/*! ../base */ \"./node_modules/asn1.js/lib/asn1/base/index.js\").Reporter;\nvar EncoderBuffer = __webpack_require__(/*! ../base */ \"./node_modules/asn1.js/lib/asn1/base/index.js\").EncoderBuffer;\nvar DecoderBuffer = __webpack_require__(/*! ../base */ \"./node_modules/asn1.js/lib/asn1/base/index.js\").DecoderBuffer;\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\n// Supported tags\nvar tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nvar methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nvar overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent) {\n var state = {};\n this._baseState = state;\n\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nvar stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n var state = this._baseState;\n var cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n var res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n var state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n var clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n var state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n var state = this._baseState;\n\n // Filter children and args\n var children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n var res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n var value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n var state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n var state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n var state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n var state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n var state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n var state = this._baseState;\n var args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n var state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n var state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n var state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n var state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n var result = state['default'];\n var present = true;\n\n var prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n var tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n var save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n var prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n var explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n var start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n if (state.any)\n var save = input.save();\n var body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any)\n result = result;\n else if (state.choice === null)\n result = this._decodeGeneric(state.tag, input, options);\n else\n result = this._decodeChoice(input, options);\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n var data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n var state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n var state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n var state = this._baseState;\n var result = null;\n var match = false;\n\n Object.keys(state.choice).some(function(key) {\n var save = input.save();\n var node = state.choice[key];\n try {\n var value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n var state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n var result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n var state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n var result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default']\n else\n return;\n }\n\n // Encode children first\n var content = null;\n var primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n var prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n var res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n var child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n var state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n var result;\n if (!state.any && state.choice === null) {\n var tag = state.implicit !== null ? state.implicit : state.tag;\n var cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n var state = this._baseState;\n\n var node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n var state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '\\(\\)\\+,\\-\\.\\/:=\\?]*$/.test(str);\n};\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1/base/node.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1/base/reporter.js": -/*!********************************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1/base/reporter.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n var state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n var state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n var state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n var state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n var state = this._reporterState;\n\n var prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n var state = this._reporterState;\n\n var now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n var err;\n var state = this._reporterState;\n\n var inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n var state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n};\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1/base/reporter.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1/constants/der.js": -/*!********************************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1/constants/der.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var constants = __webpack_require__(/*! ../constants */ \"./node_modules/asn1.js/lib/asn1/constants/index.js\");\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = constants._reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = constants._reverse(exports.tag);\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1/constants/der.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1/constants/index.js": -/*!**********************************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1/constants/index.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n var res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n var value = map[key];\n res[value] = key;\n });\n\n return res;\n};\n\nconstants.der = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/constants/der.js\");\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1/constants/index.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1/decoders/der.js": -/*!*******************************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1/decoders/der.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar asn1 = __webpack_require__(/*! ../../asn1 */ \"./node_modules/asn1.js/lib/asn1.js\");\nvar base = asn1.base;\nvar bignum = asn1.bignum;\n\n// Import DER constants\nvar der = asn1.constants.der;\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n};\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!(data instanceof base.DecoderBuffer))\n data = new base.DecoderBuffer(data, options);\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n var state = buffer.save();\n var decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n var decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n var len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n var state = buffer.save();\n var res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n while (true) {\n var tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n var len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n var res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len)\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n var result = [];\n while (!buffer.isEmpty()) {\n var possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n var res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n var unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n var raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n var str = '';\n for (var i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n var numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n var printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n var result;\n var identifiers = [];\n var ident = 0;\n while (!buffer.isEmpty()) {\n var subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n var first = (identifiers[0] / 40) | 0;\n var second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n var tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n var str = buffer.raw().toString();\n if (tag === 'gentime') {\n var year = str.slice(0, 4) | 0;\n var mon = str.slice(4, 6) | 0;\n var day = str.slice(6, 8) | 0;\n var hour = str.slice(8, 10) | 0;\n var min = str.slice(10, 12) | 0;\n var sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n var year = str.slice(0, 2) | 0;\n var mon = str.slice(2, 4) | 0;\n var day = str.slice(4, 6) | 0;\n var hour = str.slice(6, 8) | 0;\n var min = str.slice(8, 10) | 0;\n var sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull(buffer) {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n var res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n var raw = buffer.raw();\n var res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n var tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n var cls = der.tagClass[tag >> 6];\n var primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n var oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n var tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n var len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n var num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (var i = 0; i < num; i++) {\n len <<= 8;\n var j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1/decoders/der.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1/decoders/index.js": -/*!*********************************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1/decoders/index.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var decoders = exports;\n\ndecoders.der = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/decoders/der.js\");\ndecoders.pem = __webpack_require__(/*! ./pem */ \"./node_modules/asn1.js/lib/asn1/decoders/pem.js\");\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1/decoders/index.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1/decoders/pem.js": -/*!*******************************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1/decoders/pem.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer;\n\nvar DERDecoder = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/decoders/der.js\");\n\nfunction PEMDecoder(entity) {\n DERDecoder.call(this, entity);\n this.enc = 'pem';\n};\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\n\nPEMDecoder.prototype.decode = function decode(data, options) {\n var lines = data.toString().split(/[\\r\\n]+/g);\n\n var label = options.label.toUpperCase();\n\n var re = /^-----(BEGIN|END) ([^-]+)-----$/;\n var start = -1;\n var end = -1;\n for (var i = 0; i < lines.length; i++) {\n var match = lines[i].match(re);\n if (match === null)\n continue;\n\n if (match[2] !== label)\n continue;\n\n if (start === -1) {\n if (match[1] !== 'BEGIN')\n break;\n start = i;\n } else {\n if (match[1] !== 'END')\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error('PEM section not found for: ' + label);\n\n var base64 = lines.slice(start + 1, end).join('');\n // Remove excessive symbols\n base64.replace(/[^a-z0-9\\+\\/=]+/gi, '');\n\n var input = new Buffer(base64, 'base64');\n return DERDecoder.prototype.decode.call(this, input, options);\n};\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1/decoders/pem.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1/encoders/der.js": -/*!*******************************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1/encoders/der.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer;\n\nvar asn1 = __webpack_require__(/*! ../../asn1 */ \"./node_modules/asn1.js/lib/asn1.js\");\nvar base = asn1.base;\n\n// Import DER constants\nvar der = asn1.constants.der;\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n};\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n var encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n var header = new Buffer(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n var lenOctets = 1;\n for (var i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n var header = new Buffer(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (var i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n var buf = new Buffer(str.length * 2);\n for (var i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s\\.]+/g);\n for (var i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (var i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n var size = 0;\n for (var i = 0; i < id.length; i++) {\n var ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n var objid = new Buffer(size);\n var offset = objid.length - 1;\n for (var i = id.length - 1; i >= 0; i--) {\n var ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n var str;\n var date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n var numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = new Buffer(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n var size = num.length;\n if (num.length === 0)\n size++;\n\n var out = new Buffer(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n var size = 1;\n for (var i = num; i >= 0x100; i >>= 8)\n size++;\n\n var out = new Array(size);\n for (var i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(new Buffer(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n var state = this._baseState;\n var i;\n if (state['default'] === null)\n return false;\n\n var data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n var res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1/encoders/der.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1/encoders/index.js": -/*!*********************************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1/encoders/index.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var encoders = exports;\n\nencoders.der = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/encoders/der.js\");\nencoders.pem = __webpack_require__(/*! ./pem */ \"./node_modules/asn1.js/lib/asn1/encoders/pem.js\");\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1/encoders/index.js?"); - -/***/ }), - -/***/ "./node_modules/asn1.js/lib/asn1/encoders/pem.js": -/*!*******************************************************!*\ - !*** ./node_modules/asn1.js/lib/asn1/encoders/pem.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar DEREncoder = __webpack_require__(/*! ./der */ \"./node_modules/asn1.js/lib/asn1/encoders/der.js\");\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n};\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n var buf = DEREncoder.prototype.encode.call(this, data);\n\n var p = buf.toString('base64');\n var out = [ '-----BEGIN ' + options.label + '-----' ];\n for (var i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\n\n\n//# sourceURL=webpack:///./node_modules/asn1.js/lib/asn1/encoders/pem.js?"); - -/***/ }), - -/***/ "./node_modules/base64-js/index.js": -/*!*****************************************!*\ - !*** ./node_modules/base64-js/index.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n for (var i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n//# sourceURL=webpack:///./node_modules/base64-js/index.js?"); - -/***/ }), - -/***/ "./node_modules/bn.js/lib/bn.js": -/*!**************************************!*\ - !*** ./node_modules/bn.js/lib/bn.js ***! - \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(module) {(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = __webpack_require__(/*! buffer */ 3).Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n r.strip();\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})( false || module, this);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/module.js */ \"./node_modules/webpack/buildin/module.js\")(module)))\n\n//# sourceURL=webpack:///./node_modules/bn.js/lib/bn.js?"); - -/***/ }), - -/***/ "./node_modules/brorand/index.js": -/*!***************************************!*\ - !*** ./node_modules/brorand/index.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = __webpack_require__(/*! crypto */ 4);\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/brorand/index.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/aes.js": -/*!********************************************!*\ - !*** ./node_modules/browserify-aes/aes.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/aes.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/authCipher.js": -/*!***************************************************!*\ - !*** ./node_modules/browserify-aes/authCipher.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var aes = __webpack_require__(/*! ./aes */ \"./node_modules/browserify-aes/aes.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nvar Transform = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar GHASH = __webpack_require__(/*! ./ghash */ \"./node_modules/browserify-aes/ghash.js\")\nvar xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\nvar incr32 = __webpack_require__(/*! ./incr32 */ \"./node_modules/browserify-aes/incr32.js\")\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/authCipher.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/browser.js": -/*!************************************************!*\ - !*** ./node_modules/browserify-aes/browser.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var ciphers = __webpack_require__(/*! ./encrypter */ \"./node_modules/browserify-aes/encrypter.js\")\nvar deciphers = __webpack_require__(/*! ./decrypter */ \"./node_modules/browserify-aes/decrypter.js\")\nvar modes = __webpack_require__(/*! ./modes/list.json */ \"./node_modules/browserify-aes/modes/list.json\")\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/browser.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/decrypter.js": -/*!**************************************************!*\ - !*** ./node_modules/browserify-aes/decrypter.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var AuthCipher = __webpack_require__(/*! ./authCipher */ \"./node_modules/browserify-aes/authCipher.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nvar MODES = __webpack_require__(/*! ./modes */ \"./node_modules/browserify-aes/modes/index.js\")\nvar StreamCipher = __webpack_require__(/*! ./streamCipher */ \"./node_modules/browserify-aes/streamCipher.js\")\nvar Transform = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar aes = __webpack_require__(/*! ./aes */ \"./node_modules/browserify-aes/aes.js\")\nvar ebtk = __webpack_require__(/*! evp_bytestokey */ \"./node_modules/evp_bytestokey/index.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/decrypter.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/encrypter.js": -/*!**************************************************!*\ - !*** ./node_modules/browserify-aes/encrypter.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var MODES = __webpack_require__(/*! ./modes */ \"./node_modules/browserify-aes/modes/index.js\")\nvar AuthCipher = __webpack_require__(/*! ./authCipher */ \"./node_modules/browserify-aes/authCipher.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nvar StreamCipher = __webpack_require__(/*! ./streamCipher */ \"./node_modules/browserify-aes/streamCipher.js\")\nvar Transform = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar aes = __webpack_require__(/*! ./aes */ \"./node_modules/browserify-aes/aes.js\")\nvar ebtk = __webpack_require__(/*! evp_bytestokey */ \"./node_modules/evp_bytestokey/index.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/encrypter.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/ghash.js": -/*!**********************************************!*\ - !*** ./node_modules/browserify-aes/ghash.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/ghash.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/incr32.js": -/*!***********************************************!*\ - !*** ./node_modules/browserify-aes/incr32.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/incr32.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/modes/cbc.js": -/*!**************************************************!*\ - !*** ./node_modules/browserify-aes/modes/cbc.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/modes/cbc.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/modes/cfb.js": -/*!**************************************************!*\ - !*** ./node_modules/browserify-aes/modes/cfb.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nvar xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/modes/cfb.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/modes/cfb1.js": -/*!***************************************************!*\ - !*** ./node_modules/browserify-aes/modes/cfb1.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/modes/cfb1.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/modes/cfb8.js": -/*!***************************************************!*\ - !*** ./node_modules/browserify-aes/modes/cfb8.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/modes/cfb8.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/modes/ctr.js": -/*!**************************************************!*\ - !*** ./node_modules/browserify-aes/modes/ctr.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nvar incr32 = __webpack_require__(/*! ../incr32 */ \"./node_modules/browserify-aes/incr32.js\")\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/modes/ctr.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/modes/ecb.js": -/*!**************************************************!*\ - !*** ./node_modules/browserify-aes/modes/ecb.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/modes/ecb.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/modes/index.js": -/*!****************************************************!*\ - !*** ./node_modules/browserify-aes/modes/index.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var modeModules = {\n ECB: __webpack_require__(/*! ./ecb */ \"./node_modules/browserify-aes/modes/ecb.js\"),\n CBC: __webpack_require__(/*! ./cbc */ \"./node_modules/browserify-aes/modes/cbc.js\"),\n CFB: __webpack_require__(/*! ./cfb */ \"./node_modules/browserify-aes/modes/cfb.js\"),\n CFB8: __webpack_require__(/*! ./cfb8 */ \"./node_modules/browserify-aes/modes/cfb8.js\"),\n CFB1: __webpack_require__(/*! ./cfb1 */ \"./node_modules/browserify-aes/modes/cfb1.js\"),\n OFB: __webpack_require__(/*! ./ofb */ \"./node_modules/browserify-aes/modes/ofb.js\"),\n CTR: __webpack_require__(/*! ./ctr */ \"./node_modules/browserify-aes/modes/ctr.js\"),\n GCM: __webpack_require__(/*! ./ctr */ \"./node_modules/browserify-aes/modes/ctr.js\")\n}\n\nvar modes = __webpack_require__(/*! ./list.json */ \"./node_modules/browserify-aes/modes/list.json\")\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/modes/index.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/modes/list.json": -/*!*****************************************************!*\ - !*** ./node_modules/browserify-aes/modes/list.json ***! - \*****************************************************/ -/*! exports provided: aes-128-ecb, aes-192-ecb, aes-256-ecb, aes-128-cbc, aes-192-cbc, aes-256-cbc, aes128, aes192, aes256, aes-128-cfb, aes-192-cfb, aes-256-cfb, aes-128-cfb8, aes-192-cfb8, aes-256-cfb8, aes-128-cfb1, aes-192-cfb1, aes-256-cfb1, aes-128-ofb, aes-192-ofb, aes-256-ofb, aes-128-ctr, aes-192-ctr, aes-256-ctr, aes-128-gcm, aes-192-gcm, aes-256-gcm, default */ -/***/ (function(module) { - -eval("module.exports = {\"aes-128-ecb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-192-ecb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-256-ecb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-128-cbc\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-192-cbc\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-256-cbc\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes128\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes192\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes256\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-128-cfb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-192-cfb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-256-cfb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-128-cfb8\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-192-cfb8\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-256-cfb8\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-128-cfb1\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-192-cfb1\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-256-cfb1\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-128-ofb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-192-ofb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-256-ofb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-128-ctr\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-192-ctr\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-256-ctr\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-128-gcm\":{\"cipher\":\"AES\",\"key\":128,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-192-gcm\":{\"cipher\":\"AES\",\"key\":192,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-256-gcm\":{\"cipher\":\"AES\",\"key\":256,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"}};\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/modes/list.json?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/modes/ofb.js": -/*!**************************************************!*\ - !*** ./node_modules/browserify-aes/modes/ofb.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(Buffer) {var xor = __webpack_require__(/*! buffer-xor */ \"./node_modules/buffer-xor/index.js\")\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\n\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/modes/ofb.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-aes/streamCipher.js": -/*!*****************************************************!*\ - !*** ./node_modules/browserify-aes/streamCipher.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var aes = __webpack_require__(/*! ./aes */ \"./node_modules/browserify-aes/aes.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nvar Transform = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n\n\n//# sourceURL=webpack:///./node_modules/browserify-aes/streamCipher.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-cipher/browser.js": -/*!***************************************************!*\ - !*** ./node_modules/browserify-cipher/browser.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var DES = __webpack_require__(/*! browserify-des */ \"./node_modules/browserify-des/index.js\")\nvar aes = __webpack_require__(/*! browserify-aes/browser */ \"./node_modules/browserify-aes/browser.js\")\nvar aesModes = __webpack_require__(/*! browserify-aes/modes */ \"./node_modules/browserify-aes/modes/index.js\")\nvar desModes = __webpack_require__(/*! browserify-des/modes */ \"./node_modules/browserify-des/modes.js\")\nvar ebtk = __webpack_require__(/*! evp_bytestokey */ \"./node_modules/evp_bytestokey/index.js\")\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n\n\n//# sourceURL=webpack:///./node_modules/browserify-cipher/browser.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-des/index.js": -/*!**********************************************!*\ - !*** ./node_modules/browserify-des/index.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var CipherBase = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar des = __webpack_require__(/*! des.js */ \"./node_modules/des.js/lib/des.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\n\nvar modes = {\n 'des-ede3-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede3': des.EDE,\n 'des-ede-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede': des.EDE,\n 'des-cbc': des.CBC.instantiate(des.DES),\n 'des-ecb': des.DES\n}\nmodes.des = modes['des-cbc']\nmodes.des3 = modes['des-ede3-cbc']\nmodule.exports = DES\ninherits(DES, CipherBase)\nfunction DES (opts) {\n CipherBase.call(this)\n var modeName = opts.mode.toLowerCase()\n var mode = modes[modeName]\n var type\n if (opts.decrypt) {\n type = 'decrypt'\n } else {\n type = 'encrypt'\n }\n var key = opts.key\n if (!Buffer.isBuffer(key)) {\n key = Buffer.from(key)\n }\n if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {\n key = Buffer.concat([key, key.slice(0, 8)])\n }\n var iv = opts.iv\n if (!Buffer.isBuffer(iv)) {\n iv = Buffer.from(iv)\n }\n this._des = mode.create({\n key: key,\n iv: iv,\n type: type\n })\n}\nDES.prototype._update = function (data) {\n return Buffer.from(this._des.update(data))\n}\nDES.prototype._final = function () {\n return Buffer.from(this._des.final())\n}\n\n\n//# sourceURL=webpack:///./node_modules/browserify-des/index.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-des/modes.js": -/*!**********************************************!*\ - !*** ./node_modules/browserify-des/modes.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("exports['des-ecb'] = {\n key: 8,\n iv: 0\n}\nexports['des-cbc'] = exports.des = {\n key: 8,\n iv: 8\n}\nexports['des-ede3-cbc'] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports['des-ede3'] = {\n key: 24,\n iv: 0\n}\nexports['des-ede-cbc'] = {\n key: 16,\n iv: 8\n}\nexports['des-ede'] = {\n key: 16,\n iv: 0\n}\n\n\n//# sourceURL=webpack:///./node_modules/browserify-des/modes.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-rsa/index.js": -/*!**********************************************!*\ - !*** ./node_modules/browserify-rsa/index.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(Buffer) {var bn = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar randomBytes = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\");\nmodule.exports = crt;\nfunction blind(priv) {\n var r = getr(priv);\n var blinder = r.toRed(bn.mont(priv.modulus))\n .redPow(new bn(priv.publicExponent)).fromRed();\n return {\n blinder: blinder,\n unblinder:r.invm(priv.modulus)\n };\n}\nfunction crt(msg, priv) {\n var blinds = blind(priv);\n var len = priv.modulus.byteLength();\n var mod = bn.mont(priv.modulus);\n var blinded = new bn(msg).mul(blinds.blinder).umod(priv.modulus);\n var c1 = blinded.toRed(bn.mont(priv.prime1));\n var c2 = blinded.toRed(bn.mont(priv.prime2));\n var qinv = priv.coefficient;\n var p = priv.prime1;\n var q = priv.prime2;\n var m1 = c1.redPow(priv.exponent1);\n var m2 = c2.redPow(priv.exponent2);\n m1 = m1.fromRed();\n m2 = m2.fromRed();\n var h = m1.isub(m2).imul(qinv).umod(p);\n h.imul(q);\n m2.iadd(h);\n return new Buffer(m2.imul(blinds.unblinder).umod(priv.modulus).toArray(false, len));\n}\ncrt.getr = getr;\nfunction getr(priv) {\n var len = priv.modulus.byteLength();\n var r = new bn(randomBytes(len));\n while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2)) {\n r = new bn(randomBytes(len));\n }\n return r;\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack:///./node_modules/browserify-rsa/index.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-sign/algos.js": -/*!***********************************************!*\ - !*** ./node_modules/browserify-sign/algos.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("module.exports = __webpack_require__(/*! ./browser/algorithms.json */ \"./node_modules/browserify-sign/browser/algorithms.json\")\n\n\n//# sourceURL=webpack:///./node_modules/browserify-sign/algos.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-sign/browser/algorithms.json": -/*!**************************************************************!*\ - !*** ./node_modules/browserify-sign/browser/algorithms.json ***! - \**************************************************************/ -/*! exports provided: sha224WithRSAEncryption, RSA-SHA224, sha256WithRSAEncryption, RSA-SHA256, sha384WithRSAEncryption, RSA-SHA384, sha512WithRSAEncryption, RSA-SHA512, RSA-SHA1, ecdsa-with-SHA1, sha256, sha224, sha384, sha512, DSA-SHA, DSA-SHA1, DSA, DSA-WITH-SHA224, DSA-SHA224, DSA-WITH-SHA256, DSA-SHA256, DSA-WITH-SHA384, DSA-SHA384, DSA-WITH-SHA512, DSA-SHA512, DSA-RIPEMD160, ripemd160WithRSA, RSA-RIPEMD160, md5WithRSAEncryption, RSA-MD5, default */ -/***/ (function(module) { - -eval("module.exports = {\"sha224WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha224\",\"id\":\"302d300d06096086480165030402040500041c\"},\"RSA-SHA224\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha224\",\"id\":\"302d300d06096086480165030402040500041c\"},\"sha256WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha256\",\"id\":\"3031300d060960864801650304020105000420\"},\"RSA-SHA256\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha256\",\"id\":\"3031300d060960864801650304020105000420\"},\"sha384WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha384\",\"id\":\"3041300d060960864801650304020205000430\"},\"RSA-SHA384\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha384\",\"id\":\"3041300d060960864801650304020205000430\"},\"sha512WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha512\",\"id\":\"3051300d060960864801650304020305000440\"},\"RSA-SHA512\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha512\",\"id\":\"3051300d060960864801650304020305000440\"},\"RSA-SHA1\":{\"sign\":\"rsa\",\"hash\":\"sha1\",\"id\":\"3021300906052b0e03021a05000414\"},\"ecdsa-with-SHA1\":{\"sign\":\"ecdsa\",\"hash\":\"sha1\",\"id\":\"\"},\"sha256\":{\"sign\":\"ecdsa\",\"hash\":\"sha256\",\"id\":\"\"},\"sha224\":{\"sign\":\"ecdsa\",\"hash\":\"sha224\",\"id\":\"\"},\"sha384\":{\"sign\":\"ecdsa\",\"hash\":\"sha384\",\"id\":\"\"},\"sha512\":{\"sign\":\"ecdsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-SHA\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA-SHA1\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA-WITH-SHA224\":{\"sign\":\"dsa\",\"hash\":\"sha224\",\"id\":\"\"},\"DSA-SHA224\":{\"sign\":\"dsa\",\"hash\":\"sha224\",\"id\":\"\"},\"DSA-WITH-SHA256\":{\"sign\":\"dsa\",\"hash\":\"sha256\",\"id\":\"\"},\"DSA-SHA256\":{\"sign\":\"dsa\",\"hash\":\"sha256\",\"id\":\"\"},\"DSA-WITH-SHA384\":{\"sign\":\"dsa\",\"hash\":\"sha384\",\"id\":\"\"},\"DSA-SHA384\":{\"sign\":\"dsa\",\"hash\":\"sha384\",\"id\":\"\"},\"DSA-WITH-SHA512\":{\"sign\":\"dsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-SHA512\":{\"sign\":\"dsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-RIPEMD160\":{\"sign\":\"dsa\",\"hash\":\"rmd160\",\"id\":\"\"},\"ripemd160WithRSA\":{\"sign\":\"rsa\",\"hash\":\"rmd160\",\"id\":\"3021300906052b2403020105000414\"},\"RSA-RIPEMD160\":{\"sign\":\"rsa\",\"hash\":\"rmd160\",\"id\":\"3021300906052b2403020105000414\"},\"md5WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"md5\",\"id\":\"3020300c06082a864886f70d020505000410\"},\"RSA-MD5\":{\"sign\":\"rsa\",\"hash\":\"md5\",\"id\":\"3020300c06082a864886f70d020505000410\"}};\n\n//# sourceURL=webpack:///./node_modules/browserify-sign/browser/algorithms.json?"); - -/***/ }), - -/***/ "./node_modules/browserify-sign/browser/curves.json": -/*!**********************************************************!*\ - !*** ./node_modules/browserify-sign/browser/curves.json ***! - \**********************************************************/ -/*! exports provided: 1.3.132.0.10, 1.3.132.0.33, 1.2.840.10045.3.1.1, 1.2.840.10045.3.1.7, 1.3.132.0.34, 1.3.132.0.35, default */ -/***/ (function(module) { - -eval("module.exports = {\"1.3.132.0.10\":\"secp256k1\",\"1.3.132.0.33\":\"p224\",\"1.2.840.10045.3.1.1\":\"p192\",\"1.2.840.10045.3.1.7\":\"p256\",\"1.3.132.0.34\":\"p384\",\"1.3.132.0.35\":\"p521\"};\n\n//# sourceURL=webpack:///./node_modules/browserify-sign/browser/curves.json?"); - -/***/ }), - -/***/ "./node_modules/browserify-sign/browser/index.js": -/*!*******************************************************!*\ - !*** ./node_modules/browserify-sign/browser/index.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(Buffer) {var createHash = __webpack_require__(/*! create-hash */ \"./node_modules/create-hash/browser.js\")\nvar stream = __webpack_require__(/*! stream */ \"./node_modules/stream-browserify/index.js\")\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar sign = __webpack_require__(/*! ./sign */ \"./node_modules/browserify-sign/browser/sign.js\")\nvar verify = __webpack_require__(/*! ./verify */ \"./node_modules/browserify-sign/browser/verify.js\")\n\nvar algorithms = __webpack_require__(/*! ./algorithms.json */ \"./node_modules/browserify-sign/browser/algorithms.json\")\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = new Buffer(algorithms[key].id, 'hex')\n algorithms[key.toLowerCase()] = algorithms[key]\n})\n\nfunction Sign (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hashType = data.hash\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Sign, stream.Writable)\n\nSign.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nSign.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = new Buffer(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nSign.prototype.sign = function signMethod (key, enc) {\n this.end()\n var hash = this._hash.digest()\n var sig = sign(hash, key, this._hashType, this._signType, this._tag)\n\n return enc ? sig.toString(enc) : sig\n}\n\nfunction Verify (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Verify, stream.Writable)\n\nVerify.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nVerify.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = new Buffer(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nVerify.prototype.verify = function verifyMethod (key, sig, enc) {\n if (typeof sig === 'string') sig = new Buffer(sig, enc)\n\n this.end()\n var hash = this._hash.digest()\n return verify(sig, hash, key, this._signType, this._tag)\n}\n\nfunction createSign (algorithm) {\n return new Sign(algorithm)\n}\n\nfunction createVerify (algorithm) {\n return new Verify(algorithm)\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack:///./node_modules/browserify-sign/browser/index.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-sign/browser/sign.js": -/*!******************************************************!*\ - !*** ./node_modules/browserify-sign/browser/sign.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(Buffer) {// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar createHmac = __webpack_require__(/*! create-hmac */ \"./node_modules/create-hmac/browser.js\")\nvar crt = __webpack_require__(/*! browserify-rsa */ \"./node_modules/browserify-rsa/index.js\")\nvar EC = __webpack_require__(/*! elliptic */ \"./node_modules/elliptic/lib/elliptic.js\").ec\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\")\nvar parseKeys = __webpack_require__(/*! parse-asn1 */ \"./node_modules/parse-asn1/index.js\")\nvar curves = __webpack_require__(/*! ./curves.json */ \"./node_modules/browserify-sign/browser/curves.json\")\n\nfunction sign (hash, key, hashType, signType, tag) {\n var priv = parseKeys(key)\n if (priv.curve) {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n return ecSign(hash, priv)\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong private key type')\n return dsaSign(hash, priv, hashType)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = priv.modulus.byteLength()\n var pad = [ 0, 1 ]\n while (hash.length + pad.length + 1 < len) pad.push(0xff)\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) pad.push(hash[i])\n\n var out = crt(pad, priv)\n return out\n}\n\nfunction ecSign (hash, priv) {\n var curveId = curves[priv.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + priv.curve.join('.'))\n\n var curve = new EC(curveId)\n var key = curve.keyFromPrivate(priv.privateKey)\n var out = key.sign(hash)\n\n return new Buffer(out.toDER())\n}\n\nfunction dsaSign (hash, priv, algo) {\n var x = priv.params.priv_key\n var p = priv.params.p\n var q = priv.params.q\n var g = priv.params.g\n var r = new BN(0)\n var k\n var H = bits2int(hash, q).mod(q)\n var s = false\n var kv = getKey(x, q, hash, algo)\n while (s === false) {\n k = makeKey(q, kv, algo)\n r = makeR(g, k, p, q)\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q)\n if (s.cmpn(0) === 0) {\n s = false\n r = new BN(0)\n }\n }\n return toDER(r, s)\n}\n\nfunction toDER (r, s) {\n r = r.toArray()\n s = s.toArray()\n\n // Pad values\n if (r[0] & 0x80) r = [ 0 ].concat(r)\n if (s[0] & 0x80) s = [ 0 ].concat(s)\n\n var total = r.length + s.length + 4\n var res = [ 0x30, total, 0x02, r.length ]\n res = res.concat(r, [ 0x02, s.length ], s)\n return new Buffer(res)\n}\n\nfunction getKey (x, q, hash, algo) {\n x = new Buffer(x.toArray())\n if (x.length < q.byteLength()) {\n var zeros = new Buffer(q.byteLength() - x.length)\n zeros.fill(0)\n x = Buffer.concat([ zeros, x ])\n }\n var hlen = hash.length\n var hbits = bits2octets(hash, q)\n var v = new Buffer(hlen)\n v.fill(1)\n var k = new Buffer(hlen)\n k.fill(0)\n k = createHmac(algo, k).update(v).update(new Buffer([ 0 ])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n k = createHmac(algo, k).update(v).update(new Buffer([ 1 ])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n return { k: k, v: v }\n}\n\nfunction bits2int (obits, q) {\n var bits = new BN(obits)\n var shift = (obits.length << 3) - q.bitLength()\n if (shift > 0) bits.ishrn(shift)\n return bits\n}\n\nfunction bits2octets (bits, q) {\n bits = bits2int(bits, q)\n bits = bits.mod(q)\n var out = new Buffer(bits.toArray())\n if (out.length < q.byteLength()) {\n var zeros = new Buffer(q.byteLength() - out.length)\n zeros.fill(0)\n out = Buffer.concat([ zeros, out ])\n }\n return out\n}\n\nfunction makeKey (q, kv, algo) {\n var t\n var k\n\n do {\n t = new Buffer(0)\n\n while (t.length * 8 < q.bitLength()) {\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n t = Buffer.concat([ t, kv.v ])\n }\n\n k = bits2int(t, q)\n kv.k = createHmac(algo, kv.k).update(kv.v).update(new Buffer([ 0 ])).digest()\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n } while (k.cmp(q) !== -1)\n\n return k\n}\n\nfunction makeR (g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q)\n}\n\nmodule.exports = sign\nmodule.exports.getKey = getKey\nmodule.exports.makeKey = makeKey\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack:///./node_modules/browserify-sign/browser/sign.js?"); - -/***/ }), - -/***/ "./node_modules/browserify-sign/browser/verify.js": -/*!********************************************************!*\ - !*** ./node_modules/browserify-sign/browser/verify.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(Buffer) {// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\")\nvar EC = __webpack_require__(/*! elliptic */ \"./node_modules/elliptic/lib/elliptic.js\").ec\nvar parseKeys = __webpack_require__(/*! parse-asn1 */ \"./node_modules/parse-asn1/index.js\")\nvar curves = __webpack_require__(/*! ./curves.json */ \"./node_modules/browserify-sign/browser/curves.json\")\n\nfunction verify (sig, hash, key, signType, tag) {\n var pub = parseKeys(key)\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n return ecVerify(sig, hash, pub)\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong public key type')\n return dsaVerify(sig, hash, pub)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = pub.modulus.byteLength()\n var pad = [ 1 ]\n var padNum = 0\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff)\n padNum++\n }\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) {\n pad.push(hash[i])\n }\n pad = new Buffer(pad)\n var red = BN.mont(pub.modulus)\n sig = new BN(sig).toRed(red)\n\n sig = sig.redPow(new BN(pub.publicExponent))\n sig = new Buffer(sig.fromRed().toArray())\n var out = padNum < 8 ? 1 : 0\n len = Math.min(sig.length, pad.length)\n if (sig.length !== pad.length) out = 1\n\n i = -1\n while (++i < len) out |= sig[i] ^ pad[i]\n return out === 0\n}\n\nfunction ecVerify (sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.'))\n\n var curve = new EC(curveId)\n var pubkey = pub.data.subjectPrivateKey.data\n\n return curve.verify(hash, sig, pubkey)\n}\n\nfunction dsaVerify (sig, hash, pub) {\n var p = pub.data.p\n var q = pub.data.q\n var g = pub.data.g\n var y = pub.data.pub_key\n var unpacked = parseKeys.signature.decode(sig, 'der')\n var s = unpacked.s\n var r = unpacked.r\n checkValue(s, q)\n checkValue(r, q)\n var montp = BN.mont(p)\n var w = s.invm(q)\n var v = g.toRed(montp)\n .redPow(new BN(hash).mul(w).mod(q))\n .fromRed()\n .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())\n .mod(p)\n .mod(q)\n return v.cmp(r) === 0\n}\n\nfunction checkValue (b, q) {\n if (b.cmpn(0) <= 0) throw new Error('invalid sig')\n if (b.cmp(q) >= q) throw new Error('invalid sig')\n}\n\nmodule.exports = verify\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack:///./node_modules/browserify-sign/browser/verify.js?"); - -/***/ }), - -/***/ "./node_modules/buffer-xor/index.js": -/*!******************************************!*\ - !*** ./node_modules/buffer-xor/index.js ***! - \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(Buffer) {module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack:///./node_modules/buffer-xor/index.js?"); - -/***/ }), - -/***/ "./node_modules/buffer/index.js": -/*!**************************************!*\ - !*** ./node_modules/buffer/index.js ***! - \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(/*! base64-js */ \"./node_modules/base64-js/index.js\")\nvar ieee754 = __webpack_require__(/*! ieee754 */ \"./node_modules/ieee754/index.js\")\nvar isArray = __webpack_require__(/*! isarray */ \"./node_modules/isarray/index.js\")\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/buffer/index.js?"); - -/***/ }), - -/***/ "./node_modules/cipher-base/index.js": -/*!*******************************************!*\ - !*** ./node_modules/cipher-base/index.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nvar Transform = __webpack_require__(/*! stream */ \"./node_modules/stream-browserify/index.js\").Transform\nvar StringDecoder = __webpack_require__(/*! string_decoder */ \"./node_modules/string_decoder/lib/string_decoder.js\").StringDecoder\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n\n\n//# sourceURL=webpack:///./node_modules/cipher-base/index.js?"); - -/***/ }), - -/***/ "./node_modules/core-util-is/lib/util.js": -/*!***********************************************!*\ - !*** ./node_modules/core-util-is/lib/util.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(Buffer) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack:///./node_modules/core-util-is/lib/util.js?"); - -/***/ }), - -/***/ "./node_modules/create-ecdh/browser.js": -/*!*********************************************!*\ - !*** ./node_modules/create-ecdh/browser.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(Buffer) {var elliptic = __webpack_require__(/*! elliptic */ \"./node_modules/elliptic/lib/elliptic.js\")\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\")\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack:///./node_modules/create-ecdh/browser.js?"); - -/***/ }), - -/***/ "./node_modules/create-hash/browser.js": -/*!*********************************************!*\ - !*** ./node_modules/create-hash/browser.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar MD5 = __webpack_require__(/*! md5.js */ \"./node_modules/md5.js/index.js\")\nvar RIPEMD160 = __webpack_require__(/*! ripemd160 */ \"./node_modules/ripemd160/index.js\")\nvar sha = __webpack_require__(/*! sha.js */ \"./node_modules/sha.js/index.js\")\nvar Base = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n\n\n//# sourceURL=webpack:///./node_modules/create-hash/browser.js?"); - -/***/ }), - -/***/ "./node_modules/create-hash/md5.js": -/*!*****************************************!*\ - !*** ./node_modules/create-hash/md5.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var MD5 = __webpack_require__(/*! md5.js */ \"./node_modules/md5.js/index.js\")\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n\n\n//# sourceURL=webpack:///./node_modules/create-hash/md5.js?"); - -/***/ }), - -/***/ "./node_modules/create-hmac/browser.js": -/*!*********************************************!*\ - !*** ./node_modules/create-hmac/browser.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Legacy = __webpack_require__(/*! ./legacy */ \"./node_modules/create-hmac/legacy.js\")\nvar Base = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nvar md5 = __webpack_require__(/*! create-hash/md5 */ \"./node_modules/create-hash/md5.js\")\nvar RIPEMD160 = __webpack_require__(/*! ripemd160 */ \"./node_modules/ripemd160/index.js\")\n\nvar sha = __webpack_require__(/*! sha.js */ \"./node_modules/sha.js/index.js\")\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n\n\n//# sourceURL=webpack:///./node_modules/create-hmac/browser.js?"); - -/***/ }), - -/***/ "./node_modules/create-hmac/legacy.js": -/*!********************************************!*\ - !*** ./node_modules/create-hmac/legacy.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\n\nvar Base = __webpack_require__(/*! cipher-base */ \"./node_modules/cipher-base/index.js\")\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n\n\n//# sourceURL=webpack:///./node_modules/create-hmac/legacy.js?"); - -/***/ }), - -/***/ "./node_modules/crypto-browserify/index.js": -/*!*************************************************!*\ - !*** ./node_modules/crypto-browserify/index.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\")\nexports.createHash = exports.Hash = __webpack_require__(/*! create-hash */ \"./node_modules/create-hash/browser.js\")\nexports.createHmac = exports.Hmac = __webpack_require__(/*! create-hmac */ \"./node_modules/create-hmac/browser.js\")\n\nvar algos = __webpack_require__(/*! browserify-sign/algos */ \"./node_modules/browserify-sign/algos.js\")\nvar algoKeys = Object.keys(algos)\nvar hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys)\nexports.getHashes = function () {\n return hashes\n}\n\nvar p = __webpack_require__(/*! pbkdf2 */ \"./node_modules/pbkdf2/browser.js\")\nexports.pbkdf2 = p.pbkdf2\nexports.pbkdf2Sync = p.pbkdf2Sync\n\nvar aes = __webpack_require__(/*! browserify-cipher */ \"./node_modules/browserify-cipher/browser.js\")\n\nexports.Cipher = aes.Cipher\nexports.createCipher = aes.createCipher\nexports.Cipheriv = aes.Cipheriv\nexports.createCipheriv = aes.createCipheriv\nexports.Decipher = aes.Decipher\nexports.createDecipher = aes.createDecipher\nexports.Decipheriv = aes.Decipheriv\nexports.createDecipheriv = aes.createDecipheriv\nexports.getCiphers = aes.getCiphers\nexports.listCiphers = aes.listCiphers\n\nvar dh = __webpack_require__(/*! diffie-hellman */ \"./node_modules/diffie-hellman/browser.js\")\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup\nexports.getDiffieHellman = dh.getDiffieHellman\nexports.createDiffieHellman = dh.createDiffieHellman\nexports.DiffieHellman = dh.DiffieHellman\n\nvar sign = __webpack_require__(/*! browserify-sign */ \"./node_modules/browserify-sign/browser/index.js\")\n\nexports.createSign = sign.createSign\nexports.Sign = sign.Sign\nexports.createVerify = sign.createVerify\nexports.Verify = sign.Verify\n\nexports.createECDH = __webpack_require__(/*! create-ecdh */ \"./node_modules/create-ecdh/browser.js\")\n\nvar publicEncrypt = __webpack_require__(/*! public-encrypt */ \"./node_modules/public-encrypt/browser.js\")\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt\nexports.privateEncrypt = publicEncrypt.privateEncrypt\nexports.publicDecrypt = publicEncrypt.publicDecrypt\nexports.privateDecrypt = publicEncrypt.privateDecrypt\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// ;[\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error([\n// 'sorry, ' + name + ' is not implemented yet',\n// 'we accept pull requests',\n// 'https://github.com/crypto-browserify/crypto-browserify'\n// ].join('\\n'))\n// }\n// })\n\nvar rf = __webpack_require__(/*! randomfill */ \"./node_modules/randomfill/browser.js\")\n\nexports.randomFill = rf.randomFill\nexports.randomFillSync = rf.randomFillSync\n\nexports.createCredentials = function () {\n throw new Error([\n 'sorry, createCredentials is not implemented yet',\n 'we accept pull requests',\n 'https://github.com/crypto-browserify/crypto-browserify'\n ].join('\\n'))\n}\n\nexports.constants = {\n 'DH_CHECK_P_NOT_SAFE_PRIME': 2,\n 'DH_CHECK_P_NOT_PRIME': 1,\n 'DH_UNABLE_TO_CHECK_GENERATOR': 4,\n 'DH_NOT_SUITABLE_GENERATOR': 8,\n 'NPN_ENABLED': 1,\n 'ALPN_ENABLED': 1,\n 'RSA_PKCS1_PADDING': 1,\n 'RSA_SSLV23_PADDING': 2,\n 'RSA_NO_PADDING': 3,\n 'RSA_PKCS1_OAEP_PADDING': 4,\n 'RSA_X931_PADDING': 5,\n 'RSA_PKCS1_PSS_PADDING': 6,\n 'POINT_CONVERSION_COMPRESSED': 2,\n 'POINT_CONVERSION_UNCOMPRESSED': 4,\n 'POINT_CONVERSION_HYBRID': 6\n}\n\n\n//# sourceURL=webpack:///./node_modules/crypto-browserify/index.js?"); - -/***/ }), - -/***/ "./node_modules/des.js/lib/des.js": -/*!****************************************!*\ - !*** ./node_modules/des.js/lib/des.js ***! - \****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nexports.utils = __webpack_require__(/*! ./des/utils */ \"./node_modules/des.js/lib/des/utils.js\");\nexports.Cipher = __webpack_require__(/*! ./des/cipher */ \"./node_modules/des.js/lib/des/cipher.js\");\nexports.DES = __webpack_require__(/*! ./des/des */ \"./node_modules/des.js/lib/des/des.js\");\nexports.CBC = __webpack_require__(/*! ./des/cbc */ \"./node_modules/des.js/lib/des/cbc.js\");\nexports.EDE = __webpack_require__(/*! ./des/ede */ \"./node_modules/des.js/lib/des/ede.js\");\n\n\n//# sourceURL=webpack:///./node_modules/des.js/lib/des.js?"); - -/***/ }), - -/***/ "./node_modules/des.js/lib/des/cbc.js": -/*!********************************************!*\ - !*** ./node_modules/des.js/lib/des/cbc.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\n\n\n//# sourceURL=webpack:///./node_modules/des.js/lib/des/cbc.js?"); - -/***/ }), - -/***/ "./node_modules/des.js/lib/des/cipher.js": -/*!***********************************************!*\ - !*** ./node_modules/des.js/lib/des/cipher.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n\n\n//# sourceURL=webpack:///./node_modules/des.js/lib/des/cipher.js?"); - -/***/ }), - -/***/ "./node_modules/des.js/lib/des/des.js": -/*!********************************************!*\ - !*** ./node_modules/des.js/lib/des/des.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar des = __webpack_require__(/*! ../des */ \"./node_modules/des.js/lib/des.js\");\nvar utils = des.utils;\nvar Cipher = des.Cipher;\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n\n\n//# sourceURL=webpack:///./node_modules/des.js/lib/des/des.js?"); - -/***/ }), - -/***/ "./node_modules/des.js/lib/des/ede.js": -/*!********************************************!*\ - !*** ./node_modules/des.js/lib/des/ede.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nvar des = __webpack_require__(/*! ../des */ \"./node_modules/des.js/lib/des.js\");\nvar Cipher = des.Cipher;\nvar DES = des.DES;\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\n\n\n//# sourceURL=webpack:///./node_modules/des.js/lib/des/ede.js?"); - -/***/ }), - -/***/ "./node_modules/des.js/lib/des/utils.js": -/*!**********************************************!*\ - !*** ./node_modules/des.js/lib/des/utils.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n\n\n//# sourceURL=webpack:///./node_modules/des.js/lib/des/utils.js?"); - -/***/ }), - -/***/ "./node_modules/diffie-hellman/browser.js": -/*!************************************************!*\ - !*** ./node_modules/diffie-hellman/browser.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(Buffer) {var generatePrime = __webpack_require__(/*! ./lib/generatePrime */ \"./node_modules/diffie-hellman/lib/generatePrime.js\")\nvar primes = __webpack_require__(/*! ./lib/primes.json */ \"./node_modules/diffie-hellman/lib/primes.json\")\n\nvar DH = __webpack_require__(/*! ./lib/dh */ \"./node_modules/diffie-hellman/lib/dh.js\")\n\nfunction getDiffieHellman (mod) {\n var prime = new Buffer(primes[mod].prime, 'hex')\n var gen = new Buffer(primes[mod].gen, 'hex')\n\n return new DH(prime, gen)\n}\n\nvar ENCODINGS = {\n 'binary': true, 'hex': true, 'base64': true\n}\n\nfunction createDiffieHellman (prime, enc, generator, genc) {\n if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {\n return createDiffieHellman(prime, 'binary', enc, generator)\n }\n\n enc = enc || 'binary'\n genc = genc || 'binary'\n generator = generator || new Buffer([2])\n\n if (!Buffer.isBuffer(generator)) {\n generator = new Buffer(generator, genc)\n }\n\n if (typeof prime === 'number') {\n return new DH(generatePrime(prime, generator), generator, true)\n }\n\n if (!Buffer.isBuffer(prime)) {\n prime = new Buffer(prime, enc)\n }\n\n return new DH(prime, generator, true)\n}\n\nexports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman\nexports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack:///./node_modules/diffie-hellman/browser.js?"); - -/***/ }), - -/***/ "./node_modules/diffie-hellman/lib/dh.js": -/*!***********************************************!*\ - !*** ./node_modules/diffie-hellman/lib/dh.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(Buffer) {var BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar MillerRabin = __webpack_require__(/*! miller-rabin */ \"./node_modules/miller-rabin/lib/mr.js\");\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = __webpack_require__(/*! ./generatePrime */ \"./node_modules/diffie-hellman/lib/generatePrime.js\");\nvar randomBytes = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\");\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack:///./node_modules/diffie-hellman/lib/dh.js?"); - -/***/ }), - -/***/ "./node_modules/diffie-hellman/lib/generatePrime.js": -/*!**********************************************************!*\ - !*** ./node_modules/diffie-hellman/lib/generatePrime.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var randomBytes = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\");\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = __webpack_require__(/*! miller-rabin */ \"./node_modules/miller-rabin/lib/mr.js\");\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n\n\n//# sourceURL=webpack:///./node_modules/diffie-hellman/lib/generatePrime.js?"); - -/***/ }), - -/***/ "./node_modules/diffie-hellman/lib/primes.json": -/*!*****************************************************!*\ - !*** ./node_modules/diffie-hellman/lib/primes.json ***! - \*****************************************************/ -/*! exports provided: modp1, modp2, modp5, modp14, modp15, modp16, modp17, modp18, default */ -/***/ (function(module) { - -eval("module.exports = {\"modp1\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"},\"modp2\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"},\"modp5\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"},\"modp14\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"},\"modp15\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"},\"modp16\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"},\"modp17\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"},\"modp18\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"}};\n\n//# sourceURL=webpack:///./node_modules/diffie-hellman/lib/primes.json?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic.js": -/*!***********************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar elliptic = exports;\n\nelliptic.version = __webpack_require__(/*! ../package.json */ \"./node_modules/elliptic/package.json\").version;\nelliptic.utils = __webpack_require__(/*! ./elliptic/utils */ \"./node_modules/elliptic/lib/elliptic/utils.js\");\nelliptic.rand = __webpack_require__(/*! brorand */ \"./node_modules/brorand/index.js\");\nelliptic.hmacDRBG = __webpack_require__(/*! ./elliptic/hmac-drbg */ \"./node_modules/elliptic/lib/elliptic/hmac-drbg.js\");\nelliptic.curve = __webpack_require__(/*! ./elliptic/curve */ \"./node_modules/elliptic/lib/elliptic/curve/index.js\");\nelliptic.curves = __webpack_require__(/*! ./elliptic/curves */ \"./node_modules/elliptic/lib/elliptic/curves.js\");\n\n// Protocols\nelliptic.ec = __webpack_require__(/*! ./elliptic/ec */ \"./node_modules/elliptic/lib/elliptic/ec/index.js\");\nelliptic.eddsa = __webpack_require__(/*! ./elliptic/eddsa */ \"./node_modules/elliptic/lib/elliptic/eddsa/index.js\");\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/curve/base.js": -/*!**********************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/curve/base.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar elliptic = __webpack_require__(/*! ../../elliptic */ \"./node_modules/elliptic/lib/elliptic.js\");\nvar utils = elliptic.utils;\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n for (var j = 0; j < naf.length; j += doubles.step) {\n var nafW = 0;\n for (var k = j + doubles.step - 1; k >= j; k--)\n nafW = (nafW << 1) + naf[k];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (var j = 0; j < repr.length; j++) {\n var nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var k = 0; i >= 0 && naf[i] === 0; i--)\n k++;\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n for (var i = 0; i < len; i++) {\n var p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (var i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a]);\n naf[b] = getNAF(coeffs[b], wndWidth[b]);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b] /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3 /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (var j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (var i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (var j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (var j = 0; j < len; j++) {\n var z = tmp[j];\n var p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (var i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len)) ;\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/curve/base.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/curve/edwards.js": -/*!*************************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/curve/edwards.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar curve = __webpack_require__(/*! ../curve */ \"./node_modules/elliptic/lib/elliptic/curve/index.js\");\nvar elliptic = __webpack_require__(/*! ../../elliptic */ \"./node_modules/elliptic/lib/elliptic.js\");\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar Base = curve.base;\n\nvar assert = elliptic.utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - 1) / (d y^2 + 1)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.one);\n var rhs = y2.redMul(this.d).redAdd(this.one);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n this.y.cmp(this.z) === 0;\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n if (this.curve.twisted) {\n // E = a * C\n var e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n var h = this.z.redSqr();\n // J = F - 2 * H\n var j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n var e = c.redAdd(d);\n // H = (c * Z1)^2\n var h = this.curve._mulC(this.c.redMul(this.z)).redSqr();\n // J = E - 2 * H\n var j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n return false;\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/curve/edwards.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/curve/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/curve/index.js ***! - \***********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar curve = exports;\n\ncurve.base = __webpack_require__(/*! ./base */ \"./node_modules/elliptic/lib/elliptic/curve/base.js\");\ncurve.short = __webpack_require__(/*! ./short */ \"./node_modules/elliptic/lib/elliptic/curve/short.js\");\ncurve.mont = __webpack_require__(/*! ./mont */ \"./node_modules/elliptic/lib/elliptic/curve/mont.js\");\ncurve.edwards = __webpack_require__(/*! ./edwards */ \"./node_modules/elliptic/lib/elliptic/curve/edwards.js\");\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/curve/index.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/curve/mont.js": -/*!**********************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/curve/mont.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar curve = __webpack_require__(/*! ../curve */ \"./node_modules/elliptic/lib/elliptic/curve/index.js\");\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar Base = curve.base;\n\nvar elliptic = __webpack_require__(/*! ../../elliptic */ \"./node_modules/elliptic/lib/elliptic.js\");\nvar utils = elliptic.utils;\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/curve/mont.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/curve/short.js": -/*!***********************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/curve/short.js ***! - \***********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar curve = __webpack_require__(/*! ../curve */ \"./node_modules/elliptic/lib/elliptic/curve/index.js\");\nvar elliptic = __webpack_require__(/*! ../../elliptic */ \"./node_modules/elliptic/lib/elliptic.js\");\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\nvar Base = curve.base;\n\nvar assert = elliptic.utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16)\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 }\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n};\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul)\n }\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1)\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1)\n }\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point))\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point))\n }\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate)\n }\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (var i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (var i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n return false;\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/curve/short.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/curves.js": -/*!******************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/curves.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar curves = exports;\n\nvar hash = __webpack_require__(/*! hash.js */ \"./node_modules/hash.js/lib/hash.js\");\nvar elliptic = __webpack_require__(/*! ../elliptic */ \"./node_modules/elliptic/lib/elliptic.js\");\n\nvar assert = elliptic.utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new elliptic.curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new elliptic.curve.edwards(options);\n else\n this.curve = new elliptic.curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve\n });\n return curve;\n }\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811'\n ]\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34'\n ]\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5'\n ]\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f'\n ]\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650'\n ]\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9'\n ]\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658'\n ]\n});\n\nvar pre;\ntry {\n pre = __webpack_require__(/*! ./precomputed/secp256k1 */ \"./node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js\");\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3'\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15'\n }\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre\n ]\n});\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/curves.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/ec/index.js": -/*!********************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/ec/index.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar elliptic = __webpack_require__(/*! ../../elliptic */ \"./node_modules/elliptic/lib/elliptic.js\");\nvar utils = elliptic.utils;\nvar assert = utils.assert;\n\nvar KeyPair = __webpack_require__(/*! ./key */ \"./node_modules/elliptic/lib/elliptic/ec/key.js\");\nvar Signature = __webpack_require__(/*! ./signature */ \"./node_modules/elliptic/lib/elliptic/ec/signature.js\");\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(elliptic.curves.hasOwnProperty(options), 'Unknown curve ' + options);\n\n options = elliptic.curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof elliptic.curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new elliptic.hmacDRBG({\n hash: this.hash,\n pers: options.pers,\n entropy: options.entropy || elliptic.rand(this.hash.hmacStrength),\n nonce: this.n.toArray()\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n do {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n } while (true);\n};\n\nEC.prototype._truncateToN = function truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new elliptic.hmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; true; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n\n if (!this.curve._maxwellTrick) {\n var p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n var p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/ec/index.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/ec/key.js": -/*!******************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/ec/key.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar elliptic = __webpack_require__(/*! ../../elliptic */ \"./node_modules/elliptic/lib/elliptic.js\");\nvar utils = elliptic.utils;\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/ec/key.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/ec/signature.js": -/*!************************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/ec/signature.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\n\nvar elliptic = __webpack_require__(/*! ../../elliptic */ \"./node_modules/elliptic/lib/elliptic.js\");\nvar utils = elliptic.utils;\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n }\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0 && (r[1] & 0x80)) {\n r = r.slice(1);\n }\n if (s[0] === 0 && (s[1] & 0x80)) {\n s = s.slice(1);\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/ec/signature.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/eddsa/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/eddsa/index.js ***! - \***********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar hash = __webpack_require__(/*! hash.js */ \"./node_modules/hash.js/lib/hash.js\");\nvar elliptic = __webpack_require__(/*! ../../elliptic */ \"./node_modules/elliptic/lib/elliptic.js\");\nvar utils = elliptic.utils;\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = __webpack_require__(/*! ./key */ \"./node_modules/elliptic/lib/elliptic/eddsa/key.js\");\nvar Signature = __webpack_require__(/*! ./signature */ \"./node_modules/elliptic/lib/elliptic/eddsa/signature.js\");\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n var curve = elliptic.curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/eddsa/index.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/eddsa/key.js": -/*!*********************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/eddsa/key.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar elliptic = __webpack_require__(/*! ../../elliptic */ \"./node_modules/elliptic/lib/elliptic.js\");\nvar utils = elliptic.utils;\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/eddsa/key.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/eddsa/signature.js": -/*!***************************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/eddsa/signature.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar elliptic = __webpack_require__(/*! ../../elliptic */ \"./node_modules/elliptic/lib/elliptic.js\");\nvar utils = elliptic.utils;\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength)\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/eddsa/signature.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/hmac-drbg.js": -/*!*********************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/hmac-drbg.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar hash = __webpack_require__(/*! hash.js */ \"./node_modules/hash.js/lib/hash.js\");\nvar elliptic = __webpack_require__(/*! ../elliptic */ \"./node_modules/elliptic/lib/elliptic.js\");\nvar utils = elliptic.utils;\nvar assert = utils.assert;\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this.reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc);\n var nonce = utils.toArray(options.nonce, options.nonceEnc);\n var pers = utils.toArray(options.pers, options.persEnc);\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this.reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toBuffer(entropy, entropyEnc);\n add = utils.toBuffer(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this.reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this.reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc);\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this.reseed++;\n return utils.encode(res, enc);\n};\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/hmac-drbg.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js": -/*!*********************************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821'\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf'\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695'\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9'\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36'\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f'\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999'\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09'\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d'\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088'\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d'\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8'\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a'\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453'\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160'\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0'\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6'\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589'\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17'\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda'\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd'\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2'\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6'\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f'\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01'\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3'\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f'\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7'\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78'\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1'\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150'\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82'\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc'\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b'\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51'\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45'\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120'\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84'\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d'\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d'\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8'\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8'\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac'\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f'\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962'\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907'\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec'\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d'\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414'\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd'\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0'\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811'\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1'\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c'\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73'\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd'\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405'\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589'\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e'\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27'\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1'\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482'\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945'\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573'\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82'\n ]\n ]\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672'\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6'\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da'\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37'\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b'\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81'\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58'\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77'\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a'\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c'\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67'\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402'\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55'\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482'\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82'\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396'\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49'\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf'\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a'\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7'\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933'\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a'\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6'\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37'\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e'\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6'\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476'\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40'\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61'\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683'\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5'\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b'\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417'\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868'\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a'\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6'\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996'\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e'\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d'\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2'\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e'\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437'\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311'\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4'\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575'\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d'\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d'\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629'\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06'\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374'\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee'\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1'\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b'\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661'\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6'\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e'\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d'\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc'\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4'\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c'\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b'\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913'\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154'\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865'\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc'\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224'\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e'\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6'\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511'\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b'\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2'\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c'\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3'\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d'\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700'\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4'\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196'\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4'\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257'\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13'\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096'\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38'\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f'\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448'\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a'\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4'\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437'\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7'\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d'\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a'\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54'\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77'\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517'\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10'\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125'\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e'\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1'\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2'\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423'\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8'\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758'\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375'\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d'\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec'\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0'\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c'\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4'\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f'\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649'\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826'\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5'\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87'\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b'\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc'\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c'\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f'\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a'\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46'\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f'\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03'\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08'\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8'\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373'\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3'\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8'\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1'\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9'\n ]\n ]\n }\n};\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/lib/elliptic/utils.js": -/*!*****************************************************!*\ - !*** ./node_modules/elliptic/lib/elliptic/utils.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar utils = exports;\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\n\nutils.assert = function assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n};\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (!enc) {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w) {\n var naf = [];\n var ws = 1 << (w + 1);\n var k = num.clone();\n while (k.cmpn(1) >= 0) {\n var z;\n if (k.isOdd()) {\n var mod = k.andln(ws - 1);\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n naf.push(z);\n\n // Optimization, shift by word if possible\n var shift = (k.cmpn(0) !== 0 && k.andln(ws - 1) === 0) ? (w + 1) : 1;\n for (var i = 1; i < shift; i++)\n naf.push(0);\n k.iushrn(shift);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n []\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n var m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n var m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n\n\n//# sourceURL=webpack:///./node_modules/elliptic/lib/elliptic/utils.js?"); - -/***/ }), - -/***/ "./node_modules/elliptic/package.json": -/*!********************************************!*\ - !*** ./node_modules/elliptic/package.json ***! - \********************************************/ -/*! exports provided: _from, _id, _inBundle, _integrity, _location, _phantomChildren, _requested, _requiredBy, _resolved, _shasum, _spec, _where, author, bugs, bundleDependencies, dependencies, deprecated, description, devDependencies, files, homepage, keywords, license, main, name, repository, scripts, version, default */ -/***/ (function(module) { - -eval("module.exports = {\"_from\":\"elliptic@6.3.3\",\"_id\":\"elliptic@6.3.3\",\"_inBundle\":false,\"_integrity\":\"sha1-VILZZG1UvLif19mU/J4ulWiHbj8=\",\"_location\":\"/elliptic\",\"_phantomChildren\":{},\"_requested\":{\"type\":\"version\",\"registry\":true,\"raw\":\"elliptic@6.3.3\",\"name\":\"elliptic\",\"escapedName\":\"elliptic\",\"rawSpec\":\"6.3.3\",\"saveSpec\":null,\"fetchSpec\":\"6.3.3\"},\"_requiredBy\":[\"/browserify-sign\",\"/create-ecdh\",\"/ethers\"],\"_resolved\":\"https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz\",\"_shasum\":\"5482d9646d54bcb89fd7d994fc9e2e9568876e3f\",\"_spec\":\"elliptic@6.3.3\",\"_where\":\"/Users/oed/3box/3box-services-box/3box-account/node_modules/ethers\",\"author\":{\"name\":\"Fedor Indutny\",\"email\":\"fedor@indutny.com\"},\"bugs\":{\"url\":\"https://github.com/indutny/elliptic/issues\"},\"bundleDependencies\":false,\"dependencies\":{\"bn.js\":\"^4.4.0\",\"brorand\":\"^1.0.1\",\"hash.js\":\"^1.0.0\",\"inherits\":\"^2.0.1\"},\"deprecated\":false,\"description\":\"EC cryptography\",\"devDependencies\":{\"brfs\":\"^1.4.3\",\"coveralls\":\"^2.11.3\",\"grunt\":\"^0.4.5\",\"grunt-browserify\":\"^5.0.0\",\"grunt-cli\":\"^1.2.0\",\"grunt-contrib-connect\":\"^1.0.0\",\"grunt-contrib-copy\":\"^1.0.0\",\"grunt-contrib-uglify\":\"^1.0.1\",\"grunt-mocha-istanbul\":\"^3.0.1\",\"grunt-saucelabs\":\"^8.6.2\",\"istanbul\":\"^0.4.2\",\"jscs\":\"^2.9.0\",\"jshint\":\"^2.6.0\",\"mocha\":\"^2.1.0\"},\"files\":[\"lib\"],\"homepage\":\"https://github.com/indutny/elliptic\",\"keywords\":[\"EC\",\"Elliptic\",\"curve\",\"Cryptography\"],\"license\":\"MIT\",\"main\":\"lib/elliptic.js\",\"name\":\"elliptic\",\"repository\":{\"type\":\"git\",\"url\":\"git+ssh://git@github.com/indutny/elliptic.git\"},\"scripts\":{\"jscs\":\"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js\",\"jshint\":\"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js\",\"lint\":\"npm run jscs && npm run jshint\",\"test\":\"npm run lint && npm run unit\",\"unit\":\"istanbul test _mocha --reporter=spec test/index.js\",\"version\":\"grunt dist && git add dist/\"},\"version\":\"6.3.3\"};\n\n//# sourceURL=webpack:///./node_modules/elliptic/package.json?"); - -/***/ }), - -/***/ "./node_modules/events/events.js": -/*!***************************************!*\ - !*** ./node_modules/events/events.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction $getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return $getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = $getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) args.push(arguments[i]);\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n ReflectApply(this.listener, this.target, args);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\n\n//# sourceURL=webpack:///./node_modules/events/events.js?"); - -/***/ }), - -/***/ "./node_modules/evp_bytestokey/index.js": -/*!**********************************************!*\ - !*** ./node_modules/evp_bytestokey/index.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nvar MD5 = __webpack_require__(/*! md5.js */ \"./node_modules/md5.js/index.js\")\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n\n\n//# sourceURL=webpack:///./node_modules/evp_bytestokey/index.js?"); - -/***/ }), - -/***/ "./node_modules/hash-base/index.js": -/*!*****************************************!*\ - !*** ./node_modules/hash-base/index.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nvar Transform = __webpack_require__(/*! stream */ \"./node_modules/stream-browserify/index.js\").Transform\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n\n\n//# sourceURL=webpack:///./node_modules/hash-base/index.js?"); - -/***/ }), - -/***/ "./node_modules/hash.js/lib/hash.js": -/*!******************************************!*\ - !*** ./node_modules/hash.js/lib/hash.js ***! - \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var hash = exports;\n\nhash.utils = __webpack_require__(/*! ./hash/utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nhash.common = __webpack_require__(/*! ./hash/common */ \"./node_modules/hash.js/lib/hash/common.js\");\nhash.sha = __webpack_require__(/*! ./hash/sha */ \"./node_modules/hash.js/lib/hash/sha.js\");\nhash.ripemd = __webpack_require__(/*! ./hash/ripemd */ \"./node_modules/hash.js/lib/hash/ripemd.js\");\nhash.hmac = __webpack_require__(/*! ./hash/hmac */ \"./node_modules/hash.js/lib/hash/hmac.js\");\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n\n\n//# sourceURL=webpack:///./node_modules/hash.js/lib/hash.js?"); - -/***/ }), - -/***/ "./node_modules/hash.js/lib/hash/common.js": -/*!*************************************************!*\ - !*** ./node_modules/hash.js/lib/hash/common.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n\n\n//# sourceURL=webpack:///./node_modules/hash.js/lib/hash/common.js?"); - -/***/ }), - -/***/ "./node_modules/hash.js/lib/hash/hmac.js": -/*!***********************************************!*\ - !*** ./node_modules/hash.js/lib/hash/hmac.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n\n\n//# sourceURL=webpack:///./node_modules/hash.js/lib/hash/hmac.js?"); - -/***/ }), - -/***/ "./node_modules/hash.js/lib/hash/ripemd.js": -/*!*************************************************!*\ - !*** ./node_modules/hash.js/lib/hash/ripemd.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar utils = __webpack_require__(/*! ./utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar common = __webpack_require__(/*! ./common */ \"./node_modules/hash.js/lib/hash/common.js\");\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n\n\n//# sourceURL=webpack:///./node_modules/hash.js/lib/hash/ripemd.js?"); - -/***/ }), - -/***/ "./node_modules/hash.js/lib/hash/sha.js": -/*!**********************************************!*\ - !*** ./node_modules/hash.js/lib/hash/sha.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nexports.sha1 = __webpack_require__(/*! ./sha/1 */ \"./node_modules/hash.js/lib/hash/sha/1.js\");\nexports.sha224 = __webpack_require__(/*! ./sha/224 */ \"./node_modules/hash.js/lib/hash/sha/224.js\");\nexports.sha256 = __webpack_require__(/*! ./sha/256 */ \"./node_modules/hash.js/lib/hash/sha/256.js\");\nexports.sha384 = __webpack_require__(/*! ./sha/384 */ \"./node_modules/hash.js/lib/hash/sha/384.js\");\nexports.sha512 = __webpack_require__(/*! ./sha/512 */ \"./node_modules/hash.js/lib/hash/sha/512.js\");\n\n\n//# sourceURL=webpack:///./node_modules/hash.js/lib/hash/sha.js?"); - -/***/ }), - -/***/ "./node_modules/hash.js/lib/hash/sha/1.js": -/*!************************************************!*\ - !*** ./node_modules/hash.js/lib/hash/sha/1.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar common = __webpack_require__(/*! ../common */ \"./node_modules/hash.js/lib/hash/common.js\");\nvar shaCommon = __webpack_require__(/*! ./common */ \"./node_modules/hash.js/lib/hash/sha/common.js\");\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\n\n//# sourceURL=webpack:///./node_modules/hash.js/lib/hash/sha/1.js?"); - -/***/ }), - -/***/ "./node_modules/hash.js/lib/hash/sha/224.js": -/*!**************************************************!*\ - !*** ./node_modules/hash.js/lib/hash/sha/224.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar SHA256 = __webpack_require__(/*! ./256 */ \"./node_modules/hash.js/lib/hash/sha/256.js\");\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n\n\n//# sourceURL=webpack:///./node_modules/hash.js/lib/hash/sha/224.js?"); - -/***/ }), - -/***/ "./node_modules/hash.js/lib/hash/sha/256.js": -/*!**************************************************!*\ - !*** ./node_modules/hash.js/lib/hash/sha/256.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar common = __webpack_require__(/*! ../common */ \"./node_modules/hash.js/lib/hash/common.js\");\nvar shaCommon = __webpack_require__(/*! ./common */ \"./node_modules/hash.js/lib/hash/sha/common.js\");\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\n\n//# sourceURL=webpack:///./node_modules/hash.js/lib/hash/sha/256.js?"); - -/***/ }), - -/***/ "./node_modules/hash.js/lib/hash/sha/384.js": -/*!**************************************************!*\ - !*** ./node_modules/hash.js/lib/hash/sha/384.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\n\nvar SHA512 = __webpack_require__(/*! ./512 */ \"./node_modules/hash.js/lib/hash/sha/512.js\");\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n\n\n//# sourceURL=webpack:///./node_modules/hash.js/lib/hash/sha/384.js?"); - -/***/ }), - -/***/ "./node_modules/hash.js/lib/hash/sha/512.js": -/*!**************************************************!*\ - !*** ./node_modules/hash.js/lib/hash/sha/512.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar common = __webpack_require__(/*! ../common */ \"./node_modules/hash.js/lib/hash/common.js\");\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\n\n//# sourceURL=webpack:///./node_modules/hash.js/lib/hash/sha/512.js?"); - -/***/ }), - -/***/ "./node_modules/hash.js/lib/hash/sha/common.js": -/*!*****************************************************!*\ - !*** ./node_modules/hash.js/lib/hash/sha/common.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/hash.js/lib/hash/utils.js\");\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n\n\n//# sourceURL=webpack:///./node_modules/hash.js/lib/hash/sha/common.js?"); - -/***/ }), - -/***/ "./node_modules/hash.js/lib/hash/utils.js": -/*!************************************************!*\ - !*** ./node_modules/hash.js/lib/hash/utils.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar assert = __webpack_require__(/*! minimalistic-assert */ \"./node_modules/minimalistic-assert/index.js\");\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n\nexports.inherits = inherits;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n\n\n//# sourceURL=webpack:///./node_modules/hash.js/lib/hash/utils.js?"); - -/***/ }), - -/***/ "./node_modules/ieee754/index.js": -/*!***************************************!*\ - !*** ./node_modules/ieee754/index.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n//# sourceURL=webpack:///./node_modules/ieee754/index.js?"); - -/***/ }), - -/***/ "./node_modules/indexof/index.js": -/*!***************************************!*\ - !*** ./node_modules/indexof/index.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("\nvar indexOf = [].indexOf;\n\nmodule.exports = function(arr, obj){\n if (indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n};\n\n//# sourceURL=webpack:///./node_modules/indexof/index.js?"); - -/***/ }), - -/***/ "./node_modules/inherits/inherits_browser.js": -/*!***************************************************!*\ - !*** ./node_modules/inherits/inherits_browser.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/inherits/inherits_browser.js?"); - -/***/ }), - -/***/ "./node_modules/isarray/index.js": -/*!***************************************!*\ - !*** ./node_modules/isarray/index.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n//# sourceURL=webpack:///./node_modules/isarray/index.js?"); - -/***/ }), - -/***/ "./node_modules/md5.js/index.js": -/*!**************************************!*\ - !*** ./node_modules/md5.js/index.js ***! - \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar HashBase = __webpack_require__(/*! hash-base */ \"./node_modules/hash-base/index.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n\n\n//# sourceURL=webpack:///./node_modules/md5.js/index.js?"); - -/***/ }), - -/***/ "./node_modules/miller-rabin/lib/mr.js": -/*!*********************************************!*\ - !*** ./node_modules/miller-rabin/lib/mr.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var bn = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\");\nvar brorand = __webpack_require__(/*! brorand */ \"./node_modules/brorand/index.js\");\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8);\n\n // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n var prime = true;\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n if (cb)\n cb(a);\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return false;\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s)\n return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n\n\n//# sourceURL=webpack:///./node_modules/miller-rabin/lib/mr.js?"); - -/***/ }), - -/***/ "./node_modules/minimalistic-assert/index.js": -/*!***************************************************!*\ - !*** ./node_modules/minimalistic-assert/index.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n\n\n//# sourceURL=webpack:///./node_modules/minimalistic-assert/index.js?"); - -/***/ }), - -/***/ "./node_modules/parse-asn1/aesid.json": -/*!********************************************!*\ - !*** ./node_modules/parse-asn1/aesid.json ***! - \********************************************/ -/*! exports provided: 2.16.840.1.101.3.4.1.1, 2.16.840.1.101.3.4.1.2, 2.16.840.1.101.3.4.1.3, 2.16.840.1.101.3.4.1.4, 2.16.840.1.101.3.4.1.21, 2.16.840.1.101.3.4.1.22, 2.16.840.1.101.3.4.1.23, 2.16.840.1.101.3.4.1.24, 2.16.840.1.101.3.4.1.41, 2.16.840.1.101.3.4.1.42, 2.16.840.1.101.3.4.1.43, 2.16.840.1.101.3.4.1.44, default */ -/***/ (function(module) { - -eval("module.exports = {\"2.16.840.1.101.3.4.1.1\":\"aes-128-ecb\",\"2.16.840.1.101.3.4.1.2\":\"aes-128-cbc\",\"2.16.840.1.101.3.4.1.3\":\"aes-128-ofb\",\"2.16.840.1.101.3.4.1.4\":\"aes-128-cfb\",\"2.16.840.1.101.3.4.1.21\":\"aes-192-ecb\",\"2.16.840.1.101.3.4.1.22\":\"aes-192-cbc\",\"2.16.840.1.101.3.4.1.23\":\"aes-192-ofb\",\"2.16.840.1.101.3.4.1.24\":\"aes-192-cfb\",\"2.16.840.1.101.3.4.1.41\":\"aes-256-ecb\",\"2.16.840.1.101.3.4.1.42\":\"aes-256-cbc\",\"2.16.840.1.101.3.4.1.43\":\"aes-256-ofb\",\"2.16.840.1.101.3.4.1.44\":\"aes-256-cfb\"};\n\n//# sourceURL=webpack:///./node_modules/parse-asn1/aesid.json?"); - -/***/ }), - -/***/ "./node_modules/parse-asn1/asn1.js": -/*!*****************************************!*\ - !*** ./node_modules/parse-asn1/asn1.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js\n// Fedor, you are amazing.\n\n\nvar asn1 = __webpack_require__(/*! asn1.js */ \"./node_modules/asn1.js/lib/asn1.js\")\n\nexports.certificate = __webpack_require__(/*! ./certificate */ \"./node_modules/parse-asn1/certificate.js\")\n\nvar RSAPrivateKey = asn1.define('RSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('modulus').int(),\n this.key('publicExponent').int(),\n this.key('privateExponent').int(),\n this.key('prime1').int(),\n this.key('prime2').int(),\n this.key('exponent1').int(),\n this.key('exponent2').int(),\n this.key('coefficient').int()\n )\n})\nexports.RSAPrivateKey = RSAPrivateKey\n\nvar RSAPublicKey = asn1.define('RSAPublicKey', function () {\n this.seq().obj(\n this.key('modulus').int(),\n this.key('publicExponent').int()\n )\n})\nexports.RSAPublicKey = RSAPublicKey\n\nvar PublicKey = asn1.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\nexports.PublicKey = PublicKey\n\nvar AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('none').null_().optional(),\n this.key('curve').objid().optional(),\n this.key('params').seq().obj(\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int()\n ).optional()\n )\n})\n\nvar PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPrivateKey').octstr()\n )\n})\nexports.PrivateKey = PrivateKeyInfo\nvar EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').seq().obj(\n this.key('id').objid(),\n this.key('decrypt').seq().obj(\n this.key('kde').seq().obj(\n this.key('id').objid(),\n this.key('kdeparams').seq().obj(\n this.key('salt').octstr(),\n this.key('iters').int()\n )\n ),\n this.key('cipher').seq().obj(\n this.key('algo').objid(),\n this.key('iv').octstr()\n )\n )\n ),\n this.key('subjectPrivateKey').octstr()\n )\n})\n\nexports.EncryptedPrivateKey = EncryptedPrivateKeyInfo\n\nvar DSAPrivateKey = asn1.define('DSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int(),\n this.key('pub_key').int(),\n this.key('priv_key').int()\n )\n})\nexports.DSAPrivateKey = DSAPrivateKey\n\nexports.DSAparam = asn1.define('DSAparam', function () {\n this.int()\n})\n\nvar ECPrivateKey = asn1.define('ECPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('privateKey').octstr(),\n this.key('parameters').optional().explicit(0).use(ECParameters),\n this.key('publicKey').optional().explicit(1).bitstr()\n )\n})\nexports.ECPrivateKey = ECPrivateKey\n\nvar ECParameters = asn1.define('ECParameters', function () {\n this.choice({\n namedCurve: this.objid()\n })\n})\n\nexports.signature = asn1.define('signature', function () {\n this.seq().obj(\n this.key('r').int(),\n this.key('s').int()\n )\n})\n\n\n//# sourceURL=webpack:///./node_modules/parse-asn1/asn1.js?"); - -/***/ }), - -/***/ "./node_modules/parse-asn1/certificate.js": -/*!************************************************!*\ - !*** ./node_modules/parse-asn1/certificate.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js\n// thanks to @Rantanen\n\n\n\nvar asn = __webpack_require__(/*! asn1.js */ \"./node_modules/asn1.js/lib/asn1.js\")\n\nvar Time = asn.define('Time', function () {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n })\n})\n\nvar AttributeTypeValue = asn.define('AttributeTypeValue', function () {\n this.seq().obj(\n this.key('type').objid(),\n this.key('value').any()\n )\n})\n\nvar AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('parameters').optional(),\n this.key('curve').objid().optional()\n )\n})\n\nvar SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\n\nvar RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () {\n this.setof(AttributeTypeValue)\n})\n\nvar RDNSequence = asn.define('RDNSequence', function () {\n this.seqof(RelativeDistinguishedName)\n})\n\nvar Name = asn.define('Name', function () {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n })\n})\n\nvar Validity = asn.define('Validity', function () {\n this.seq().obj(\n this.key('notBefore').use(Time),\n this.key('notAfter').use(Time)\n )\n})\n\nvar Extension = asn.define('Extension', function () {\n this.seq().obj(\n this.key('extnID').objid(),\n this.key('critical').bool().def(false),\n this.key('extnValue').octstr()\n )\n})\n\nvar TBSCertificate = asn.define('TBSCertificate', function () {\n this.seq().obj(\n this.key('version').explicit(0).int().optional(),\n this.key('serialNumber').int(),\n this.key('signature').use(AlgorithmIdentifier),\n this.key('issuer').use(Name),\n this.key('validity').use(Validity),\n this.key('subject').use(Name),\n this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),\n this.key('issuerUniqueID').implicit(1).bitstr().optional(),\n this.key('subjectUniqueID').implicit(2).bitstr().optional(),\n this.key('extensions').explicit(3).seqof(Extension).optional()\n )\n})\n\nvar X509Certificate = asn.define('X509Certificate', function () {\n this.seq().obj(\n this.key('tbsCertificate').use(TBSCertificate),\n this.key('signatureAlgorithm').use(AlgorithmIdentifier),\n this.key('signatureValue').bitstr()\n )\n})\n\nmodule.exports = X509Certificate\n\n\n//# sourceURL=webpack:///./node_modules/parse-asn1/certificate.js?"); - -/***/ }), - -/***/ "./node_modules/parse-asn1/fixProc.js": -/*!********************************************!*\ - !*** ./node_modules/parse-asn1/fixProc.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// adapted from https://github.com/apatil/pemstrip\nvar findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r\\+\\/\\=]+)[\\n\\r]+/m\nvar startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m\nvar fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r\\+\\/\\=]+)-----END \\1-----$/m\nvar evp = __webpack_require__(/*! evp_bytestokey */ \"./node_modules/evp_bytestokey/index.js\")\nvar ciphers = __webpack_require__(/*! browserify-aes */ \"./node_modules/browserify-aes/browser.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nmodule.exports = function (okey, password) {\n var key = okey.toString()\n var match = key.match(findProc)\n var decrypted\n if (!match) {\n var match2 = key.match(fullRegex)\n decrypted = new Buffer(match2[2].replace(/[\\r\\n]/g, ''), 'base64')\n } else {\n var suite = 'aes' + match[1]\n var iv = Buffer.from(match[2], 'hex')\n var cipherText = Buffer.from(match[3].replace(/[\\r\\n]/g, ''), 'base64')\n var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key\n var out = []\n var cipher = ciphers.createDecipheriv(suite, cipherKey, iv)\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n decrypted = Buffer.concat(out)\n }\n var tag = key.match(startRegex)[1]\n return {\n tag: tag,\n data: decrypted\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/parse-asn1/fixProc.js?"); - -/***/ }), - -/***/ "./node_modules/parse-asn1/index.js": -/*!******************************************!*\ - !*** ./node_modules/parse-asn1/index.js ***! - \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var asn1 = __webpack_require__(/*! ./asn1 */ \"./node_modules/parse-asn1/asn1.js\")\nvar aesid = __webpack_require__(/*! ./aesid.json */ \"./node_modules/parse-asn1/aesid.json\")\nvar fixProc = __webpack_require__(/*! ./fixProc */ \"./node_modules/parse-asn1/fixProc.js\")\nvar ciphers = __webpack_require__(/*! browserify-aes */ \"./node_modules/browserify-aes/browser.js\")\nvar compat = __webpack_require__(/*! pbkdf2 */ \"./node_modules/pbkdf2/browser.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nmodule.exports = parseKeys\n\nfunction parseKeys (buffer) {\n var password\n if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) {\n password = buffer.passphrase\n buffer = buffer.key\n }\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer)\n }\n\n var stripped = fixProc(buffer, password)\n\n var type = stripped.tag\n var data = stripped.data\n var subtype, ndata\n switch (type) {\n case 'CERTIFICATE':\n ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo\n // falls through\n case 'PUBLIC KEY':\n if (!ndata) {\n ndata = asn1.PublicKey.decode(data, 'der')\n }\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der')\n case '1.2.840.10045.2.1':\n ndata.subjectPrivateKey = ndata.subjectPublicKey\n return {\n type: 'ec',\n data: ndata\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der')\n return {\n type: 'dsa',\n data: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n throw new Error('unknown key type ' + type)\n case 'ENCRYPTED PRIVATE KEY':\n data = asn1.EncryptedPrivateKey.decode(data, 'der')\n data = decrypt(data, password)\n // falls through\n case 'PRIVATE KEY':\n ndata = asn1.PrivateKey.decode(data, 'der')\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der')\n case '1.2.840.10045.2.1':\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der')\n return {\n type: 'dsa',\n params: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n throw new Error('unknown key type ' + type)\n case 'RSA PUBLIC KEY':\n return asn1.RSAPublicKey.decode(data, 'der')\n case 'RSA PRIVATE KEY':\n return asn1.RSAPrivateKey.decode(data, 'der')\n case 'DSA PRIVATE KEY':\n return {\n type: 'dsa',\n params: asn1.DSAPrivateKey.decode(data, 'der')\n }\n case 'EC PRIVATE KEY':\n data = asn1.ECPrivateKey.decode(data, 'der')\n return {\n curve: data.parameters.value,\n privateKey: data.privateKey\n }\n default: throw new Error('unknown key type ' + type)\n }\n}\nparseKeys.signature = asn1.signature\nfunction decrypt (data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt\n var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10)\n var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')]\n var iv = data.algorithm.decrypt.cipher.iv\n var cipherText = data.subjectPrivateKey\n var keylen = parseInt(algo.split('-')[1], 10) / 8\n var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1')\n var cipher = ciphers.createDecipheriv(algo, key, iv)\n var out = []\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n return Buffer.concat(out)\n}\n\n\n//# sourceURL=webpack:///./node_modules/parse-asn1/index.js?"); - -/***/ }), - -/***/ "./node_modules/pbkdf2/browser.js": -/*!****************************************!*\ - !*** ./node_modules/pbkdf2/browser.js ***! - \****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("exports.pbkdf2 = __webpack_require__(/*! ./lib/async */ \"./node_modules/pbkdf2/lib/async.js\")\nexports.pbkdf2Sync = __webpack_require__(/*! ./lib/sync */ \"./node_modules/pbkdf2/lib/sync-browser.js\")\n\n\n//# sourceURL=webpack:///./node_modules/pbkdf2/browser.js?"); - -/***/ }), - -/***/ "./node_modules/pbkdf2/lib/async.js": -/*!******************************************!*\ - !*** ./node_modules/pbkdf2/lib/async.js ***! - \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(global, process) {var checkParameters = __webpack_require__(/*! ./precondition */ \"./node_modules/pbkdf2/lib/precondition.js\")\nvar defaultEncoding = __webpack_require__(/*! ./default-encoding */ \"./node_modules/pbkdf2/lib/default-encoding.js\")\nvar sync = __webpack_require__(/*! ./sync */ \"./node_modules/pbkdf2/lib/sync-browser.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\n\nvar ZERO_BUF\nvar subtle = global.crypto && global.crypto.subtle\nvar toBrowser = {\n 'sha': 'SHA-1',\n 'sha-1': 'SHA-1',\n 'sha1': 'SHA-1',\n 'sha256': 'SHA-256',\n 'sha-256': 'SHA-256',\n 'sha384': 'SHA-384',\n 'sha-384': 'SHA-384',\n 'sha-512': 'SHA-512',\n 'sha512': 'SHA-512'\n}\nvar checks = []\nfunction checkNative (algo) {\n if (global.process && !global.process.browser) {\n return Promise.resolve(false)\n }\n if (!subtle || !subtle.importKey || !subtle.deriveBits) {\n return Promise.resolve(false)\n }\n if (checks[algo] !== undefined) {\n return checks[algo]\n }\n ZERO_BUF = ZERO_BUF || Buffer.alloc(8)\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)\n .then(function () {\n return true\n }).catch(function () {\n return false\n })\n checks[algo] = prom\n return prom\n}\n\nfunction browserPbkdf2 (password, salt, iterations, length, algo) {\n return subtle.importKey(\n 'raw', password, {name: 'PBKDF2'}, false, ['deriveBits']\n ).then(function (key) {\n return subtle.deriveBits({\n name: 'PBKDF2',\n salt: salt,\n iterations: iterations,\n hash: {\n name: algo\n }\n }, key, length << 3)\n }).then(function (res) {\n return Buffer.from(res)\n })\n}\n\nfunction resolvePromise (promise, callback) {\n promise.then(function (out) {\n process.nextTick(function () {\n callback(null, out)\n })\n }, function (e) {\n process.nextTick(function () {\n callback(e)\n })\n })\n}\nmodule.exports = function (password, salt, iterations, keylen, digest, callback) {\n if (typeof digest === 'function') {\n callback = digest\n digest = undefined\n }\n\n digest = digest || 'sha1'\n var algo = toBrowser[digest.toLowerCase()]\n\n if (!algo || typeof global.Promise !== 'function') {\n return process.nextTick(function () {\n var out\n try {\n out = sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n callback(null, out)\n })\n }\n\n checkParameters(password, salt, iterations, keylen)\n if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, defaultEncoding)\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding)\n\n resolvePromise(checkNative(algo).then(function (resp) {\n if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)\n\n return sync(password, salt, iterations, keylen, digest)\n }), callback)\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! ./../../process/browser.js */ \"./node_modules/process/browser.js\")))\n\n//# sourceURL=webpack:///./node_modules/pbkdf2/lib/async.js?"); - -/***/ }), - -/***/ "./node_modules/pbkdf2/lib/default-encoding.js": -/*!*****************************************************!*\ - !*** ./node_modules/pbkdf2/lib/default-encoding.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(process) {var defaultEncoding\n/* istanbul ignore next */\nif (process.browser) {\n defaultEncoding = 'utf-8'\n} else {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n}\nmodule.exports = defaultEncoding\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ \"./node_modules/process/browser.js\")))\n\n//# sourceURL=webpack:///./node_modules/pbkdf2/lib/default-encoding.js?"); - -/***/ }), - -/***/ "./node_modules/pbkdf2/lib/precondition.js": -/*!*************************************************!*\ - !*** ./node_modules/pbkdf2/lib/precondition.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(Buffer) {var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs\n\nfunction checkBuffer (buf, name) {\n if (typeof buf !== 'string' && !Buffer.isBuffer(buf)) {\n throw new TypeError(name + ' must be a buffer or string')\n }\n}\n\nmodule.exports = function (password, salt, iterations, keylen) {\n checkBuffer(password, 'Password')\n checkBuffer(salt, 'Salt')\n\n if (typeof iterations !== 'number') {\n throw new TypeError('Iterations not a number')\n }\n\n if (iterations < 0) {\n throw new TypeError('Bad iterations')\n }\n\n if (typeof keylen !== 'number') {\n throw new TypeError('Key length not a number')\n }\n\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */\n throw new TypeError('Bad key length')\n }\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack:///./node_modules/pbkdf2/lib/precondition.js?"); - -/***/ }), - -/***/ "./node_modules/pbkdf2/lib/sync-browser.js": -/*!*************************************************!*\ - !*** ./node_modules/pbkdf2/lib/sync-browser.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var md5 = __webpack_require__(/*! create-hash/md5 */ \"./node_modules/create-hash/md5.js\")\nvar RIPEMD160 = __webpack_require__(/*! ripemd160 */ \"./node_modules/ripemd160/index.js\")\nvar sha = __webpack_require__(/*! sha.js */ \"./node_modules/sha.js/index.js\")\n\nvar checkParameters = __webpack_require__(/*! ./precondition */ \"./node_modules/pbkdf2/lib/precondition.js\")\nvar defaultEncoding = __webpack_require__(/*! ./default-encoding */ \"./node_modules/pbkdf2/lib/default-encoding.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nvar ZEROS = Buffer.alloc(128)\nvar sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nfunction Hmac (alg, key, saltLen) {\n var hash = getDigest(alg)\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n if (key.length > blocksize) {\n key = hash(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])\n var opad = Buffer.allocUnsafe(blocksize + sizes[alg])\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)\n ipad.copy(ipad1, 0, 0, blocksize)\n this.ipad1 = ipad1\n this.ipad2 = ipad\n this.opad = opad\n this.alg = alg\n this.blocksize = blocksize\n this.hash = hash\n this.size = sizes[alg]\n}\n\nHmac.prototype.run = function (data, ipad) {\n data.copy(ipad, this.blocksize)\n var h = this.hash(ipad)\n h.copy(this.opad, this.blocksize)\n return this.hash(this.opad)\n}\n\nfunction getDigest (alg) {\n function shaFunc (data) {\n return sha(alg).update(data).digest()\n }\n function rmd160Func (data) {\n return new RIPEMD160().update(data).digest()\n }\n\n if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func\n if (alg === 'md5') return md5\n return shaFunc\n}\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(password, salt, iterations, keylen)\n\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, defaultEncoding)\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding)\n\n digest = digest || 'sha1'\n\n var hmac = new Hmac(digest, password, salt.length)\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = hmac.run(block1, hmac.ipad1)\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2)\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n\n\n//# sourceURL=webpack:///./node_modules/pbkdf2/lib/sync-browser.js?"); - -/***/ }), - -/***/ "./node_modules/process-nextick-args/index.js": -/*!****************************************************!*\ - !*** ./node_modules/process-nextick-args/index.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/* WEBPACK VAR INJECTION */(function(process) {\n\nif (!process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../process/browser.js */ \"./node_modules/process/browser.js\")))\n\n//# sourceURL=webpack:///./node_modules/process-nextick-args/index.js?"); - -/***/ }), - -/***/ "./node_modules/process/browser.js": -/*!*****************************************!*\ - !*** ./node_modules/process/browser.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n//# sourceURL=webpack:///./node_modules/process/browser.js?"); - -/***/ }), - -/***/ "./node_modules/public-encrypt/browser.js": -/*!************************************************!*\ - !*** ./node_modules/public-encrypt/browser.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("exports.publicEncrypt = __webpack_require__(/*! ./publicEncrypt */ \"./node_modules/public-encrypt/publicEncrypt.js\")\nexports.privateDecrypt = __webpack_require__(/*! ./privateDecrypt */ \"./node_modules/public-encrypt/privateDecrypt.js\")\n\nexports.privateEncrypt = function privateEncrypt (key, buf) {\n return exports.publicEncrypt(key, buf, true)\n}\n\nexports.publicDecrypt = function publicDecrypt (key, buf) {\n return exports.privateDecrypt(key, buf, true)\n}\n\n\n//# sourceURL=webpack:///./node_modules/public-encrypt/browser.js?"); - -/***/ }), - -/***/ "./node_modules/public-encrypt/mgf.js": -/*!********************************************!*\ - !*** ./node_modules/public-encrypt/mgf.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var createHash = __webpack_require__(/*! create-hash */ \"./node_modules/create-hash/browser.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\n\nmodule.exports = function (seed, len) {\n var t = Buffer.alloc(0)\n var i = 0\n var c\n while (t.length < len) {\n c = i2ops(i++)\n t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()])\n }\n return t.slice(0, len)\n}\n\nfunction i2ops (c) {\n var out = Buffer.allocUnsafe(4)\n out.writeUInt32BE(c, 0)\n return out\n}\n\n\n//# sourceURL=webpack:///./node_modules/public-encrypt/mgf.js?"); - -/***/ }), - -/***/ "./node_modules/public-encrypt/privateDecrypt.js": -/*!*******************************************************!*\ - !*** ./node_modules/public-encrypt/privateDecrypt.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var parseKeys = __webpack_require__(/*! parse-asn1 */ \"./node_modules/parse-asn1/index.js\")\nvar mgf = __webpack_require__(/*! ./mgf */ \"./node_modules/public-encrypt/mgf.js\")\nvar xor = __webpack_require__(/*! ./xor */ \"./node_modules/public-encrypt/xor.js\")\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\")\nvar crt = __webpack_require__(/*! browserify-rsa */ \"./node_modules/browserify-rsa/index.js\")\nvar createHash = __webpack_require__(/*! create-hash */ \"./node_modules/create-hash/browser.js\")\nvar withPublic = __webpack_require__(/*! ./withPublic */ \"./node_modules/public-encrypt/withPublic.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\n\nmodule.exports = function privateDecrypt (privateKey, enc, reverse) {\n var padding\n if (privateKey.padding) {\n padding = privateKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n\n var key = parseKeys(privateKey)\n var k = key.modulus.byteLength()\n if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) {\n throw new Error('decryption error')\n }\n var msg\n if (reverse) {\n msg = withPublic(new BN(enc), key)\n } else {\n msg = crt(enc, key)\n }\n var zBuffer = Buffer.alloc(k - msg.length)\n msg = Buffer.concat([zBuffer, msg], k)\n if (padding === 4) {\n return oaep(key, msg)\n } else if (padding === 1) {\n return pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n return msg\n } else {\n throw new Error('unknown padding')\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n if (msg[0] !== 0) {\n throw new Error('decryption error')\n }\n var maskedSeed = msg.slice(1, hLen + 1)\n var maskedDb = msg.slice(hLen + 1)\n var seed = xor(maskedSeed, mgf(maskedDb, hLen))\n var db = xor(maskedDb, mgf(seed, k - hLen - 1))\n if (compare(iHash, db.slice(0, hLen))) {\n throw new Error('decryption error')\n }\n var i = hLen\n while (db[i] === 0) {\n i++\n }\n if (db[i++] !== 1) {\n throw new Error('decryption error')\n }\n return db.slice(i)\n}\n\nfunction pkcs1 (key, msg, reverse) {\n var p1 = msg.slice(0, 2)\n var i = 2\n var status = 0\n while (msg[i++] !== 0) {\n if (i >= msg.length) {\n status++\n break\n }\n }\n var ps = msg.slice(2, i - 1)\n\n if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) {\n status++\n }\n if (ps.length < 8) {\n status++\n }\n if (status) {\n throw new Error('decryption error')\n }\n return msg.slice(i)\n}\nfunction compare (a, b) {\n a = Buffer.from(a)\n b = Buffer.from(b)\n var dif = 0\n var len = a.length\n if (a.length !== b.length) {\n dif++\n len = Math.min(a.length, b.length)\n }\n var i = -1\n while (++i < len) {\n dif += (a[i] ^ b[i])\n }\n return dif\n}\n\n\n//# sourceURL=webpack:///./node_modules/public-encrypt/privateDecrypt.js?"); - -/***/ }), - -/***/ "./node_modules/public-encrypt/publicEncrypt.js": -/*!******************************************************!*\ - !*** ./node_modules/public-encrypt/publicEncrypt.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var parseKeys = __webpack_require__(/*! parse-asn1 */ \"./node_modules/parse-asn1/index.js\")\nvar randomBytes = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\")\nvar createHash = __webpack_require__(/*! create-hash */ \"./node_modules/create-hash/browser.js\")\nvar mgf = __webpack_require__(/*! ./mgf */ \"./node_modules/public-encrypt/mgf.js\")\nvar xor = __webpack_require__(/*! ./xor */ \"./node_modules/public-encrypt/xor.js\")\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\")\nvar withPublic = __webpack_require__(/*! ./withPublic */ \"./node_modules/public-encrypt/withPublic.js\")\nvar crt = __webpack_require__(/*! browserify-rsa */ \"./node_modules/browserify-rsa/index.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\n\nmodule.exports = function publicEncrypt (publicKey, msg, reverse) {\n var padding\n if (publicKey.padding) {\n padding = publicKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n var key = parseKeys(publicKey)\n var paddedMsg\n if (padding === 4) {\n paddedMsg = oaep(key, msg)\n } else if (padding === 1) {\n paddedMsg = pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n paddedMsg = new BN(msg)\n if (paddedMsg.cmp(key.modulus) >= 0) {\n throw new Error('data too long for modulus')\n }\n } else {\n throw new Error('unknown padding')\n }\n if (reverse) {\n return crt(paddedMsg, key)\n } else {\n return withPublic(paddedMsg, key)\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var mLen = msg.length\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n var hLen2 = 2 * hLen\n if (mLen > k - hLen2 - 2) {\n throw new Error('message too long')\n }\n var ps = Buffer.alloc(k - mLen - hLen2 - 2)\n var dblen = k - hLen - 1\n var seed = randomBytes(hLen)\n var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen))\n var maskedSeed = xor(seed, mgf(maskedDb, hLen))\n return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k))\n}\nfunction pkcs1 (key, msg, reverse) {\n var mLen = msg.length\n var k = key.modulus.byteLength()\n if (mLen > k - 11) {\n throw new Error('message too long')\n }\n var ps\n if (reverse) {\n ps = Buffer.alloc(k - mLen - 3, 0xff)\n } else {\n ps = nonZero(k - mLen - 3)\n }\n return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k))\n}\nfunction nonZero (len) {\n var out = Buffer.allocUnsafe(len)\n var i = 0\n var cache = randomBytes(len * 2)\n var cur = 0\n var num\n while (i < len) {\n if (cur === cache.length) {\n cache = randomBytes(len * 2)\n cur = 0\n }\n num = cache[cur++]\n if (num) {\n out[i++] = num\n }\n }\n return out\n}\n\n\n//# sourceURL=webpack:///./node_modules/public-encrypt/publicEncrypt.js?"); - -/***/ }), - -/***/ "./node_modules/public-encrypt/withPublic.js": -/*!***************************************************!*\ - !*** ./node_modules/public-encrypt/withPublic.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var BN = __webpack_require__(/*! bn.js */ \"./node_modules/bn.js/lib/bn.js\")\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\n\nfunction withPublic (paddedMsg, key) {\n return Buffer.from(paddedMsg\n .toRed(BN.mont(key.modulus))\n .redPow(new BN(key.publicExponent))\n .fromRed()\n .toArray())\n}\n\nmodule.exports = withPublic\n\n\n//# sourceURL=webpack:///./node_modules/public-encrypt/withPublic.js?"); - -/***/ }), - -/***/ "./node_modules/public-encrypt/xor.js": -/*!********************************************!*\ - !*** ./node_modules/public-encrypt/xor.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = function xor (a, b) {\n var len = a.length\n var i = -1\n while (++i < len) {\n a[i] ^= b[i]\n }\n return a\n}\n\n\n//# sourceURL=webpack:///./node_modules/public-encrypt/xor.js?"); - -/***/ }), - -/***/ "./node_modules/randombytes/browser.js": -/*!*********************************************!*\ - !*** ./node_modules/randombytes/browser.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global, process) {\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! ./../process/browser.js */ \"./node_modules/process/browser.js\")))\n\n//# sourceURL=webpack:///./node_modules/randombytes/browser.js?"); - -/***/ }), - -/***/ "./node_modules/randomfill/browser.js": -/*!********************************************!*\ - !*** ./node_modules/randomfill/browser.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global, process) {\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\nvar safeBuffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\")\nvar randombytes = __webpack_require__(/*! randombytes */ \"./node_modules/randombytes/browser.js\")\nvar Buffer = safeBuffer.Buffer\nvar kBufferMaxLength = safeBuffer.kMaxLength\nvar crypto = global.crypto || global.msCrypto\nvar kMaxUint32 = Math.pow(2, 32) - 1\nfunction assertOffset (offset, length) {\n if (typeof offset !== 'number' || offset !== offset) { // eslint-disable-line no-self-compare\n throw new TypeError('offset must be a number')\n }\n\n if (offset > kMaxUint32 || offset < 0) {\n throw new TypeError('offset must be a uint32')\n }\n\n if (offset > kBufferMaxLength || offset > length) {\n throw new RangeError('offset out of range')\n }\n}\n\nfunction assertSize (size, offset, length) {\n if (typeof size !== 'number' || size !== size) { // eslint-disable-line no-self-compare\n throw new TypeError('size must be a number')\n }\n\n if (size > kMaxUint32 || size < 0) {\n throw new TypeError('size must be a uint32')\n }\n\n if (size + offset > length || size > kBufferMaxLength) {\n throw new RangeError('buffer too small')\n }\n}\nif ((crypto && crypto.getRandomValues) || !process.browser) {\n exports.randomFill = randomFill\n exports.randomFillSync = randomFillSync\n} else {\n exports.randomFill = oldBrowser\n exports.randomFillSync = oldBrowser\n}\nfunction randomFill (buf, offset, size, cb) {\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n if (typeof offset === 'function') {\n cb = offset\n offset = 0\n size = buf.length\n } else if (typeof size === 'function') {\n cb = size\n size = buf.length - offset\n } else if (typeof cb !== 'function') {\n throw new TypeError('\"cb\" argument must be a function')\n }\n assertOffset(offset, buf.length)\n assertSize(size, offset, buf.length)\n return actualFill(buf, offset, size, cb)\n}\n\nfunction actualFill (buf, offset, size, cb) {\n if (process.browser) {\n var ourBuf = buf.buffer\n var uint = new Uint8Array(ourBuf, offset, size)\n crypto.getRandomValues(uint)\n if (cb) {\n process.nextTick(function () {\n cb(null, buf)\n })\n return\n }\n return buf\n }\n if (cb) {\n randombytes(size, function (err, bytes) {\n if (err) {\n return cb(err)\n }\n bytes.copy(buf, offset)\n cb(null, buf)\n })\n return\n }\n var bytes = randombytes(size)\n bytes.copy(buf, offset)\n return buf\n}\nfunction randomFillSync (buf, offset, size) {\n if (typeof offset === 'undefined') {\n offset = 0\n }\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n assertOffset(offset, buf.length)\n\n if (size === undefined) size = buf.length - offset\n\n assertSize(size, offset, buf.length)\n\n return actualFill(buf, offset, size)\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! ./../process/browser.js */ \"./node_modules/process/browser.js\")))\n\n//# sourceURL=webpack:///./node_modules/randomfill/browser.js?"); - -/***/ }), - -/***/ "./node_modules/readable-stream/duplex-browser.js": -/*!********************************************************!*\ - !*** ./node_modules/readable-stream/duplex-browser.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("module.exports = __webpack_require__(/*! ./lib/_stream_duplex.js */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\n\n\n//# sourceURL=webpack:///./node_modules/readable-stream/duplex-browser.js?"); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_duplex.js": -/*!************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_duplex.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n\n\n/**/\n\nvar pna = __webpack_require__(/*! process-nextick-args */ \"./node_modules/process-nextick-args/index.js\");\n/**/\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/**/\n\nmodule.exports = Duplex;\n\n/**/\nvar util = __webpack_require__(/*! core-util-is */ \"./node_modules/core-util-is/lib/util.js\");\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/**/\n\nvar Readable = __webpack_require__(/*! ./_stream_readable */ \"./node_modules/readable-stream/lib/_stream_readable.js\");\nvar Writable = __webpack_require__(/*! ./_stream_writable */ \"./node_modules/readable-stream/lib/_stream_writable.js\");\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};\n\n//# sourceURL=webpack:///./node_modules/readable-stream/lib/_stream_duplex.js?"); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_passthrough.js": -/*!*****************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_passthrough.js ***! - \*****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n\n\nmodule.exports = PassThrough;\n\nvar Transform = __webpack_require__(/*! ./_stream_transform */ \"./node_modules/readable-stream/lib/_stream_transform.js\");\n\n/**/\nvar util = __webpack_require__(/*! core-util-is */ \"./node_modules/core-util-is/lib/util.js\");\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/**/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};\n\n//# sourceURL=webpack:///./node_modules/readable-stream/lib/_stream_passthrough.js?"); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_readable.js": -/*!**************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_readable.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n/**/\n\nvar pna = __webpack_require__(/*! process-nextick-args */ \"./node_modules/process-nextick-args/index.js\");\n/**/\n\nmodule.exports = Readable;\n\n/**/\nvar isArray = __webpack_require__(/*! isarray */ \"./node_modules/isarray/index.js\");\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = __webpack_require__(/*! events */ \"./node_modules/events/events.js\").EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/readable-stream/lib/internal/streams/stream-browser.js\");\n/**/\n\n/**/\n\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\n/**/\nvar util = __webpack_require__(/*! core-util-is */ \"./node_modules/core-util-is/lib/util.js\");\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/**/\n\n/**/\nvar debugUtil = __webpack_require__(/*! util */ 1);\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = __webpack_require__(/*! ./internal/streams/BufferList */ \"./node_modules/readable-stream/lib/internal/streams/BufferList.js\");\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/readable-stream/lib/internal/streams/destroy.js\");\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ \"./node_modules/string_decoder/lib/string_decoder.js\").StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ \"./node_modules/string_decoder/lib/string_decoder.js\").StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! ./../../process/browser.js */ \"./node_modules/process/browser.js\")))\n\n//# sourceURL=webpack:///./node_modules/readable-stream/lib/_stream_readable.js?"); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_transform.js": -/*!***************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_transform.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n\n\nmodule.exports = Transform;\n\nvar Duplex = __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\n\n/**/\nvar util = __webpack_require__(/*! core-util-is */ \"./node_modules/core-util-is/lib/util.js\");\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/**/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}\n\n//# sourceURL=webpack:///./node_modules/readable-stream/lib/_stream_transform.js?"); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/_stream_writable.js": -/*!**************************************************************!*\ - !*** ./node_modules/readable-stream/lib/_stream_writable.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/* WEBPACK VAR INJECTION */(function(process, setImmediate, global) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n\n\n/**/\n\nvar pna = __webpack_require__(/*! process-nextick-args */ \"./node_modules/process-nextick-args/index.js\");\n/**/\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar util = __webpack_require__(/*! core-util-is */ \"./node_modules/core-util-is/lib/util.js\");\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\");\n/**/\n\n/**/\nvar internalUtil = {\n deprecate: __webpack_require__(/*! util-deprecate */ \"./node_modules/util-deprecate/browser.js\")\n};\n/**/\n\n/**/\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/readable-stream/lib/internal/streams/stream-browser.js\");\n/**/\n\n/**/\n\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/readable-stream/lib/internal/streams/destroy.js\");\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /**/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /**/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ \"./node_modules/process/browser.js\"), __webpack_require__(/*! ./../../timers-browserify/main.js */ \"./node_modules/timers-browserify/main.js\").setImmediate, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/readable-stream/lib/_stream_writable.js?"); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/BufferList.js": -/*!*************************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/BufferList.js ***! - \*************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/safe-buffer/index.js\").Buffer;\nvar util = __webpack_require__(/*! util */ 2);\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}\n\n//# sourceURL=webpack:///./node_modules/readable-stream/lib/internal/streams/BufferList.js?"); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/destroy.js": -/*!**********************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/destroy.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\n/**/\n\nvar pna = __webpack_require__(/*! process-nextick-args */ \"./node_modules/process-nextick-args/index.js\");\n/**/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};\n\n//# sourceURL=webpack:///./node_modules/readable-stream/lib/internal/streams/destroy.js?"); - -/***/ }), - -/***/ "./node_modules/readable-stream/lib/internal/streams/stream-browser.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/readable-stream/lib/internal/streams/stream-browser.js ***! - \*****************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("module.exports = __webpack_require__(/*! events */ \"./node_modules/events/events.js\").EventEmitter;\n\n\n//# sourceURL=webpack:///./node_modules/readable-stream/lib/internal/streams/stream-browser.js?"); - -/***/ }), - -/***/ "./node_modules/readable-stream/passthrough.js": -/*!*****************************************************!*\ - !*** ./node_modules/readable-stream/passthrough.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("module.exports = __webpack_require__(/*! ./readable */ \"./node_modules/readable-stream/readable-browser.js\").PassThrough\n\n\n//# sourceURL=webpack:///./node_modules/readable-stream/passthrough.js?"); - -/***/ }), - -/***/ "./node_modules/readable-stream/readable-browser.js": -/*!**********************************************************!*\ - !*** ./node_modules/readable-stream/readable-browser.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("exports = module.exports = __webpack_require__(/*! ./lib/_stream_readable.js */ \"./node_modules/readable-stream/lib/_stream_readable.js\");\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = __webpack_require__(/*! ./lib/_stream_writable.js */ \"./node_modules/readable-stream/lib/_stream_writable.js\");\nexports.Duplex = __webpack_require__(/*! ./lib/_stream_duplex.js */ \"./node_modules/readable-stream/lib/_stream_duplex.js\");\nexports.Transform = __webpack_require__(/*! ./lib/_stream_transform.js */ \"./node_modules/readable-stream/lib/_stream_transform.js\");\nexports.PassThrough = __webpack_require__(/*! ./lib/_stream_passthrough.js */ \"./node_modules/readable-stream/lib/_stream_passthrough.js\");\n\n\n//# sourceURL=webpack:///./node_modules/readable-stream/readable-browser.js?"); - -/***/ }), - -/***/ "./node_modules/readable-stream/transform.js": -/*!***************************************************!*\ - !*** ./node_modules/readable-stream/transform.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("module.exports = __webpack_require__(/*! ./readable */ \"./node_modules/readable-stream/readable-browser.js\").Transform\n\n\n//# sourceURL=webpack:///./node_modules/readable-stream/transform.js?"); - -/***/ }), - -/***/ "./node_modules/readable-stream/writable-browser.js": -/*!**********************************************************!*\ - !*** ./node_modules/readable-stream/writable-browser.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("module.exports = __webpack_require__(/*! ./lib/_stream_writable.js */ \"./node_modules/readable-stream/lib/_stream_writable.js\");\n\n\n//# sourceURL=webpack:///./node_modules/readable-stream/writable-browser.js?"); - -/***/ }), - -/***/ "./node_modules/regenerator-runtime/runtime.js": -/*!*****************************************************!*\ - !*** ./node_modules/regenerator-runtime/runtime.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n true ? module.exports : undefined\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n\n\n//# sourceURL=webpack:///./node_modules/regenerator-runtime/runtime.js?"); - -/***/ }), - -/***/ "./node_modules/ripemd160/index.js": -/*!*****************************************!*\ - !*** ./node_modules/ripemd160/index.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar Buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\").Buffer\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/inherits/inherits_browser.js\")\nvar HashBase = __webpack_require__(/*! hash-base */ \"./node_modules/hash-base/index.js\")\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n\n\n//# sourceURL=webpack:///./node_modules/ripemd160/index.js?"); - -/***/ }), - -/***/ "./node_modules/safe-buffer/index.js": -/*!*******************************************!*\ - !*** ./node_modules/safe-buffer/index.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* eslint-disable node/no-deprecated-api */\nvar buffer = __webpack_require__(/*! buffer */ \"./node_modules/buffer/index.js\")\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n\n\n//# sourceURL=webpack:///./node_modules/safe-buffer/index.js?"); - -/***/ }), - -/***/ "./node_modules/setimmediate/setImmediate.js": -/*!***************************************************!*\ - !*** ./node_modules/setimmediate/setImmediate.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var setImmediate;\n\n function addFromSetImmediateArguments(args) {\n tasksByHandle[nextHandle] = partiallyApplied.apply(undefined, args);\n return nextHandle++;\n }\n\n // This function accepts the same arguments as setImmediate, but\n // returns a function that requires no arguments.\n function partiallyApplied(handler) {\n var args = [].slice.call(arguments, 1);\n return function() {\n if (typeof handler === \"function\") {\n handler.apply(undefined, args);\n } else {\n (new Function(\"\" + handler))();\n }\n };\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(partiallyApplied(runIfPresent, handle), 0);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n task();\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function installNextTickImplementation() {\n setImmediate = function() {\n var handle = addFromSetImmediateArguments(arguments);\n process.nextTick(partiallyApplied(runIfPresent, handle));\n return handle;\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n setImmediate = function() {\n var handle = addFromSetImmediateArguments(arguments);\n global.postMessage(messagePrefix + handle, \"*\");\n return handle;\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n setImmediate = function() {\n var handle = addFromSetImmediateArguments(arguments);\n channel.port2.postMessage(handle);\n return handle;\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n setImmediate = function() {\n var handle = addFromSetImmediateArguments(arguments);\n // Create a - diff --git a/src/account.js b/src/account.js deleted file mode 100644 index 3718bd7..0000000 --- a/src/account.js +++ /dev/null @@ -1,179 +0,0 @@ -import { expose } from 'postmsg-rpc' -import nacl from 'tweetnacl' -import naclutil from 'tweetnacl-util' -import { HDNode } from 'ethers/utils' -nacl.util = naclutil -import crypto from 'crypto' -import store from 'store' - -const AUTH_SERVICE_URL = 'http://localhost:3003' -const BASE_PATH = "m/51073068'/0'" - -const sha256 = msg => crypto.createHash('sha256').update(msg).digest('hex') - -class Account { - constructor (actions, opts = {}) { - this.actions = actions - this.persist = !opts.noPersist - this.allowedOrigins = {} - if (this.persist) { - this._rootSeed = store.get('rootSeed') - this.allowedOrigins = store.get('allowedOrigins') - } - this.exposeRpc() - } - - exposeRpc () { - expose('auth', this.authenticateApp.bind(this), { - postMessage: window.parent.postMessage.bind(window.parent), - getMessageData: e => { - if (e.data.sender === 'postmsg-rpc/client') { - e.data.args.unshift(e.origin) - } - return e.data - } - }) - } - - async authenticateApp (origin, spaces) { - if (!this.rootSeed) { - let err - do { - const authInput = await this.actions.getAuthInput() - if (authInput.type === 'create') { - err = await this.create(authInput.email, authInput.pass) - } else if (authInput.type === 'auth') { - err = await this.auth(authInput.email, authInput.pass) - } else if (authInput.type === 'cancel') { - throw new Error('Canceled') - } - if (err) { - this.actions.displayError(err) - } - } while (err) - } - if (!this.isOriginAllowed(origin, spaces)) { - await this.actions.getOriginConsent(origin, spaces) - // the above throws if consent not given - this.allowOrigin(origin, spaces) - } - const keys = this.deriveKeys(spaces) - return keys - } - - deriveKeys (spaces) { - const baseNode = HDNode.fromSeed(this.rootSeed).derivePath(BASE_PATH) - // for the main seed we just use the 0 path - const mainNode = baseNode.derivePath("0'/0'/0'/0'/0'/0'/0'/0'") - const spaceKeys = spaces.reduce((acc, space) => { - const spaceHash = sha256(`${space}.3box`) - // convert hash to path - const spacePath = spaceHash.match(/.{1,12}/g) // chunk hex string - .map(n => parseInt(n, 16).toString(2)) // convert to binary - .map(n => (n.length === 47 ? '0' : '') + n) // make sure that binary strings have the right length - .join('').match(/.{1,31}/g) // chunk binary string for path encoding - .map(n => parseInt(n, 2)).join("'/") + "'" // convert to uints and create path - acc[space] = baseNode.derivePath(spacePath).extendedKey - return acc - }, {}) - return { - main: mainNode.extendedKey, - spaces: spaceKeys - } - } - - get rootSeed () { - return this._rootSeed - } - - set rootSeed (rootSeed) { - this._rootSeed = `0x${rootSeed}` - if (this.persist) { - store.set('rootSeed', rootSeed) - } - } - - allowOrigin (origin, spaces) { - if (!this.allowedOrigins[origin]) { - this.allowedOrigins[origin] = { - main: true, - spaces: [] - } - } - this.allowedOrigins[origin].spaces = [...new Set([ - ...this.allowedOrigins[origin].spaces, - ...spaces - ])] - if (this.persist) { - store.set('allowedOrigins', this.allowedOrigins) - } - } - - isOriginAllowed (origin, spaces) { - if (!this.allowedOrigins[origin]) return false - const spacesAllowed = spaces.every(space => this.allowedOrigins[origin].spaces.includes(space)) - return this.allowedOrigins[origin].main && spacesAllowed - } - - async create (email, password) { - const auth = email + password - const authProof = sha256(auth) - const e1Salt = Buffer.from(nacl.randomBytes(32)).toString('hex') - const e1 = crypto.pbkdf2Sync(auth, e1Salt, 20000, 32, 'sha256') - const seed = nacl.randomBytes(32) - const e0 = nacl.randomBytes(32) - const nonceSeed = nacl.randomBytes(24) - const encSeed = nacl.secretbox(seed, nonceSeed, e0) - const nonceE0 = nacl.randomBytes(24) - const encE0 = nacl.secretbox(e0, nonceE0, e1) - - const body = { - "auth-proof": authProof, - "key-salt": e1Salt, - "enc-seed": { - ciphertext: nacl.util.encodeBase64(encSeed), - nonce: nacl.util.encodeBase64(nonceSeed) - }, - "enc-secret": { - ciphertext: nacl.util.encodeBase64(encE0), - nonce: nacl.util.encodeBase64(nonceE0) - } - } - const opts = { - body: JSON.stringify(body), - method: 'POST', - headers: { 'Content-Type': 'application/json' } - } - const res = await fetch(AUTH_SERVICE_URL + '/create', opts) - console.log('res', res) - if (!res.ok) { - return (await res.json()).message - } - this.rootSeed = Buffer.from(seed).toString('hex') - } - - async auth (email, password) { - const auth = email + password - const authProof = sha256(auth) - - const res = await fetch(`${AUTH_SERVICE_URL}/authenticate?auth-proof=${authProof}`) - if (!res.ok) { - return (await res.json()).message - } - const { data } = await res.json() - const e1 = crypto.pbkdf2Sync(auth, data['key-salt'], 20000, 32, 'sha256') - const e0 = nacl.secretbox.open( - nacl.util.decodeBase64(data['enc-secret'].ciphertext), - nacl.util.decodeBase64(data['enc-secret'].nonce), - e1 - ) - const seed = nacl.secretbox.open( - nacl.util.decodeBase64(data['enc-seed'].ciphertext), - nacl.util.decodeBase64(data['enc-seed'].nonce), - e0 - ) - this.rootSeed = Buffer.from(seed).toString('hex') - } -} - -export default Account diff --git a/src/displayHandler.js b/src/displayHandler.js new file mode 100644 index 0000000..bbeadfe --- /dev/null +++ b/src/displayHandler.js @@ -0,0 +1,23 @@ +import { expose } from 'postmsg-rpc' + +class DisplayHandler { + constructor (postMessage, displayFunc, hideFunc) { + // this.postMessage = postMessage + // this.is3idProvider = true + this.displayFunc = displayFunc + this.hideFunc = hideFunc + + expose('display', displayFunc, {postMessage}) + expose('hide', hideFunc, {postMessage}) + } + + display() { + this.displayFunc() + } + + hide() { + this.hideFunc() + } +} + +export default DisplayHandler diff --git a/src/idwProxy.js b/src/idwProxy.js new file mode 100644 index 0000000..eebe24f --- /dev/null +++ b/src/idwProxy.js @@ -0,0 +1,24 @@ +import { caller } from 'postmsg-rpc' + + +class ThreeIdProviderProxy { + constructor (postMessage) { + this.postMessage = postMessage + this.is3idProvider = true + } + + async send (req, origin, callback) { + if (typeof origin === 'function') { + callback = origin + origin = null + } + const send = caller('send', {postMessage: this.postMessage}) + const res = await send(req) + console.log(res) + // TODO + callback(undefined, JSON.parse(res)) + return JSON.parse(res) + } +} + +export default ThreeIdProviderProxy diff --git a/src/index.js b/src/index.js index 192d081..c8604c0 100644 --- a/src/index.js +++ b/src/index.js @@ -1,82 +1,40 @@ -import Account from './account' +import { expose, caller } from 'postmsg-rpc' +const IdentityWallet = require('identity-wallet') +const seed = '0x8C8F7aa1512db8b5150f36db0e1409749E234a2c' -const getOriginConsent = (origin, spaces) => { - viewConsent.style.display = 'block' - consentText.innerHTML = `Allow ${origin} to access your 3Box account` - if (spaces.length) { - consentText.innerHTML += '
And spaces:' - spaces.map(space => { - consentText.innerHTML += `
${space}` - }) - } - return new Promise((resolve, reject) => { - acceptConsent.addEventListener('click', () => { - viewConsent.style.display = 'none' - resolve() - }) - rejectConsent.addEventListener('click', () => { - viewConsent.style.display = 'none' - reject('Access denied') - }) - }) -} +window.ethereum.enable().then(addresses => { + console.log(addresses) +}) -const getAuthInput = () => { - viewMain.style.display = 'block' +// hook into consent ui +const getConsent = async (req) => { + console.log('get consent!') + const display = caller('display', {postMessage: window.parent.postMessage.bind(window.parent)}) + await display() + console.log('consentreq') + console.log(req) + reqPayload.innerHTML = JSON.stringify(req) + // return false - return new Promise((resolve, reject) => { - const createAccount = async () => { - viewMain.style.display = 'none' - dispError.style.display = 'none' - viewCreate.style.display = 'block' + const result = await new Promise((resolve, reject) => { + accept.addEventListener('click', () => { resolve(true) }) + decline.addEventListener('click', () => { resolve(false )}) + }) - create2.addEventListener('click', async () => { - // TODO - validate input - // TODO - check if pw1 = pw2 - const email = emailAddrCreate.value - const pass = pw1Create.value - viewCreate.style.display = 'none' - resolve({ - type: 'create', - email, - pass - }) - }) - } - const authenticateAccount = () => { - viewMain.style.display = 'none' - dispError.style.display = 'none' - viewAuth.style.display = 'block' + const hide = caller('hide', {postMessage: window.parent.postMessage.bind(window.parent)}) + await hide() - auth2.addEventListener('click', async () => { - // TODO - validate input - const email = emailAddrAuth.value - const pass = pw1Auth.value - viewAuth.style.display = 'none' - resolve({ - type: 'auth', - email, - pass - }) - }) - } - auth.addEventListener('click', authenticateAccount) - create.addEventListener('click', createAccount) - cancel.addEventListener('click', () => { - resolve({ type: 'cancel' }) - }) - }) + return result } -const displayError = message => { - dispError.style.display = 'block' - dispError.innerHTML = message -} +const idWallet = new IdentityWallet(getConsent, { seed }) +const provider = idWallet.get3idProvider() -const opts = { noPersist: true } -const actions = { - getAuthInput, - getOriginConsent, - displayError +const connectService = { + providerRelay: async (message) => { + const res = await provider.send(message, 'localhost') + return JSON.stringify(res) + } } -const account = new Account(actions, opts) + +expose('send', connectService.providerRelay, {postMessage: window.parent.postMessage.bind(window.parent)}) From 09cfa4a4e4d3b7d4a99df2c8999fa25491d02c1b Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Sat, 7 Mar 2020 13:48:54 -0500 Subject: [PATCH 02/19] feat: move all iframe logic here in one export --- src/displayHandler.js | 23 --------- src/identityWalletIframe.js | 43 ++++++++++++++++ src/index.js | 54 ++++++++++++++++---- src/{idwProxy.js => threeIdProviderProxy.js} | 6 ++- 4 files changed, 91 insertions(+), 35 deletions(-) delete mode 100644 src/displayHandler.js create mode 100644 src/identityWalletIframe.js rename src/{idwProxy.js => threeIdProviderProxy.js} (78%) diff --git a/src/displayHandler.js b/src/displayHandler.js deleted file mode 100644 index bbeadfe..0000000 --- a/src/displayHandler.js +++ /dev/null @@ -1,23 +0,0 @@ -import { expose } from 'postmsg-rpc' - -class DisplayHandler { - constructor (postMessage, displayFunc, hideFunc) { - // this.postMessage = postMessage - // this.is3idProvider = true - this.displayFunc = displayFunc - this.hideFunc = hideFunc - - expose('display', displayFunc, {postMessage}) - expose('hide', hideFunc, {postMessage}) - } - - display() { - this.displayFunc() - } - - hide() { - this.hideFunc() - } -} - -export default DisplayHandler diff --git a/src/identityWalletIframe.js b/src/identityWalletIframe.js new file mode 100644 index 0000000..8885b90 --- /dev/null +++ b/src/identityWalletIframe.js @@ -0,0 +1,43 @@ +const ThreeIdProviderProxy = require('./threeIdProviderProxy.js').default +import { expose } from 'postmsg-rpc' + +const IDENTITY_WALLET_IFRAME_URL = 'http://127.0.0.1:30001/' +// TODO move all css in seperate templating +const HIDE_IFRAME_STYLE = 'width:0; height:0; border:0; border:none !important' +const DISPLAY_IFRAME_STYLE = 'position: fixed; margin-top: 10%; margin-left: 20%; z-index: 999999; width: 40%; height: 30%; top: 0; left: 0;' + +const hide = (iframe) => () => iframe.style = HIDE_IFRAME_STYLE +const display = (iframe) => () => iframe.style = DISPLAY_IFRAME_STYLE + +// Iframe logic may move if same used as data layer +class IdentityWalletIframe { + constructor (iframeUrl) { + if (typeof window === 'undefined' || typeof document === 'undefined') { + throw new Error('IdentityWalletIframe not supported in this enviroment') + } + + this.iframe = document.createElement('iframe') + this.iframe.src = iframeUrl || IFRAME_STORE_URL + this.iframe.style = HIDE_IFRAME_STYLE + + this.iframeLoadedPromise = new Promise((resolve, reject) => { + this.iframe.onload = () => { resolve() } + }) + + document.body.appendChild(this.iframe) + } + + _registerDisplayHandlers () { + expose('display', display(this.iframe), {postMessage: this.postMessage}) + expose('hide', hide(this.iframe), {postMessage: this.postMessage}) + } + + async get3idProvider() { + await this.iframeLoadedPromise + this.postMessage = this.iframe.contentWindow.postMessage.bind(this.iframe.contentWindow) + this._registerDisplayHandlers() + return new ThreeIdProviderProxy(this.postMessage) + } +} + +export default IdentityWalletIframe diff --git a/src/index.js b/src/index.js index c8604c0..396d178 100644 --- a/src/index.js +++ b/src/index.js @@ -1,33 +1,67 @@ import { expose, caller } from 'postmsg-rpc' -const IdentityWallet = require('identity-wallet') -const seed = '0x8C8F7aa1512db8b5150f36db0e1409749E234a2c' +const IdentityWallet = require('../../identity-wallet-js/lib/identity-wallet.js') +const ThreeId = require('../../3box-js/lib/3id/index.js') +// const utils = require('../../identity-wallet-js/src/utils.js') +// const idwUtils = require('../../identity-wallet-js/src/utils.js') +import { fakeIpfs } from '../../identity-wallet-js/lib/utils.js' + +let threeId, address + +// const seed = '0x8C8F7aa1512db8b5150f36db0e1409749E234a2c' + + + window.ethereum.enable().then(addresses => { console.log(addresses) + address = addresses[0] + // threeId = new ThreeId(window.ethereum, fakeIpfs, undefined, {}) { }) + + +const externalAuth = async ({ address, spaces, type }) => { + console.log(type) + if (type === '3id-auth') { + // request signature with new 3ID auth message + // verify that signature was made from "address" + // return signature + return seed + } else if (type === '3id_migration') { + // if (!spaces) { + // // we want to make a full migration + // // spaces = // get all spaces the user has from the 3box list spaces api + // } + // TODO verify that signature from same address + threeId = await ThreeId.getIdFromEthAddress(address, window.ethereum, fakeIpfs, undefined, {}) + + if (spaces.length > 0) { + await threeId.authenticate(spaces) + } + + return threeId.serializeState() + } +} + + +const display = caller('display', {postMessage: window.parent.postMessage.bind(window.parent)}) +const hide = caller('hide', {postMessage: window.parent.postMessage.bind(window.parent)}) + // hook into consent ui const getConsent = async (req) => { - console.log('get consent!') - const display = caller('display', {postMessage: window.parent.postMessage.bind(window.parent)}) await display() - console.log('consentreq') - console.log(req) reqPayload.innerHTML = JSON.stringify(req) - // return false const result = await new Promise((resolve, reject) => { accept.addEventListener('click', () => { resolve(true) }) decline.addEventListener('click', () => { resolve(false )}) }) - const hide = caller('hide', {postMessage: window.parent.postMessage.bind(window.parent)}) await hide() - return result } -const idWallet = new IdentityWallet(getConsent, { seed }) +const idWallet = new IdentityWallet(getConsent, { externalAuth }) const provider = idWallet.get3idProvider() const connectService = { diff --git a/src/idwProxy.js b/src/threeIdProviderProxy.js similarity index 78% rename from src/idwProxy.js rename to src/threeIdProviderProxy.js index eebe24f..c053ad0 100644 --- a/src/idwProxy.js +++ b/src/threeIdProviderProxy.js @@ -1,6 +1,5 @@ import { caller } from 'postmsg-rpc' - class ThreeIdProviderProxy { constructor (postMessage) { this.postMessage = postMessage @@ -12,9 +11,12 @@ class ThreeIdProviderProxy { callback = origin origin = null } + if (req.method != '3id_newAuthMethodPoll' && req.method != "3id_newLinkPoll") { + console.log('request') + console.log(req) + } const send = caller('send', {postMessage: this.postMessage}) const res = await send(req) - console.log(res) // TODO callback(undefined, JSON.parse(res)) return JSON.parse(res) From b75f992f3a13903014d8c4bfc84388c40bcd0a31 Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Sat, 7 Mar 2020 21:04:22 -0500 Subject: [PATCH 03/19] ref: idw service and iframe html/css/js refactor --- iframe/html.js | 48 +++++++++++++++++++++++ iframe/index.js | 29 ++++++++++++++ iframe/style.less | 7 ++++ package.json | 7 +++- public/index.html | 7 +--- src/identityWalletService.js | 58 ++++++++++++++++++++++++++++ src/index.js | 74 ------------------------------------ src/threeIdProviderProxy.js | 8 ++-- webpack.config.js | 21 ++++++++-- 9 files changed, 172 insertions(+), 87 deletions(-) create mode 100644 iframe/html.js create mode 100644 iframe/index.js create mode 100644 iframe/style.less create mode 100644 src/identityWalletService.js delete mode 100644 src/index.js diff --git a/iframe/html.js b/iframe/html.js new file mode 100644 index 0000000..f523403 --- /dev/null +++ b/iframe/html.js @@ -0,0 +1,48 @@ +const style = require('style-loader!./style.less') + +const requestTemplate = (data) => ` + ${header(data)} +
+
+ This allows ${data.request.origin} to read and write data to the following locations +
+
+
+ + +
+
+` + +const spaces = (spaces) => { + console.log(spaces) + return spaces.map(spaceLine).reduce((acc, val) => acc + val, ``) +} + +const spaceLine = (spaceName) => ` +
+
+ ${spaceName} +
+
+ Allowed +
+
+` + +const header = (data) => ` +
+

Request

+
+ ${data.request.origin} +
+
+ wants to request access to your 3ID +
+ +` + + +export default requestTemplate diff --git a/iframe/index.js b/iframe/index.js new file mode 100644 index 0000000..74be256 --- /dev/null +++ b/iframe/index.js @@ -0,0 +1,29 @@ +const requestTemplate = require('./html.js').default +const IdentityWalletService = require('../src/IdentityWalletService.js').default + +const idwService = new IdentityWalletService() + +const viewUpdate = (request) => { + root.innerHTML = requestTemplate({request}) +} +// TODO for testing view +// root.innerHTML = requestTemplate({request: JSON.parse(`{"type":"authenticate","origin":"localhost","spaces":["metamask", "3box", "things"]}`)}) + +// metamask as provider for now +window.ethereum.enable().then(addresses => {}) + +// hook into consent ui +const getConsent = async (req) => { + await idwService.displayIframe() + viewUpdate(req) + + const result = await new Promise((resolve, reject) => { + accept.addEventListener('click', () => { resolve(true) }) + decline.addEventListener('click', () => { resolve(false )}) + }) + + await idwService.hideIframe() + return result +} + +idwService.start(getConsent, window.ethereum) diff --git a/iframe/style.less b/iframe/style.less new file mode 100644 index 0000000..1f1f3ce --- /dev/null +++ b/iframe/style.less @@ -0,0 +1,7 @@ +#requestBox { + +} + +#requestHeader { + +} diff --git a/package.json b/package.json index 790a6f1..76aa0ae 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,11 @@ "http-server": "^0.11.1", "standard": "^12.0.1", "webpack": "^4.20.2", - "webpack-cli": "^3.1.2" + "webpack-cli": "^3.1.2", + "less": "^3.9.0", + "less-loader": "^4.1.0", + "css-loader": "^2.1.0", + "css-to-string-loader": "^0.1.3", + "style-loader": "^0.23.1" } } diff --git a/public/index.html b/public/index.html index 6f51ad0..016c849 100644 --- a/public/index.html +++ b/public/index.html @@ -3,16 +3,13 @@ - 3Box account + 3Box Account - Request -
- - +
diff --git a/src/identityWalletService.js b/src/identityWalletService.js new file mode 100644 index 0000000..a796768 --- /dev/null +++ b/src/identityWalletService.js @@ -0,0 +1,58 @@ +import { expose, caller } from 'postmsg-rpc' +import { fakeIpfs } from '../../identity-wallet-js/lib/utils.js' +const IdentityWallet = require('../../identity-wallet-js/lib/identity-wallet.js') +const ThreeId = require('../../3box-js/lib/3id/index.js') + +class IdentityWalletService { + constructor () { + this.display = caller('display', {postMessage: window.parent.postMessage.bind(window.parent)}) + this.hide = caller('hide', {postMessage: window.parent.postMessage.bind(window.parent)}) + } + + async externalAuth({ address, spaces, type }) { + let threeId + console.log(type) + if (type === '3id-auth') { + // request signature with new 3ID auth message + // verify that signature was made from "address" + // return signature + return seed + } else if (type === '3id_migration') { + // if (!spaces) { + // // we want to make a full migration + // // spaces = // get all spaces the user has from the 3box list spaces api + // } + // TODO verify that signature from same address + threeId = await ThreeId.getIdFromEthAddress(address, this.externalProvider, fakeIpfs, undefined, {}) + + if (spaces.length > 0) { + await threeId.authenticate(spaces) + } + + return threeId.serializeState() + } + } + + async displayIframe() { + return this.display() + } + + async hideIframe() { + return this.hide() + } + + start(getConsent, externalProvider) { + this.externalProvider = externalProvider + const idWallet = new IdentityWallet(getConsent, { externalAuth: this.externalAuth.bind(this) }) + this.provider = idWallet.get3idProvider() + expose('send', this.providerRelay.bind(this), {postMessage: window.parent.postMessage.bind(window.parent)}) + } + + async providerRelay(message) { + // TOOD origin + const res = await this.provider.send(message, 'localhost') + return JSON.stringify(res) + } +} + +export default IdentityWalletService diff --git a/src/index.js b/src/index.js deleted file mode 100644 index 396d178..0000000 --- a/src/index.js +++ /dev/null @@ -1,74 +0,0 @@ -import { expose, caller } from 'postmsg-rpc' -const IdentityWallet = require('../../identity-wallet-js/lib/identity-wallet.js') -const ThreeId = require('../../3box-js/lib/3id/index.js') -// const utils = require('../../identity-wallet-js/src/utils.js') -// const idwUtils = require('../../identity-wallet-js/src/utils.js') -import { fakeIpfs } from '../../identity-wallet-js/lib/utils.js' - -let threeId, address - -// const seed = '0x8C8F7aa1512db8b5150f36db0e1409749E234a2c' - - - - -window.ethereum.enable().then(addresses => { - console.log(addresses) - address = addresses[0] - // threeId = new ThreeId(window.ethereum, fakeIpfs, undefined, {}) { -}) - - - -const externalAuth = async ({ address, spaces, type }) => { - console.log(type) - if (type === '3id-auth') { - // request signature with new 3ID auth message - // verify that signature was made from "address" - // return signature - return seed - } else if (type === '3id_migration') { - // if (!spaces) { - // // we want to make a full migration - // // spaces = // get all spaces the user has from the 3box list spaces api - // } - // TODO verify that signature from same address - threeId = await ThreeId.getIdFromEthAddress(address, window.ethereum, fakeIpfs, undefined, {}) - - if (spaces.length > 0) { - await threeId.authenticate(spaces) - } - - return threeId.serializeState() - } -} - - -const display = caller('display', {postMessage: window.parent.postMessage.bind(window.parent)}) -const hide = caller('hide', {postMessage: window.parent.postMessage.bind(window.parent)}) - -// hook into consent ui -const getConsent = async (req) => { - await display() - reqPayload.innerHTML = JSON.stringify(req) - - const result = await new Promise((resolve, reject) => { - accept.addEventListener('click', () => { resolve(true) }) - decline.addEventListener('click', () => { resolve(false )}) - }) - - await hide() - return result -} - -const idWallet = new IdentityWallet(getConsent, { externalAuth }) -const provider = idWallet.get3idProvider() - -const connectService = { - providerRelay: async (message) => { - const res = await provider.send(message, 'localhost') - return JSON.stringify(res) - } -} - -expose('send', connectService.providerRelay, {postMessage: window.parent.postMessage.bind(window.parent)}) diff --git a/src/threeIdProviderProxy.js b/src/threeIdProviderProxy.js index c053ad0..38cd57d 100644 --- a/src/threeIdProviderProxy.js +++ b/src/threeIdProviderProxy.js @@ -11,10 +11,10 @@ class ThreeIdProviderProxy { callback = origin origin = null } - if (req.method != '3id_newAuthMethodPoll' && req.method != "3id_newLinkPoll") { - console.log('request') - console.log(req) - } + // if (req.method != '3id_newAuthMethodPoll' && req.method != "3id_newLinkPoll") { + // console.log('request') + // console.log(req) + // } const send = caller('send', {postMessage: this.postMessage}) const res = await send(req) // TODO diff --git a/webpack.config.js b/webpack.config.js index e5ede17..6770442 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,7 +1,7 @@ const path = require('path'); module.exports = { - entry: './src/index.js', + entry: './iframe/index.js', output: { filename: 'index.js', path: path.resolve(__dirname, 'public'), @@ -25,7 +25,23 @@ module.exports = { ] } } - } + }, + { + test: /\.less$/, + use: [ + { + loader: "css-loader", + options: { + sourceMap: true, + modules: true, + // localIdentName: "[local]___[hash:base64:5]" + } + }, + { + loader: "less-loader" + } + ] + } ] }, node: { @@ -36,4 +52,3 @@ module.exports = { child_process: 'empty' } }; - From ae821a152dff09624461e74d574d02dbcef4876d Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Wed, 25 Mar 2020 21:45:15 -0400 Subject: [PATCH 04/19] feat: domain pass, address linking external provider --- package.json | 15 ++++++++------- src/identityWalletService.js | 31 +++++++++++++++++++++---------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 76aa0ae..71dcb65 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,8 @@ "@babel/runtime": "^7.1.2", "identity-wallet": "^1.1.1", "postmsg-rpc": "^2.4.0", - "store": "^2.0.12" + "store": "^2.0.12", + "url-parse": "^1.4.7" }, "devDependencies": { "@babel/cli": "^7.1.2", @@ -46,14 +47,14 @@ "@babel/preset-react": "^7.0.0", "babel-core": "7.0.0-bridge.0", "babel-loader": "^8.0.5", + "css-loader": "^2.1.1", + "css-to-string-loader": "^0.1.3", "http-server": "^0.11.1", - "standard": "^12.0.1", - "webpack": "^4.20.2", - "webpack-cli": "^3.1.2", "less": "^3.9.0", "less-loader": "^4.1.0", - "css-loader": "^2.1.0", - "css-to-string-loader": "^0.1.3", - "style-loader": "^0.23.1" + "standard": "^12.0.1", + "style-loader": "^0.23.1", + "webpack": "^4.20.2", + "webpack-cli": "^3.1.2" } } diff --git a/src/identityWalletService.js b/src/identityWalletService.js index a796768..c7111e6 100644 --- a/src/identityWalletService.js +++ b/src/identityWalletService.js @@ -2,6 +2,8 @@ import { expose, caller } from 'postmsg-rpc' import { fakeIpfs } from '../../identity-wallet-js/lib/utils.js' const IdentityWallet = require('../../identity-wallet-js/lib/identity-wallet.js') const ThreeId = require('../../3box-js/lib/3id/index.js') +import { createLink } from '3id-blockchain-utils' +const Url = require('url-parse'); class IdentityWalletService { constructor () { @@ -11,26 +13,35 @@ class IdentityWalletService { async externalAuth({ address, spaces, type }) { let threeId - console.log(type) - if (type === '3id-auth') { + if (type === '3id_auth') { // request signature with new 3ID auth message // verify that signature was made from "address" // return signature - return seed + // return seed + // TODO IMPLEMENT full migration } else if (type === '3id_migration') { // if (!spaces) { // // we want to make a full migration // // spaces = // get all spaces the user has from the 3box list spaces api + // TODO IMPELEMENT full migration // } - // TODO verify that signature from same address - threeId = await ThreeId.getIdFromEthAddress(address, this.externalProvider, fakeIpfs, undefined, {}) - + threeId = await this.getThreedId(address) if (spaces.length > 0) { await threeId.authenticate(spaces) } - return threeId.serializeState() - } + } else if (type === '3id_createLink' ) { + threeId = await this.getThreedId(address) + const proof = await createLink(threeId.DID, address, this.externalProvider) + return proof + } + } + + async getThreedId (address) { + if(!this._threeId) { + this._threeId = await ThreeId.getIdFromEthAddress(address, this.externalProvider, fakeIpfs, undefined, {}) + } + return this._threeId } async displayIframe() { @@ -49,8 +60,8 @@ class IdentityWalletService { } async providerRelay(message) { - // TOOD origin - const res = await this.provider.send(message, 'localhost') + const domain = new Url(document.referrer).hostname + const res = await this.provider.send(message, domain) return JSON.stringify(res) } } From 438bd427bb7f7bd5bf577778e14ef7686a3154ab Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Sun, 29 Mar 2020 12:48:50 -0400 Subject: [PATCH 05/19] feat: add multi provider, ref design/flows --- iframe/html/providerSelect.js | 18 +++++++++++++ iframe/{html.js => html/request.js} | 2 +- iframe/index.js | 38 ++++++++++++++++++++++------ iframe/provider.js | 39 +++++++++++++++++++++++++++++ package.json | 7 +++++- src/identityWalletService.js | 25 +++++++++++------- 6 files changed, 110 insertions(+), 19 deletions(-) create mode 100644 iframe/html/providerSelect.js rename iframe/{html.js => html/request.js} (95%) create mode 100644 iframe/provider.js diff --git a/iframe/html/providerSelect.js b/iframe/html/providerSelect.js new file mode 100644 index 0000000..ca9373d --- /dev/null +++ b/iframe/html/providerSelect.js @@ -0,0 +1,18 @@ +const style = require('style-loader!./../style.less') + +const providerTemplate = (data, providerNameFunc) => ` +
+
+ Select your provider +
+
+ + + + + +
+
+` + +export default providerTemplate diff --git a/iframe/html.js b/iframe/html/request.js similarity index 95% rename from iframe/html.js rename to iframe/html/request.js index f523403..e5eded3 100644 --- a/iframe/html.js +++ b/iframe/html/request.js @@ -1,4 +1,4 @@ -const style = require('style-loader!./style.less') +const style = require('style-loader!./../style.less') const requestTemplate = (data) => ` ${header(data)} diff --git a/iframe/index.js b/iframe/index.js index 74be256..0dce500 100644 --- a/iframe/index.js +++ b/iframe/index.js @@ -1,16 +1,20 @@ -const requestTemplate = require('./html.js').default +const requestTemplate = require('./html/request.js').default +const providerTemplate = require('./html/providerSelect.js').default const IdentityWalletService = require('../src/IdentityWalletService.js').default - -const idwService = new IdentityWalletService() +const web3Modal = require('./provider').default const viewUpdate = (request) => { root.innerHTML = requestTemplate({request}) } -// TODO for testing view -// root.innerHTML = requestTemplate({request: JSON.parse(`{"type":"authenticate","origin":"localhost","spaces":["metamask", "3box", "things"]}`)}) -// metamask as provider for now -window.ethereum.enable().then(addresses => {}) +const renderProviderSelect = (request) => { + root.innerHTML = providerTemplate() +} + + +const providerNameFuncWrap = cb => str => { + cb(str) +} // hook into consent ui const getConsent = async (req) => { @@ -26,4 +30,22 @@ const getConsent = async (req) => { return result } -idwService.start(getConsent, window.ethereum) +const selectProvider = async () => { + + const result = new Promise((resolve, reject) => { + window.providerNameFunc = providerNameFuncWrap(resolve) + }) + + await idwService.displayIframe() + console.log('select provdier!') + renderProviderSelect() + + await result + + // TODO get consent may not always follow, need better iframe control + // await idwService.hideIframe() + return result +} + +const idwService = new IdentityWalletService() +idwService.start(getConsent, selectProvider, web3Modal) diff --git a/iframe/provider.js b/iframe/provider.js new file mode 100644 index 0000000..6383481 --- /dev/null +++ b/iframe/provider.js @@ -0,0 +1,39 @@ +import Web3Modal from "web3modal" +import Portis from "@portis/web3"; +import Authereum from "authereum"; +import Fortmatic from "fortmatic"; +import WalletConnectProvider from "@walletconnect/web3-provider"; + +const providerOptions = { + portis: { + package: Portis, + options: { + id: "8f5cf962-ad62-4861-ab0c-7b234b6e6cff" + } + }, + walletconnect: { + package: WalletConnectProvider, + options: { + infuraId: "e87f83fb85bf4aa09bdf6605ebe144b7" + } + }, + fortmatic: { + package: Fortmatic, + options: { + key: "pk_live_EC842EEAC7F08995" + } + }, + authereum: { + package: Authereum, + options: {} + } +}; + +const web3Modal = new Web3Modal({ + network: "mainnet", + cacheProvider: true, + providerOptions +}); + + +export default web3Modal diff --git a/package.json b/package.json index 71dcb65..74f42bc 100644 --- a/package.json +++ b/package.json @@ -32,10 +32,15 @@ "homepage": "https://github.com/3box/3box-account#readme", "dependencies": { "@babel/runtime": "^7.1.2", + "@portis/web3": "^2.0.0-beta.54", + "@walletconnect/web3-provider": "^1.0.0-beta.47", + "authereum": "0.0.4-beta.129", + "fortmatic": "^2.0.5", "identity-wallet": "^1.1.1", "postmsg-rpc": "^2.4.0", "store": "^2.0.12", - "url-parse": "^1.4.7" + "url-parse": "^1.4.7", + "web3modal": "^1.1.0" }, "devDependencies": { "@babel/cli": "^7.1.2", diff --git a/src/identityWalletService.js b/src/identityWalletService.js index c7111e6..a69f6d9 100644 --- a/src/identityWalletService.js +++ b/src/identityWalletService.js @@ -25,19 +25,17 @@ class IdentityWalletService { // // spaces = // get all spaces the user has from the 3box list spaces api // TODO IMPELEMENT full migration // } - threeId = await this.getThreedId(address) + threeId = await this.getThreeId(address) if (spaces.length > 0) { await threeId.authenticate(spaces) } return threeId.serializeState() } else if (type === '3id_createLink' ) { - threeId = await this.getThreedId(address) - const proof = await createLink(threeId.DID, address, this.externalProvider) - return proof + return this.idWallet.linkAddress(address, this.externalProvider) } } - async getThreedId (address) { + async getThreeId (address) { if(!this._threeId) { this._threeId = await ThreeId.getIdFromEthAddress(address, this.externalProvider, fakeIpfs, undefined, {}) } @@ -52,14 +50,23 @@ class IdentityWalletService { return this.hide() } - start(getConsent, externalProvider) { - this.externalProvider = externalProvider - const idWallet = new IdentityWallet(getConsent, { externalAuth: this.externalAuth.bind(this) }) - this.provider = idWallet.get3idProvider() + async connect() { + // Add support provider name list + const providerName = this.web3Modal.cachedProvider || await this.selectProvider() + this.externalProvider = await this.web3Modal.connectTo(providerName) + } + + // TODO seperate start connect, throw ops, take web3modal or provider here + start(getConsent, selectProvider, web3Modal) { + this.selectProvider = selectProvider + this.web3Modal = web3Modal + this.idWallet = new IdentityWallet(getConsent, { externalAuth: this.externalAuth.bind(this) }) + this.provider = this.idWallet.get3idProvider() expose('send', this.providerRelay.bind(this), {postMessage: window.parent.postMessage.bind(window.parent)}) } async providerRelay(message) { + if (!this.externalProvider) await this.connect() const domain = new Url(document.referrer).hostname const res = await this.provider.send(message, domain) return JSON.stringify(res) From 7a60e53f6f80615c94ba317bc9626489f20e51a5 Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Mon, 30 Mar 2020 16:45:58 -0400 Subject: [PATCH 06/19] feat: base design --- iframe/html/providerSelect.js | 41 ++++-- iframe/html/request.js | 46 +++---- iframe/html/template.js | 26 ++++ iframe/index.js | 5 + iframe/style.less | 234 ++++++++++++++++++++++++++++++++++ public/index.html | 5 + src/identityWalletIframe.js | 3 +- 7 files changed, 323 insertions(+), 37 deletions(-) create mode 100644 iframe/html/template.js diff --git a/iframe/html/providerSelect.js b/iframe/html/providerSelect.js index ca9373d..9e598fb 100644 --- a/iframe/html/providerSelect.js +++ b/iframe/html/providerSelect.js @@ -1,18 +1,39 @@ const style = require('style-loader!./../style.less') +const template = require('./template.js').default -const providerTemplate = (data, providerNameFunc) => ` -
-
- Select your provider +const providerTemplate = (data) => template(data, providerSelect()) + +const providerSelect = () => ` +
+
+
Select Your Wallet
+
This must match the wallet used for dasboard.3box.io
+
+
+
+
+
+
+
+
+
Metamask
+
+
+
+
Fortmatic
+
+
+
+
+
+
Portis
-
- - - - - +
+
+
Authereum
+
` export default providerTemplate diff --git a/iframe/html/request.js b/iframe/html/request.js index e5eded3..003cb82 100644 --- a/iframe/html/request.js +++ b/iframe/html/request.js @@ -1,23 +1,30 @@ const style = require('style-loader!./../style.less') +const template = require('./template.js').default -const requestTemplate = (data) => ` - ${header(data)} -
-
- This allows ${data.request.origin} to read and write data to the following locations -
-
template(data, request(data)) + +const request = (data) => ` +
+
+
+
This will allow ${data.request.origin} to
+
Temporarily see, edit, and delete data in the following locations
+
+
-
- - +
+
+ ${spaces(data.request.spaces)}
+
+
+
Cancel
+ +
` const spaces = (spaces) => { - console.log(spaces) return spaces.map(spaceLine).reduce((acc, val) => acc + val, ``) } @@ -27,22 +34,9 @@ const spaceLine = (spaceName) => ` ${spaceName}
- Allowed -
-
-` - -const header = (data) => ` -
-

Request

-
- ${data.request.origin} -
-
- wants to request access to your 3ID + Allow
` - export default requestTemplate diff --git a/iframe/html/template.js b/iframe/html/template.js new file mode 100644 index 0000000..1d05ff0 --- /dev/null +++ b/iframe/html/template.js @@ -0,0 +1,26 @@ +const style = require('style-loader!./../style.less') + +const template = (data, content) => ` +
+
<- Return
+
X
+
+
+
+
+
+
dashboard.3box.io
+
wants to access your 3ID
+
+
+
+
Zach Ferland
+
+
+
+ ${content} +
+
+` + +export default template diff --git a/iframe/index.js b/iframe/index.js index 0dce500..1df5df3 100644 --- a/iframe/index.js +++ b/iframe/index.js @@ -47,5 +47,10 @@ const selectProvider = async () => { return result } +// For testing +// renderProviderSelect() +// viewUpdate(JSON.parse(`{"type":"authenticate","origin":"dashboard.3box.io","spaces":["metamask", "3box", "things"]}`)) + const idwService = new IdentityWalletService() +window.hideIframe = idwService.hideIframe.bind(idwService) idwService.start(getConsent, selectProvider, web3Modal) diff --git a/iframe/style.less b/iframe/style.less index 1f1f3ce..17bb802 100644 --- a/iframe/style.less +++ b/iframe/style.less @@ -1,3 +1,237 @@ +.content { + // padding: 100px; + width: 500px; + padding-top: 25px; + margin-left: auto; + margin-right: auto; + // display: inline; +} + +.controls { + width: 100%; + + .return { + float: left; + padding: 10px; + &:hover { + cursor: pointer; + } + } + + .close { + float: right; + padding: 10px; + &:hover { + cursor: pointer; + } + } +} + +.header { + width: 300px; + height: 100px; + // background-color: black; + margin-left: auto; + margin-right: auto; + display: inline; +} + +.headerLogo { + margin-left: auto; + margin-right: auto; + width: 130px; + height: 40px; + background-color: black; +} + +.headerText { + padding: 20px 0px; + width: 100%; + margin-top: 20px; + + .primary { + color: #2a4afe; + text-align: center; + font-size: 20px; + font-weight: 600; + } + .sub { + text-align: center; + font-size: 18px; + font-weight: 400; + color: #585c60; + } +} + +.headerProfile { + margin-top: 20px; + width: 200px; + min-height: 50px; + background-color: white; + border-radius: 25px; + border: solid #dfdfdf 2px; + margin-left: auto; + margin-right: auto; + + .img { + height: 41px; + width: 41px; + margin: 2px; + background-color: black; + border-radius: 23px; + float: left; + } + + .name { + float: left; + padding: 12px 15px; + font-weight: 500; + } +} + +.promptBox { + padding: 20px; + margin-top: 30px; + width: 500px; + min-height: 100px; + background-color: #ffffff; + border-radius: 5px; + border: solid #dfdfdf 2px; + margin-left: auto; + margin-right: auto; + float: left; +} + +.promptText { + .primaryText { + color: #2a4afe + } + .subText { + + } +} + +.promptHeader { + width: 100%; + float: left; +} + +.promptText { + padding: 15px 2px; + float: left; + + .primaryText { + color: #63686d; + font-weight: 600; + font-size: 15px; + } + + .primaryHighlight { + color: #2a4afe; + } + + .subText { + padding-top: 5px; + font-weight: 400; + color: #b9bbbc; + font-size: 13px; + } +} + +.promptImage { + float: right; + width: 50px; + height: 50px; + background: black; + margin: 10px; +} + +.divider { + margin-top: 10px; + width: 100%; + border-top: solid #dfdfdf 1px; + padding: 0px 20px; + float: left; +} + +.providerBox { + float: left; + margin-top: 15px; + width: 100%; + padding: 0px 13px; + + .providerRow { + width: 100%; + float:left; + padding-top: 15px; + } + + .provider { + width: 50%; + min-height: 50px; + float: left; + + &:hover { + cursor: pointer; + } + + .providerText { + padding: 10px 2px 0px 15px; + float: left; + font-weight: 500; + } + + .providerImage { + background-color: black; + width: 40px; + height: 40px; + float: left; + } + } +} + +.spaceLine { + width: 100%; + float: left; + padding: 10px 10px; + + .spaceName { + float:left; + } + .access { + float: right; + color: #2a4afe; + font-weight: 500; + } +} + +.buttonFooter { + width: 100%; + float: left; + margin-top: 17px; + + .btnAllow { + background-color: #2a4afe; + border-color: #2e6da4; + color: #ffffff; + float: right; + padding: 6px 25px; + } + .btnDecline { + color: #2a4afe; + float: left; + margin: 7px; + &:hover { + cursor: pointer; + } + } +} + +.marginTop25 { + margin-top: 25px; +} + + #requestBox { } diff --git a/public/index.html b/public/index.html index 016c849..ecd1cf1 100644 --- a/public/index.html +++ b/public/index.html @@ -7,6 +7,11 @@ +
diff --git a/src/identityWalletIframe.js b/src/identityWalletIframe.js index 8885b90..2236df0 100644 --- a/src/identityWalletIframe.js +++ b/src/identityWalletIframe.js @@ -4,7 +4,7 @@ import { expose } from 'postmsg-rpc' const IDENTITY_WALLET_IFRAME_URL = 'http://127.0.0.1:30001/' // TODO move all css in seperate templating const HIDE_IFRAME_STYLE = 'width:0; height:0; border:0; border:none !important' -const DISPLAY_IFRAME_STYLE = 'position: fixed; margin-top: 10%; margin-left: 20%; z-index: 999999; width: 40%; height: 30%; top: 0; left: 0;' +const DISPLAY_IFRAME_STYLE = 'position: fixed; border:none border:0; z-index: 999999; width: 100%; height: 100%; top: 0; left: 0;' const hide = (iframe) => () => iframe.style = HIDE_IFRAME_STYLE const display = (iframe) => () => iframe.style = DISPLAY_IFRAME_STYLE @@ -19,6 +19,7 @@ class IdentityWalletIframe { this.iframe = document.createElement('iframe') this.iframe.src = iframeUrl || IFRAME_STORE_URL this.iframe.style = HIDE_IFRAME_STYLE + this.iframe.frameBorder = 0 this.iframeLoadedPromise = new Promise((resolve, reject) => { this.iframe.onload = () => { resolve() } From ba3946e1b832b31f5e222e5529ea5eddd2e90e83 Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Mon, 30 Mar 2020 20:45:07 -0400 Subject: [PATCH 07/19] feat: profile meta data, meta pass, ref render funcs --- iframe/html/template.js | 14 +++++++++----- iframe/index.js | 30 ++++++++++++++++++++---------- src/identityWalletService.js | 6 +++--- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/iframe/html/template.js b/iframe/html/template.js index 1d05ff0..d8d6581 100644 --- a/iframe/html/template.js +++ b/iframe/html/template.js @@ -9,13 +9,10 @@ const template = (data, content) => `
-
dashboard.3box.io
+
${data.request.origin}
wants to access your 3ID
-
-
-
Zach Ferland
-
+ ${data.name ? profile(data) : ``}
${content} @@ -23,4 +20,11 @@ const template = (data, content) => `
` +const profile = (data) => ` +
+ +
${data.name}
+
+` + export default template diff --git a/iframe/index.js b/iframe/index.js index 1df5df3..e814b9c 100644 --- a/iframe/index.js +++ b/iframe/index.js @@ -2,13 +2,24 @@ const requestTemplate = require('./html/request.js').default const providerTemplate = require('./html/providerSelect.js').default const IdentityWalletService = require('../src/IdentityWalletService.js').default const web3Modal = require('./provider').default +const getProfile = require('../../3box-js/lib/api.js').getProfile -const viewUpdate = (request) => { - root.innerHTML = requestTemplate({request}) +const profileLoad = async (address) => { + const profile = await getProfile(address) + const img = profile.image + const name = profile.name + const imgUrl = (img && img[0] && img[0].contentUrl) ? `https://ipfs.infura.io/ipfs/${img[0].contentUrl['/']}` : 'https://i.imgur.com/RXJO8FD.png' + return { name, imgUrl } } -const renderProviderSelect = (request) => { - root.innerHTML = providerTemplate() +const render = async (request) => { + let data = { request } + if (request.opts.address) { + // TODO should not block rendering, maybe remove for now, can also cache + const profile = await profileLoad(request.opts.address) + data = Object.assign(data, profile) + } + root.innerHTML = request.type === 'authenticate' ? requestTemplate(data) : providerTemplate(data) } @@ -30,15 +41,14 @@ const getConsent = async (req) => { return result } -const selectProvider = async () => { +const selectProvider = async (address, origin) => { const result = new Promise((resolve, reject) => { window.providerNameFunc = providerNameFuncWrap(resolve) }) await idwService.displayIframe() - console.log('select provdier!') - renderProviderSelect() + renderProviderSelect({ origin, opts: {address}}) await result @@ -47,9 +57,9 @@ const selectProvider = async () => { return result } -// For testing -// renderProviderSelect() -// viewUpdate(JSON.parse(`{"type":"authenticate","origin":"dashboard.3box.io","spaces":["metamask", "3box", "things"]}`)) +// For testing, uncomment one line to see each view static +// render({ origin:"dashboard.3box.io", opts: { address:'0x9acb0539f2ea0c258ac43620dd03ef01f676a69b' }}) +// render(JSON.parse(`{"type":"authenticate","origin":"dashboard.3box.io","spaces":["metamask", "3box", "things"], "opts": {"address":"0x9acb0539f2ea0c258ac43620dd03ef01f676a69b"}}`)) const idwService = new IdentityWalletService() window.hideIframe = idwService.hideIframe.bind(idwService) diff --git a/src/identityWalletService.js b/src/identityWalletService.js index a69f6d9..a1bc7a5 100644 --- a/src/identityWalletService.js +++ b/src/identityWalletService.js @@ -50,9 +50,9 @@ class IdentityWalletService { return this.hide() } - async connect() { + async connect(address, domain) { // Add support provider name list - const providerName = this.web3Modal.cachedProvider || await this.selectProvider() + const providerName = this.web3Modal.cachedProvider || await this.selectProvider(address, origin) this.externalProvider = await this.web3Modal.connectTo(providerName) } @@ -66,8 +66,8 @@ class IdentityWalletService { } async providerRelay(message) { - if (!this.externalProvider) await this.connect() const domain = new Url(document.referrer).hostname + if (!this.externalProvider) await this.connect(message.address. domain) const res = await this.provider.send(message, domain) return JSON.stringify(res) } From 955b5c5941569be03ec614db7cf84efcc05c5ee2 Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Wed, 1 Apr 2020 18:05:12 -0400 Subject: [PATCH 08/19] feat: switch to sass, fix domain pass --- iframe/html/providerSelect.js | 2 +- iframe/html/request.js | 2 +- iframe/html/template.js | 2 +- iframe/index.js | 5 +++-- iframe/{style.less => style.scss} | 0 package.json | 4 ++-- src/identityWalletIframe.js | 4 ++-- src/identityWalletService.js | 4 ++-- webpack.config.js | 28 ++++++++++++++-------------- 9 files changed, 26 insertions(+), 25 deletions(-) rename iframe/{style.less => style.scss} (100%) diff --git a/iframe/html/providerSelect.js b/iframe/html/providerSelect.js index 9e598fb..01eb8d9 100644 --- a/iframe/html/providerSelect.js +++ b/iframe/html/providerSelect.js @@ -1,4 +1,4 @@ -const style = require('style-loader!./../style.less') +const style = require('style-loader!./../style.scss') const template = require('./template.js').default const providerTemplate = (data) => template(data, providerSelect()) diff --git a/iframe/html/request.js b/iframe/html/request.js index 003cb82..b891c2a 100644 --- a/iframe/html/request.js +++ b/iframe/html/request.js @@ -1,4 +1,4 @@ -const style = require('style-loader!./../style.less') +const style = require('style-loader!./../style.scss') const template = require('./template.js').default const requestTemplate = (data) => template(data, request(data)) diff --git a/iframe/html/template.js b/iframe/html/template.js index d8d6581..c0bce33 100644 --- a/iframe/html/template.js +++ b/iframe/html/template.js @@ -1,4 +1,4 @@ -const style = require('style-loader!./../style.less') +const style = require('style-loader!./../style.scss') const template = (data, content) => `
diff --git a/iframe/index.js b/iframe/index.js index e814b9c..c7dbd4e 100644 --- a/iframe/index.js +++ b/iframe/index.js @@ -19,6 +19,7 @@ const render = async (request) => { const profile = await profileLoad(request.opts.address) data = Object.assign(data, profile) } + if (request.type === 'authenticate' && request.spaces.length === 0) data.request.spaces = ['root'] root.innerHTML = request.type === 'authenticate' ? requestTemplate(data) : providerTemplate(data) } @@ -30,7 +31,7 @@ const providerNameFuncWrap = cb => str => { // hook into consent ui const getConsent = async (req) => { await idwService.displayIframe() - viewUpdate(req) + await render(req) const result = await new Promise((resolve, reject) => { accept.addEventListener('click', () => { resolve(true) }) @@ -48,7 +49,7 @@ const selectProvider = async (address, origin) => { }) await idwService.displayIframe() - renderProviderSelect({ origin, opts: {address}}) + render({ origin, opts: {address}}) await result diff --git a/iframe/style.less b/iframe/style.scss similarity index 100% rename from iframe/style.less rename to iframe/style.scss diff --git a/package.json b/package.json index 74f42bc..0ddd073 100644 --- a/package.json +++ b/package.json @@ -55,8 +55,8 @@ "css-loader": "^2.1.1", "css-to-string-loader": "^0.1.3", "http-server": "^0.11.1", - "less": "^3.9.0", - "less-loader": "^4.1.0", + "node-sass": "^4.13.1", + "sass-loader": "^8.0.2", "standard": "^12.0.1", "style-loader": "^0.23.1", "webpack": "^4.20.2", diff --git a/src/identityWalletIframe.js b/src/identityWalletIframe.js index 2236df0..9864294 100644 --- a/src/identityWalletIframe.js +++ b/src/identityWalletIframe.js @@ -4,10 +4,10 @@ import { expose } from 'postmsg-rpc' const IDENTITY_WALLET_IFRAME_URL = 'http://127.0.0.1:30001/' // TODO move all css in seperate templating const HIDE_IFRAME_STYLE = 'width:0; height:0; border:0; border:none !important' -const DISPLAY_IFRAME_STYLE = 'position: fixed; border:none border:0; z-index: 999999; width: 100%; height: 100%; top: 0; left: 0;' +const DISPLAY_IFRAME_STYLE = 'border:none border:0; z-index: 999999; position: fixed;' const hide = (iframe) => () => iframe.style = HIDE_IFRAME_STYLE -const display = (iframe) => () => iframe.style = DISPLAY_IFRAME_STYLE +const display = (iframe) => (height = '100%', width = '100%', top = '0', left= '0') => iframe.style = `${DISPLAY_IFRAME_STYLE} width: ${width}; height: ${height}; top: ${top}; left: ${left};` // Iframe logic may move if same used as data layer class IdentityWalletIframe { diff --git a/src/identityWalletService.js b/src/identityWalletService.js index a1bc7a5..26e4597 100644 --- a/src/identityWalletService.js +++ b/src/identityWalletService.js @@ -52,7 +52,7 @@ class IdentityWalletService { async connect(address, domain) { // Add support provider name list - const providerName = this.web3Modal.cachedProvider || await this.selectProvider(address, origin) + const providerName = this.web3Modal.cachedProvider || await this.selectProvider(address, domain) this.externalProvider = await this.web3Modal.connectTo(providerName) } @@ -67,7 +67,7 @@ class IdentityWalletService { async providerRelay(message) { const domain = new Url(document.referrer).hostname - if (!this.externalProvider) await this.connect(message.address. domain) + if (!this.externalProvider) await this.connect(message.params.address, domain) const res = await this.provider.send(message, domain) return JSON.stringify(res) } diff --git a/webpack.config.js b/webpack.config.js index 6770442..a120904 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -27,21 +27,21 @@ module.exports = { } }, { - test: /\.less$/, - use: [ - { - loader: "css-loader", - options: { - sourceMap: true, - modules: true, - // localIdentName: "[local]___[hash:base64:5]" + test: /\.scss$/, + use: [ + { + loader: "css-loader", + options: { + sourceMap: true, + modules: true, + // localIdentName: "[local]___[hash:base64:5]" + } + }, + { + loader: "sass-loader" } - }, - { - loader: "less-loader" - } - ] - } + ] + } ] }, node: { From 043cf962d44a9f8b96538f4b89be133997f53bf4 Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Fri, 3 Apr 2020 13:06:02 -0400 Subject: [PATCH 09/19] build: circlci config, build, release --- .circleci/config.yml | 89 ++++++++++++++++++++++++++++++++++++ iframe/index.js | 10 ++-- package.json | 7 +-- src/identityWalletService.js | 11 +++-- 4 files changed, 106 insertions(+), 11 deletions(-) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..743f993 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,89 @@ +version: 2.1 + +orbs: + aws-s3: circleci/aws-s3@1.0.15 + +jobs: + test-and-build: + working_directory: ~/3box-account + docker: + - image: circleci/node:10 + steps: + - checkout + + # Download and cache dependencies + - restore_cache: + keys: + - dependencies-cache-{{ checksum "package.json" }} + + - run: + name: install dependencies + command: | + sudo npm i -g codecov node-gyp + npm i + + # - run: + # name: test + # command: npm test && codecov + # + # - run: + # name: lint + # command: npm run lint + + - run: + name: build + command: npm run build + + # - run: + # name: code-coverage + # command: bash <(curl -s https://codecov.io/bash) + + - persist_to_workspace: + root: . + paths: + - public + + - save_cache: + key: dependency-cache-{{ checksum "package.json" }} + paths: + - ./node_modules + deploy-dev: + working_directory: ~/3box-account + docker: + - image: 'circleci/python:3.8' + steps: + - attach_workspace: + at: . + - aws-s3/sync: + arguments: '--acl public-read --cache 604800' + from: public + overwrite: true + to: 's3://3id-account-develop' + + deploy-prod: + working_directory: ~/3box-account + docker: + - image: 'circleci/python:3.8' + steps: + - attach_workspace: + at: . + - aws-s3/sync: + arguments: '--acl public-read --cache 604800' + from: public + overwrite: true + to: 's3://3id-account-prod' + +workflows: + build-deploy: + jobs: + - test-and-build + - deploy-dev: + requires: + - test-and-build + # filters: + # branches: + # only: develop + - deploy-prod: + filters: + branches: + only: master diff --git a/iframe/index.js b/iframe/index.js index c7dbd4e..9168be9 100644 --- a/iframe/index.js +++ b/iframe/index.js @@ -1,11 +1,12 @@ const requestTemplate = require('./html/request.js').default const providerTemplate = require('./html/providerSelect.js').default -const IdentityWalletService = require('../src/IdentityWalletService.js').default +const IdentityWalletService = require('./../src/identityWalletService.js').default const web3Modal = require('./provider').default -const getProfile = require('../../3box-js/lib/api.js').getProfile +// const getProfile = require('../../3box-js/lib/api.js').getProfile const profileLoad = async (address) => { - const profile = await getProfile(address) + // const profile = await getProfile(address) + const profile = {} const img = profile.image const name = profile.name const imgUrl = (img && img[0] && img[0].contentUrl) ? `https://ipfs.infura.io/ipfs/${img[0].contentUrl['/']}` : 'https://i.imgur.com/RXJO8FD.png' @@ -59,9 +60,10 @@ const selectProvider = async (address, origin) => { } // For testing, uncomment one line to see each view static -// render({ origin:"dashboard.3box.io", opts: { address:'0x9acb0539f2ea0c258ac43620dd03ef01f676a69b' }}) +render({ origin:"dashboard.3box.io", opts: { address:'0x9acb0539f2ea0c258ac43620dd03ef01f676a69b' }}) // render(JSON.parse(`{"type":"authenticate","origin":"dashboard.3box.io","spaces":["metamask", "3box", "things"], "opts": {"address":"0x9acb0539f2ea0c258ac43620dd03ef01f676a69b"}}`)) + const idwService = new IdentityWalletService() window.hideIframe = idwService.hideIframe.bind(idwService) idwService.start(getConsent, selectProvider, web3Modal) diff --git a/package.json b/package.json index 0ddd073..96c3181 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,8 @@ "test": "jest --detectOpenHandles --coverage", "build:dist": "./node_modules/.bin/webpack --config webpack.config.js --mode=development", "build:dist:watch": "./node_modules/.bin/webpack --config webpack.config.js --mode=development --watch", - "build:dist:prod": "./node_modules/.bin/webpack --config webpack.config.js --mode=production --output-filename index.min.js", - "build": "npm run build:dist; npm run build:dist:prod", + "build:dist:prod": "./node_modules/.bin/webpack --config webpack.config.js --mode=production --output-filename index.js", + "build": "npm run build:dist:prod", "prepublishOnly": "npm run build", "example-server:start": "http-server -c-1 -p 30001 public", "example:start": "npm run build:dist:watch & npm run example-server:start" @@ -31,12 +31,13 @@ }, "homepage": "https://github.com/3box/3box-account#readme", "dependencies": { + "3box": "^1.17.1", "@babel/runtime": "^7.1.2", "@portis/web3": "^2.0.0-beta.54", "@walletconnect/web3-provider": "^1.0.0-beta.47", "authereum": "0.0.4-beta.129", "fortmatic": "^2.0.5", - "identity-wallet": "^1.1.1", + "identity-wallet": "github:3box/identity-wallet-js#feat/partial-migration-externalauth", "postmsg-rpc": "^2.4.0", "store": "^2.0.12", "url-parse": "^1.4.7", diff --git a/src/identityWalletService.js b/src/identityWalletService.js index 26e4597..4313ada 100644 --- a/src/identityWalletService.js +++ b/src/identityWalletService.js @@ -1,7 +1,10 @@ import { expose, caller } from 'postmsg-rpc' -import { fakeIpfs } from '../../identity-wallet-js/lib/utils.js' -const IdentityWallet = require('../../identity-wallet-js/lib/identity-wallet.js') -const ThreeId = require('../../3box-js/lib/3id/index.js') +// import { fakeIpfs } from '../../identity-wallet-js/lib/utils.js' +import { fakeIpfs } from 'identity-wallet/lib/utils' +// const IdentityWallet = require('../../identity-wallet-js/lib/identity-wallet.js') +const IdentityWallet = require('identity-wallet') +// const ThreeId = require('../../3box-js/lib/3id/index.js') +const ThreeId = require('3box/lib/3id/index') import { createLink } from '3id-blockchain-utils' const Url = require('url-parse'); @@ -43,7 +46,7 @@ class IdentityWalletService { } async displayIframe() { - return this.display() + return this.display('90%', '90%', '5%', '5%') } async hideIframe() { From bb9299676e0cce4d34be836db1a2a1492860d764 Mon Sep 17 00:00:00 2001 From: Kenzo Date: Fri, 3 Apr 2020 17:41:54 -0400 Subject: [PATCH 10/19] add separate UI for new flow --- iframe/html/3IDConnect/assets/Authereum.svg | 31 + iframe/html/3IDConnect/assets/Fortmatic.svg | 1 + iframe/html/3IDConnect/assets/MarcherBold.ttf | Bin 0 -> 92844 bytes .../html/3IDConnect/assets/MarcherBold.woff | Bin 0 -> 44739 bytes iframe/html/3IDConnect/assets/MetaMask.svg | 1 + iframe/html/3IDConnect/assets/Portis.svg | 1 + .../html/3IDConnect/assets/WalletConnect.svg | 1 + iframe/html/3IDConnect/assets/assets.js | 5 + iframe/html/3IDConnect/index.js | 39 + iframe/html/3IDConnect/template.js | 52 + iframe/html/providerSelect.js | 101 +- iframe/html/request.js | 2 +- iframe/index.js | 44 +- iframe/style.scss | 302 +- iframe/variables.scss | 91 + package-lock.json | 9237 ++++++++++------- package.json | 1 + public/620d35feec8ed065224f02f6728fb21a.ttf | Bin 0 -> 92844 bytes .../04426e78aa0f60c97b1ed334f0a9f89b.woff | Bin 0 -> 45984 bytes .../font/21541718b82aa7dfd2eee49b6e7864c5.ttf | Bin 0 -> 92844 bytes public/index.html | 4 + webpack.config.js | 36 +- 22 files changed, 6055 insertions(+), 3894 deletions(-) create mode 100644 iframe/html/3IDConnect/assets/Authereum.svg create mode 100644 iframe/html/3IDConnect/assets/Fortmatic.svg create mode 100755 iframe/html/3IDConnect/assets/MarcherBold.ttf create mode 100755 iframe/html/3IDConnect/assets/MarcherBold.woff create mode 100644 iframe/html/3IDConnect/assets/MetaMask.svg create mode 100644 iframe/html/3IDConnect/assets/Portis.svg create mode 100644 iframe/html/3IDConnect/assets/WalletConnect.svg create mode 100644 iframe/html/3IDConnect/assets/assets.js create mode 100644 iframe/html/3IDConnect/index.js create mode 100644 iframe/html/3IDConnect/template.js create mode 100644 iframe/variables.scss create mode 100644 public/620d35feec8ed065224f02f6728fb21a.ttf create mode 100644 public/font/04426e78aa0f60c97b1ed334f0a9f89b.woff create mode 100644 public/font/21541718b82aa7dfd2eee49b6e7864c5.ttf diff --git a/iframe/html/3IDConnect/assets/Authereum.svg b/iframe/html/3IDConnect/assets/Authereum.svg new file mode 100644 index 0000000..ac76096 --- /dev/null +++ b/iframe/html/3IDConnect/assets/Authereum.svg @@ -0,0 +1,31 @@ + + + + +Created by potrace 1.15, written by Peter Selinger 2001-2017 + + + + + + + diff --git a/iframe/html/3IDConnect/assets/Fortmatic.svg b/iframe/html/3IDConnect/assets/Fortmatic.svg new file mode 100644 index 0000000..24ed5ae --- /dev/null +++ b/iframe/html/3IDConnect/assets/Fortmatic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iframe/html/3IDConnect/assets/MarcherBold.ttf b/iframe/html/3IDConnect/assets/MarcherBold.ttf new file mode 100755 index 0000000000000000000000000000000000000000..0a052f7ba1d48e674a208b0e2c944516a1bfc2d8 GIT binary patch literal 92844 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 literal 0 HcmV?d00001 diff --git a/iframe/html/3IDConnect/assets/MarcherBold.woff b/iframe/html/3IDConnect/assets/MarcherBold.woff new file mode 100755 index 0000000000000000000000000000000000000000..f3f5a03575aeb244299bd1f9ef227907eb67fb91 GIT binary patch literal 44739 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 \ No newline at end of file diff --git a/iframe/html/3IDConnect/assets/Portis.svg b/iframe/html/3IDConnect/assets/Portis.svg new file mode 100644 index 0000000..4f6a0ad --- /dev/null +++ b/iframe/html/3IDConnect/assets/Portis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iframe/html/3IDConnect/assets/WalletConnect.svg b/iframe/html/3IDConnect/assets/WalletConnect.svg new file mode 100644 index 0000000..97f4bd7 --- /dev/null +++ b/iframe/html/3IDConnect/assets/WalletConnect.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iframe/html/3IDConnect/assets/assets.js b/iframe/html/3IDConnect/assets/assets.js new file mode 100644 index 0000000..659ff9e --- /dev/null +++ b/iframe/html/3IDConnect/assets/assets.js @@ -0,0 +1,5 @@ +export const walletConnect = "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxyYWRpYWxHcmFkaWVudCBpZD0iYSIgY3g9IjAlIiBjeT0iNTAlIiByPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM1ZDlkZjYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMDZmZmYiLz48L3JhZGlhbEdyYWRpZW50PjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0ibTI1NiAwYzE0MS4zODQ4OTYgMCAyNTYgMTE0LjYxNTEwNCAyNTYgMjU2cy0xMTQuNjE1MTA0IDI1Ni0yNTYgMjU2LTI1Ni0xMTQuNjE1MTA0LTI1Ni0yNTYgMTE0LjYxNTEwNC0yNTYgMjU2LTI1NnoiIGZpbGw9InVybCgjYSkiLz48cGF0aCBkPSJtNjQuNjkxNzU1OCAzNy43MDg4Mjk4YzUxLjUzMjgwNzItNTAuMjc4NDM5NyAxMzUuMDgzOTk0Mi01MC4yNzg0Mzk3IDE4Ni42MTY3OTkyIDBsNi4yMDIwNTcgNi4wNTEwOTA2YzIuNTc2NjQgMi41MTM5MjE4IDIuNTc2NjQgNi41ODk3OTQ4IDAgOS4xMDM3MTc3bC0yMS4yMTU5OTggMjAuNjk5NTc1OWMtMS4yODgzMjEgMS4yNTY5NjE5LTMuMzc3MSAxLjI1Njk2MTktNC42NjU0MjEgMGwtOC41MzQ3NjYtOC4zMjcwMjA1Yy0zNS45NTA1NzMtMzUuMDc1NDk2Mi05NC4yMzc5NjktMzUuMDc1NDk2Mi0xMzAuMTg4NTQ0IDBsLTkuMTQwMDI4MiA4LjkxNzU1MTljLTEuMjg4MzIxNyAxLjI1Njk2MDktMy4zNzcxMDE2IDEuMjU2OTYwOS00LjY2NTQyMDggMGwtMjEuMjE1OTk3My0yMC42OTk1NzU5Yy0yLjU3NjY0MDMtMi41MTM5MjI5LTIuNTc2NjQwMy02LjU4OTc5NTggMC05LjEwMzcxNzd6bTIzMC40OTM0ODUyIDQyLjgwODkxMTcgMTguODgyMjc5IDE4LjQyMjcyNjJjMi41NzY2MjcgMi41MTM5MTAzIDIuNTc2NjQyIDYuNTg5NzU5My4wMDAwMzIgOS4xMDM2ODYzbC04NS4xNDE0OTggODMuMDcwMzU4Yy0yLjU3NjYyMyAyLjUxMzk0MS02Ljc1NDE4MiAyLjUxMzk2OS05LjMzMDg0LjAwMDA2Ni0uMDAwMDEtLjAwMDAxLS4wMDAwMjMtLjAwMDAyMy0uMDAwMDMzLS4wMDAwMzRsLTYwLjQyODI1Ni01OC45NTc0NTFjLS42NDQxNi0uNjI4NDgxLTEuNjg4NTUtLjYyODQ4MS0yLjMzMjcxIDAtLjAwMDAwNC4wMDAwMDQtLjAwMDAwOC4wMDAwMDctLjAwMDAxMi4wMDAwMTFsLTYwLjQyNjk2ODMgNTguOTU3NDA4Yy0yLjU3NjYxNDEgMi41MTM5NDctNi43NTQxNzQ2IDIuNTEzOTktOS4zMzA4NDA4LjAwMDA5Mi0uMDAwMDE1MS0uMDAwMDE0LS4wMDAwMzA5LS4wMDAwMjktLjAwMDA0NjctLjAwMDA0NmwtODUuMTQzODY3NzQtODMuMDcxNDYzYy0yLjU3NjYzOTI4LTIuNTEzOTIxLTIuNTc2NjM5MjgtNi41ODk3OTUgMC05LjEwMzcxNjNsMTguODgyMzEyNjQtMTguNDIyNjk1NWMyLjU3NjYzOTMtMi41MTM5MjIyIDYuNzU0MTk5My0yLjUxMzkyMjIgOS4zMzA4Mzk3IDBsNjAuNDI5MTM0NyA1OC45NTgyNzU4Yy42NDQxNjA4LjYyODQ4IDEuNjg4NTQ5NS42Mjg0OCAyLjMzMjcxMDMgMCAuMDAwMDA5NS0uMDAwMDA5LjAwMDAxODItLjAwMDAxOC4wMDAwMjc3LS4wMDAwMjVsNjAuNDI2MTA2NS01OC45NTgyNTA4YzIuNTc2NTgxLTIuNTEzOTggNi43NTQxNDItMi41MTQwNzQzIDkuMzMwODQtLjAwMDIxMDMuMDAwMDM3LjAwMDAzNTQuMDAwMDcyLjAwMDA3MDkuMDAwMTA3LjAwMDEwNjNsNjAuNDI5MDU2IDU4Ljk1ODM1NDhjLjY0NDE1OS42Mjg0NzkgMS42ODg1NDkuNjI4NDc5IDIuMzMyNzA5IDBsNjAuNDI4MDc5LTU4Ljk1NzE5MjVjMi41NzY2NC0yLjUxMzkyMzEgNi43NTQxOTktMi41MTM5MjMxIDkuMzMwODM5IDB6IiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDk4IDE2MCkiLz48L2c+PC9zdmc+"; +export const metamask = "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjM1NSIgdmlld0JveD0iMCAwIDM5NyAzNTUiIHdpZHRoPSIzOTciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiPjxwYXRoIGQ9Im0xMTQuNjIyNjQ0IDMyNy4xOTU0NzIgNTIuMDA0NzE3IDEzLjgxMDE5OHYtMTguMDU5NDlsNC4yNDUyODMtNC4yNDkyOTJoMjkuNzE2OTgydjIxLjI0NjQ1OSAxNC44NzI1MjNoLTMxLjgzOTYyNGwtMzkuMjY4ODY4LTE2Ljk5NzE2OXoiIGZpbGw9IiNjZGJkYjIiLz48cGF0aCBkPSJtMTk5LjUyODMwNSAzMjcuMTk1NDcyIDUwLjk0MzM5NyAxMy44MTAxOTh2LTE4LjA1OTQ5bDQuMjQ1MjgzLTQuMjQ5MjkyaDI5LjcxNjk4MXYyMS4yNDY0NTkgMTQuODcyNTIzaC0zMS44Mzk2MjNsLTM5LjI2ODg2OC0xNi45OTcxNjl6IiBmaWxsPSIjY2RiZGIyIiB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSA0ODMuOTYyMjcgMCkiLz48cGF0aCBkPSJtMTcwLjg3MjY0NCAyODcuODg5NTIzLTQuMjQ1MjgzIDM1LjA1NjY1NyA1LjMwNjYwNC00LjI0OTI5Mmg1NS4xODg2OGw2LjM2NzkyNSA0LjI0OTI5Mi00LjI0NTI4NC0zNS4wNTY2NTctOC40OTA1NjUtNS4zMTE2MTUtNDIuNDUyODMyIDEuMDYyMzIzeiIgZmlsbD0iIzM5MzkzOSIvPjxwYXRoIGQ9Im0xNDIuMjE2OTg0IDUwLjk5MTUwMjIgMjUuNDcxNjk4IDU5LjQ5MDA4NTggMTEuNjc0NTI4IDE3My4xNTg2NDNoNDEuMzkxNTExbDEyLjczNTg0OS0xNzMuMTU4NjQzIDIzLjM0OTA1Ni01OS40OTAwODU4eiIgZmlsbD0iI2Y4OWMzNSIvPjxwYXRoIGQ9Im0zMC43NzgzMDIzIDE4MS42NTcyMjYtMjkuNzE2OTgxNTMgODYuMDQ4MTYxIDc0LjI5MjQ1MzkzLTQuMjQ5MjkzaDQ3Ljc1OTQzNDN2LTM3LjE4MTMwM2wtMi4xMjI2NDEtNzYuNDg3MjUzLTEwLjYxMzIwOCA4LjQ5ODU4M3oiIGZpbGw9IiNmODlkMzUiLz48cGF0aCBkPSJtODcuMDI4MzAzMiAxOTEuMjE4MTM0IDg3LjAyODMwMjggMi4xMjQ2NDYtOS41NTE4ODYgNDQuNjE3NTYzLTQxLjM5MTUxMS0xMC42MjMyMjl6IiBmaWxsPSIjZDg3YzMwIi8+PHBhdGggZD0ibTg3LjAyODMwMzIgMTkyLjI4MDQ1NyAzNi4wODQ5MDU4IDMzLjk5NDMzNHYzMy45OTQzMzR6IiBmaWxsPSIjZWE4ZDNhIi8+PHBhdGggZD0ibTEyMy4xMTMyMDkgMjI3LjMzNzExNCA0Mi40NTI4MzEgMTAuNjIzMjI5IDEzLjc5NzE3IDQ1LjY3OTg4OC05LjU1MTg4NiA1LjMxMTYxNS00Ni42OTgxMTUtMjcuNjIwMzk4eiIgZmlsbD0iI2Y4OWQzNSIvPjxwYXRoIGQ9Im0xMjMuMTEzMjA5IDI2MS4zMzE0NDgtOC40OTA1NjUgNjUuODY0MDI0IDU2LjI1LTM5LjMwNTk0OXoiIGZpbGw9IiNlYjhmMzUiLz48cGF0aCBkPSJtMTc0LjA1NjYwNiAxOTMuMzQyNzggNS4zMDY2MDQgOTAuMjk3NDUxLTE1LjkxOTgxMi00Ni4yMTEwNDl6IiBmaWxsPSIjZWE4ZTNhIi8+PHBhdGggZD0ibTc0LjI5MjQ1MzkgMjYyLjM5Mzc3MSA0OC44MjA3NTUxLTEuMDYyMzIzLTguNDkwNTY1IDY1Ljg2NDAyNHoiIGZpbGw9IiNkODdjMzAiLz48cGF0aCBkPSJtMjQuNDEwMzc3NyAzNTUuODc4MTkzIDkwLjIxMjI2NjMtMjguNjgyNzIxLTQwLjMzMDE5MDEtNjQuODAxNzAxLTczLjIzMTEzMzEzIDUuMzExNjE2eiIgZmlsbD0iI2ViOGYzNSIvPjxwYXRoIGQ9Im0xNjcuNjg4NjgyIDExMC40ODE1ODgtNDUuNjM2NzkzIDM4LjI0MzYyNy0zNS4wMjM1ODU4IDQyLjQ5MjkxOSA4Ny4wMjgzMDI4IDMuMTg2OTY5eiIgZmlsbD0iI2U4ODIxZSIvPjxwYXRoIGQ9Im0xMTQuNjIyNjQ0IDMyNy4xOTU0NzIgNTYuMjUtMzkuMzA1OTQ5LTQuMjQ1MjgzIDMzLjk5NDMzNHYxOS4xMjE4MTNsLTM4LjIwNzU0OC03LjQzNjI2eiIgZmlsbD0iI2RmY2VjMyIvPjxwYXRoIGQ9Im0yMjkuMjQ1Mjg2IDMyNy4xOTU0NzIgNTUuMTg4NjgtMzkuMzA1OTQ5LTQuMjQ1MjgzIDMzLjk5NDMzNHYxOS4xMjE4MTNsLTM4LjIwNzU0OC03LjQzNjI2eiIgZmlsbD0iI2RmY2VjMyIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgNTEzLjY3OTI1MiAwKSIvPjxwYXRoIGQ9Im0xMzIuNjY1MDk2IDIxMi40NjQ1OTMtMTEuNjc0NTI4IDI0LjQzMzQyNyA0MS4zOTE1MS0xMC42MjMyMjl6IiBmaWxsPSIjMzkzOTM5IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSAyODMuMzcyNjQ2IDApIi8+PHBhdGggZD0ibTIzLjM0OTA1NyAxLjA2MjMyMjk2IDE0NC4zMzk2MjUgMTA5LjQxOTI2NTA0LTI0LjQxMDM3OC01OS40OTAwODU4eiIgZmlsbD0iI2U4OGYzNSIvPjxwYXRoIGQ9Im0yMy4zNDkwNTcgMS4wNjIzMjI5Ni0xOS4xMDM3NzM5MiA1OC40Mjc3NjI5NCAxMC42MTMyMDc3MiA2My43MzkzNzgxLTcuNDI5MjQ1NDEgNC4yNDkyOTIgMTAuNjEzMjA3NzEgOS41NjA5MDYtOC40OTA1NjYxNyA3LjQzNjI2MSAxMS42NzQ1Mjg0NyAxMC42MjMyMjktNy40MjkyNDU0IDYuMzczOTM4IDE2Ljk4MTEzMjMgMjEuMjQ2NDU5IDc5LjU5OTA1NzctMjQuNDMzNDI4YzM4LjkxNTA5Ni0zMS4xNjE0NzMgNTguMDE4ODY5LTQ3LjA5NjMxOCA1Ny4zMTEzMjItNDcuODA0NTMzLS43MDc1NDgtLjcwODIxNS00OC44MjA3NTYtMzcuMTgxMzAzNi0xNDQuMzM5NjI1LTEwOS40MTkyNjUwNHoiIGZpbGw9IiM4ZTVhMzAiLz48ZyB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSAzOTkuMDU2NjExIDApIj48cGF0aCBkPSJtMzAuNzc4MzAyMyAxODEuNjU3MjI2LTI5LjcxNjk4MTUzIDg2LjA0ODE2MSA3NC4yOTI0NTM5My00LjI0OTI5M2g0Ny43NTk0MzQzdi0zNy4xODEzMDNsLTIuMTIyNjQxLTc2LjQ4NzI1My0xMC42MTMyMDggOC40OTg1ODN6IiBmaWxsPSIjZjg5ZDM1Ii8+PHBhdGggZD0ibTg3LjAyODMwMzIgMTkxLjIxODEzNCA4Ny4wMjgzMDI4IDIuMTI0NjQ2LTkuNTUxODg2IDQ0LjYxNzU2My00MS4zOTE1MTEtMTAuNjIzMjI5eiIgZmlsbD0iI2Q4N2MzMCIvPjxwYXRoIGQ9Im04Ny4wMjgzMDMyIDE5Mi4yODA0NTcgMzYuMDg0OTA1OCAzMy45OTQzMzR2MzMuOTk0MzM0eiIgZmlsbD0iI2VhOGQzYSIvPjxwYXRoIGQ9Im0xMjMuMTEzMjA5IDIyNy4zMzcxMTQgNDIuNDUyODMxIDEwLjYyMzIyOSAxMy43OTcxNyA0NS42Nzk4ODgtOS41NTE4ODYgNS4zMTE2MTUtNDYuNjk4MTE1LTI3LjYyMDM5OHoiIGZpbGw9IiNmODlkMzUiLz48cGF0aCBkPSJtMTIzLjExMzIwOSAyNjEuMzMxNDQ4LTguNDkwNTY1IDY1Ljg2NDAyNCA1NS4xODg2OC0zOC4yNDM2MjZ6IiBmaWxsPSIjZWI4ZjM1Ii8+PHBhdGggZD0ibTE3NC4wNTY2MDYgMTkzLjM0Mjc4IDUuMzA2NjA0IDkwLjI5NzQ1MS0xNS45MTk4MTItNDYuMjExMDQ5eiIgZmlsbD0iI2VhOGUzYSIvPjxwYXRoIGQ9Im03NC4yOTI0NTM5IDI2Mi4zOTM3NzEgNDguODIwNzU1MS0xLjA2MjMyMy04LjQ5MDU2NSA2NS44NjQwMjR6IiBmaWxsPSIjZDg3YzMwIi8+PHBhdGggZD0ibTI0LjQxMDM3NzcgMzU1Ljg3ODE5MyA5MC4yMTIyNjYzLTI4LjY4MjcyMS00MC4zMzAxOTAxLTY0LjgwMTcwMS03My4yMzExMzMxMyA1LjMxMTYxNnoiIGZpbGw9IiNlYjhmMzUiLz48cGF0aCBkPSJtMTY3LjY4ODY4MiAxMTAuNDgxNTg4LTQ1LjYzNjc5MyAzOC4yNDM2MjctMzUuMDIzNTg1OCA0Mi40OTI5MTkgODcuMDI4MzAyOCAzLjE4Njk2OXoiIGZpbGw9IiNlODgyMWUiLz48cGF0aCBkPSJtMTMyLjY2NTA5NiAyMTIuNDY0NTkzLTExLjY3NDUyOCAyNC40MzM0MjcgNDEuMzkxNTEtMTAuNjIzMjI5eiIgZmlsbD0iIzM5MzkzOSIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgMjgzLjM3MjY0NiAwKSIvPjxwYXRoIGQ9Im0yMy4zNDkwNTcgMS4wNjIzMjI5NiAxNDQuMzM5NjI1IDEwOS40MTkyNjUwNC0yNC40MTAzNzgtNTkuNDkwMDg1OHoiIGZpbGw9IiNlODhmMzUiLz48cGF0aCBkPSJtMjMuMzQ5MDU3IDEuMDYyMzIyOTYtMTkuMTAzNzczOTIgNTguNDI3NzYyOTQgMTAuNjEzMjA3NzIgNjMuNzM5Mzc4MS03LjQyOTI0NTQxIDQuMjQ5MjkyIDEwLjYxMzIwNzcxIDkuNTYwOTA2LTguNDkwNTY2MTcgNy40MzYyNjEgMTEuNjc0NTI4NDcgMTAuNjIzMjI5LTcuNDI5MjQ1NCA2LjM3MzkzOCAxNi45ODExMzIzIDIxLjI0NjQ1OSA3OS41OTkwNTc3LTI0LjQzMzQyOGMzOC45MTUwOTYtMzEuMTYxNDczIDU4LjAxODg2OS00Ny4wOTYzMTggNTcuMzExMzIyLTQ3LjgwNDUzMy0uNzA3NTQ4LS43MDgyMTUtNDguODIwNzU2LTM3LjE4MTMwMzYtMTQ0LjMzOTYyNS0xMDkuNDE5MjY1MDR6IiBmaWxsPSIjOGU1YTMwIi8+PC9nPjwvZz48L3N2Zz4=" +export const portis = "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzAxLjM4IDQ1NS44NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtNC40NSAyNjIuMTEgMTAuOTMtNC43NSAxMzUuMzEtNTguODIgMTQ2LjI0IDYzLjU3LTU0Ljk1IDExMy40My0xMzQuMzMgMTktMTAxLTEwOXoiIGZpbGw9IiMxMzM0NDQiLz48cGF0aCBkPSJtMjY2LjUxIDE5Mi4xNmExNTAuNDMgMTUwLjQzIDAgMCAwIC05NS44Mi01M3EtMS4yLS4xNy0yLjQtLjNhMTUyLjM2IDE1Mi4zNiAwIDAgMCAtMzUuMiAwcS0xLjIuMTQtMi40LjNhMTUwLjQzIDE1MC40MyAwIDAgMCAtOTUuODIgNTNsLTYuMDggMTAuMDgtMTAuMTMgMTYuNzYtNy40MSAxMi4zMWMtLjE0LjMzLS4yOC42Ny0uNDEgMWwtLjA5LjIzIDE2LjM1IDkuNjcgMTAzLjYgNjEuMjggMjAgMTEuODN2LTE0Ni40N2wtMjAgOS4wOHYtMjEuOTNsMjAtOS4wOSAyMCA5LjA5IDEwMS45IDQ2LjI4eiIgZmlsbD0iI2M0MjM3MCIvPjxwYXRoIGQ9Im0zMDEuMzggMjk4LjU2YzAgNDguNzgtMjMuMTggOTQuNDItNTkuMTIgMTIzLjg0YTE0OS40NSAxNDkuNDUgMCAwIDEgLTQ3LjY0IDI2LjM3IDEzOS41MSAxMzkuNTEgMCAwIDEgLTQzLjkzIDcuMWMtODMuMjIgMC0xNTAuNjktNzQuMDktMTUwLjY5LTE1Ny4zMWExNTAuNDkgMTUwLjQ5IDAgMCAxIDQuNDUtMzYuNDVsMTQ2LjI0IDg2LjUxIDE0Ni4yNC04Ni41MWExNTAuNDkgMTUwLjQ5IDAgMCAxIDQuNDUgMzYuNDV6IiBmaWxsPSIjMWM0ZDZiIi8+PHBhdGggZD0ibTEzMy4wOSAxMzguODkgMTcuNiA3Ljk5LTIwIDkuMDl2LTE4LjE3eiIvPjxwYXRoIGQ9Im0xMzAuNjkgMTc3LjkzIDIwLTkuMDh2MTQ2LjUzbC0yMC0xMS44M3oiLz48cGF0aCBkPSJtMTUwLjY5IDE2OC44NXYxNDYuNTNsMTQwLjEzLTgyLjg5eiIgZmlsbD0iIzFkNDI1OSIvPjxwYXRoIGQ9Im0xNTAuNjkgMHYxNjguODVsMTQwLjEzIDYzLjY0eiIgZmlsbD0iIzRiNmI5YSIvPjxwYXRoIGQ9Im0xNTAuNjkgMTY4Ljg1djE0Ni41M2wtMjAtMTEuODMtMTE5Ljk1LTcxLS4xOC0uMTEuMjctLjEyYy4xMy0uMzMuMjctLjY3LjQxLTFsMTcuNTMtMjkuMDkgMTAxLjkyLTQ2LjIzdjIyeiIgZmlsbD0iIzM0MzUzNSIvPjxwYXRoIGQ9Im0xNTAuNjkgMTY4Ljg1djE0Ni41M2wtMjAtMTEuODMtMTE5Ljk1LTcwLjk1LS4xOC0uMTEuMjctLjEyIDExOS44Ni01NC40NHoiIGZpbGw9IiMzZTU1NzgiLz48cGF0aCBkPSJtMTUwLjY5IDB2MTY4Ljg1bC0xNDAuMTMgNjMuNjR6IiBmaWxsPSIjNmRiMmQ4Ii8+PGcgZmlsbD0iIzMzNWY4YSI+PHBhdGggZD0ibTk0IDQ0My44NWMyLjA5LjkyIDQuMjEgMS43OSA2LjM0IDIuNjFxLTMuMjYtMS4yMy02LjM0LTIuNjF6Ii8+PHBhdGggZD0ibTEwMC4yOSA0NDYuNDZjMi4xNC44MiA0LjI5IDEuNTkgNi40NyAyLjMxcS0zLjI3LTEuMDctNi40Ny0yLjMxeiIvPjxwYXRoIGQ9Im0xMTIuMzMgNDUwLjQ5YzEuNjYuNDcgMy4zMy45MiA1IDEuMzNxLTIuNTEtLjYyLTUtMS4zM3oiLz48L2c+PHBhdGggZD0ibTQuNDUgMjYyLjExIDE0Ni4yNCA4Ni41MWExNjcuNDggMTY3LjQ4IDAgMCAxIC0xMC40NyAzOC4zOGMtMTEuNyAyOC4yOC0zNS4zNCA1OC4xOS04MS4wOCAzNS40NC0zNS45Ni0yOS40NC01OS4xNC03NS4xLTU5LjE0LTEyMy44OGExNTAuNDkgMTUwLjQ5IDAgMCAxIDQuNDUtMzYuNDV6IiBmaWxsPSIjNmRiMmQ4Ii8+PHBhdGggZD0ibTI0Mi4yNCA0MjIuNDEtLjM2LjI5Yy0uNzYuNjItMS41MiAxLjIzLTIuMjkgMS44M2wtLjIuMTZxLTEuMjUgMS0yLjUyIDEuOTJjLS45MS42OC0xLjgzIDEuMzYtMi43NiAycy0xLjg2IDEuMzEtMi44IDEuOTUtMS42NiAxLjEyLTIuNDkgMS42NmwtLjQ2LjNjLS44OC41Ny0xLjc2IDEuMTMtMi42NCAxLjY3YTIuNjMgMi42MyAwIDAgMSAtLjMzLjJjLS45MS41Ny0xLjgyIDEuMTItMi43NCAxLjY1cy0yIDEuMTUtMyAxLjctMiAxLjA4LTMgMS42bC0uMTEuMDZjLTEgLjUyLTIgMS0zIDEuNTJzLTIgMS0zLjA4IDEuNDktMi4wOCAxLTMuMTIgMS40MmMtMi4wOS45Mi00LjIxIDEuNzktNi4zNCAyLjYxcy00LjI5IDEuNTktNi40NyAyLjMxYy0uODcuMjktMS43NC41Ny0yLjYyLjg0cy0yIC42LTIuOTUuODhjLTEuNjYuNDctMy4zMy45Mi01IDEuMzMtLjYzLjE2LTEuMjcuMzEtMS45MS40NWwtMS4wNy4yNWMtLjg5LjItMS43OC4zOS0yLjY4LjU3cy0xLjY0LjMzLTIuNDcuNDgtMS41MS4yOC0yLjI3LjQtMS42OC4yNy0yLjUyLjM5Yy0uNDEuMDctLjgyLjEzLTEuMjQuMThsLTEuODkuMjUtMS4wNS4xM2MtLjY5LjA5LTEuMzkuMTYtMi4wOS4yMy0uODYuMDktMS43MS4xNy0yLjU3LjI0LS42Ny4wNS0xLjM0LjExLTIgLjE1cy0xLjE2LjA4LTEuNzUuMWgtLjA4Yy0uNjggMC0xLjM2LjA4LTIgLjEtLjk0IDAtMS44OS4wNy0yLjg0LjA5cy0xLjkgMC0yLjg2IDAtMS45MSAwLTIuODYgMC0xLjkgMC0yLjg0LS4wOWMtLjY5IDAtMS4zNy0uMDYtMi4wNS0uMWgtLjA4Yy0uNTkgMC0xLjE3LS4wNi0xLjc1LS4xcy0xLjM0LS4xLTItLjE1Yy0uODYtLjA3LTEuNzEtLjE1LTIuNTctLjI0LS43LS4wNy0xLjQtLjE0LTIuMDktLjIzbC0xLS4xM2MtLjYzLS4wNy0xLjI2LS4xNi0xLjg5LS4yNS0uNDIgMC0uODMtLjExLTEuMjQtLjE4cS0xLjI3LS4xOC0yLjUyLS4zOWMtLjc2LS4xMi0xLjUyLS4yNi0yLjI3LS40cy0xLjY1LS4zMS0yLjQ3LS40OC0xLjc5LS4zNy0yLjY4LS41N2wtMS4wNy0uMjVjLS42NC0uMTQtMS4yOC0uMjktMS45MS0uNDUtMS42OC0uNDEtMy4zNS0uODYtNS0xLjMzbC0zLS44OGMtLjg4LS4yNy0xLjc1LS41NS0yLjYyLS44NC0yLjE4LS43Mi00LjMzLTEuNDktNi40Ny0yLjMxcy00LjI5LTEuNjctNi4yOS0yLjU5Yy0xLS40Ni0yLjA4LS45NC0zLjEyLTEuNDJzLTIuMDYtMS0zLjA4LTEuNDktMi0xLTMtMS41MmwtLjExLS4wNmMtMS0uNTItMi0xLjA2LTMtMS42cy0yLTEuMTItMy0xLjctMS43OS0xLjA2LTIuNjktMS42NWwtLjMzLS4yYy0uODgtLjU0LTEuNzYtMS4xLTIuNjQtMS42N2wtLjQ2LS4zYy0uODMtLjU0LTEuNjctMS4xLTIuNDktMS42NnMtMS44OC0xLjI5LTIuOC0xLjk1LTEuODUtMS4zNC0yLjc2LTItMS42OS0xLjI3LTIuNTItMS45MmwtLjItLjE2Yy0uNzctLjYtMS41My0xLjIxLTIuMjktMS44M2wtLjM2LS4yOWM0NS43NCAyMi43NSA2OS4zOC03LjE2IDgxLjA4LTM1LjQ0YTE2Ny40OCAxNjcuNDggMCAwIDAgMTAuNDctMzguMzUgMTY3LjQ3IDE2Ny40NyAwIDAgMCAxMC40NiAzOC4zNmMxMS43IDI4LjI1IDM1LjM0IDU4LjE2IDgxLjA4IDM1LjQxeiIgZmlsbD0iIzUyOWJiYSIvPjxwYXRoIGQ9Im0xODQgNDUxLjgyYzEuNjgtLjQxIDMuMzUtLjg2IDUtMS4zM3EtMi40NC43Mi01IDEuMzN6IiBmaWxsPSIjMzM1ZjhhIi8+PHBhdGggZD0ibTE5NC42MiA0NDguNzdjMi4xOC0uNzIgNC4zMy0xLjQ5IDYuNDctMi4zMXEtMy4xOSAxLjI0LTYuNDcgMi4zMXoiIGZpbGw9IiMzMzVmOGEiLz48cGF0aCBkPSJtMjAxLjA5IDQ0Ni40NmMyLjEzLS44MiA0LjI1LTEuNjkgNi4zNC0yLjYxcS0zLjEzIDEuMzgtNi4zNCAyLjYxeiIgZmlsbD0iIzMzNWY4YSIvPjxwYXRoIGQ9Im0zMDEuMzggMjk4LjU2YzAgNDguNzgtMjMuMTkgOTQuNDMtNTkuMTQgMTIzLjg1LTQ1Ljc0IDIyLjc1LTY5LjM4LTcuMTYtODEuMDgtMzUuNDRhMTY3LjQ3IDE2Ny40NyAwIDAgMSAtMTAuNDctMzguMzVsMTQ2LjI0LTg2LjUxYTE1MC40OSAxNTAuNDkgMCAwIDEgNC40NSAzNi40NXoiIGZpbGw9IiM0YjZiOWEiLz48L3N2Zz4=" +export const authereum = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iNTk2LjAwMDAwMHB0IiBoZWlnaHQ9IjU5Ni4wMDAwMDBwdCIgdmlld0JveD0iMCAwIDU5Ni4wMDAwMDAgNTk2LjAwMDAwMCIKIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgo8bWV0YWRhdGE+CkNyZWF0ZWQgYnkgcG90cmFjZSAxLjE1LCB3cml0dGVuIGJ5IFBldGVyIFNlbGluZ2VyIDIwMDEtMjAxNwo8L21ldGFkYXRhPgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCw1OTYuMDAwMDAwKSBzY2FsZSgwLjEwMDAwMCwtMC4xMDAwMDApIgpmaWxsPSIjRkY0QzJGIiBzdHJva2U9Im5vbmUiPgo8cGF0aCBkPSJNMTg3MCA0OTY0IGMtMzAwIC05NiAtNjAyIC0xOTIgLTY3MyAtMjE0IGwtMTI3IC00MSAwIC04ODIgYzAgLTUyOAo0IC05MjYgMTAgLTk5MiA0NCAtNDYyIDI0NCAtOTAwIDU3OCAtMTI2NCA3NiAtODMgMTI4MiAtMTEzNCAxMzE2IC0xMTQ3IDE0Ci01IDEwNzQgODk5IDEyNDggMTA2NSAzMDIgMjg3IDUzOCA3MDcgNjIyIDExMDkgNDQgMjEyIDQ3IDI5MSA0NCAxMjMxIGwtMwo4ODQgLTY3OSAyMTQgYy0zNzMgMTE3IC02ODAgMjEyIC02ODIgMjExIC0xIC0yIDU1IC0xMTMgMTI2IC0yNDggbDEyOSAtMjQ1CjE5MyAtNjIgYzEwNiAtMzQgMjY2IC04NSAzNTYgLTExMyBsMTYzIC01MSAtNCAtODEyIGMtMyAtNzgwIC00IC04MTYgLTI0Ci05MDcgLTc2IC0zNDMgLTIzMyAtNjM0IC00NzQgLTg4MCAtNDYgLTQ3IC0yODAgLTI1NCAtNTE5IC00NTkgLTIzOSAtMjA2Ci00NDcgLTM4NSAtNDYyIC0zOTkgbC0yNiAtMjQgLTQ1OSAzOTUgYy01NjEgNDg0IC02NDUgNTY2IC03NzkgNzcyIC0xMDMgMTU5Ci0xNzkgMzMwIC0yMjUgNTA3IC00NSAxODAgLTQ5IDI0NyAtNDkgMTA0OSBsMCA3NTcgMTQzIDQ1IGM3OCAyNSAyMzggNzYgMzU1CjExMyAxMTYgMzcgMjEyIDcxIDIxMiA3NCAwIDMgNTYgMTEzIDEyNSAyNDQgNjkgMTMyIDEyNSAyNDEgMTI1IDI0MyAwIDYgLTEyCjIgLTU2MCAtMTczeiIvPgo8cGF0aCBkPSJNMjk1NCA1MTA4IGMtOSAtMTggLTI2MSAtNDk5IC01NTkgLTEwNjggbC01NDIgLTEwMzUgOCAtODQgYzE4IC0xNzIKODIgLTM1NCAxODYgLTUxOSAzNyAtNjAgNDggLTcxIDU4IC02MCA2IDcgMjA0IDM4MSA0NDAgODMxIDIzNSA0NDkgNDMwIDgxNwo0MzQgODE3IDMgMCAyMDEgLTM2NCA0MzkgLTgwOCAyMzggLTQ0NCA0MzcgLTgxNSA0NDMgLTgyNSAxMCAtMTcgMTIgLTE2IDI4IDUKMTAzIDEzNSAxODggMzU4IDIxMiA1NTUgbDEyIDEwMCAtNTY4IDEwNTkgYy0zMTIgNTgyIC01NjkgMTA2MSAtNTcxIDEwNjIgLTEKMiAtMTAgLTExIC0yMCAtMzB6Ii8+CjxwYXRoIGQ9Ik0yNzAwIDI1NjEgbC0yNzUgLTU0OSAxNTUgLTEzNSBjODUgLTc0IDIxMCAtMTgxIDI3NyAtMjM3IGwxMjMgLTEwMgoyNyAyMiBjMTYgMTIgMTM5IDExOSAyNzQgMjM4IGwyNDcgMjE2IC0yNzQgNTQ4IGMtMTUxIDMwMSAtMjc1IDU0OCAtMjc3IDU0OAotMSAwIC0xMjYgLTI0NyAtMjc3IC01NDl6Ii8+CjwvZz4KPC9zdmc+Cg==" +export const fortmatic = "data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjYzIiB2aWV3Qm94PSIwIDAgNjMgNjMiIHdpZHRoPSI2MyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0zMS42MzkzLjk4NDM3NWgxNS4zMjc0IDE1LjMyNzV2MTUuMjk5MDI1aC0xNS4zMjc1LTE1LjMyNzQtMTUuMzI3NXYxNS4yOTg5Ljk4MSAxNC4yMjg5LjA4OTEgMTUuMjA5OWgtMTUuMzI3NDI1di0xNS4yMDk5LS4wODkxLTE0LjIyODktLjk4MS0xNS4yOTg5LTE1LjI5OTAyNWgxNS4zMjc0MjV6bTE1LjMyNzQgNDUuODA4MzI1aC0xNS4yMzgxdi0xNS4yMDk4aDMwLjU1NjZ2MTUuNzQ0OWMwIDMuOTE0LTEuNTU3MSA3LjY2OC00LjMyOTEgMTAuNDM2NXMtNi41MzE5IDQuMzI1LTEwLjQ1MzMgNC4zMjc0aC0uNTM2MXoiIGZpbGw9IiM2MTdiZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==" \ No newline at end of file diff --git a/iframe/html/3IDConnect/index.js b/iframe/html/3IDConnect/index.js new file mode 100644 index 0000000..dc467f2 --- /dev/null +++ b/iframe/html/3IDConnect/index.js @@ -0,0 +1,39 @@ +const style = require('style-loader!./../style.scss') +const template = require('./template.js').default + +const providerTemplate = (data) => template(data, providerSelect()) + +const providerSelect = () => ` +
+
+
Select Your Wallet
+
This must match the wallet used for dasboard.3box.io
+
+
+
+
+
+
+
+
+
Metamask
+
+
+
+
Fortmatic
+
+
+
+
+
+
Portis
+
+
+
+
Authereum
+
+
+
+` + +export default providerTemplate \ No newline at end of file diff --git a/iframe/html/3IDConnect/template.js b/iframe/html/3IDConnect/template.js new file mode 100644 index 0000000..f6699b1 --- /dev/null +++ b/iframe/html/3IDConnect/template.js @@ -0,0 +1,52 @@ +const style = require('style-loader!../../style.scss') + +const capitalizeFirst = string => string.charAt(0).toUpperCase() + string.slice(1) + +const template = (data, content) => ` +
+
+ + +
+
+
+
+
+ +
+
+
+
+
+ ${data.request.origin} +
+

wants to access your data

+
+ +
+
+

+ ${capitalizeFirst(data.request.origin)} uses 3ID to give you privacy and control over your data. + This app wants to access: 3Box, Gitcoin, MyFollowing, DappHero, WeirdSpace, SpaceInvaders, MyNotes. +

+
+
+
+
+ ${content} +
+
+
+
+` + +// ${data.name ? profile(data) : ``} + +const profile = (data) => ` +
+ +
${data.name}
+
+` + +export default template \ No newline at end of file diff --git a/iframe/html/providerSelect.js b/iframe/html/providerSelect.js index 01eb8d9..8e6a662 100644 --- a/iframe/html/providerSelect.js +++ b/iframe/html/providerSelect.js @@ -1,39 +1,82 @@ const style = require('style-loader!./../style.scss') -const template = require('./template.js').default +const template = require('./3IDConnect/template.js').default +const assets = require('./3IDConnect/assets/assets.js') const providerTemplate = (data) => template(data, providerSelect()) const providerSelect = () => ` -
-
-
Select Your Wallet
-
This must match the wallet used for dasboard.3box.io
-
-
-
-
-
-
-
-
-
Metamask
-
-
-
-
Fortmatic
-
-
-
-
-
-
Portis
-
-
-
-
Authereum
+
+
+
+
+ Choose wallet +
+
+

Try again. Use the same account you used for this app.

+ +
+
+ +
Metamask
+
+ +
+ +
Fortmatic
+
+ +
+ +
Portis
+
+ +
+ +
Authereum
+
+ +
+ +
Wallet Connect
+
+
+ + + +
-
` export default providerTemplate + +{ + /*
This must match the wallet used for dasboard.3box.io
*/ +} + +{ + /*
+
+
+
Metamask
+
+
+
+
Fortmatic
+
+
+
+
+
+
Portis
+
+
+
+
Authereum
+
+
*/ +} \ No newline at end of file diff --git a/iframe/html/request.js b/iframe/html/request.js index b891c2a..7b1cd65 100644 --- a/iframe/html/request.js +++ b/iframe/html/request.js @@ -1,5 +1,5 @@ const style = require('style-loader!./../style.scss') -const template = require('./template.js').default +const template = require('./3IDConnect/template.js').default const requestTemplate = (data) => template(data, request(data)) diff --git a/iframe/index.js b/iframe/index.js index 9168be9..e983f9c 100644 --- a/iframe/index.js +++ b/iframe/index.js @@ -10,11 +10,16 @@ const profileLoad = async (address) => { const img = profile.image const name = profile.name const imgUrl = (img && img[0] && img[0].contentUrl) ? `https://ipfs.infura.io/ipfs/${img[0].contentUrl['/']}` : 'https://i.imgur.com/RXJO8FD.png' - return { name, imgUrl } + return { + name, + imgUrl + } } const render = async (request) => { - let data = { request } + let data = { + request + } if (request.opts.address) { // TODO should not block rendering, maybe remove for now, can also cache const profile = await profileLoad(request.opts.address) @@ -35,8 +40,12 @@ const getConsent = async (req) => { await render(req) const result = await new Promise((resolve, reject) => { - accept.addEventListener('click', () => { resolve(true) }) - decline.addEventListener('click', () => { resolve(false )}) + accept.addEventListener('click', () => { + resolve(true) + }) + decline.addEventListener('click', () => { + resolve(false) + }) }) await idwService.hideIframe() @@ -50,7 +59,12 @@ const selectProvider = async (address, origin) => { }) await idwService.displayIframe() - render({ origin, opts: {address}}) + render({ + origin, + opts: { + address + } + }) await result @@ -60,10 +74,28 @@ const selectProvider = async (address, origin) => { } // For testing, uncomment one line to see each view static -render({ origin:"dashboard.3box.io", opts: { address:'0x9acb0539f2ea0c258ac43620dd03ef01f676a69b' }}) +render({ + origin: "dashboard.3box.io", + opts: { + address: '0x9acb0539f2ea0c258ac43620dd03ef01f676a69b' + } +}) // render(JSON.parse(`{"type":"authenticate","origin":"dashboard.3box.io","spaces":["metamask", "3box", "things"], "opts": {"address":"0x9acb0539f2ea0c258ac43620dd03ef01f676a69b"}}`)) const idwService = new IdentityWalletService() window.hideIframe = idwService.hideIframe.bind(idwService) idwService.start(getConsent, selectProvider, web3Modal) + +window.isOpen = false; +const handleOpenWalletOptions = (isOpen) => { + if (window.isOpen) { + document.getElementById("walletOptions").style.display = "none"; + document.getElementById("onClickOutside").style.display = "none"; + } else { + document.getElementById("walletOptions").style.display = "inline-grid"; + document.getElementById("onClickOutside").style.display = "flex"; + } + window.isOpen = !window.isOpen +} +window.handleOpenWalletOptions = handleOpenWalletOptions; diff --git a/iframe/style.scss b/iframe/style.scss index 17bb802..abe421a 100644 --- a/iframe/style.scss +++ b/iframe/style.scss @@ -1,63 +1,154 @@ +@import './variables.scss'; + +@font-face { + font-family: 'JetBrains'; + src: url('https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/web/eot/JetBrainsMono-Regular.eot') format('embedded-opentype'), + url('https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/web/woff2/JetBrainsMono-Regular.woff2') format('woff2'), + url('https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/web/woff/JetBrainsMono-Regular.woff') format('woff'), + url('https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/ttf/JetBrainsMono-Regular.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'Marcher'; + src: url('./html/3IDConnect/assets/MarcherBold.woff') format('woff'); +} + +h1, +h2, +h3, +h4, +h5, +h6, +button { + font-family: 'Marcher'; +} + +h1, +h2, +h3, +h4, +h5, +h6, +p { + padding: 0; + margin: 0; +} + +p { + font-family: 'JetBrains'; +} + +button { + width: 100%; + height: 40px; + border-radius: $radius; +} + +.card { + width: 420px; + height: 545px; + border: 1px solid $borderColor; + border-radius: $radius; + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: center; + background-color: white; +} + .content { - // padding: 100px; - width: 500px; + width: 100%; padding-top: 25px; - margin-left: auto; - margin-right: auto; - // display: inline; } .controls { width: 100%; + height: 52px; + border-bottom: 1px solid $borderColor; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 14px; .return { - float: left; padding: 10px; + &:hover { - cursor: pointer; - } + cursor: pointer; + } + } + + .controls_logo { + height: 24px; + opacity: .3; } .close { float: right; padding: 10px; + display: flex; + justify-content: center; + align-items: center; + &:hover { - cursor: pointer; - } + cursor: pointer; + } + + .close_line { + width: 2px; + height: 20px; + background-color: $symbolGrey; + transform: rotate(45deg); + } + + .close_line.flip { + position: absolute; + transform: rotate(135deg) !important; + } } } .header { - width: 300px; - height: 100px; - // background-color: black; - margin-left: auto; - margin-right: auto; - display: inline; + width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; } .headerLogo { - margin-left: auto; - margin-right: auto; - width: 130px; - height: 40px; - background-color: black; + width: 50px; + height: 50px; + border-radius: $radius; + background-color: $threeBoxBlue; + box-shadow: $dropShadow; +} + +.walletSelect_error { + color: $threeBoxRed; + position: absolute; + left: 0; + top: 52px; + font-size: 10px; } .headerText { padding: 20px 0px; width: 100%; - margin-top: 20px; .primary { color: #2a4afe; text-align: center; font-size: 20px; font-weight: 600; + font-family: 'Marcher'; } + .sub { text-align: center; - font-size: 18px; + font-size: 14px; font-weight: 400; color: #585c60; } @@ -89,25 +180,57 @@ } } +.walletSelect { + border: 1px solid $borderColor; + box-shadow: $dropShadow; + height: 40px; + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; + margin-bottom: 36px; + border-radius: $radius; + cursor: pointer; +} + +.walletSelect_content { + margin-left: 12px; + width: 100%; + + h5 { + width: 100%; + color: $threeBoxBlue; + } +} + +.actions { + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + width: 344px; + position: relative; +} + .promptBox { padding: 20px; - margin-top: 30px; - width: 500px; + width: 100%; min-height: 100px; - background-color: #ffffff; - border-radius: 5px; - border: solid #dfdfdf 2px; - margin-left: auto; - margin-right: auto; - float: left; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; } .promptText { .primaryText { color: #2a4afe } - .subText { + .subText { + span { + color: $threeBoxBlue; + } } } @@ -117,8 +240,7 @@ } .promptText { - padding: 15px 2px; - float: left; + padding: 15px 45px; .primaryText { color: #63686d; @@ -131,73 +253,86 @@ } .subText { - padding-top: 5px; font-weight: 400; color: #b9bbbc; font-size: 13px; } } -.promptImage { - float: right; - width: 50px; - height: 50px; - background: black; - margin: 10px; +.onClickOutside { + display: none; + width: 100vw; + height: 100vh; + position: absolute; + left: 0; + top: 0; } .divider { - margin-top: 10px; width: 100%; border-top: solid #dfdfdf 1px; - padding: 0px 20px; - float: left; } .providerBox { - float: left; - margin-top: 15px; width: 100%; - padding: 0px 13px; + padding: 10px; + display: none; + flex-direction: column; + position: absolute; + background-color: white; + border: 1px solid $borderColor; + box-shadow: $dropShadow; + top: -150px; + border-radius: $radius; + + grid-template-columns: repeat(1, 100% [col-start]); + grid-row-gap: 6px; + z-index: 1; .providerRow { width: 100%; - float:left; + float: left; padding-top: 15px; } .provider { - width: 50%; - min-height: 50px; - float: left; + width: 100%; + display: flex; + justify-content: flex-start; + align-items: center; + border-radius: $radius; + padding: 6px; &:hover { - cursor: pointer; - } + cursor: pointer; + background-color: $hoverBackground; + } .providerText { - padding: 10px 2px 0px 15px; - float: left; + padding-left: 15px; font-weight: 500; } .providerImage { - background-color: black; + background-color: transparent; width: 40px; height: 40px; - float: left; + border-radius: $radius; + object-fit: contain; } } } +.providerBox.open { + display: flex; +} + .spaceLine { width: 100%; - float: left; padding: 10px 10px; - .spaceName { - float:left; - } + .spaceName {} + .access { float: right; color: #2a4afe; @@ -217,13 +352,15 @@ float: right; padding: 6px 25px; } + .btnDecline { color: #2a4afe; float: left; margin: 7px; + &:hover { - cursor: pointer; - } + cursor: pointer; + } } } @@ -231,11 +368,42 @@ margin-top: 25px; } +.primaryButton { + background-color: $threeBoxBlue; + color: white; +} -#requestBox { - +.secondaryButton { + background-color: white; + border: none; } -#requestHeader { +#requestBox {} -} +#requestHeader {} + +@media only screen and (max-width: 600px) { + .card { + width: 100vw; + height: 100vh; + border: none; + justify-content: flex-start; + } + + .providerBox { + top: -110px; + } + + .content { + width: 100%; + height: 80%; + padding-top: 125px; + display: flex; + flex-direction: column; + justify-content: space-between; + } + + .walletSelect { + margin-bottom: 86px; + } +} \ No newline at end of file diff --git a/iframe/variables.scss b/iframe/variables.scss new file mode 100644 index 0000000..324d5c0 --- /dev/null +++ b/iframe/variables.scss @@ -0,0 +1,91 @@ +$navHeight: 70px; +$sideBarWidth: 200px; + +$inputPadding: 12px 14px; + +// // Brand Colors +$threeBoxBlue: #1168df; +$threeBoxBlueHover: #0950b0; + +$symbolGrey: #D8D8D8; + +$indexModalPreviewImageHeight: 100px; +$hoverBackground: #efefef; + +$hoverBackgroundDark: #e6e6e6; + +$editorBG: #4a4a4a; + +$radius: 5px; + +$threeBoxBlack: #181F21; +$threeBoxBlackHover: rgb(47, 56, 58); + +$messageBackground: #1167df29; +$blueBorderColor: #1167dfc6; + +$transition: all ease-in-out .3s; + +$sectionMargin: 40px; +// $threeBoxBlueDeep: #004AA8; +// $threeBoxBlueDeeper: #00357D; +// $threeBoxBlueLight: #CBDBEE; +// $threeBoxBlueLightTransparency: rgba(187, 218, 255, 0.493); + +// $threeBoxAccentBlue: #021333; +// $threeBoxAccentBlueHover: #254277; + +// // Brand Blue Hues +// $threeBoxBlueShade: #C5D7F2; +// $threeBoxBlueLightBG: rgb(242, 248, 255); +// $threeBoxBlueHue: rgb(251, 254, 255); +// $threeBoxBlueHueSecondary: #EDEEEF; + +// $threeBoxBlueLightShade: #EFF5FE; + +// $turquoise: #8CFFDE; +// $pink: #FF8AFF; +// $yellow: #FEFE69; + +// $backgroundGrey: rgb(248, 248, 248); +// $backgroundGreyDark: #dfdfdfa6; + +$backgroundHue: #F5F6FA; +$backgroundHueDark: #e0e2e8; +$backgroundHueDarkBorderColor: #c8cad2; +// $backgroundHue: rgb(245, 246, 248); + +$threeBoxRed: rgb(202, 50, 50); +// $threeBoxRedHover: rgb(155, 36, 36); +// $threeBoxGreen: rgb(103, 204, 125); + + +// // Font Colors +// $lightFont: #6b6b6b; +// $lightFontHover: #525252; +$lighterFont: #747677; +$lightestFont: #b1b1b1; + + +// $faintFont: #b8b8b8; +// $lightBlueFont: rgb(79, 117, 153); +// $medFont: #546983; + +$borderColor: rgb(225, 225, 225); +// $borderColorDark:#dcdcdc; + +// $feedTileGrey: rgb(249, 249, 249); + +// $defaultProfPic:#006ECC; + +$dropShadow: 0px 4px 10px 4px #00000025, +// 0 16px 24px 0 #0000002f; + +// $maxCommentWidth: 600px; +// $minCommentWidth: 300px; + +// $minCommentWidth-mobile: 260px; + +// $commentPictureDimension: 40px; + +// $commentPictureDimension-mobile: 50px; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index bfd6f15..254e1cf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -97,7 +97,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", - "dev": true, "requires": { "@babel/types": "^7.0.0" } @@ -196,7 +195,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", - "dev": true, "requires": { "@babel/types": "^7.0.0" } @@ -283,6 +281,11 @@ "@babel/types": "^7.4.0" } }, + "@babel/helper-validator-identifier": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz", + "integrity": "sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw==" + }, "@babel/helper-wrap-function": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", @@ -873,13 +876,30 @@ "version": "7.4.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.0.tgz", "integrity": "sha512-aPvkXyU2SPOnztlgo8n9cEiXW755mgyvueUPcpStqdzoSPm0fjO0vQBjLkt3JKJW7ufikfcnMTTPsN1xaTsBPA==", - "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.11", "to-fast-properties": "^2.0.0" } }, + "@emotion/is-prop-valid": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.7.3.tgz", + "integrity": "sha512-uxJqm/sqwXw3YPA5GXX365OBcJGFtxUVkB6WyezqFHlNe9jqUWH5ur2O2M8dGBz61kn1g3ZBlzUunFQXQIClhA==", + "requires": { + "@emotion/memoize": "0.7.1" + } + }, + "@emotion/memoize": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.1.tgz", + "integrity": "sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg==" + }, + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, "@ethersproject/abi": { "version": "5.0.0-beta.146", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.0-beta.146.tgz", @@ -1241,11 +1261,276 @@ "@ethersproject/strings": ">=5.0.0-beta.130" } }, + "@portis/eth-json-rpc-middleware": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@portis/eth-json-rpc-middleware/-/eth-json-rpc-middleware-4.1.2.tgz", + "integrity": "sha512-LUV0JgV6jphhfmYyElpFYfEzKhxaW2VYB/trWJK7+68s4PNyMMYR94hheXRh9T2lBomSVpdbySfYxjWVLAMKwA==", + "requires": { + "btoa": "^1.2.1", + "clone": "^2.1.1", + "eth-query": "^2.1.2", + "eth-sig-util": "^1.4.2", + "ethereumjs-block": "^1.6.0", + "ethereumjs-tx": "^1.3.3", + "ethereumjs-util": "^5.1.2", + "ethereumjs-vm": "2.2.2", + "fetch-ponyfill": "^4.0.0", + "json-rpc-engine": "^5.0.0", + "json-rpc-error": "^2.0.0", + "json-stable-stringify": "^1.0.1", + "pify": "^3.0.0", + "safe-event-emitter": "^1.0.1" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "ethereum-common": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.1.0.tgz", + "integrity": "sha1-h03Q+uXpYqVsUOvyjvpv45SSsOc=" + }, + "ethereumjs-vm": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.2.2.tgz", + "integrity": "sha512-sAus9UxYjUnA42G91Q1/hR7ff35IJRpcLrUfbaIH7V4cl8qKsNs3wqf3dHvtj3wRqy12ke2Wd0tYdARyGKdD6g==", + "requires": { + "async": "^2.1.2", + "async-eventemitter": "^0.2.2", + "ethereum-common": "0.1.0", + "ethereumjs-account": "^2.0.3", + "ethereumjs-block": "~1.6.0", + "ethereumjs-util": "4.5.0", + "fake-merkle-patricia-tree": "^1.0.1", + "functional-red-black-tree": "^1.0.1", + "merkle-patricia-tree": "^2.1.2", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "ethereumjs-block": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.6.0.tgz", + "integrity": "sha1-ze1JYt6soe7xc3K00pDoSzXIQ3I=", + "requires": { + "async": "^2.0.1", + "ethereum-common": "0.0.18", + "ethereumjs-tx": "^1.2.2", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + }, + "dependencies": { + "ethereum-common": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", + "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" + }, + "ethereumjs-util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", + "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "ethjs-util": "^0.1.3", + "keccak": "^1.0.2", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1", + "secp256k1": "^3.0.1" + } + } + } + }, + "ethereumjs-util": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz", + "integrity": "sha1-PpQosxfuvaPXJg2FT93alUsfG8Y=", + "requires": { + "bn.js": "^4.8.0", + "create-hash": "^1.1.2", + "keccakjs": "^0.2.0", + "rlp": "^2.0.0", + "secp256k1": "^3.0.1" + } + } + } + }, + "keccak": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", + "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "requires": { + "bindings": "^1.2.1", + "inherits": "^2.0.3", + "nan": "^2.2.1", + "safe-buffer": "^5.1.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "@portis/web3": { + "version": "2.0.0-beta.54", + "resolved": "https://registry.npmjs.org/@portis/web3/-/web3-2.0.0-beta.54.tgz", + "integrity": "sha512-BrhlbEXUEtlJhElXMI32S8q/2hzQpuGNRLsRxEURxonWkDMzK/CjtpKO2ACoJ205Y96lMH4S3xQB0Vuc8dC/WQ==", + "requires": { + "@portis/web3-provider-engine": "1.1.0", + "ethereumjs-util": "5.2.0", + "penpal": "3.0.7", + "pocket-js-core": "0.0.3" + } + }, + "@portis/web3-provider-engine": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@portis/web3-provider-engine/-/web3-provider-engine-1.1.0.tgz", + "integrity": "sha512-443QwQqgO/D0gEn7voMfo/dBc0SNzvJ4vVSOUJj1r2W9MsN3f5HeU2wDeXLc8bQryGsmemBxmghK/G+XQTXA6w==", + "requires": { + "@portis/eth-json-rpc-middleware": "^4.1.2", + "async": "^2.5.0", + "backoff": "^2.5.0", + "clone": "^2.0.0", + "cross-fetch": "^2.1.0", + "eth-block-tracker": "^4.2.0", + "eth-json-rpc-filters": "^4.0.2", + "eth-json-rpc-infura": "^3.1.0", + "eth-sig-util": "^1.4.2", + "ethereumjs-block": "^1.2.2", + "ethereumjs-tx": "^1.2.0", + "ethereumjs-util": "^5.1.5", + "ethereumjs-vm": "^2.3.4", + "json-rpc-error": "^2.0.0", + "json-stable-stringify": "^1.0.1", + "promise-to-callback": "^1.0.0", + "readable-stream": "^2.2.9", + "request": "^2.85.0", + "semaphore": "^1.0.3", + "ws": "^5.1.1", + "xhr": "^2.2.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "cross-fetch": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.3.tgz", + "integrity": "sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw==", + "requires": { + "node-fetch": "2.1.2", + "whatwg-fetch": "2.0.4" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + }, + "whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + } + } + }, + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "requires": { + "@types/node": "*" + } + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, "@types/node": { "version": "10.14.4", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.4.tgz", "integrity": "sha512-DT25xX/YgyPKiHFOpNuANIQIVvYEwCWXgK2jYYwqgaMrYE6+tq+DtmMwlD3drl6DJbUwtlIDnn0d7tIn/EbXBg==" }, + "@walletconnect/browser": { + "version": "1.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@walletconnect/browser/-/browser-1.0.0-beta.47.tgz", + "integrity": "sha512-FFT6zqdMIGjjWIFjRY1p/RPeUs5F21YzhrbsSemLyxlRumyQQ3Wotnq8mAKRWPHSzgXkg/GxbTAzIkxciMeuUg==", + "requires": { + "@walletconnect/core": "^1.0.0-beta.47", + "@walletconnect/types": "^1.0.0-beta.47", + "@walletconnect/utils": "^1.0.0-beta.47" + } + }, + "@walletconnect/core": { + "version": "1.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.0.0-beta.47.tgz", + "integrity": "sha512-PdwW9E6kjFnNt11GO2W9gHQY2EIPLYT7qTxN9ZPl1F38v5cWzZBpDQAPQ1QlcJ2kHpZ6V6QDDc/0heEaR//z0Q==", + "requires": { + "@walletconnect/types": "^1.0.0-beta.47", + "@walletconnect/utils": "^1.0.0-beta.47" + } + }, + "@walletconnect/qrcode-modal": { + "version": "1.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.0.0-beta.47.tgz", + "integrity": "sha512-FV3FDbbYeRsTarwWUq4pxjPNsmfZT5f+t8TIH1Uva23fiEG3PcjfWwXuGmoh4vADbtGx8ctO7hSs1Doegtd8KA==", + "requires": { + "qr-image": "3.2.0", + "qrcode-terminal": "0.12.0" + } + }, + "@walletconnect/types": { + "version": "1.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.0.0-beta.47.tgz", + "integrity": "sha512-lxjBiNLLDOsyEaoB1nlBDrgznV0477udMfN4zvEuv+bNL+dxH27yQI1mM1VqIKIhrEaibjswLJGaweEMzgynoQ==" + }, + "@walletconnect/utils": { + "version": "1.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.0.0-beta.47.tgz", + "integrity": "sha512-il8QKvf8AaYpW8xC9mjXBiOH8CkCeV5W7CZAIfVxuJ46WV4XyIAxhEKvF8zGWGKRjz4LjFj3r3l1nyrxeIkrMA==", + "requires": { + "@ethersproject/address": "5.0.0-beta.134", + "@ethersproject/bytes": "5.0.0-beta.136", + "@ethersproject/strings": "5.0.0-beta.136", + "@walletconnect/types": "^1.0.0-beta.47", + "bignumber.js": "9.0.0" + } + }, + "@walletconnect/web3-provider": { + "version": "1.0.0-beta.47", + "resolved": "https://registry.npmjs.org/@walletconnect/web3-provider/-/web3-provider-1.0.0-beta.47.tgz", + "integrity": "sha512-mbtmDdp/RmsJzB7kkIFGDvfhQ7vIDSsKBTvpD7GUzXDi15yvQTNt9Ak7OUOe/9N7AO9X9gBf0J/lE+yqoBUiXA==", + "requires": { + "@walletconnect/browser": "^1.0.0-beta.47", + "@walletconnect/qrcode-modal": "^1.0.0-beta.47", + "@walletconnect/types": "^1.0.0-beta.47", + "web3-provider-engine": "15.0.4", + "xhr2-cookies": "1.1.0" + } + }, "@webassemblyjs/ast": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", @@ -1434,6 +1719,20 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "abstract-leveldown": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", + "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", + "requires": { + "xtend": "~4.0.0" + } + }, "acorn": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", @@ -1461,7 +1760,6 @@ "version": "6.10.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -1472,13 +1770,17 @@ "ajv-errors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" }, "ajv-keywords": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", - "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", + "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==" + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, "ansi-escapes": { @@ -1490,8 +1792,7 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "3.2.1", @@ -1529,6 +1830,16 @@ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -1556,6 +1867,11 @@ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + }, "array-includes": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", @@ -1572,6 +1888,19 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, "asn1.js": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", @@ -1609,6 +1938,11 @@ } } }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -1618,8 +1952,7 @@ "async": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" }, "async-each": { "version": "1.0.2", @@ -1627,17 +1960,176 @@ "integrity": "sha512-6xrbvN0MOBKSJDdonmSSz2OwFSgxRaVtBDes26mj9KIGtDo+g9xosFRSC+i1gQh2oAN/tQ62AI/pGZGQjVOiRg==", "dev": true }, + "async-eventemitter": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", + "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "requires": { + "async": "^2.4.0" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + } + } + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, "atob": { "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 }, + "authereum": { + "version": "0.0.4-beta.129", + "resolved": "https://registry.npmjs.org/authereum/-/authereum-0.0.4-beta.129.tgz", + "integrity": "sha512-H9p4hmpsK7zITlDhI8xoEA/ZcSdU/7EDvh7++l916YX2wBZgkMNuQitDMS42/YrgtJ7mR77oXRiZqDZTnsPiXg==", + "requires": { + "async": "^3.1.0", + "ethereum-private-key-to-address": "0.0.3", + "ethers": "^4.0.36", + "eventemitter3": "^4.0.0", + "is-buffer": "^2.0.4", + "moment": "^2.24.0", + "penpal": "^4.1.1", + "pify": "^4.0.1", + "querystring": "^0.2.0", + "rollup-plugin-commonjs": "^10.1.0", + "store": "^2.0.12", + "to-hex": "0.0.11", + "uuidv4": "^6.0.6", + "web3-provider-engine": "^15.0.4", + "web3-utils": "^1.2.1" + }, + "dependencies": { + "async": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", + "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "ethers": { + "version": "4.0.46", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.46.tgz", + "integrity": "sha512-/dPMzzpInhtiip4hKFvsDiJKeRk64IhyA+Po7CtNXneQFSOCYXg8eBFt+jXbxUQyApgWnWOtYxWdfn9+CvvxDA==", + "requires": { + "aes-js": "3.0.0", + "bn.js": "^4.4.0", + "elliptic": "6.5.2", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==" + }, + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + }, + "penpal": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/penpal/-/penpal-4.1.1.tgz", + "integrity": "sha512-6d1f8khVLyBz3DnhLztbfjJ7+ANxdXRM2l6awpnCdEtbrmse4AGTsELOvGuNY0SU7xZw7heGbP6IikVvaVTOWw==" + } + } + }, + "await-semaphore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/await-semaphore/-/await-semaphore-0.1.3.tgz", + "integrity": "sha512-d1W2aNSYcz/sxYO4pMGX9vq65qOTu0P800epMud+6cYYX0QcT7zyqcxec3VWzpgvdXo57UWmVbZpLMjX2m1I7Q==" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" + }, + "axios": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", + "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + } + }, + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + } + } + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, "requires": { "chalk": "^1.1.3", "esutils": "^2.0.2", @@ -1647,14 +2139,12 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -1666,14 +2156,12 @@ "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -1681,8 +2169,7 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" } } }, @@ -1692,6 +2179,153 @@ "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", "dev": true }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "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.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + } + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, "babel-loader": { "version": "8.0.5", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.5.tgz", @@ -1704,34 +2338,618 @@ "util.promisify": "^1.0.0" } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "requires": { + "babel-runtime": "^6.22.0" + } }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "requires": { - "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": { - "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" + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-styled-components": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.7.tgz", + "integrity": "sha512-MBMHGcIA22996n9hZRf/UJLVVgkEOITuR2SvjHLb5dSTUyR4ZRGn+ngITapes36FI3WLxZHfRhkA1ffHxihOrg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-module-imports": "^7.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "lodash": "^4.17.11" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "requires": { + "regenerator-transform": "^0.10.0" + }, + "dependencies": { + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + } + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + }, + "dependencies": { + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + } + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "requires": { + "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" + }, + "dependencies": { + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.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" + } + }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "requires": { + "source-map": "^0.5.6" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "requires": { + "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": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "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.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + } + } + }, + "babelify": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz", + "integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=", + "requires": { + "babel-core": "^6.0.14", + "object-assign": "^4.0.0" + }, + "dependencies": { + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.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" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "backoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", + "integrity": "sha1-9hbtqdPktmuMp/ynn2lXIsX44m8=", + "requires": { + "precond": "0.2" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.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": { + "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" } }, "is-accessor-descriptor": { @@ -1783,11 +3001,25 @@ "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + }, + "dependencies": { + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + } + } + }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, "bignumber.js": { "version": "9.0.0", @@ -1800,11 +3032,36 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bip66": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", + "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, "blakejs": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, "bluebird": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", @@ -1832,7 +3089,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1876,7 +3132,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, "requires": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -1919,6 +3174,22 @@ "randombytes": "^2.0.1" } }, + "browserify-sha3": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.4.tgz", + "integrity": "sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY=", + "requires": { + "js-sha3": "^0.6.1", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "js-sha3": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.6.1.tgz", + "integrity": "sha1-W4n3enR3Z5h39YxKB1JAk0sflcA=" + } + } + }, "browserify-sign": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", @@ -1962,6 +3233,11 @@ "base-x": "^3.0.2" } }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" + }, "buffer": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", @@ -1976,14 +3252,17 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "buffer-to-arraybuffer": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", + "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "builtin-status-codes": { "version": "3.0.0", @@ -2051,11 +3330,37 @@ "integrity": "sha512-Y05ICatFYPAfykDIB7VdwSJ0LUl1yq/BwO2OpyGGLjiRe1fgzTwVypPiWnzkGFOVFHXrCXUNBl86bpjBhZWSJg==", "dev": true }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + } + } + }, + "camelize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", + "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" + }, "caniuse-lite": { "version": "1.0.30000955", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000955.tgz", - "integrity": "sha512-6AwmIKgqCYfDWWadRkAuZSHMQP4Mmy96xAXEdRBlN/luQhlRYOKgwOlZ9plpCOsVbBuqbTmGqDK3JUM/nlr8CA==", - "dev": true + "integrity": "sha512-6AwmIKgqCYfDWWadRkAuZSHMQP4Mmy96xAXEdRBlN/luQhlRYOKgwOlZ9plpCOsVbBuqbTmGqDK3JUM/nlr8CA==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "chalk": { "version": "2.4.2", @@ -2074,6 +3379,14 @@ "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", "dev": true }, + "checkpoint-store": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", + "integrity": "sha1-BOTLUWuRQziTWB5tRgGnjpVS6gY=", + "requires": { + "functional-red-black-tree": "^1.0.1" + } + }, "chokidar": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz", @@ -2124,7 +3437,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -2190,6 +3502,22 @@ "wrap-ansi": "^2.0.0" } }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -2227,6 +3555,14 @@ "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "dev": true }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commander": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", @@ -2247,14 +3583,12 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -2271,6 +3605,12 @@ "date-now": "^0.1.4" } }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -2287,11 +3627,15 @@ "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" } }, + "cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + }, "copy-concurrently": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", @@ -2339,8 +3683,7 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "corser": { "version": "2.0.1", @@ -2362,7 +3705,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, "requires": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -2375,7 +3717,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, "requires": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -2426,12 +3767,103 @@ "randomfill": "^1.0.3" } }, + "css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=" + }, + "css-loader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", + "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", + "dev": true, + "requires": { + "camelcase": "^5.2.0", + "icss-utils": "^4.1.0", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.14", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^2.0.6", + "postcss-modules-scope": "^2.1.0", + "postcss-modules-values": "^2.0.0", + "postcss-value-parser": "^3.3.0", + "schema-utils": "^1.0.0" + } + }, + "css-to-react-native": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.3.2.tgz", + "integrity": "sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==", + "requires": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^3.3.0" + } + }, + "css-to-string-loader": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/css-to-string-loader/-/css-to-string-loader-0.1.3.tgz", + "integrity": "sha1-yTcXXy7Hg5aa7+FKT7oFX3tPlWI=", + "dev": true, + "requires": { + "loader-utils": "^0.2.15" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + } + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "requires": { + "array-find-index": "^1.0.1" + } + }, "cyclist": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", "dev": true }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", @@ -2442,7 +3874,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -2456,14 +3887,56 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + } + } }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "dependencies": { + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + } + } }, "deep-is": { "version": "0.1.3", @@ -2471,11 +3944,18 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "deferred-leveldown": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", + "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", + "requires": { + "abstract-leveldown": "~2.6.0" + } + }, "define-properties": { "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": { "object-keys": "^1.0.12" } @@ -2521,6 +4001,11 @@ } } }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, "deglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/deglob/-/deglob-2.1.1.tgz", @@ -2543,6 +4028,17 @@ } } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, "delimit-stream": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", @@ -2564,6 +4060,14 @@ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", "dev": true }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "requires": { + "repeating": "^2.0.0" + } + }, "did-jwt": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-0.1.3.tgz", @@ -2635,12 +4139,35 @@ "esutils": "^2.0.2" } }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, + "dotignore": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz", + "integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==", + "requires": { + "minimatch": "^3.0.4" + } + }, + "drbg.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", + "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", + "requires": { + "browserify-aes": "^1.0.6", + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4" + } + }, "duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", @@ -2653,6 +4180,15 @@ "stream-shift": "^1.0.0" } }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, "ecstatic": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.1.tgz", @@ -2676,13 +4212,13 @@ "electron-to-chromium": { "version": "1.3.122", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.122.tgz", - "integrity": "sha512-3RKoIyCN4DhP2dsmleuFvpJAIDOseWH88wFYBzb22CSwoFDSWRc4UAMfrtc9h8nBdJjTNIN3rogChgOy6eFInw==", - "dev": true + "integrity": "sha512-3RKoIyCN4DhP2dsmleuFvpJAIDOseWH88wFYBzb22CSwoFDSWRc4UAMfrtc9h8nBdJjTNIN3rogChgOy6eFInw==" }, "elliptic": { "version": "6.3.3", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", + "dev": true, "requires": { "bn.js": "^4.4.0", "brorand": "^1.0.1", @@ -2693,14 +4229,20 @@ "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "~0.4.13" + } }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, "requires": { "once": "^1.4.0" } @@ -2725,7 +4267,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, "requires": { "prr": "~1.0.1" } @@ -2734,7 +4275,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -2767,8 +4307,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { "version": "5.4.0", @@ -3061,586 +4600,1221 @@ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", "dev": true }, + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" + }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "ethers": { - "version": "4.0.27", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.27.tgz", - "integrity": "sha512-+DXZLP/tyFnXWxqr2fXLT67KlGUfLuvDkHSOtSC9TUVG9OIj6yrG5JPeXRMYo15xkOYwnjgdMKrXp5V94rtjJA==", - "requires": { - "@types/node": "^10.3.2", - "aes-js": "3.0.0", - "bn.js": "^4.4.0", - "elliptic": "6.3.3", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", - "dev": true - }, - "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.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" - } - }, - "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" + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "eth-block-tracker": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz", + "integrity": "sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==", + "requires": { + "@babel/plugin-transform-runtime": "^7.5.5", + "@babel/runtime": "^7.5.5", + "eth-query": "^2.1.0", + "json-rpc-random-id": "^1.0.1", + "pify": "^3.0.0", + "safe-event-emitter": "^1.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, + "@babel/helper-module-imports": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", + "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", "requires": { - "is-descriptor": "^0.1.0" + "@babel/types": "^7.8.3" } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==" + }, + "@babel/plugin-transform-runtime": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.0.tgz", + "integrity": "sha512-pUu9VSf3kI1OqbWINQ7MaugnitRss1z533436waNXp+0N3ur3zfut37sXiQMxkuCF4VUjwZucen/quskCh7NHw==", "requires": { - "is-extendable": "^0.1.0" + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "resolve": "^1.8.1", + "semver": "^5.5.1" + } + }, + "@babel/runtime": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", + "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/types": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.0.tgz", + "integrity": "sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==", + "requires": { + "@babel/helper-validator-identifier": "^7.9.0", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" } } }, - "expand-tilde": { + "eth-json-rpc-errors": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, + "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-2.0.2.tgz", + "integrity": "sha512-uBCRM2w2ewusRHGxN8JhcuOb2RN3ueAOYH/0BhqdFmQkZx5lj5+fLKTz0mIVOzd4FG5/kUksCzCD7eTEim6gaA==", "requires": { - "homedir-polyfill": "^1.0.1" + "fast-safe-stringify": "^2.0.6" } }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, + "eth-json-rpc-filters": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-4.1.1.tgz", + "integrity": "sha512-GkXb2h6STznD+AmMzblwXgm1JMvjdK9PTIXG7BvIkTlXQ9g0QOxuU1iQRYHoslF9S30BYBSoLSisAYPdLggW+A==", "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "await-semaphore": "^0.1.3", + "eth-json-rpc-middleware": "^4.1.4", + "eth-query": "^2.1.2", + "json-rpc-engine": "^5.1.3", + "lodash.flatmap": "^4.5.0", + "safe-event-emitter": "^1.0.1" + } + }, + "eth-json-rpc-infura": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/eth-json-rpc-infura/-/eth-json-rpc-infura-3.2.1.tgz", + "integrity": "sha512-W7zR4DZvyTn23Bxc0EWsq4XGDdD63+XPUCEhV2zQvQGavDVC4ZpFDK4k99qN7bd7/fjj37+rxmuBOBeIqCA5Mw==", + "requires": { + "cross-fetch": "^2.1.1", + "eth-json-rpc-middleware": "^1.5.0", + "json-rpc-engine": "^3.4.0", + "json-rpc-error": "^2.0.0" }, "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "requires": { - "is-plain-object": "^2.0.4" + "lodash": "^4.17.14" } - } - } - }, - "external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "dev": true, - "requires": { - "chardet": "^0.4.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.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, + }, + "cross-fetch": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.3.tgz", + "integrity": "sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw==", "requires": { - "is-descriptor": "^1.0.0" + "node-fetch": "2.1.2", + "whatwg-fetch": "2.0.4" } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, + "eth-json-rpc-middleware": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz", + "integrity": "sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q==", "requires": { - "is-extendable": "^0.1.0" + "async": "^2.5.0", + "eth-query": "^2.1.2", + "eth-tx-summary": "^3.1.2", + "ethereumjs-block": "^1.6.0", + "ethereumjs-tx": "^1.3.3", + "ethereumjs-util": "^5.1.2", + "ethereumjs-vm": "^2.1.0", + "fetch-ponyfill": "^4.0.0", + "json-rpc-engine": "^3.6.0", + "json-rpc-error": "^2.0.0", + "json-stable-stringify": "^1.0.1", + "promise-to-callback": "^1.0.0", + "tape": "^4.6.3" } }, - "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, + "json-rpc-engine": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz", + "integrity": "sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA==", "requires": { - "kind-of": "^6.0.0" + "async": "^2.0.1", + "babel-preset-env": "^1.7.0", + "babelify": "^7.3.0", + "json-rpc-error": "^2.0.0", + "promise-to-callback": "^1.0.0", + "safe-event-emitter": "^1.0.1" } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + }, + "whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + } + } + }, + "eth-json-rpc-middleware": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-4.4.1.tgz", + "integrity": "sha512-yoSuRgEYYGFdVeZg3poWOwAlRI+MoBIltmOB86MtpoZjvLbou9EB/qWMOWSmH2ryCWLW97VYY6NWsmWm3OAA7A==", + "requires": { + "btoa": "^1.2.1", + "clone": "^2.1.1", + "eth-json-rpc-errors": "^1.0.1", + "eth-query": "^2.1.2", + "eth-sig-util": "^1.4.2", + "ethereumjs-block": "^1.6.0", + "ethereumjs-tx": "^1.3.7", + "ethereumjs-util": "^5.1.2", + "ethereumjs-vm": "^2.6.0", + "fetch-ponyfill": "^4.0.0", + "json-rpc-engine": "^5.1.3", + "json-stable-stringify": "^1.0.1", + "pify": "^3.0.0", + "safe-event-emitter": "^1.0.1" + }, + "dependencies": { + "eth-json-rpc-errors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-1.1.1.tgz", + "integrity": "sha512-WT5shJ5KfNqHi9jOZD+ID8I1kuYWNrigtZat7GOQkvwo99f8SzAVaEcWhJUv656WiZOAg3P1RiJQANtUmDmbIg==", "requires": { - "kind-of": "^6.0.0" + "fast-safe-stringify": "^2.0.6" } }, - "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, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "eth-lib": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", + "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + }, + "dependencies": { + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } } } }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, + "eth-query": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", + "integrity": "sha1-1nQdkAAQa1FRDHLbktY2VFam2l4=", "requires": { - "escape-string-regexp": "^1.0.5" + "json-rpc-random-id": "^1.0.0", + "xtend": "^4.0.1" } }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, + "eth-sig-util": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", + "integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=", "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", + "ethereumjs-util": "^5.1.1" } }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, + "eth-tx-summary": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/eth-tx-summary/-/eth-tx-summary-3.2.4.tgz", + "integrity": "sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg==", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "async": "^2.1.2", + "clone": "^2.0.0", + "concat-stream": "^1.5.1", + "end-of-stream": "^1.1.0", + "eth-query": "^2.0.2", + "ethereumjs-block": "^1.4.1", + "ethereumjs-tx": "^1.1.1", + "ethereumjs-util": "^5.0.1", + "ethereumjs-vm": "^2.6.0", + "through2": "^2.0.3" }, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "requires": { - "is-extendable": "^0.1.0" + "lodash": "^4.17.14" } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" } } }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, + "ethereum-bloom-filters": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.6.tgz", + "integrity": "sha512-dE9CGNzgOOsdh7msZirvv8qjHtnHpvBlKe2647kM8v+yeF71IRso55jpojemvHV+jMjr48irPWxMRaHuOWzAFA==", "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" + "js-sha3": "^0.8.0" + }, + "dependencies": { + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + } } }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true + "ethereum-checksum-address": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/ethereum-checksum-address/-/ethereum-checksum-address-0.0.2.tgz", + "integrity": "sha512-GAb7mPvGgcfi1j+Bsnwm9af9Z7dLUKp+5cFm88+kMrKACfh9gLatGLVVK5pSGEG2pOGfrmqCRcuh3RtMjIg8GQ==", + "requires": { + "keccak256": "^1.0.0", + "meow": "^5.0.0" + } }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, + "ethereum-common": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", + "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" + }, + "ethereum-private-key-to-address": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/ethereum-private-key-to-address/-/ethereum-private-key-to-address-0.0.3.tgz", + "integrity": "sha512-P+z9eFlgOezxogEpY1sQR155U4xFmQUWVxKzIJa5BL05Gs7zL0sYuyQuSAme8LBYGQ6p6AwconiMDauf4LbqyA==", "requires": { - "locate-path": "^3.0.0" + "ethereum-private-key-to-public-key": "0.0.2", + "ethereum-public-key-to-address": "0.0.1", + "meow": "^5.0.0" } }, - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", - "dev": true, + "ethereum-private-key-to-public-key": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/ethereum-private-key-to-public-key/-/ethereum-private-key-to-public-key-0.0.2.tgz", + "integrity": "sha512-WKwFspLS5IdpV1rBUmWSG2xtIDV7YMpAG/uSjtV9kDzBU6hpSzoqg6R/e1iEfHkOr/eae+NtDTpwzXRtSMDvhw==", "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" + "meow": "^5.0.0", + "secp256k1": "^3.7.1" + } + }, + "ethereum-public-key-to-address": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/ethereum-public-key-to-address/-/ethereum-public-key-to-address-0.0.1.tgz", + "integrity": "sha512-X78x/VBluHUdrYpZunoXJ48luXTaUiUK4ImPjTjI+XiS24+jUR5WFCpm9wCNbLYP6/ZCJ+lwuYormXSjt8rrbw==", + "requires": { + "ethereum-checksum-address": "0.0.2", + "keccak256": "^1.0.0", + "meow": "^5.0.0", + "secp256k1": "^3.7.1" + } + }, + "ethereumjs-abi": { + "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#1cfbb13862f90f0b391d8a699544d5fe4dfb8c7b", + "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git", + "requires": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" }, "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" + "ethereumjs-util": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", + "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "ethjs-util": "0.1.6", + "keccak": "^2.0.0", + "rlp": "^2.2.3", + "secp256k1": "^3.0.1" } } } }, - "flat-cache": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", - "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", - "dev": true, - "requires": { - "circular-json": "^0.3.1", - "graceful-fs": "^4.1.2", - "rimraf": "~2.6.2", - "write": "^0.2.1" - } - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, + "ethereumjs-account": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", + "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "ethereumjs-util": "^5.0.0", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" } }, - "follow-redirects": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz", - "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==", - "dev": true, + "ethereumjs-block": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", + "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", "requires": { - "debug": "^3.2.6" + "async": "^2.0.1", + "ethereum-common": "0.2.0", + "ethereumjs-tx": "^1.2.2", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" }, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "requires": { - "ms": "^2.1.1" + "lodash": "^4.17.14" } }, - "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 + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" } } }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "ethereumjs-common": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.5.0.tgz", + "integrity": "sha512-SZOjgK1356hIY7MRj3/ma5qtfr/4B5BL+G4rP/XSMYr2z1H5el4RX5GReYCKmQmYI/nSBmRnwrZ17IfHuG0viQ==" }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, + "ethereumjs-tx": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", + "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", "requires": { - "map-cache": "^0.2.2" + "ethereum-common": "^0.0.18", + "ethereumjs-util": "^5.0.0" + }, + "dependencies": { + "ethereum-common": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", + "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" + } } }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, + "ethereumjs-util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", + "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "ethjs-util": "^0.1.3", + "keccak": "^1.0.2", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1", + "secp256k1": "^3.0.1" + }, + "dependencies": { + "keccak": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", + "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "requires": { + "bindings": "^1.2.1", + "inherits": "^2.0.3", + "nan": "^2.2.1", + "safe-buffer": "^5.1.0" + } + } } }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "ethereumjs-vm": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz", + "integrity": "sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==", + "requires": { + "async": "^2.1.2", + "async-eventemitter": "^0.2.2", + "ethereumjs-account": "^2.0.3", + "ethereumjs-block": "~2.2.0", + "ethereumjs-common": "^1.1.0", + "ethereumjs-util": "^6.0.0", + "fake-merkle-patricia-tree": "^1.0.1", + "functional-red-black-tree": "^1.0.1", + "merkle-patricia-tree": "^2.3.2", + "rustbn.js": "~0.2.0", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "ethereumjs-block": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz", + "integrity": "sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==", + "requires": { + "async": "^2.0.1", + "ethereumjs-common": "^1.5.0", + "ethereumjs-tx": "^2.1.1", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + }, + "dependencies": { + "ethereumjs-util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", + "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "ethjs-util": "^0.1.3", + "keccak": "^1.0.2", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1", + "secp256k1": "^3.0.1" + } + }, + "keccak": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", + "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "requires": { + "bindings": "^1.2.1", + "inherits": "^2.0.3", + "nan": "^2.2.1", + "safe-buffer": "^5.1.0" + } + } + } + }, + "ethereumjs-tx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz", + "integrity": "sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==", + "requires": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, + "ethereumjs-util": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", + "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "ethjs-util": "0.1.6", + "keccak": "^2.0.0", + "rlp": "^2.2.3", + "secp256k1": "^3.0.1" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + } + } + }, + "ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", + "requires": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } + }, + "eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", "dev": true }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "fs.realpath": { + "execa": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.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" + } }, - "fsevents": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", - "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", + "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, - "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "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": { - "abbrev": { - "version": "1.1.1", - "bundled": true, + "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, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true + "requires": { + "is-descriptor": "^0.1.0" + } }, - "aproba": { - "version": "1.2.0", - "bundled": true, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, - "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "is-plain-object": "^2.0.4" } - }, - "balanced-match": { + } + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "^0.4.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.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { "version": "1.0.0", - "bundled": true, - "dev": true + "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" + } }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, + "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": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "is-extendable": "^0.1.0" } }, - "chownr": { - "version": "1.1.1", - "bundled": true, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, - "optional": true + "requires": { + "kind-of": "^6.0.0" + } }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { + "is-descriptor": { "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, - "optional": true, "requires": { - "ms": "2.0.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fake-merkle-patricia-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz", + "integrity": "sha1-S4w6z7Ugr635hgsfFM2M40As3dM=", + "requires": { + "checkpoint-store": "^1.1.0" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" + }, + "fetch-ponyfill": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz", + "integrity": "sha1-rjzl9zLGReq4fkroeTQUcJsjmJM=", + "requires": { + "node-fetch": "~1.7.1" + }, + "dependencies": { + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "minipass": "^2.2.1" + "encoding": "^0.1.11", + "is-stream": "^1.0.1" } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, + } + } + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "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, - "optional": true, "requires": { - "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" + "is-extendable": "^0.1.0" } - }, - "glob": { - "version": "7.1.3", - "bundled": true, + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, - "optional": true, "requires": { - "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" + "is-extglob": "^2.1.0" } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, + } + } + }, + "flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz", + "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==", + "dev": true, + "requires": { + "debug": "^3.2.6" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, - "optional": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "ms": "^2.1.1" } }, - "ignore-walk": { - "version": "3.0.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 + } + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fortmatic": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fortmatic/-/fortmatic-2.0.6.tgz", + "integrity": "sha512-/xT4QpZ3YxqTq6sSHMYw1rzApoHEQVJs8+gADDL39SVccEmBtCuHJIrztgasC8fAgrQkjTCWjDBlKtU/ChMyrA==" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", + "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.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": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "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": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", "bundled": true, "dev": true, "optional": true, @@ -3661,7 +5835,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -3673,6 +5848,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3687,6 +5863,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -3694,12 +5871,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -3718,6 +5897,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -3798,7 +5978,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -3810,6 +5991,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -3895,7 +6077,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -3931,6 +6114,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3950,6 +6134,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -3993,26 +6178,94 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.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" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } }, "get-caller-file": { "version": "1.0.3", @@ -4041,6 +6294,14 @@ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, "glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", @@ -4076,6 +6337,22 @@ } } }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "requires": { + "min-document": "^2.19.0", + "process": "~0.5.1" + }, + "dependencies": { + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + } + } + }, "global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", @@ -4106,17 +6383,48 @@ "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", "dev": true }, + "globule": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", + "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.12", + "minimatch": "~3.0.2" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } + } + }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", - "dev": true + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -4125,7 +6433,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -4133,13 +6440,17 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true }, "has-value": { @@ -4178,7 +6489,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -4209,6 +6519,15 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, "homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", @@ -4221,8 +6540,7 @@ "hosted-git-info": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "dev": true + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" }, "http-proxy": { "version": "1.17.0", @@ -4251,6 +6569,16 @@ "union": "~0.4.3" } }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", @@ -4261,11 +6589,25 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, "identity-wallet": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/identity-wallet/-/identity-wallet-1.1.1.tgz", @@ -4313,6 +6655,11 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, + "immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" + }, "import-local": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", @@ -4329,6 +6676,23 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, + "in-publish": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", + "dev": true + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", @@ -4339,7 +6703,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -4377,11 +6740,6 @@ "through": "^2.3.6" } }, - "install": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", - "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==" - }, "interpret": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", @@ -4392,7 +6750,6 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, "requires": { "loose-envify": "^1.0.0" } @@ -4440,11 +6797,15 @@ } } }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-binary-path": { "version": "1.0.1", @@ -4464,8 +6825,7 @@ "is-callable": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" }, "is-circular": { "version": "1.0.2", @@ -4495,8 +6855,7 @@ "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" }, "is-descriptor": { "version": "0.1.6", @@ -4529,12 +6888,27 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + }, + "is-fn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fn/-/is-fn-1.0.0.tgz", + "integrity": "sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw=" + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", @@ -4544,6 +6918,11 @@ "is-extglob": "^2.1.1" } }, + "is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -4567,8 +6946,7 @@ "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" }, "is-plain-object": { "version": "2.0.4", @@ -4585,11 +6963,18 @@ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, + "is-reference": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.4.tgz", + "integrity": "sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw==", + "requires": { + "@types/estree": "0.0.39" + } + }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, "requires": { "has": "^1.0.1" } @@ -4603,18 +6988,27 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "is-symbol": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, "requires": { "has-symbols": "^1.0.0" } }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -4624,8 +7018,7 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", @@ -4644,6 +7037,17 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "js-base64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz", + "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==", + "dev": true + }, "js-levenshtein": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", @@ -4663,8 +7067,7 @@ "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 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.13.0", @@ -4676,6 +7079,11 @@ "esprima": "^4.0.0" } }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -4685,14 +7093,64 @@ "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-rpc-engine": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-5.1.8.tgz", + "integrity": "sha512-vTBSDEPJV1fPAsbm2g5sEuPjsgLdiab2f1CTn2PyRr8nxggUpA996PDlNQDsM0gnrA99F8KIBLq2nIKrOFl1Mg==", + "requires": { + "async": "^2.0.1", + "eth-json-rpc-errors": "^2.0.1", + "promise-to-callback": "^1.0.0", + "safe-event-emitter": "^1.0.1" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + } + } + }, + "json-rpc-error": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/json-rpc-error/-/json-rpc-error-2.0.0.tgz", + "integrity": "sha1-p6+cICg4tekFxyUOVH8a/3cligI=", + "requires": { + "inherits": "^2.0.1" + } + }, + "json-rpc-random-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", + "integrity": "sha1-uknZat7RRE27jaPSA3SKy7zeyMg=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "requires": { + "jsonify": "~0.0.0" + } }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -4700,6 +7158,11 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, "json-text-sequence": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", @@ -4725,6 +7188,22 @@ } } }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, "jsx-ast-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", @@ -4734,6 +7213,65 @@ "array-includes": "^3.0.3" } }, + "keccak": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", + "integrity": "sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q==", + "requires": { + "bindings": "^1.5.0", + "inherits": "^2.0.4", + "nan": "^2.14.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + } + } + }, + "keccak256": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/keccak256/-/keccak256-1.0.0.tgz", + "integrity": "sha512-8qv2vJdQk+Aa2tFXo8zYodm+6DgXqUOqvNJhj1p1V2pxQJT1oNKxNF+zWfhtKXNLZdLvyxjB/dvd9GwcvTHSQQ==", + "requires": { + "bn.js": "^4.11.8", + "keccak": "^1.4.0" + }, + "dependencies": { + "keccak": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", + "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "requires": { + "bindings": "^1.2.1", + "inherits": "^2.0.3", + "nan": "^2.2.1", + "safe-buffer": "^5.1.0" + } + } + } + }, + "keccakjs": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.3.tgz", + "integrity": "sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg==", + "requires": { + "browserify-sha3": "^0.0.4", + "sha3": "^1.2.2" + } + }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", @@ -4749,47 +7287,159 @@ "invert-kv": "^2.0.0" } }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, + "level-codec": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", + "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" + }, + "level-errors": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", + "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "errno": "~0.1.1" } }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, + "level-iterator-stream": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", + "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" }, "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" } } }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, + "level-ws": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", + "integrity": "sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos=", + "requires": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "levelup": { + "version": "1.3.9", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", + "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", + "requires": { + "deferred-leveldown": "~1.2.1", + "level-codec": "~7.0.0", + "level-errors": "~1.0.3", + "level-iterator-stream": "~1.3.0", + "prr": "~1.0.1", + "semver": "~5.4.1", + "xtend": "~4.0.0" + }, + "dependencies": { + "semver": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + } + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, "loader-utils": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^2.0.0", @@ -4800,7 +7450,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, "requires": { "minimist": "^1.2.0" } @@ -4808,8 +7457,7 @@ "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } }, @@ -4826,18 +7474,30 @@ "lodash": { "version": "4.17.11", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, + "lodash.flatmap": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz", + "integrity": "sha1-74y/QI9uSCaGYzRTBcaswLd4cC4=" }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -4847,6 +7507,19 @@ "yallist": "^3.0.2" } }, + "ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -4878,6 +7551,11 @@ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=" + }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -4891,7 +7569,6 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -4917,6 +7594,34 @@ } } }, + "memdown": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", + "integrity": "sha1-tOThkhdGZP+65BNhqlAPMRnv4hU=", + "requires": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", + "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", + "requires": { + "xtend": "~4.0.0" + } + } + } + }, + "memoize-one": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.1.1.tgz", + "integrity": "sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==" + }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", @@ -4927,6 +7632,142 @@ "readable-stream": "^2.0.1" } }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", + "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0", + "yargs-parser": "^10.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "merkle-patricia-tree": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", + "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", + "requires": { + "async": "^1.4.2", + "ethereumjs-util": "^5.0.0", + "level-ws": "0.0.0", + "levelup": "^1.2.1", + "memdown": "^1.0.0", + "readable-stream": "^2.0.0", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + } + }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -4964,12 +7805,38 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "requires": { + "mime-db": "1.43.0" + } + }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "^0.1.0" + } + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -4984,7 +7851,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -4992,8 +7858,16 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } }, "mississippi": { "version": "3.0.0", @@ -5038,11 +7912,15 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" } }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -5060,8 +7938,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "multibase": { "version": "0.6.0", @@ -5131,9 +8008,7 @@ "nan": { "version": "2.13.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", - "dev": true, - "optional": true + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" }, "nanoid": { "version": "2.1.11", @@ -5182,6 +8057,34 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, "node-libs-browser": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", @@ -5230,3128 +8133,298 @@ "semver": "^5.3.0" } }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "node-sass": { + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz", + "integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.0.tgz", - "integrity": "sha512-OgfdLadz7j6dikbpaimmLzMxwLKbXthQXHiJwtegorwtBVnhecfUeYkHopwd5ICaiClQnqlYQCHERXDiYK3Jcw==", - "requires": { - "JSONStream": "^1.3.5", - "abbrev": "~1.1.1", - "ansicolors": "~0.3.2", - "ansistyles": "~0.1.3", - "aproba": "^2.0.0", - "archy": "~1.0.0", - "bin-links": "^1.1.7", - "bluebird": "^3.5.5", - "byte-size": "^5.0.1", - "cacache": "^12.0.3", - "call-limit": "^1.1.1", - "chownr": "^1.1.4", - "ci-info": "^2.0.0", - "cli-columns": "^3.1.2", - "cli-table3": "^0.5.1", - "cmd-shim": "^3.0.3", - "columnify": "~1.5.4", - "config-chain": "^1.1.12", - "debuglog": "*", - "detect-indent": "~5.0.0", - "detect-newline": "^2.1.0", - "dezalgo": "~1.0.3", - "editor": "~1.0.0", - "figgy-pudding": "^3.5.1", - "find-npm-prefix": "^1.0.2", - "fs-vacuum": "~1.2.10", - "fs-write-stream-atomic": "~1.0.10", - "gentle-fs": "^2.3.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.3", - "has-unicode": "~2.0.1", - "hosted-git-info": "^2.8.6", - "iferr": "^1.0.2", - "imurmurhash": "*", - "infer-owner": "^1.0.4", - "inflight": "~1.0.6", - "inherits": "^2.0.4", - "ini": "^1.3.5", - "init-package-json": "^1.10.3", - "is-cidr": "^3.0.0", - "json-parse-better-errors": "^1.0.2", - "lazy-property": "~1.0.0", - "libcipm": "^4.0.7", - "libnpm": "^3.0.1", - "libnpmaccess": "^3.0.2", - "libnpmhook": "^5.0.3", - "libnpmorg": "^1.0.1", - "libnpmsearch": "^2.0.2", - "libnpmteam": "^1.0.2", - "libnpx": "^10.2.2", - "lock-verify": "^2.1.0", - "lockfile": "^1.0.4", - "lodash._baseindexof": "*", - "lodash._baseuniq": "~4.6.0", - "lodash._bindcallback": "*", - "lodash._cacheindexof": "*", - "lodash._createcache": "*", - "lodash._getnative": "*", - "lodash.clonedeep": "~4.5.0", - "lodash.restparam": "*", - "lodash.union": "~4.6.0", - "lodash.uniq": "~4.5.0", - "lodash.without": "~4.4.0", - "lru-cache": "^5.1.1", - "meant": "~1.0.1", - "mississippi": "^3.0.0", - "mkdirp": "~0.5.1", - "move-concurrently": "^1.0.1", - "node-gyp": "^5.0.7", - "nopt": "~4.0.1", - "normalize-package-data": "^2.5.0", - "npm-audit-report": "^1.3.2", - "npm-cache-filename": "~1.0.2", - "npm-install-checks": "^3.0.2", - "npm-lifecycle": "^3.1.4", - "npm-package-arg": "^6.1.1", - "npm-packlist": "^1.4.8", - "npm-pick-manifest": "^3.0.2", - "npm-profile": "^4.0.2", - "npm-registry-fetch": "^4.0.3", - "npm-user-validate": "~1.0.0", - "npmlog": "~4.1.2", - "once": "~1.4.0", - "opener": "^1.5.1", - "osenv": "^0.1.5", - "pacote": "^9.5.12", - "path-is-inside": "~1.0.2", - "promise-inflight": "~1.0.1", - "qrcode-terminal": "^0.12.0", - "query-string": "^6.8.2", - "qw": "~1.0.1", - "read": "~1.0.7", - "read-cmd-shim": "^1.0.5", - "read-installed": "~4.0.3", - "read-package-json": "^2.1.1", - "read-package-tree": "^5.3.1", - "readable-stream": "^3.6.0", - "readdir-scoped-modules": "^1.1.0", + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", "request": "^2.88.0", - "retry": "^0.12.0", - "rimraf": "^2.6.3", - "safe-buffer": "^5.1.2", - "semver": "^5.7.1", - "sha": "^3.0.0", - "slide": "~1.1.6", - "sorted-object": "~2.0.1", - "sorted-union-stream": "~2.1.3", - "ssri": "^6.0.1", - "stringify-package": "^1.0.1", - "tar": "^4.4.13", - "text-table": "~0.2.0", - "tiny-relative-date": "^1.3.0", - "uid-number": "0.0.6", - "umask": "~1.1.0", - "unique-filename": "^1.1.1", - "unpipe": "~1.0.0", - "update-notifier": "^2.5.0", - "uuid": "^3.3.3", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "~3.0.0", - "which": "^1.3.1", - "worker-farm": "^1.7.0", - "write-file-atomic": "^2.4.3" + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" }, "dependencies": { - "JSONStream": { - "version": "1.3.5", - "bundled": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true }, - "abbrev": { - "version": "1.1.1", - "bundled": true - }, - "agent-base": { - "version": "4.3.0", - "bundled": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "agentkeepalive": { - "version": "3.5.2", - "bundled": true, - "requires": { - "humanize-ms": "^1.2.1" - } - }, - "ajv": { - "version": "5.5.2", - "bundled": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "ansi-align": { - "version": "2.0.0", - "bundled": true, - "requires": { - "string-width": "^2.0.0" - } - }, - "ansi-regex": { + "camelcase": { "version": "2.1.1", - "bundled": true - }, - "ansi-styles": { - "version": "3.2.1", - "bundled": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "ansicolors": { - "version": "0.3.2", - "bundled": true - }, - "ansistyles": { - "version": "0.1.3", - "bundled": true - }, - "aproba": { - "version": "2.0.0", - "bundled": true - }, - "archy": { - "version": "1.0.0", - "bundled": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "requires": { - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "asap": { - "version": "2.0.6", - "bundled": true - }, - "asn1": { - "version": "0.2.4", - "bundled": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "bundled": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true - }, - "aws-sign2": { - "version": "0.7.0", - "bundled": true - }, - "aws4": { - "version": "1.8.0", - "bundled": true - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "bundled": true, - "optional": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bin-links": { - "version": "1.1.7", - "bundled": true, - "requires": { - "bluebird": "^3.5.3", - "cmd-shim": "^3.0.0", - "gentle-fs": "^2.3.0", - "graceful-fs": "^4.1.15", - "npm-normalize-package-bin": "^1.0.0", - "write-file-atomic": "^2.3.0" - } - }, - "bluebird": { - "version": "3.5.5", - "bundled": true - }, - "boxen": { - "version": "1.3.0", - "bundled": true, - "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" - } - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer-from": { - "version": "1.0.0", - "bundled": true - }, - "builtins": { - "version": "1.0.3", - "bundled": true - }, - "byline": { - "version": "5.0.0", - "bundled": true - }, - "byte-size": { - "version": "5.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true }, - "cacache": { - "version": "12.0.3", - "bundled": true, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, - "call-limit": { - "version": "1.1.1", - "bundled": true - }, - "camelcase": { - "version": "4.1.0", - "bundled": true - }, - "capture-stack-trace": { - "version": "1.0.0", - "bundled": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true - }, "chalk": { - "version": "2.4.1", - "bundled": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chownr": { - "version": "1.1.4", - "bundled": true - }, - "ci-info": { - "version": "2.0.0", - "bundled": true - }, - "cidr-regex": { - "version": "2.0.10", - "bundled": true, - "requires": { - "ip-regex": "^2.1.0" - } - }, - "cli-boxes": { - "version": "1.0.0", - "bundled": true - }, - "cli-columns": { - "version": "3.1.2", - "bundled": true, - "requires": { - "string-width": "^2.0.0", - "strip-ansi": "^3.0.1" - } - }, - "cli-table3": { - "version": "0.5.1", - "bundled": true, - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - } - }, - "cliui": { - "version": "4.1.0", - "bundled": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "bundled": true - }, - "cmd-shim": { - "version": "3.0.3", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2", - "mkdirp": "~0.5.0" - } - }, - "co": { - "version": "4.6.0", - "bundled": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "color-convert": { - "version": "1.9.1", - "bundled": true, - "requires": { - "color-name": "^1.1.1" - } - }, - "color-name": { "version": "1.1.3", - "bundled": true - }, - "colors": { - "version": "1.3.3", - "bundled": true, - "optional": true - }, - "columnify": { - "version": "1.5.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", "strip-ansi": "^3.0.0", - "wcwidth": "^1.0.0" - } - }, - "combined-stream": { - "version": "1.0.6", - "bundled": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "concat-stream": { - "version": "1.6.2", - "bundled": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "requires": { - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "config-chain": { - "version": "1.1.12", - "bundled": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "configstore": { - "version": "3.1.2", - "bundled": true, - "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" - } - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "copy-concurrently": { - "version": "1.0.5", - "bundled": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "aproba": { - "version": "1.2.0", - "bundled": true - }, - "iferr": { - "version": "0.1.5", - "bundled": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "create-error-class": { - "version": "3.0.2", - "bundled": true, - "requires": { - "capture-stack-trace": "^1.0.0" + "supports-color": "^2.0.0" } }, "cross-spawn": { - "version": "5.1.0", - "bundled": true, + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, "requires": { "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", "which": "^1.2.9" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.5", - "bundled": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "bundled": true - } - } - }, - "crypto-random-string": { - "version": "1.0.0", - "bundled": true - }, - "cyclist": { - "version": "0.2.2", - "bundled": true - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "requires": { - "assert-plus": "^1.0.0" } }, - "debug": { - "version": "3.1.0", - "bundled": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true - } - } - }, - "debuglog": { - "version": "1.0.1", - "bundled": true - }, - "decamelize": { - "version": "1.2.0", - "bundled": true - }, - "decode-uri-component": { - "version": "0.2.0", - "bundled": true - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true - }, - "defaults": { - "version": "1.0.3", - "bundled": true, - "requires": { - "clone": "^1.0.2" - } - }, - "define-properties": { - "version": "1.1.3", - "bundled": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true - }, - "detect-indent": { - "version": "5.0.0", - "bundled": true - }, - "detect-newline": { - "version": "2.1.0", - "bundled": true - }, - "dezalgo": { - "version": "1.0.3", - "bundled": true, - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "dot-prop": { - "version": "4.2.0", - "bundled": true, - "requires": { - "is-obj": "^1.0.0" - } - }, - "dotenv": { - "version": "5.0.1", - "bundled": true - }, - "duplexer3": { - "version": "0.1.4", - "bundled": true - }, - "duplexify": { - "version": "3.6.0", - "bundled": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "requires": { - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "editor": { - "version": "1.0.0", - "bundled": true - }, - "encoding": { - "version": "0.1.12", - "bundled": true, - "requires": { - "iconv-lite": "~0.4.13" - } - }, - "end-of-stream": { - "version": "1.4.1", - "bundled": true, - "requires": { - "once": "^1.4.0" - } - }, - "env-paths": { - "version": "2.2.0", - "bundled": true - }, - "err-code": { - "version": "1.1.2", - "bundled": true - }, - "errno": { - "version": "0.1.7", - "bundled": true, - "requires": { - "prr": "~1.0.1" - } - }, - "es-abstract": { - "version": "1.12.0", - "bundled": true, - "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "bundled": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es6-promise": { - "version": "4.2.8", - "bundled": true - }, - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true - }, - "execa": { - "version": "0.7.0", - "bundled": true, - "requires": { - "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" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "bundled": true - } - } - }, - "extend": { - "version": "3.0.2", - "bundled": true - }, - "extsprintf": { - "version": "1.3.0", - "bundled": true - }, - "fast-deep-equal": { - "version": "1.1.0", - "bundled": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "bundled": true - }, - "figgy-pudding": { - "version": "3.5.1", - "bundled": true - }, - "find-npm-prefix": { - "version": "1.0.2", - "bundled": true - }, "find-up": { - "version": "2.1.0", - "bundled": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "flush-write-stream": { - "version": "1.0.3", - "bundled": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "requires": { - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true - }, - "form-data": { - "version": "2.3.2", - "bundled": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "1.0.6", - "mime-types": "^2.1.12" - } - }, - "from2": { - "version": "2.3.0", - "bundled": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "requires": { - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs-minipass": { - "version": "1.2.7", - "bundled": true, - "requires": { - "minipass": "^2.6.0" - }, - "dependencies": { - "minipass": { - "version": "2.9.0", - "bundled": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - } - } - }, - "fs-vacuum": { - "version": "1.2.10", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2", - "path-is-inside": "^1.0.1", - "rimraf": "^2.5.2" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - }, - "dependencies": { - "iferr": { - "version": "0.1.5", - "bundled": true - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "requires": { - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "function-bind": { - "version": "1.1.1", - "bundled": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "requires": { - "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" - }, - "dependencies": { - "aproba": { - "version": "1.2.0", - "bundled": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "genfun": { - "version": "5.0.0", - "bundled": true - }, - "gentle-fs": { - "version": "2.3.0", - "bundled": true, - "requires": { - "aproba": "^1.1.2", - "chownr": "^1.1.2", - "cmd-shim": "^3.0.3", - "fs-vacuum": "^1.2.10", - "graceful-fs": "^4.1.11", - "iferr": "^0.1.5", - "infer-owner": "^1.0.4", - "mkdirp": "^0.5.1", - "path-is-inside": "^1.0.2", - "read-cmd-shim": "^1.0.1", - "slide": "^1.1.6" - }, - "dependencies": { - "aproba": { - "version": "1.2.0", - "bundled": true - }, - "iferr": { - "version": "0.1.5", - "bundled": true - } - } - }, - "get-caller-file": { - "version": "1.0.3", - "bundled": true - }, - "get-stream": { - "version": "4.1.0", - "bundled": true, - "requires": { - "pump": "^3.0.0" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.4", - "bundled": true, - "requires": { - "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" - } - }, - "global-dirs": { - "version": "0.1.1", - "bundled": true, - "requires": { - "ini": "^1.3.4" - } - }, - "got": { - "version": "6.7.1", - "bundled": true, - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "bundled": true - } - } - }, - "graceful-fs": { - "version": "4.2.3", - "bundled": true - }, - "har-schema": { - "version": "2.0.0", - "bundled": true - }, - "har-validator": { - "version": "5.1.0", - "bundled": true, - "requires": { - "ajv": "^5.3.0", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "bundled": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "bundled": true - }, - "has-symbols": { - "version": "1.0.0", - "bundled": true - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true - }, - "hosted-git-info": { - "version": "2.8.6", - "bundled": true - }, - "http-cache-semantics": { - "version": "3.8.1", - "bundled": true - }, - "http-proxy-agent": { - "version": "2.1.0", - "bundled": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - } - }, - "http-signature": { - "version": "1.2.0", - "bundled": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-proxy-agent": { - "version": "2.2.4", - "bundled": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - } - }, - "humanize-ms": { - "version": "1.2.1", - "bundled": true, - "requires": { - "ms": "^2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.23", - "bundled": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "iferr": { - "version": "1.0.2", - "bundled": true - }, - "ignore-walk": { - "version": "3.0.3", - "bundled": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "import-lazy": { - "version": "2.1.0", - "bundled": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true - }, - "infer-owner": { - "version": "1.0.4", - "bundled": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "bundled": true - }, - "ini": { - "version": "1.3.5", - "bundled": true - }, - "init-package-json": { - "version": "1.10.3", - "bundled": true, - "requires": { - "glob": "^7.1.1", - "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", - "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "1 || 2", - "semver": "2.x || 3.x || 4 || 5", - "validate-npm-package-license": "^3.0.1", - "validate-npm-package-name": "^3.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "bundled": true - }, - "ip": { - "version": "1.1.5", - "bundled": true - }, - "ip-regex": { - "version": "2.1.0", - "bundled": true - }, - "is-callable": { - "version": "1.1.4", - "bundled": true - }, - "is-ci": { - "version": "1.1.0", - "bundled": true, - "requires": { - "ci-info": "^1.0.0" - }, - "dependencies": { - "ci-info": { - "version": "1.6.0", - "bundled": true - } - } - }, - "is-cidr": { - "version": "3.0.0", - "bundled": true, - "requires": { - "cidr-regex": "^2.0.10" - } - }, - "is-date-object": { - "version": "1.0.1", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-installed-globally": { - "version": "0.1.0", - "bundled": true, - "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" - } - }, - "is-npm": { - "version": "1.0.0", - "bundled": true - }, - "is-obj": { - "version": "1.0.1", - "bundled": true - }, - "is-path-inside": { - "version": "1.0.1", - "bundled": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-redirect": { - "version": "1.0.0", - "bundled": true - }, - "is-regex": { - "version": "1.0.4", - "bundled": true, - "requires": { - "has": "^1.0.1" - } - }, - "is-retry-allowed": { - "version": "1.1.0", - "bundled": true - }, - "is-stream": { - "version": "1.1.0", - "bundled": true - }, - "is-symbol": { - "version": "1.0.2", - "bundled": true, - "requires": { - "has-symbols": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "isexe": { - "version": "2.0.0", - "bundled": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "bundled": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "bundled": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true - }, - "jsonparse": { - "version": "1.3.1", - "bundled": true - }, - "jsprim": { - "version": "1.4.1", - "bundled": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "latest-version": { - "version": "3.1.0", - "bundled": true, - "requires": { - "package-json": "^4.0.0" - } - }, - "lazy-property": { - "version": "1.0.0", - "bundled": true - }, - "lcid": { - "version": "2.0.0", - "bundled": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "libcipm": { - "version": "4.0.7", - "bundled": true, - "requires": { - "bin-links": "^1.1.2", - "bluebird": "^3.5.1", - "figgy-pudding": "^3.5.1", - "find-npm-prefix": "^1.0.2", - "graceful-fs": "^4.1.11", - "ini": "^1.3.5", - "lock-verify": "^2.0.2", - "mkdirp": "^0.5.1", - "npm-lifecycle": "^3.0.0", - "npm-logical-tree": "^1.2.1", - "npm-package-arg": "^6.1.0", - "pacote": "^9.1.0", - "read-package-json": "^2.0.13", - "rimraf": "^2.6.2", - "worker-farm": "^1.6.0" - } - }, - "libnpm": { - "version": "3.0.1", - "bundled": true, - "requires": { - "bin-links": "^1.1.2", - "bluebird": "^3.5.3", - "find-npm-prefix": "^1.0.2", - "libnpmaccess": "^3.0.2", - "libnpmconfig": "^1.2.1", - "libnpmhook": "^5.0.3", - "libnpmorg": "^1.0.1", - "libnpmpublish": "^1.1.2", - "libnpmsearch": "^2.0.2", - "libnpmteam": "^1.0.2", - "lock-verify": "^2.0.2", - "npm-lifecycle": "^3.0.0", - "npm-logical-tree": "^1.2.1", - "npm-package-arg": "^6.1.0", - "npm-profile": "^4.0.2", - "npm-registry-fetch": "^4.0.0", - "npmlog": "^4.1.2", - "pacote": "^9.5.3", - "read-package-json": "^2.0.13", - "stringify-package": "^1.0.0" - } - }, - "libnpmaccess": { - "version": "3.0.2", - "bundled": true, - "requires": { - "aproba": "^2.0.0", - "get-stream": "^4.0.0", - "npm-package-arg": "^6.1.0", - "npm-registry-fetch": "^4.0.0" - } - }, - "libnpmconfig": { - "version": "1.2.1", - "bundled": true, - "requires": { - "figgy-pudding": "^3.5.1", - "find-up": "^3.0.0", - "ini": "^1.3.5" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "bundled": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "bundled": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.2.0", - "bundled": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "bundled": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "bundled": true - } - } - }, - "libnpmhook": { - "version": "5.0.3", - "bundled": true, - "requires": { - "aproba": "^2.0.0", - "figgy-pudding": "^3.4.1", - "get-stream": "^4.0.0", - "npm-registry-fetch": "^4.0.0" - } - }, - "libnpmorg": { - "version": "1.0.1", - "bundled": true, - "requires": { - "aproba": "^2.0.0", - "figgy-pudding": "^3.4.1", - "get-stream": "^4.0.0", - "npm-registry-fetch": "^4.0.0" - } - }, - "libnpmpublish": { "version": "1.1.2", - "bundled": true, - "requires": { - "aproba": "^2.0.0", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "lodash.clonedeep": "^4.5.0", - "normalize-package-data": "^2.4.0", - "npm-package-arg": "^6.1.0", - "npm-registry-fetch": "^4.0.0", - "semver": "^5.5.1", - "ssri": "^6.0.1" - } - }, - "libnpmsearch": { - "version": "2.0.2", - "bundled": true, - "requires": { - "figgy-pudding": "^3.5.1", - "get-stream": "^4.0.0", - "npm-registry-fetch": "^4.0.0" - } - }, - "libnpmteam": { - "version": "1.0.2", - "bundled": true, - "requires": { - "aproba": "^2.0.0", - "figgy-pudding": "^3.4.1", - "get-stream": "^4.0.0", - "npm-registry-fetch": "^4.0.0" - } - }, - "libnpx": { - "version": "10.2.2", - "bundled": true, - "requires": { - "dotenv": "^5.0.1", - "npm-package-arg": "^6.0.0", - "rimraf": "^2.6.2", - "safe-buffer": "^5.1.0", - "update-notifier": "^2.3.0", - "which": "^1.3.0", - "y18n": "^4.0.0", - "yargs": "^11.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "bundled": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lock-verify": { - "version": "2.1.0", - "bundled": true, - "requires": { - "npm-package-arg": "^6.1.0", - "semver": "^5.4.1" - } - }, - "lockfile": { - "version": "1.0.4", - "bundled": true, - "requires": { - "signal-exit": "^3.0.2" - } - }, - "lodash._baseindexof": { - "version": "3.1.0", - "bundled": true - }, - "lodash._baseuniq": { - "version": "4.6.0", - "bundled": true, - "requires": { - "lodash._createset": "~4.0.0", - "lodash._root": "~3.0.0" - } - }, - "lodash._bindcallback": { - "version": "3.0.1", - "bundled": true - }, - "lodash._cacheindexof": { - "version": "3.0.2", - "bundled": true - }, - "lodash._createcache": { - "version": "3.1.2", - "bundled": true, - "requires": { - "lodash._getnative": "^3.0.0" - } - }, - "lodash._createset": { - "version": "4.0.3", - "bundled": true - }, - "lodash._getnative": { - "version": "3.9.1", - "bundled": true - }, - "lodash._root": { - "version": "3.0.1", - "bundled": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "bundled": true - }, - "lodash.restparam": { - "version": "3.6.1", - "bundled": true - }, - "lodash.union": { - "version": "4.6.0", - "bundled": true - }, - "lodash.uniq": { - "version": "4.5.0", - "bundled": true - }, - "lodash.without": { - "version": "4.4.0", - "bundled": true - }, - "lowercase-keys": { - "version": "1.0.1", - "bundled": true - }, - "lru-cache": { - "version": "5.1.1", - "bundled": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "1.3.0", - "bundled": true, - "requires": { - "pify": "^3.0.0" - } - }, - "make-fetch-happen": { - "version": "5.0.2", - "bundled": true, - "requires": { - "agentkeepalive": "^3.4.1", - "cacache": "^12.0.0", - "http-cache-semantics": "^3.8.1", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^4.0.0", - "ssri": "^6.0.0" - } - }, - "map-age-cleaner": { - "version": "0.1.3", - "bundled": true, - "requires": { - "p-defer": "^1.0.0" - } - }, - "meant": { - "version": "1.0.1", - "bundled": true - }, - "mem": { - "version": "4.3.0", - "bundled": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - }, - "dependencies": { - "mimic-fn": { - "version": "2.1.0", - "bundled": true - } - } - }, - "mime-db": { - "version": "1.35.0", - "bundled": true - }, - "mime-types": { - "version": "2.1.19", - "bundled": true, - "requires": { - "mime-db": "~1.35.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true - }, - "minizlib": { - "version": "1.3.3", - "bundled": true, - "requires": { - "minipass": "^2.9.0" - }, - "dependencies": { - "minipass": { - "version": "2.9.0", - "bundled": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - } - } - }, - "mississippi": { - "version": "3.0.0", - "bundled": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - } - }, - "move-concurrently": { - "version": "1.0.1", - "bundled": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "aproba": { - "version": "1.2.0", - "bundled": true - } - } - }, - "ms": { - "version": "2.1.1", - "bundled": true - }, - "mute-stream": { - "version": "0.0.7", - "bundled": true - }, - "nice-try": { - "version": "1.0.5", - "bundled": true - }, - "node-fetch-npm": { - "version": "2.0.2", - "bundled": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node-gyp": { - "version": "5.0.7", - "bundled": true, - "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.2", - "mkdirp": "^0.5.1", - "nopt": "^4.0.1", - "npmlog": "^4.1.2", - "request": "^2.88.0", - "rimraf": "^2.6.3", - "semver": "^5.7.1", - "tar": "^4.4.12", - "which": "^1.3.1" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "bundled": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "resolve": { - "version": "1.10.0", - "bundled": true, - "requires": { - "path-parse": "^1.0.6" - } - } - } - }, - "npm-audit-report": { - "version": "1.3.2", - "bundled": true, - "requires": { - "cli-table3": "^0.5.0", - "console-control-strings": "^1.1.0" - } - }, - "npm-bundled": { - "version": "1.1.1", - "bundled": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-cache-filename": { - "version": "1.0.2", - "bundled": true - }, - "npm-install-checks": { - "version": "3.0.2", - "bundled": true, - "requires": { - "semver": "^2.3.0 || 3.x || 4 || 5" - } - }, - "npm-lifecycle": { - "version": "3.1.4", - "bundled": true, - "requires": { - "byline": "^5.0.0", - "graceful-fs": "^4.1.15", - "node-gyp": "^5.0.2", - "resolve-from": "^4.0.0", - "slide": "^1.1.6", - "uid-number": "0.0.6", - "umask": "^1.1.0", - "which": "^1.3.1" - } - }, - "npm-logical-tree": { - "version": "1.2.1", - "bundled": true - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "bundled": true - }, - "npm-package-arg": { - "version": "6.1.1", - "bundled": true, - "requires": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npm-packlist": { - "version": "1.4.8", - "bundled": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-pick-manifest": { - "version": "3.0.2", - "bundled": true, - "requires": { - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.0.0", - "semver": "^5.4.1" - } - }, - "npm-profile": { - "version": "4.0.2", - "bundled": true, - "requires": { - "aproba": "^1.1.2 || 2", - "figgy-pudding": "^3.4.1", - "npm-registry-fetch": "^4.0.0" - } - }, - "npm-registry-fetch": { - "version": "4.0.3", - "bundled": true, - "requires": { - "JSONStream": "^1.3.4", - "bluebird": "^3.5.1", - "figgy-pudding": "^3.4.1", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "npm-package-arg": "^6.1.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.0", - "bundled": true - } - } - }, - "npm-run-path": { - "version": "2.0.2", - "bundled": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "npm-user-validate": { - "version": "1.0.0", - "bundled": true - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "requires": { - "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": { - "version": "1.0.1", - "bundled": true - }, - "oauth-sign": { - "version": "0.9.0", - "bundled": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true - }, - "object-keys": { - "version": "1.0.12", - "bundled": true - }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "bundled": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1" - } - }, - "opener": { - "version": "1.5.1", - "bundled": true - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true - }, - "os-locale": { - "version": "3.1.0", - "bundled": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "bundled": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "bundled": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.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" - } - } - } - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-defer": { - "version": "1.0.0", - "bundled": true - }, - "p-finally": { - "version": "1.0.0", - "bundled": true - }, - "p-is-promise": { - "version": "2.1.0", - "bundled": true - }, - "p-limit": { - "version": "1.2.0", - "bundled": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "bundled": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "bundled": true - }, - "package-json": { - "version": "4.0.1", - "bundled": true, - "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" - } - }, - "pacote": { - "version": "9.5.12", - "bundled": true, - "requires": { - "bluebird": "^3.5.3", - "cacache": "^12.0.2", - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.1.0", - "glob": "^7.1.3", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "minimatch": "^3.0.4", - "minipass": "^2.3.5", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.4.0", - "npm-normalize-package-bin": "^1.0.0", - "npm-package-arg": "^6.1.0", - "npm-packlist": "^1.1.12", - "npm-pick-manifest": "^3.0.0", - "npm-registry-fetch": "^4.0.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.1", - "rimraf": "^2.6.2", - "safe-buffer": "^5.1.2", - "semver": "^5.6.0", - "ssri": "^6.0.1", - "tar": "^4.4.10", - "unique-filename": "^1.1.1", - "which": "^1.3.1" - }, - "dependencies": { - "minipass": { - "version": "2.9.0", - "bundled": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - } - } - }, - "parallel-transform": { - "version": "1.1.0", - "bundled": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "requires": { - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "path-exists": { - "version": "3.0.0", - "bundled": true - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "path-is-inside": { - "version": "1.0.2", - "bundled": true - }, - "path-key": { - "version": "2.0.1", - "bundled": true - }, - "path-parse": { - "version": "1.0.6", - "bundled": true - }, - "performance-now": { - "version": "2.1.0", - "bundled": true - }, - "pify": { - "version": "3.0.0", - "bundled": true - }, - "prepend-http": { - "version": "1.0.4", - "bundled": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true - }, - "promise-inflight": { - "version": "1.0.1", - "bundled": true - }, - "promise-retry": { - "version": "1.1.1", - "bundled": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" - }, - "dependencies": { - "retry": { - "version": "0.10.1", - "bundled": true - } - } - }, - "promzard": { - "version": "0.3.0", - "bundled": true, - "requires": { - "read": "1" - } - }, - "proto-list": { - "version": "1.2.4", - "bundled": true - }, - "protoduck": { - "version": "5.0.1", - "bundled": true, - "requires": { - "genfun": "^5.0.0" - } - }, - "prr": { - "version": "1.0.1", - "bundled": true - }, - "pseudomap": { - "version": "1.0.2", - "bundled": true - }, - "psl": { - "version": "1.1.29", - "bundled": true - }, - "pump": { - "version": "3.0.0", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "bundled": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "1.4.1", - "bundled": true - }, - "qrcode-terminal": { - "version": "0.12.0", - "bundled": true - }, - "qs": { - "version": "6.5.2", - "bundled": true - }, - "query-string": { - "version": "6.8.2", - "bundled": true, - "requires": { - "decode-uri-component": "^0.2.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - } - }, - "qw": { - "version": "1.0.1", - "bundled": true - }, - "rc": { - "version": "1.2.7", - "bundled": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true - } - } - }, - "read": { - "version": "1.0.7", - "bundled": true, - "requires": { - "mute-stream": "~0.0.4" - } - }, - "read-cmd-shim": { - "version": "1.0.5", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2" - } - }, - "read-installed": { - "version": "4.0.3", - "bundled": true, - "requires": { - "debuglog": "^1.0.1", - "graceful-fs": "^4.1.2", - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "slide": "~1.1.3", - "util-extend": "^1.0.1" - } - }, - "read-package-json": { - "version": "2.1.1", - "bundled": true, - "requires": { - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "json-parse-better-errors": "^1.0.1", - "normalize-package-data": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0" - } - }, - "read-package-tree": { - "version": "5.3.1", - "bundled": true, - "requires": { - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "util-promisify": "^2.1.0" - } - }, - "readable-stream": { - "version": "3.6.0", - "bundled": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdir-scoped-modules": { - "version": "1.1.0", - "bundled": true, - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, - "registry-auth-token": { - "version": "3.3.2", - "bundled": true, - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "registry-url": { - "version": "3.1.0", - "bundled": true, - "requires": { - "rc": "^1.0.1" - } - }, - "request": { - "version": "2.88.0", - "bundled": 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" - } - }, - "require-directory": { - "version": "2.1.1", - "bundled": true - }, - "require-main-filename": { - "version": "1.0.1", - "bundled": true - }, - "resolve-from": { - "version": "4.0.0", - "bundled": true - }, - "retry": { - "version": "0.12.0", - "bundled": true - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-queue": { - "version": "1.0.3", - "bundled": true, - "requires": { - "aproba": "^1.1.1" - }, - "dependencies": { - "aproba": { - "version": "1.2.0", - "bundled": true - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true - }, - "semver": { - "version": "5.7.1", - "bundled": true - }, - "semver-diff": { - "version": "2.1.0", - "bundled": true, - "requires": { - "semver": "^5.0.3" - } - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true - }, - "sha": { - "version": "3.0.0", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2" - } - }, - "shebang-command": { - "version": "1.2.0", - "bundled": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "bundled": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true - }, - "slide": { - "version": "1.1.6", - "bundled": true - }, - "smart-buffer": { - "version": "4.1.0", - "bundled": true - }, - "socks": { - "version": "2.3.3", - "bundled": true, - "requires": { - "ip": "1.1.5", - "smart-buffer": "^4.1.0" - } - }, - "socks-proxy-agent": { - "version": "4.0.2", - "bundled": true, - "requires": { - "agent-base": "~4.2.1", - "socks": "~2.3.2" - }, - "dependencies": { - "agent-base": { - "version": "4.2.1", - "bundled": true, - "requires": { - "es6-promisify": "^5.0.0" - } - } - } - }, - "sorted-object": { - "version": "2.0.1", - "bundled": true - }, - "sorted-union-stream": { - "version": "2.1.3", - "bundled": true, - "requires": { - "from2": "^1.3.0", - "stream-iterate": "^1.1.0" - }, - "dependencies": { - "from2": { - "version": "1.3.0", - "bundled": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "~1.1.10" - } - }, - "isarray": { - "version": "0.0.1", - "bundled": true - }, - "readable-stream": { - "version": "1.1.14", - "bundled": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true - } - } - }, - "spdx-correct": { - "version": "3.0.0", - "bundled": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.1.0", - "bundled": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "bundled": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.3", - "bundled": true - }, - "split-on-first": { - "version": "1.1.0", - "bundled": true - }, - "sshpk": { - "version": "1.14.2", - "bundled": true, - "requires": { - "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" - } - }, - "ssri": { - "version": "6.0.1", - "bundled": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "stream-each": { - "version": "1.2.2", - "bundled": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-iterate": { - "version": "1.2.0", - "bundled": true, - "requires": { - "readable-stream": "^2.1.5", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "requires": { - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-shift": { - "version": "1.0.0", - "bundled": true - }, - "strict-uri-encode": { - "version": "2.0.0", - "bundled": true - }, - "string-width": { - "version": "2.1.1", - "bundled": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string_decoder": { - "version": "1.3.0", - "bundled": true, - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.0", - "bundled": true - } - } - }, - "stringify-package": { - "version": "1.0.1", - "bundled": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "bundled": true - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true - }, - "supports-color": { - "version": "5.4.0", - "bundled": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "tar": { - "version": "4.4.13", - "bundled": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - }, - "dependencies": { - "minipass": { - "version": "2.9.0", - "bundled": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - } - } - }, - "term-size": { - "version": "1.2.0", - "bundled": true, - "requires": { - "execa": "^0.7.0" - } - }, - "text-table": { - "version": "0.2.0", - "bundled": true - }, - "through": { - "version": "2.3.8", - "bundled": true - }, - "through2": { - "version": "2.0.3", - "bundled": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "requires": { - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "timed-out": { - "version": "4.0.1", - "bundled": true - }, - "tiny-relative-date": { - "version": "1.3.0", - "bundled": true - }, - "tough-cookie": { - "version": "2.4.3", - "bundled": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "optional": true - }, - "typedarray": { - "version": "0.0.6", - "bundled": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true - }, - "umask": { - "version": "1.1.0", - "bundled": true - }, - "unique-filename": { - "version": "1.1.1", - "bundled": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.0", - "bundled": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unique-string": { - "version": "1.0.0", - "bundled": true, - "requires": { - "crypto-random-string": "^1.0.0" - } - }, - "unpipe": { - "version": "1.0.0", - "bundled": true - }, - "unzip-response": { - "version": "2.0.1", - "bundled": true - }, - "update-notifier": { - "version": "2.5.0", - "bundled": true, - "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" - } - }, - "url-parse-lax": { - "version": "1.0.0", - "bundled": true, - "requires": { - "prepend-http": "^1.0.1" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "util-extend": { - "version": "1.0.3", - "bundled": true - }, - "util-promisify": { - "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, "requires": { - "object.getownpropertydescriptors": "^2.0.3" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, - "uuid": { - "version": "3.3.3", - "bundled": true + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true }, - "validate-npm-package-license": { - "version": "3.0.4", - "bundled": true, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "repeating": "^2.0.0" } }, - "validate-npm-package-name": { - "version": "3.0.0", - "bundled": true, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, "requires": { - "builtins": "^1.0.3" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, - "verror": { - "version": "1.10.0", - "bundled": true, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "wcwidth": { + "map-obj": { "version": "1.0.1", - "bundled": true, - "requires": { - "defaults": "^1.0.3" - } + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true }, - "which": { - "version": "1.3.1", - "bundled": true, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, "requires": { - "isexe": "^2.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" } }, - "which-module": { - "version": "2.0.0", - "bundled": true + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, - "wide-align": { - "version": "1.1.2", - "bundled": true, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, "requires": { - "string-width": "^1.0.2" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } + "pinkie-promise": "^2.0.0" } }, - "widest-line": { - "version": "2.0.0", - "bundled": true, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, "requires": { - "string-width": "^2.1.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, - "worker-farm": { - "version": "1.7.0", - "bundled": true, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, "requires": { - "errno": "~0.1.7" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, - "wrap-ansi": { - "version": "2.1.0", - "bundled": true, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, - "wrappy": { - "version": "1.0.2", - "bundled": true - }, - "write-file-atomic": { - "version": "2.4.3", - "bundled": true, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" } }, - "xdg-basedir": { - "version": "3.0.0", - "bundled": true - }, - "xtend": { - "version": "4.0.1", - "bundled": true - }, - "y18n": { - "version": "4.0.0", - "bundled": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } }, - "yargs": { - "version": "11.1.1", - "bundled": true, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.1.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" - }, - "dependencies": { - "y18n": { - "version": "3.2.1", - "bundled": true - } + "is-utf8": "^0.2.0" } }, - "yargs-parser": { - "version": "9.0.2", - "bundled": true, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, "requires": { - "camelcase": "^4.1.0" + "get-stdin": "^4.0.1" } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true } } }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-hex": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/normalize-hex/-/normalize-hex-0.0.2.tgz", + "integrity": "sha512-E2dx7XJQnjsm6SkS4G6GGvIXRHaLeWAZE2D2N3aia+OpIif2UT8y4S0KCjrX3WmFDSeFnlNOp0FSHFjLeJ4SJw==", + "requires": { + "bn.js": "^4.11.8" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -8361,17 +8434,49 @@ "path-key": "^2.0.0" } }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, + "number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", + "requires": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-copy": { "version": "0.1.0", @@ -8404,11 +8509,20 @@ } } }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" + }, + "object-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", + "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==" + }, "object-keys": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", - "dev": true + "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==" }, "object-visit": { "version": "1.0.1", @@ -8419,6 +8533,17 @@ "isobject": "^3.0.0" } }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, "object.getownpropertydescriptors": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", @@ -8442,7 +8567,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -8500,6 +8624,11 @@ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, "os-locale": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", @@ -8514,8 +8643,17 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } }, "output-file-sync": { "version": "2.0.1", @@ -8601,6 +8739,11 @@ "safe-buffer": "^5.1.1" } }, + "parse-headers": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", + "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" + }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", @@ -8637,14 +8780,12 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", @@ -8661,8 +8802,7 @@ "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "path-type": { "version": "2.0.0", @@ -8694,12 +8834,36 @@ "sha.js": "^2.4.8" } }, + "penpal": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/penpal/-/penpal-3.0.7.tgz", + "integrity": "sha512-WSXiq5HnEvzvY05SHhaXcsviUmCvh4Ze8AiIZzvmdzaaYAAx4rx8c6Xq6+MaVDG/Nfve3VmGD8HyRP3CkPvPbQ==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, "pkg-conf": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", @@ -8809,6 +8973,14 @@ "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true }, + "pocket-js-core": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/pocket-js-core/-/pocket-js-core-0.0.3.tgz", + "integrity": "sha512-OUTEvEVutdjLT6YyldvAlSebpBueUUWg2XKxGNt5u3QqrmLpBOOBmdDnGMNJ+lEwXtko+JqgwFq+HTi4g1QDVg==", + "requires": { + "axios": "^0.18.0" + } + }, "portfinder": { "version": "1.0.20", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", @@ -8826,6 +8998,90 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, + "postcss": { + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", + "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", + "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0", + "postcss-value-parser": "^3.3.1" + } + }, + "postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", + "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", + "dev": true, + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^7.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, "postmsg-rpc": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/postmsg-rpc/-/postmsg-rpc-2.4.0.tgz", @@ -8834,6 +9090,11 @@ "shortid": "^2.2.8" } }, + "precond": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", + "integrity": "sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=" + }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -8843,8 +9104,7 @@ "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, "process": { "version": "0.11.10", @@ -8855,8 +9115,7 @@ "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "progress": { "version": "2.0.3", @@ -8870,11 +9129,19 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, + "promise-to-callback": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/promise-to-callback/-/promise-to-callback-1.0.0.tgz", + "integrity": "sha1-XSp0kBC/tn2WNZj805YHRqaP7vc=", + "requires": { + "is-fn": "^1.0.0", + "set-immediate-shim": "^1.0.1" + } + }, "prop-types": { "version": "15.7.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "dev": true, "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -8884,9 +9151,19 @@ "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, "public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", @@ -8937,8 +9214,17 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qr-image": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/qr-image/-/qr-image-3.2.0.tgz", + "integrity": "sha1-n6gpW+rlDEoUnPn5CaHbRkqGcug=" + }, + "qrcode-terminal": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz", + "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==" }, "qs": { "version": "2.3.3", @@ -8946,11 +9232,20 @@ "integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=", "dev": true }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "querystring-es3": { "version": "0.2.1", @@ -8958,11 +9253,20 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -8977,11 +9281,31 @@ "safe-buffer": "^5.1.0" } }, + "react": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", + "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + } + }, + "react-dom": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", + "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + } + }, "react-is": { "version": "16.8.6", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz", - "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==", - "dev": true + "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==" }, "read-pkg": { "version": "2.0.0", @@ -9053,7 +9377,6 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -9075,11 +9398,19 @@ "readable-stream": "^2.0.2" } }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, "regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", - "dev": true + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" }, "regenerate-unicode-properties": { "version": "8.0.2", @@ -9120,6 +9451,68 @@ "integrity": "sha512-nUmxvfJyAODw+0B13hj8CFVAxhe7fDEAgJgaotBu3nnR+IgGgZq59YedJP5VYTlkEfqjuK6TuRpnymKdatLZfQ==", "dev": true }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + } + } + }, "regexpp": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", @@ -9181,6 +9574,53 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "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.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.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -9206,14 +9646,12 @@ "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "resolve": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", - "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -9267,6 +9705,14 @@ "signal-exit": "^3.0.2" } }, + "resumer": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", + "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", + "requires": { + "through": "~2.3.4" + } + }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", @@ -9286,12 +9732,49 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, + "rlp": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.4.tgz", + "integrity": "sha512-fdq2yYCWpAQBhwkZv+Z8o/Z4sPmYm1CUq6P7n6lVTOdb949CnqA0sndXal5C1NleSVSZm6q5F3iEbauyVln/iw==", + "requires": { + "bn.js": "^4.11.1" + } + }, + "rollup-plugin-commonjs": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz", + "integrity": "sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==", + "requires": { + "estree-walker": "^0.6.1", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" + }, + "dependencies": { + "resolve": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "requires": { + "estree-walker": "^0.6.1" + } + }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", @@ -9316,6 +9799,11 @@ "aproba": "^1.1.1" } }, + "rustbn.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" + }, "rxjs": { "version": "5.5.12", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", @@ -9325,31 +9813,312 @@ "symbol-observable": "1.0.1" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-event-emitter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz", + "integrity": "sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==", + "requires": { + "events": "^3.0.0" + } + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + } + } + } + }, + "sass-loader": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", + "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", "dev": true, "requires": { - "ret": "~0.1.10" + "clone-deep": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.6.1", + "semver": "^6.3.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "dev": true, + "requires": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, "requires": { "ajv": "^6.1.0", "ajv-errors": "^1.0.0", @@ -9361,11 +10130,72 @@ "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==" }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "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": ">=0.0.4" + } + } + } + }, + "secp256k1": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", + "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", + "requires": { + "bindings": "^1.5.0", + "bip66": "^1.1.5", + "bn.js": "^4.11.8", + "create-hash": "^1.2.0", + "drbg.js": "^1.0.1", + "elliptic": "^6.5.2", + "nan": "^2.14.0", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + } + } + }, + "semaphore": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", + "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==" + }, "semver": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==" }, "serialize-javascript": { "version": "1.6.1", @@ -9379,6 +10209,11 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + }, "set-value": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", @@ -9411,12 +10246,28 @@ "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" } }, + "sha3": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/sha3/-/sha3-1.2.6.tgz", + "integrity": "sha512-KgLGmJGrmNB4JWVsAV11Yk6KbvsAiygWJc7t5IebWva/0NukNrjJqhtKhzy3Eiv2AKuGvhZZt7dt1mDo7HkoiQ==", + "requires": { + "nan": "2.13.2" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -9443,8 +10294,22 @@ "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" + }, + "simple-get": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", + "requires": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } }, "slash": { "version": "2.0.0", @@ -9577,8 +10442,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "source-map-resolve": { "version": "0.5.2", @@ -9617,11 +10481,15 @@ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, "spdx-correct": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -9630,14 +10498,12 @@ "spdx-exceptions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" }, "spdx-expression-parse": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -9646,8 +10512,7 @@ "spdx-license-ids": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", - "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", - "dev": true + "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==" }, "split-string": { "version": "3.1.0", @@ -9664,6 +10529,29 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "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" + }, + "dependencies": { + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + } + } + }, "ssri": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", @@ -9731,6 +10619,15 @@ } } }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, "store": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/store/-/store-2.0.12.tgz", @@ -9769,27 +10666,344 @@ "xtend": "^4.0.0" } }, - "stream-shift": { + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string.prototype.trim": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.1.tgz", + "integrity": "sha512-MjGFEeqixw47dAMFMtgUro/I0+wNqZB5GKXGt1fFr24u3TzDXCPu7J9Buppzoe3r/LqkSDLDDJzE15RGWDGAVw==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + } + } + }, + "string.prototype.trimend": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.0.tgz", + "integrity": "sha512-EEJnGqa/xNfIg05SxiPSqRS7S9qwDhYts1TSLR1BQfYUfPe1stofgGKvwERK9+9yf+PpfBMlpBaCHucXGPQfUA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + } + } + }, + "string.prototype.trimleft": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", + "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimstart": "^1.0.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + } + } + }, + "string.prototype.trimright": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", + "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimend": "^1.0.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + } + } + }, + "string.prototype.trimstart": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.0.tgz", + "integrity": "sha512-iCP8g01NFYiiBOnwG1Xc3WZLyoo+RuBymwIlWncShXDDJYWN6DbnM3odslBJdgCdRlq94B5s63NWAZlcn2CS4w==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + } } }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -9814,8 +11028,7 @@ "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" }, "strip-eof": { "version": "1.0.0", @@ -9823,17 +11036,67 @@ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, + "strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=" + }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, + "style-loader": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", + "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0" + } + }, + "styled-components": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-4.2.0.tgz", + "integrity": "sha512-L/LzkL3ZbBhqIVHdR7DbYujy4tqvTNRfc+4JWDCYyhTatI+8CRRQUmdaR0+ARl03DWsfKLhjewll5uNLrqrl4A==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@emotion/is-prop-valid": "^0.7.3", + "@emotion/unitless": "^0.7.0", + "babel-plugin-styled-components": ">= 1", + "css-to-react-native": "^2.2.2", + "memoize-one": "^5.0.0", + "prop-types": "^15.5.4", + "react-is": "^16.6.0", + "stylis": "^3.5.0", + "stylis-rule-sheet": "^0.0.10", + "supports-color": "^5.5.0" + } + }, + "stylis": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", + "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==" + }, + "stylis-rule-sheet": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", + "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==" + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -9864,6 +11127,80 @@ "integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==", "dev": true }, + "tape": { + "version": "4.13.2", + "resolved": "https://registry.npmjs.org/tape/-/tape-4.13.2.tgz", + "integrity": "sha512-waWwC/OqYVE9TS6r1IynlP2sEdk4Lfo6jazlgkuNkPTHIbuG2BTABIaKdlQWwPeB6Oo4ksZ1j33Yt0NTOAlYMQ==", + "requires": { + "deep-equal": "~1.1.1", + "defined": "~1.0.0", + "dotignore": "~0.1.2", + "for-each": "~0.3.3", + "function-bind": "~1.1.1", + "glob": "~7.1.6", + "has": "~1.0.3", + "inherits": "~2.0.4", + "is-regex": "~1.0.5", + "minimist": "~1.2.0", + "object-inspect": "~1.7.0", + "resolve": "~1.15.1", + "resumer": "~0.0.0", + "string.prototype.trim": "~1.2.1", + "through": "~2.3.8" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "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" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "resolve": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, "terser": { "version": "3.17.0", "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", @@ -9916,19 +11253,22 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, "timers-browserify": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", @@ -9956,8 +11296,15 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-hex": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/to-hex/-/to-hex-0.0.11.tgz", + "integrity": "sha512-3FSU8sfjrVc9fWowwP9xrdhxbp5Wco8uVZLhMhfsNuCFo9Fu8ecD2MgJV/2iAw+755W3AcGSQYVZGOpBmJtNcA==", + "requires": { + "normalize-hex": "0.0.2" + } }, "to-object-path": { "version": "0.3.0", @@ -10001,11 +11348,33 @@ "repeat-string": "^1.6.1" } }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=" + }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + } }, "tslib": { "version": "1.9.3", @@ -10019,6 +11388,14 @@ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, "tweetnacl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.1.tgz", @@ -10041,8 +11418,12 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", @@ -10190,7 +11571,6 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -10225,12 +11605,110 @@ "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=", "dev": true }, + "url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.0.0.tgz", + "integrity": "sha512-sPsoBs8NkSJt9k/2zLUMDAf0rYaG00EtrFQpHRIphKrR6stGsO92LUJf/uUeQNKEoxqoJ4R4qDLqHl+AOEqolA==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.26", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "json5": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz", + "integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==", + "dev": true, + "requires": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-set-query": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", + "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, + "utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + }, "util": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", @@ -10243,8 +11721,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "util.promisify": { "version": "1.0.0", @@ -10261,6 +11738,21 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" }, + "uuidv4": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.0.7.tgz", + "integrity": "sha512-4mpYRFNqO22EckzxPSJ/+xjn9GgO6SAqEJ33yt23Y+HZZoZOt/6l4U4iIjc86ZfxSN2fSCGGmHNb3kiACFNd1g==", + "requires": { + "uuid": "7.0.3" + }, + "dependencies": { + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" + } + } + }, "v8-compile-cache": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", @@ -10271,7 +11763,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -10282,6 +11773,16 @@ "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", @@ -10302,6 +11803,138 @@ "neo-async": "^2.5.0" } }, + "web3-provider-engine": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/web3-provider-engine/-/web3-provider-engine-15.0.4.tgz", + "integrity": "sha512-Ob9oK0TUZfVC7NXkB7CQSWAiCdCD/Xnlh2zTnV8NdJR8LCrMAy2i6JedU70JHaxw59y7mM4GnsYOTTGkquFnNQ==", + "requires": { + "async": "^2.5.0", + "backoff": "^2.5.0", + "clone": "^2.0.0", + "cross-fetch": "^2.1.0", + "eth-block-tracker": "^4.4.2", + "eth-json-rpc-errors": "^1.0.1", + "eth-json-rpc-filters": "^4.1.1", + "eth-json-rpc-infura": "^4.0.1", + "eth-json-rpc-middleware": "^4.1.5", + "eth-sig-util": "^1.4.2", + "ethereumjs-block": "^1.2.2", + "ethereumjs-tx": "^1.2.0", + "ethereumjs-util": "^5.1.5", + "ethereumjs-vm": "^2.3.4", + "json-stable-stringify": "^1.0.1", + "promise-to-callback": "^1.0.0", + "readable-stream": "^2.2.9", + "request": "^2.85.0", + "semaphore": "^1.0.3", + "ws": "^5.1.1", + "xhr": "^2.2.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "cross-fetch": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.3.tgz", + "integrity": "sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw==", + "requires": { + "node-fetch": "2.1.2", + "whatwg-fetch": "2.0.4" + } + }, + "eth-json-rpc-errors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/eth-json-rpc-errors/-/eth-json-rpc-errors-1.1.1.tgz", + "integrity": "sha512-WT5shJ5KfNqHi9jOZD+ID8I1kuYWNrigtZat7GOQkvwo99f8SzAVaEcWhJUv656WiZOAg3P1RiJQANtUmDmbIg==", + "requires": { + "fast-safe-stringify": "^2.0.6" + } + }, + "eth-json-rpc-infura": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/eth-json-rpc-infura/-/eth-json-rpc-infura-4.0.2.tgz", + "integrity": "sha512-dvgOrci9lZqpjpp0hoC3Zfedhg3aIpLFVDH0TdlKxRlkhR75hTrKTwxghDrQwE0bn3eKrC8RsN1m/JdnIWltpw==", + "requires": { + "cross-fetch": "^2.1.1", + "eth-json-rpc-errors": "^1.0.1", + "eth-json-rpc-middleware": "^4.1.4", + "json-rpc-engine": "^5.1.3" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + }, + "whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + } + } + }, + "web3-utils": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.6.tgz", + "integrity": "sha512-8/HnqG/l7dGmKMgEL9JeKPTtjScxOePTzopv5aaKFExPfaBrYRkgoMqhoowCiAl/s16QaTn4DoIF1QC4YsT7Mg==", + "requires": { + "bn.js": "4.11.8", + "eth-lib": "0.2.7", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.9.1", + "utf8": "3.0.0" + } + }, + "web3modal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3modal/-/web3modal-1.2.1.tgz", + "integrity": "sha512-pWKem797wAJqEfXZKEXizYggmC+l5Pu6AVHuuc9ac58FyTD4EvSqdWZc1fE5YKCV8YVXLZoek1JjoM7WLkBUaw==", + "requires": { + "prop-types": "^15.7.2", + "react": "^16.8.6", + "react-dom": "^16.8.6", + "styled-components": "4.2.0", + "tslib": "^1.10.0", + "url-loader": "^1.1.2" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "tslib": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", + "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==" + }, + "url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", + "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "requires": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + } + } + } + }, "webpack": { "version": "4.29.6", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.29.6.tgz", @@ -10391,6 +12024,15 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", @@ -10450,8 +12092,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write": { "version": "0.2.1", @@ -10462,6 +12103,55 @@ "mkdirp": "^0.5.1" } }, + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xhr": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", + "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", + "requires": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xhr-request": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", + "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", + "requires": { + "buffer-to-arraybuffer": "^0.0.5", + "object-assign": "^4.1.1", + "query-string": "^5.0.1", + "simple-get": "^2.7.0", + "timed-out": "^4.0.1", + "url-set-query": "^1.0.0", + "xhr": "^2.0.4" + } + }, + "xhr-request-promise": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz", + "integrity": "sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0=", + "requires": { + "xhr-request": "^1.0.1" + } + }, + "xhr2-cookies": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", + "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", + "requires": { + "cookiejar": "^2.1.1" + } + }, "xmlhttprequest": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", @@ -10470,8 +12160,7 @@ "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" }, "y18n": { "version": "4.0.0", diff --git a/package.json b/package.json index 96c3181..682e0b5 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "sass-loader": "^8.0.2", "standard": "^12.0.1", "style-loader": "^0.23.1", + "url-loader": "^4.0.0", "webpack": "^4.20.2", "webpack-cli": "^3.1.2" } diff --git a/public/620d35feec8ed065224f02f6728fb21a.ttf b/public/620d35feec8ed065224f02f6728fb21a.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0a052f7ba1d48e674a208b0e2c944516a1bfc2d8 GIT binary patch literal 92844 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 literal 0 HcmV?d00001 diff --git a/public/font/04426e78aa0f60c97b1ed334f0a9f89b.woff b/public/font/04426e78aa0f60c97b1ed334f0a9f89b.woff new file mode 100644 index 0000000000000000000000000000000000000000..15d3585f87de07ef15f7f9025b3d4eaf28ba513b GIT binary patch literal 45984 zcmY(KV{j%guP?>FGIDUDGx5 zjH|4uC;$lX(;D*t@IM`pMb-a~|I_||lT~D3{s|EIQ6+!SW9qxdFtpaU`_bZlzy$z6 zP`O$qhz(tw2mt`#s-GB+A1pxhX}nDAOs#*k0{{S=2LOOWcQNvDGu3ze$%Xof1wj5E zh^AKVCO;Y_0FX8W0OHERn+Q2IGuAf(0P=5sVpx7)$5LlPH~SF*fCAE=G0_jCFxQY7 zX4Xz_KbklI0E!6!K(w&bP-a@$8vewU=>4qi=s(mb;Nz_I-F~iH@e>Ci{14Dr_+T4- zYvUiy?B_mefAW8a4F6iOvvqU=0IGiG0)P8iGv(f{t-GCr@lS3e>Q7$84{4(Loy2Zg zhI;yQdRcva<9!1QL#X|IeLHaZSo@e!euz-4jErR@_h^28{r>){kErwS-xpDx>XMj` zXqcGffd`nqjF&)E`a9r&(`cAG0N}s5^z;mV05?D)92@QH;|%r>t_K>8)wk2rGmZml zaKk#oJjbG7`Z7&0VK(LZ=ag_te~)^UJn5N+Fxoust%9f=rx2$ory!@uC|9RYr)(#$ zR!}FZpIT5?kWi3Okb|6voQd3<5SLJvkd%;>(2@|U5THKcgnF-!ZGTtfT$8D7bh?>jU`hNSq{SN$I{(gS3z0rNp zeeZ4YMe{}Y)P8pTx1Anq!#nPI@;&pMKP`M6ijQzfkipODUG}{*5SWPY#3SyG_(b^P zKm9rWZv1?Ib-Xp*lWWia=yTw`{%-M{YzMV{y{UC~SaUq#@X@%& zSta)m%6VEKc(|JEWU5yo?q5rG3iw`SE5wCy-%VCrCI*$ zn$(ohmFtcv5AH)&GEjmBMxwYdOEh6z#D~f-{KRFsUi1dC&4|zY>L4%>t*gnM_ z*C??^g@nby zeC3EGGVx+K^o1o1Aw987q(ko6@DF~0b7mPsX7-d6?YSP!>^-s;SPm4T1l-p$V`r-p z1S%tY6jQjByOEYvdP%t@TS?T4xbl)0c1lgz3;En-C3}Ji z)1-@oYzHD{+TZb$I9`Id8Jopf7u2@olAfs!9hF_ll(AHS;FsTs+lpb=m>*+V*iD3k?EJ z|K-Lq=QK{DFXo447p2s#gkwM;cQ9z*{wLmWb(kc4w#pERap=)^cm&D@;1kxuKpI^{ ze&OYaBvmzIDx)f2`NfTRMtv6kNXF3smx?a`x6B-*8J5#jK#6>=sV!TiLYM=}d-kRj z(vT6uxE{E)AQ4A&u(2-%+1$XIgiL8HI6cRl&Vy0;YC{Cg1+N={u#L%BXZ+oOjD$JE zS`gRaZ*;rS=!jHC{&`z#AI(X)r(Oiv?i37 zr9>6?ZFCFYnnVcy)e9$XgoY^8?CXj$)$_`RVbOMvLz_3wG?$QQwqD9{H;2{try{*x zF0xTH#*T(}XW59>?Rpzk$-C8_x(Sq8#frFZU>;0|(k_fy%80BX>S#Bg&4EO!aX}{f zjQzH})F(65syF=0fgVeO=Dmi3gip%Anu10bl%CsHAvp*I`59ug`hj_(`_+qupxEL; zW2(IzvQGMf>m8_5#P1=Znor&1l)@c!<&+bl&OhROX76f(wsfo6JW5PlmdD22D3{_L zg3E{xA`bnx&%mzkRpO;~xw-s$U(hWqBO@oQH_E?F2~#+2(MZ*lZc|*C9|QJCq^0~A zD$p~~`lJBlfvL(93oOn6-p0u+=ssvi%qr&4e(ayF63?l7LZB9qj@@11GHLV=Lh=as zC_So%Nw)BOa{h$v$lNK=+5=GACr|o#MhN{8O}CvN%<*9D$PUVLs~t3@D?4)E`uLQaazgtHmmDe zZq1~eitVeezyG!aWjYvs&O$)n-v9)+tjTV7KV0QzMjzYi?mrC5-7?cl+TD|UiKnNh z7pFl%q%4VOjnd+2q>K`TF#e!%m;=a!q_Xm?Fyj?|h=^cFSjGW35fNp z#u6u&o|9@FT(*emVF9!@L=i$u#3B)uBUA6_CQXKFH zAi(CU^`_q!x2?;--J3VH%=GQwl>$AAc@ zT#EP%xq6ngX!|_@Dk6;9>Ddtgu;W?0zg&@d9Dhh|G-+v(#^|YUvJ2C3f9usW{ipHE zo6A!yWJ`vh>LX2j@XuSX70N2j8-66fg|~q+{Dm1vJ~$0_r!}dn55@`aJ!9rKhTngYfqXrI>$cU#&l14z$$!-v+ z+Gz3Is$L1ra^mHmR+v*4ruEIl2@~M{xC~$qs1s*{vOlmVeoXtt{fD9K)3e!sOr?5r zvNjYuueu5+QryXP8I9eQy=9ixIlV=#=GO`xl;4lhPvCRcuWn8vDqFmL-V3U~@H984 zVzKMVLr1LdN3Sv@y0bwrJX?U}n4w~O$cBTC!z8`>Bpyj+dN!Zaz-cZZ<>Swk8lbx6 zpAgc&4gGwxLr#&D2{U&kI%S$|{oUsT(-p8!N!T-4!)W$X-wM5B7yB>i_H9y)2^G9T zqC82rZ*^S%dcTA*Ltbc9KOn#!R3<>l+`l_(&v(JA*&)j^3CTJGc_`Y0Q4WmGNefVF zk4$hi`?{H({1w)3#utU-<=KuzQ0rEX=@V@->^!mp+7?i3X5zOG}&HYk&A0An@T4_6dPXuSb>WZmJ z!;A&y$o;kIIY$76%M=s4J+D6d%h@We}P4)K$I-zG1Be>ng?C6r=+CbBEsrX%}SE5uV2V z>E>;ZySsm#sBL?xsHE>P`1N^`N}$tfeY4E^v#G6b&<#S5!6$M-no1q}^Hk;Md2{`b z>D$jLq-xZB99}s2RNT^e!Kd9%Ax`XfO9he}?|pKYFCBnIm7!K9r;6pmriO$lj2-oX zN3#f^a~Xm`tmxaF=#&1Hg(HTfs00RqJ%P0&Gd6@g zuXvB__`WfH@Pr6Ne?6PUe8hX94eAjS2vY<3YXhtI!9?z;CM6J$LZE@Q^gQL<_liBA z2d}?)u*dcK)pfxwv1B1cY4h|rjj6GVUej*~JbxbYJw-9SvH$v=1430plmNM3ps`jv zbo->mQARxjd7H%4UF>``xj4Us<_y65JU$_Lu-SdS=}G#{4>*dx$qsoi9Jzh|Yu6bW zl!z4F%l~pEJaE134ev(6{FYJ&dJqYzCVh;83<;@^n1sT}G%At^1ZmGD!0YGrFve)# z+d3iD#S14u3fKFgu*+{#_-5UT_N5t?7edV=UdsRNwYz%!i|=gLF!{#0AkK^r_J9bO zwhY{xvnTiA9JVZNSFv#nR-3IMb&dOkW_bVeh8D49hR7@Rgf#Kmsjuk*)rh?e6LFh7 zg;+YiCb5k24e3vtDgq{zI$X0+123<1eWkhx;rMCPTJ!h6nt#TbAvL`Y+a)~&9arO< z%|*_08~exjZ8smDp7_RI4=HkB4a6cPhZHD;WYGgK7k+3sfW9J7fWR}5L0p$W`|ch5 zKxU;x?{qF>0wrZx#5K#_DJx}M4sIC?NhXT})7#My2VUn@MRQE_xyb?LX5GT)t*iFK zxzOigyJib+#z!#KWq8a}pKz?hMt;F1s9J^Hm%u;2UwM+sNTlhKnY1iIIuLWq4EqO_ z;%Fo;y>MZ?sUgKCptZ#P%S$~U7aYrcO)E^#@t&4@o=z&myB@ z@A&sXaLVpf$?+Rd!O9Sy2HJ=(!9YHm34WkpYEML#;z<|3)1fSsj3O(mjtBUm$A`KQ zP-{ejyBVWMvv#liyGW2isrnkq<PaqVUper=<5 zTC`g6cGwDkz-a54D9ujubSShN?L#0iYJ!>bz_QjPa%m}Ng$aS36*V9N+U(?kgao&& z=!}cB-f%<*826;T2q^;Of_=eg1+ZE1QaRVH2T2HidEHu!%xyXTOLzH~A!Xa%b@NYk zZcJ@&LuKvx<$hI`Er+H1sv(koTlTSL^)!TsP!;H)7tT#p+`C5<2-z@;s4DPx^9l%P zYFHC&%Q`9Gxky3r* zKtE3{R(-j-4YMYSHJr18MP+*Ae59siW5)Q|0f}9NL_=V~4Rw-3ECJv(bqr!N__5pPG{zKaqM+9WZ9>xeKE9 z%b7M#1Y$#krhF*&{n#IQ&i&ewc__KQdu5NaJcW6<7SN|Q2gZPP!%5Ktp;U=SDy4st zLe^3yQ;ttp5hx`}jRs4&Y4zvR;Ed(-xZHI8zPsvN?IgLm>Q%cI#UV+ZC~0&Mi22wj zcqkT{(7rjl&hGifv#IQsu|?_uX|o~Jeubw<289sU&rkJJNfl{8Sn4gxqrE8o3-x!J zj&;HlS*BcUEAl zUMt|Myb9_XQ?5$Ra6%37#4zBTGy^f)=TBaixMve`=N26M8J=(v+A9%VXiiikAD;M2 z@^tz!B@uKMr(g%H15k2hv|li}H?{G*+!`0!4Cr5y=Q>|Rk6vc)!HGj34Q#14pM4Km zZl0!J{)V|e30s&pXXn;lkE1A|+wQliN}h&B*Y#t2P3Ig{z4=rw7X3L0{4dG6c=I`j ztU(0R0alGD92%y?j10(4p!{V1=kzniC!K*LC(pZU{;#tAW#F-~73r+a{G!<;(ZLV% zPM>?7=%)k1rK;!LE;FfrazOtE4PnshcQ66?PBuQQxZMOO-;^Tk1Bh_Odz?3B5J4N@ zjR{8Q@Y0&`jgD$J7c4s>acBJImZf^skgNU;il_&ZOB2V~8ray0L% zvuSKRJpZ2g>s`+k4~(WPHlnvLDtFU_mboq;m@hOsmYNIa$rQ&wc}0S-!M&mP2@_+| z?~tU18%cR#NxPAPv`KCiqzKB>(5kiGpWIIqYirgvN}KHqfMxt$YcS|Q`LCaLY-WQZ$NLE-_&R%Kw%5V< z8(#n5r}o>v4+)wKyAB{DHvaY5MI_tM*T5=9EzV<72|%qWKzpQrO#I5~vaob%^}b3? zPR@e~W<++4xi*QSc$i;S;bQCRsYbnukVv)xme3}htVaD>bAEXsSe7_FY2zWDpP--F zg*Oly+HS$nviuIGrs+}cQk;;Sv2j{GI94Kipi{eGnNV^ugA~xhC$b0u)q|{|tdM!C zQlENOFDP1$c0)0o)5g(Old1=p`nGx#!~KyVDWxRG^2bvg_@B39p-+&Zxmg}V?cJ%X zd^ckQ`7NpN1n=fZx(G~OLwC+*s)&O4LXyvq5>1>$S20Ggx*?yYFHy^~S#A(t7^0&3 zar2Jlp|QVpLhD72Fp~0vRwrLrdBC>!J^vQk&elRv2zUbM+fT_6^Ucg*&Vgzdg?zOl z3wh%wn8BcGpN98#zfO6pDMZKa-uA;w{=7X3_1y3ewR@%9VonahePxptKGN5%hIz4f z92xf0@L?f9Av74kEO!{E2k~W51sZEJ8<}*!nZv;Kfn@&e|{(5Ng9<&3t6#eL{)?1{W*xo z>S$oT3yyh(#dZ8(jw8K4a|OxshVP`x>0~{i=+;Tzjn7MxSPYP{U*7JI0638AC*L4uAfv z+hWo!0J_bypEdEL$zy5<&)T-zY+lxJ-3>>%U#iKbh}!6~|10C0AL{Wgo%sqG*c-8s zhd-Q$x3i?LIQw}D=4-|mq3kGWvI9|K^nx={8uZ1}fVA5H`{~7qN5ar|LI2TLY9gEC zd;s<~x|>Yn>77%KV;cI(!|!w360HjA^9SRv(h%M2{h9~5UDjS!ExYm8!v`u(TF6Nn zREjlc5P0n`Z!j==xx{6VoVsb08}Kw&)QHuYtQJsSaQi4f6Gr*me3qI{m;M3n9#>bd z{o!cK;P_7*bS->$MQ&%wviH#s$95j+zK#|koxP%8xley5!eayVJSNa!HVjy?!r(Mu zF&&JvjCEu>CyOK3S**2fR=c7x{&ilieX9DnnRz>`1%S;bv|jZ{b3T|g5EU*iG-)xq zzN0k~q;K!Ty*7um3~8VDrvhUM2bD`-1=>b4ml&MNkK2XUVpHm835A~DQ}|sG@P3Bu z^tU(lX}Q#6^71g;q;ZA)d)&C5Wt|$yfe;dF5Ha^>U1LsIPs3?1y?Nr@iRG8);^j6u)r@%s3JgQW#gY%E{prZ3XT=t^$_fj8D0kZIVX1{H@M%Pgz<|)F! z&pSRZRYl~Bc~Qg+m3K`>5l!$P^v46k9e;Rctlj=ah&OXe%%$u5X5M|1Jb?1X(JOIsV(vEm7^NzRywV3u zey3Jt=EH9g3>QuE9<}}Tm5yV}b=xaDgW4_ly?OmG&@;dQWI_H;cQ1| zT~E)b)9e5NYAz*A!xq302<2A+9;z4oC?u%G8t2;YN-gjIbdyZP2qd5czDA|qd=}UC z+%v!3d%Yd59*#97hwt$$h~7Amc9^`-zmqk#`#|!H1WxWKhnc1yrQ)ZBX+ZRaR*d-F zmrA!Z>JJI=o1n2)aLz~0wh8G@frkN<{n2*3OKhuKc z*o-s#;K@g0e*l(*m-Wecu7-^2EDc)*RaYMGEhr8Pmj~4+4hY-SaFt+YoZd_WCeZmUYIZ=ZG8ZF89}r)IfQ?%n3T%k+a?9Jq%S6Z{A#gXq>9Fk z&E;S@^|XnC5@06PLu72^ZGo3aJJxNP5Uy|sAW4|@9T{?R&z>7DixE;mGq9Ode)5wf zg610?fx(J%8!Ca8v9ww_lg}+d9twC9rmOU7@7sS_$iY5N!FjnR>dpR~Uj(Vj8_d33 zmJ^`)%rPDM#PYAu+h@=5y|vWIxnUUTv8|>(i|2{@9g$*nfl9D)%oq6S!s$0}_{=Z| zmPjBDt*ZLKEJxlJY9JjM%aS6CrjIQvMi~@)1F>Wn4C-RxKhc?OIvmzKemdf0YObwm za0j`*-7Qmq@Fh@yW{e8+C+*+re1S;xV;m8&Ti_I(sc5`bX7;V z%#!gexIG*e;@ScNXN>nQO&q6Z{}^M#0`4j>?+VaVMI@R|iow-UnT8*Vf@Oz@Q$p%> zS#mM1K>={_ z!?-3f?Xo7kW<(Az+C8?{M;{$65Cjg&`U5eWH%@J}+|_oLuZ{C|1n>JYywNjUQGWdA zt<9ClZdrA0ZEe5q;~O+*9KFQrrN-_ieywkbTJ|%3J=HbTrd*I0@@xvQ_LLy;>Qd)g z4lziu&rof4zVtArFw1p=%m6r2lq)9mWqCa?92j5b7%4=?)V`T7S~X@-O~xqN;#nM*Boz&HAPBvx0mJ|=G8V!cenG> zWJ`>B@GRWpdLx_FP79AWuLyMj`@NK{ORZOApQ zeu$6-?~yN)I&zXT;;0e{AXmfO1t}Rp_OhD`Pn)k)Zm3IA-Qb#dacE{tvWovF%b_?y*sd|W*TIP*-yudjTeD`X5GP4GCkVtpRjcXW*`(#IScI6CV>` zvWP$LZ4JM}{HZ+CCDl&Yxa1aFa*=f|bKIRqip9=&gH?lTaLyYhI@{^(n6T8q>NGw6 zfK{W<=mXPBO_#SND|Il-WhDMqC;JShG5ZJgY8Zu0+Z%k^ZYOuYyVXIgpEbAOnDWBn zCE1?g2~!mc*L@!n+6|N1-0XxY>S>v|KWZB@dBKNQqA$y9(cY0syqVQ|^2x}+v1;*8 z67+Mvk z6=P6La~j>%g8%#!$qpOFgG=7VntOjodrkR07dDq;HXJwoN_; z$o7?e$eAfCoz7pQNEAIR)Teu1GX%MsRBGlkE$WL@HEJ}jEi0^5bdze}ssUmz>EnhZ z@)nQ@6{yRaiw!E4Qw#oNZWdmZq?42_kZUo+E!naYu$NJk8WS+>pnHUCRJW~%<6*)79i7Kl{?0PV%K6=Cefo}zf-@;QDpz+ ze|o;1UQmd=)gtqS*}f2e_`Ax9?OIQM1417AJbBW3`>mL6cC1xUYl|X2I?5v&+F74l z)0wfcdX8&$dwO=cud#Hhdfz-hg$d?-zbkyIgApXm{Oj2k95c47A+6vS20D#PF`=U2 z=riJIRL}+JDb{*hL^;3HRrfGz?cR=0!`1uW^gYflTOa2cXm!cFRK_3XN>|@NSY}5s zulh$?38 zCLi4U>x3#>ODji>hL4Zb^l&uqK*GBU-8$sF=fcuLgZXO3d#SaKD$IOO*s83{S)S+V zvP9g!-?=#>!q|*f}W4q;%jm^Po(rN2n*spfQ z?-GEXC~RZj`%v|9IC&QQJs6FOc@j%o z=Z#j-YqafsWL8qN>qBn3v@u2_bnCjb;cM-jlZ9iE$ly>*;2UvJ2u9|52)`&3lD!HPBL~s*{qE49z zu>-@6!cJS2Drg}V*Q(EenhU_AC@`$mdS9N(&0T$K+PUYEZF2d`FQ4cZAyjHQ+C3(M zug*H>d81|2#s1#Ld6OK+1H5<`c*F{fTzpD!%6g%bpvf`AyOEFH5gA28Xk$qO@H0C8 zi7GGF7A%A(lx>${LFI-F+mmkwzIK*7OyK|%`AMi|&yHPTl^+yavR~a)^O#l~vwRbY z>SDMuq&psfXnR|7^DS>`^S+9cJ0k4q61C1z1bJZc{x&%*4F%>ym6&>{fO8#t(HN*+d5J!yHJ zKO$$*9&4XJ>fC_Yd9H!|=;`~+G_uxa{>3Z!2*z?8BIIaFTP0Ow@p{dIu~32>zGl?W z!WT~)c^krnAjbAsJWmAaGO2^ev04TyT0lG|Y_g&%{{daVBt4K%I34u#{z>25f(kk; z{hLLTDbv4~|NU1;kZ;fPPJbW;76xhHsSmqVQ??^V3t2hZ3+sU*6i ze`&1L&P>}gNgr6idVBE;Q72O40EPHXUtL7l);b6Rk6qZ7uA0=hG`~h$)H@>7Ol%v& zoQMgbv7tys=PIO%ym8f`$~bKm%KJL<<)i~lx+XDlm12BIgeSQPdp7uk4#hsaLT6Un z;U1i}cja40MyBni_bOUjaD&%YFvdSitB;qSbI;3)X;lpA&Wnoe`MhSY$M{#?uQHCM z28XkDJiO2I=PAm|%7?VbQ5!Y5M&79?d3j+md@;lY%j+vA|3(^bo3Sv&R0jcAk2bn$Fed+I4D zUYsoP^m_Iv_p|EeK6f^^*XwzcVO#m->GkX0RtEE;P z^)^X@(Q)1T*J9rt~R&tJF zay`*K5*2+d-Y^G+nJYO?>u7>~xb!K^*$4bS?}MRF7pt0>JUtjbUFzTO!3g{fH%3>a zUpsd?#LM%wGqFI(CQrOagQJjwzrCqa&KSSMb_Ifd%TH>d+XXt}?|8O;rrVEpnt;Dbs0^R0aIiRGAE44n}Rw5U5!hJPV6qyloMaN=Ac zfL}lysfXxy06|xmE>3UJDv^f&8+EnBF9vw1d3*sttc@Id-Z76PJEABd9D7 zy9chnteu6oG()ARc^ulZ+G^_?c>Lu552EjGk7(oCpfU1KlfGilWg!!cPXr}CXW!G_ zDH2!gA+lLfdbC_Df)aLR*5xAPf%*WZ{>naFHW2IvG znK<*9@h|eTZOLkU8HU`b(ib%Dm!2aZ`{!b!rgqw^hXpNYil*G*#% z*d6-p((y}ba;Vi=x~UX}JEr!L@$qko{6L*iAKs^G&($1=?kF9yf8epE3O$?foQ=s2 z{Xpn$&n9CEw$YR64=BAhq{cWJ7reBB%aWiFiKI=ZU0TNr?F1*9UAGoE-529WJx5me zUoFOt3>r>h)#^CiX;s z287vHHf$@rll(@KSV}g!Y8dJVD;DE#0hmYu(#lCYKT6u@fS3a5*bDA`ULLPX6#le1 z+6VtgRLNsz3so?E%v-SdJ}%Sc$stEmlP>K8KDh-D|j6bCSFcle6Z zYRkYM_ISG?`)G0*_qvu9JInAO3<`Xj29CwpI80^2Otk?HzNoa*X?Rq2DYWDXz|)NhKFkf_w)t+zVtd?mvhBOUHJa) zuM%`jqhMA#$H8SXF<>ACMvii5-7p#u8X8HSP<|b`E2Qf_X!<%FIWmsgxmP35;#rdR542K58nINkOGkfp0KsZ= zjoH{CJDrZ-8NS=`Q5rS5^xOaRE)hL>?l3crC@^4OGcWN%kKZh4 z&HP`i{KC=N)%3#A;L_u;D$T%orM+#J!p%@d<`{AvR^aY5$f0fF#o16MT(HlRYp*OV-ZybZ ziqAdIikO}kmbtA}Og$@?PtmP9z2@)mF0Ga6 zTg_0eHAvGU$u6`Td)N(P7i!gY6|G^G@7WS3**ZgK74TkG1y-5rLZ_5LC{&tZPWlUc zNs%=VQL|z~Je)MU@gG7EJs`GWnDUR|Y0qwrsJ#61d><>(jk_}@4LA#L++PMyhORo_ z=-!ZP#)=YnSHC8)S?cWHILOj+(RvN%e4}W`pTX->W>BG-DOoaM#amYe-B$q*P({L| z7fuU{L5A^a0>}Sw?*dTz7*J4n@_=?o7?N;18yphgHet}6OwsAPfEZ;eKfb6DPJ|+P zeVX(pKEN{3(br_>3_YTcYUkTzgC-paR;qOB7XD4;7RooN%<>Om#=`}gr7&oy6Q$nx*I=M5TU@GQZ0_|7*M z(Oi$`KSW`Bvz)c`u*5dR{d@m9xHjGSq1c31bZwQSVOV3HYEh%Pf1T7scO4u?(xlYb zySOl9r%G{*lpgT zYEs-1`MPNZRQM59=^=kW9F*q^-E5I7=Lj}_xs`GMW{fW1wQiCO1Yl@9^Eh`M45^~PALy;T9WzJ7+mc) za&@(pee!LSYXp2Mmhi(Ez!s~^GAHZ*Ql{9sckU~MRH*uuJFFL~TqNCPYHS!z1CQ-(_3F(!MK4ID# zy`#bK;*wLq)#FCPZxk_K;OiGa6;=;P)FTHn`iVxSA$lFu=8Pm%?J4os1o0l=bB;DL z#MIa53suxczvHiv2l&wghrk?%I7IL{IGiYM^I}GLV?2i%O8@MG4t75?XNHgS`r>k0vt6Bv z8o{6yS>TdkFP^`12P9+uFaLPZk}H#*^?gPfDCzq$djmt`f%pB5wqK3az_2`DRQtLf z6TNT1Cg6*lxIvt-p|f%r(Ln(jwd2Mn#BFXR2(@u{$?3x74xW^lXJ4pOS!xPxJ!a7U z&kVZoEpnb>mS`cs2MWr{`ms0IjUidP0G80Ke84!OiYXXtY;!EoT;lWz-^KY{6ABdA0>Ei%GRjVRF$oX(r?v-Fq?Vup& zeNsS%YL&=u-5iKZ|<**H9ca6rzzyTQeG7lFIR|XP>Zl{0k!I?RTGu zcl@E!KKSNKFohN>mvzLe#_UV={cX4X-e=~VYq{hw zsUI;+s%&m zgz8Q+pYs|idVk-2Q>;&DelS@wN!TPR_)ch+N;p58r4K$Omu_}RbZO2_r3$8gN480e z_c%0Yg?Xhz2?&Q63R|s)hv2`Os?%D`p1(e{64gazzt+r7wbfs4C&rwv$9aX9@qNtS zK7Ms))_xC8n@aPB>U{pOTMk(A{+`)Ic|@w*2I&zipU<#`evug)3B=xqeoGs?trsOX zlzd|yzAPT-iR{bb<*MnBtzx+xW4Z=2H|@sAf^S^GB7;YSRcQ@On`JeD6^ARgdab02 zESSOAO}@FxK?$~G3fbfF(jLkTrkQ+Z$JoZ{pKP=1V{l-K1d@$wM447&sU)B_iBfkc ziL&JLuMIKZejmoC-xN4cnttbc(=-7vt?fAWhW5wxX*d#k%cTX{ z8%=A`a<&{d-{6*YWUu+%=%2pMf}Amd2{=XJ9kuf%1V9Bhe4RjiJ1EiAQu@;>8~Pex zg{myzK42tJpXxKri&qp9*v1SE*3wSk?f9vS9CT15ytP@2EVrmjvj+z;kId$4^vD@) z3>i`*S%#mn_!zP?-mIqI0x_=7P94}eCNnb=Ps!_telIeQLp>%lDteEV|hDr(YEGXGhYfJ)xYF%qgP$40Y`NN3s*f#g(S zFR&qx80h$IKD3#MZ8c8;kB$<){?CVD{r#_spNWtCmaeYp;F-cBRWCu30`V0k+Og8o zSv?{0T_!rhjR@p*PqV0Fy^if#L-2$tZtq@7q3pDUjrhXmhrf?9o$>`8atOf^0pI6@ z6VD*@^N%x#+hl;3P*|ldp&-I~p(2ThL|m{Nm?`Vl5~_#2aXk}iNDdVYbhM!XzAg`~ z5F1wANUlLM+2Yc)cl9Db9Q;ycQ^VRDuhJegXi+^*Y*_%KB6DP2ZZ8!r%Lt+zVXV*fAejl2PmLJ=ut8>+}4asQ} zsY#huWRYS?0@mNtAzM<-dX*j&9v%q9LzA0VquCf<2<;MRtU}|gl(GvS{#aD!==p@y zdNq(V3A}1LiNbuQB{fY&DyB_SBE?=TW;){KyX9e|lM5Lb3>%HMSpAm2y8F+|Q4|w3 zKWA6k6(zOdI>~R1LUXo^;=eWDx_AxhV9 zVX^0`_LMkfQt*hNX>343Tv8ttG#-Jzvqeap4zy=j$Gt<0610XcoA3~Bri#pQ@8I-g30GmOkyofccLCa(bL^%s~2JZ3={c*W)1Ze=LYt_)K;7j~VJH5EjVP{xR z`XiH0-cjs#(d%qCG7G;Yp1*#0$E#GkB$1wiyIoZPHwsa;?PoqgK6>|&kP+rr4pem_ z1+*=J6k^8^!j`qjxTd}3-#3hfudGO{ql-}k_xCQD3yJgJLb%_tVpcIh|E(dy_1DKB zFI3R0Ud(y0YaL6!+RObbmY%6p!!XV~We_wp!v@nPlrmj128QR(`{&oN1h$mwbTk+m zDW5Sqm-P(sTgOp8%q&*P)>;ebug)vat#W})YtDe?n|nsUDn z^(O9Rbk38!Sj>wOdRwq|cO9Sd)!YH_AOn;T)SEjpcez8Z{{cuqx4+nKFDDh#mX2^M zrmd+lVbs-z=B{sV|U!f)}Xxd)Ke>X8Ok>-%jnb- z73lBg{ZCjw0Pt-vzMIQ;YgT`EJL+7CvW_EKA2FK?>%~r%Kw63RP=cidOP0F8>MK@d z8&cV62??w43h3s@tH%yq(AaR!hZ`=P`-PSZo0r+!YP!6I`^-K9j>Fq7yUn}0c1hiU zHYYmdtD4t#(eljJk1x(-(v3Yl=7jwxc(0BWy`{2~0^fBo9V;~ZT@`*qsl|d*D(;&_ z*sg=+b-d4q(0!V8mWL|aHk3UWH(fvOqOb=i^i0k;fbs9W`TxgDxhqub^AX}p`BGq8 zf-hbj4ro>b3O91i*aj36`#tT$vo{|Z4um@!KQy7ALr-C^im%f^qQ0|mQkYZj-k==k zbovg3k2cr1vHQ#qT%F#?=!+p)tub7K&GKE3g6#`q77(NE!o2EoLfVo*_ylTe(zH z6iY3XHQ;i9dZ>+tgP3OM^|)P%MC{aV=L*4uu9W6cDkGz@UAHq33%}t(luVt)z_&9f z&FIP6!k>6YkP@8lGB{gkE9cfWqDqRQ?qq%SZD4cD>+ST6xGV1W!9$X&?0er&A=~x9 zQ#MJp@uz_7?dw5VGSr-Hy^1@2|JpnM-PiFgzm_InGVWvLd~C~aB1$RoRw~80i*5Uj zrJbDaaUqXQndVOit98F4Ty;6{UUMZmUBlSS>rw>Lg%Qrzh1C=8w3*?De< zN!NcCTIr~{cQ_^AgL{Vp?j4GP<`Y19v#mpaSp(IYqL{5c`}SeZ+&0Xa+lXuC-oER+ zImv8t_Oabd^UXc?Z}<39t@mEy_M}^SdpB)A*3{hIyzruJx2HQhzH*I%2SQve_cUsJ z5ASWE0px@iFf^3+=srP_t+Jm|Po5%mPSkXyVcgea+mGZOevNe?Del0PcOcPN9$m{< zbXF=fXXxmx<5%1Q=FguJ#a<*rhRfIgH{fL(VP){%v-{y=2Py%kcQHv^4sSKtnfKye z<#>SWY%E}QW{~3(+%OJk%qgw*Rr_@Yx_x3)TVlHm{C-nfkD0*@mhH*sAYwfrR^#s& z-;1W+ULNq9XadGWcZ{2XzqTeGt4YCmgGWB}Eig2?&S%kHpJ97st!dgXPmt&*Y{>og*456J!?_QFBg zKT$87A%3)UWQI?Z6amfeTJx<4jB_G&5 zS1do6fX*&FN2lCbb~u439w_wj+7rG%^a}XtQIa5EDv!9^uz{j#)2OJ*=0RDF0ESH^ zwuyILRkajt=Zu%aOd&y5hKkQke0RS2EH^SXRMlcsejx9{x+WHgF9tOx3dF|(G0iGw zFAKY`e3OOUFQQWl&#h>!OVs&hjSIHlcc3t>xQENv=+mr6dVuWuvbjY3aG?aY%TVMU z1dkC?B;@jfWh13{b#*v0NazHdyM7B#np9GtS)H)>!~Z3sa)YXh41Ry z)eoxMA1_;F;gzQsE-ZAHuk%~5&JDmHzo^_O2hBVq&v&NH6>j2Y z-p^xWHd)wdBE%*rwk>0yKJ&)RKwgi>Qi)hoyeZ~0Nx^kCQeZe^74+k`VN7~hwha-e z-+9L;W+73GBZ)6ASnzb=0N-*E2myKXEmj*`ja_LZ6n#$66+*8j3ld$3=YUGG$QPI$ zNLZXt9rh%PgyGR(z)1Qrt%R>HJNYN4^4yvnR&SY$>^M?eGuheQJZrqk&Mifg>O zHKbqYpV`?z$2@QZ`z6b)Uvh%9VT86k;i9=oP}GKcpC~JM45NaQT2(NGqJ(JFfxyB_R>#)`FvOFUBP+j#DXSNCEV4JaI;qtGvHpKNP zavrukjvYfZFUbbAjsBS({c`}}tK+=+F+ZbViTEJXeKYb?na5gjTnRgM2`h<)COo#J zjn?ra>boi!{ctZ!_QhB|LRWA z%;p(+3{T)C=NHyQfQ(C=+_U}0ZC7^-&Jymro@^1`veMJc-o;-B9EM38W5Xej;AD1bF1Ivm(j>1c5~dmMqIJt_g#=C5@p` zK%EV9@{}_WsjgF^*Xp&=>QJymsP;1vYTC4WRr(>$;rf#E28MS{`=jcOy-P+Oz>t6VDU z!(%Vo!x%@XWnhQ59YI2^s;h2~v}U_otGfX0pXS>!mpP7Y$BjFW%hl7^)NK+flBxc< zRlD?!V$MBS>tWpoGoU7t2_RX;(?Ql*Nsrb+OkS_u=8br zP5YRco-V@KO?wW1>syBl->1zxusr3CZ4AQg!pQduKmVTKp@q9Hx%HA?S-55UTf#qC zZ+0D!bidhCSOdDWQ&o;ugSx7sU@c*O^0YHK1PukO|TzEbaY#{|9GDIVk@nVoIpe=@z5;o-ToI=#QEU~6w} zk0(|;c*9=W%38R;Oq=z>YhU19yvhG#wL`cjds)6%49}1=`{mndU9DiVWA2FAFTZ$2 zwG}(=res(b$_v66FO+umaA#62Ce<~c`9@VW^FxaHbWuup>XPQSEaUN+h`|u+J;z$~ z;JOIKX2aH+Tyn{9Z}0HjO>9NlTFoW7c=Ot|n@>LntI}3n53?Tf5bG<1r>nltV$5+( zgDUC{;iIAg@=|m^tXj-N2TJ?B+!u?JJx}rtQ_J%*H`vL0?60%4=y`^F@sSB{9LR@Q zYcO`yd1+(Seuj-zoPbugk2-dbxbRDy(8}TlYQ_Gr@cMzm|1$T6E&P6()l=@`UQ{c{ zB2`s(;6dF459*#6*Zi=6Xubt+SN6ZJy9e@Bdg%~%3`}cf<;+FTpki@+y_Pdzt&xz2)~Ws*5eTOUmU=^mivRLEMs@(qxn{%z)hwBz);MuWX;A~v*w;AoNGiS7QOgGNJ2=}5j z)G=*Z;U|bv>?14*t?W!=z$Ui*puH~e*A`;cgIsycpe*xV%B-E)Ak3*w?KcvftkE~a zb0Lf9tZ>Wd<%MsQ;q;K@O`1qu+Kq1Htd4#r|7CWjNSd^h`|=Kr%0ewTi&iJ8bTLn+ zJUeE*&uFHeo#poGire4!z~K5j4Zm)*Pn?7kit9$E(j`q<8D5+LUV_yM^VOp8=Tp(h z3|Cjn^tlVJ`^e*%)is6%=m)!lfg#__jyZFrTOY%8E?%eJX4a{nn?EPuuM%wv#u*iC zu3&qQGIbu}DN_~W%H>Ua%1D<=)Mq#ggWyngU%liD95LnjWdY&~H&3BbQ!1}WDr^uNf8ps=|WE3o~ zmZoHT3cS2%BGyn>8_+y%haC`DO{**Oa`_22{D7MtJmIF4GZZpCv25xserVM2q3dp4 zQ8le^`m8zLg?DmyySt^ejh%SoIC80V;!XP_wSg&JRi1jw@%~M=WTSB!`84y(?#%lw z>Hu{tai@&i7429hWK(w#n-gforffL_tvEQXMDuO4a zUoeqmY}ItO6MhYYpYe-Y?aXKVri=LrsmkMiuRn;#{a*7YW-X-~vz6!mA_ZMzMT&}a z1GZBXH2oyCFVRa0DdFfk@v_u}2=y5l3{ zj86>Y_1c=|rgREy^JHz(T=~dZS3X%>?HtqGe95n$dRx?&)DA>wCk%vg-VQ;qLVQ(14=dHXj z+tJRm9V?G~E7>^h!*e$t8`i=dEw^Fleosaa-Ytxri%E@IBGy)TNvzTzepp}2>$Ts6 zk5|EG!47HD@{{3}#No1wvXcNjPVfeus)-X6?d_JW;y3UAQAV<4H1zG9wz7sk^Uzz3BAtjn1I){@QY z?M$^Iebw}-#lzpjBIK8ww_Ate4GU8+RCHb0xp=~4z{L-+ zeX)2yc4MG*JUcLsRpi)gSq7_rhl-&tPy$kU-yyTE#wgthHpbpF-HLiP!Ea?v-_Le$ zoYe*w?^S?m_G0)-LV6X+1Wy?6d-Q*0V4i>LjN_qn2KP@{!uOcmTC?j1aKyT{DtFMc z%R4RKZgv>Nt{;?}!$z`oQ0Ox-KoVN>q$Nue9;Etw2WGpAxN$`+%+-?=u!yGDe z56>3e&ML`1)O^FFPN~Wn@(eZY z@1Un%5^RzBr)ve<>;g4*bxf}_>i7O$ZdAPUYg5W}MnLT2;>WIhjv`~U+!b5CIG=QaPVj(IbM=T6VX$Pbt4 ze}J*yVmWj**ej#V~bAK zE0Qdlj%1i$E~b8v^|IwN2Hb8+++MfWQ{}+TOBZ$Vb9h~=>aQePMaqL*3jSOo04$@#3E3iE9!-^4*ox3d!7RDKj* zwA$f_)mJB@$#Br`b+{ewppJWbA?svS6?>tTuU{$ZqbqOWNvjJAKYZ%B8GI$D(>)#2 znH7C+@zB*q(EC^!bktnc+_ZM~+ccIp@s{8Ld&)(EEJM%h79|l|X}hR^2k(e7(>X=C z!|cIoJak@*YcZC?Si}#utS%O=g_q3CG@p29;Ji<9io8&w8vx0i-8c zI1cnw1@Fw|yPY-_+r<$-l_jBJA zY$SFNVD||9&ld|+Jo*38k#Dtv@jp^{m4@}gvxSFr+FtnSJ81U9`#a$M{M=g&ac-S_ z3%-ghj6MCf&)QoGO8q{qyiTj^BwWpaUqL`w$Kej{YrCy!@AR9(S=bB%D~eVpqV>WBr`isTDG3LwNZG#LSX(I&3PQ zFz@pzxO44`sWD%Y_oSpXu0n=(Vu=cH(;JVP%_)glt3_9fzdUoVOY4x|39Iie|BnM( z9~9pG{+;@r?3^oEaKZY^#KHMf5^?Xn0#p{?UWbwb5U(hNC=R6vxmtvrCF^p)Z$NjC zgZ=J8w$gm>RyNNfwvm>6qsq3Xis15t+9aNY3u@LT*~-)`^Dbdoe}p5y`>vf2YT}&1 zUqu@8NzAOKy`t4WO1MC>4%u`%IJ`27RG^rcDyG3X%Yfj>oB*KrUDA9o!CHYC@$t7_b7uGd)WdG zFy75&b7?>A0^Zum<-)eLJ}nW)I!9V2^hAbky1Y9L!Y|#J*~p3Ip;S*Una*_4>8D?R zR5($hl^0okklQ?WLMy&bH@j8&{QR&RTC8>yQQOyb_xEHMXC{O0xjmU7cXp(#%Nq)Hlkq{edK@0z=l3!B#%v$fgi~Xkg8w>l z2hEHuDcq3Wja`DR)|&Jpo#)^2T1sAHu_NyZY65eO33rXnRzYQ*j!MOlYO%5~R`z{m z1)*9zuG&XPxesldsA7<}JhCbTyHZyi*nRJqdcYa_!*#^c1<$~m+JTqa^DPWTRZI|< zVW&a}`w>M&^N^zm!Vl|T%5RtecS5QDMbjAG>=WUwGy$Y2 zL|#{F_!%?Ps}g@gkD25puydt&ZE-dEAcwfBni9Fh6H&ZC%PyF4yf7IvBc;e7HDrRh zC`I1z5E2YnoS{xwOWR|Lf3?INf2i>t?dTrE9}8NhWh4H@1C!8h=pL0AkLY-Qmad_F z=%#2QgQ;k;30G#N%__rSdZ8poiXAWj0Locq)7JXVdc8JWc+Dh)`pY)i?~@|Y{nX(0 z3cMH3xvwTecyu-9k;;-A{5G&n*=`b|E6R>OH)}{(gFW-mQ5NQ`C+4B>rJB`>JHX%b zV;(hQXlv=qU=>XwVCdR(Nvyp#P#d9$wqcI3J9chnFw-nU93jP?zK2+TpN7?r@7YjT z^J@MxH55i?yRxh4ayn&9Bh%Nw+qddsUoqdihPy%y?^V$p&DV{CudBS!dgJ{Vw6>CNHL@)tRBtQwv*r~oO}Vh+nz2k%=X@) z^CTnZOB}&3GxWZ|clJuP$8Ujb^n+J^1&=nQWfs>0M^9jpP2bp@$6_8>l1OkDm4q$) zk%{jc$VZ(HN@}V@0iIsx@H_pyq}owYQY{uIGQOgEw>6i)jH#%e%hHGbXw_3o6+NIe zehO`f@?v<&uG&PNxHb{Kb=~XL!+JOv;Pe6b#!Z2-_{Iatm;@b*?{n53-rv3Uz?GHg z{>h0GCp1=*&U%&o3nV*oXcvwGrV$96FkwzhiDKX66i&GQfMH?c`K=6E&#Gy22NJVVSp z^tZ(qh3|l-Z=h>Ag*a-!$%s;-2)$-N*u0|hE5?|6%D-kErXuXjQi-r*fNf}tvkZgC z|LN{az@)0~eD688s%~xFwcXmfda0^gOYd8Cb@fiM+CbBdC`+>n3XKXVn*th)0wV4t zfEpzdHKUDtT*8ZDws{&8O*AtxCeI`@lf=BwnIy(hGa4!0`JZ#{ty|UAh)L#~?|Wdi z&8@qf`#;-%{r%=j051j9Tsp^eL*a?E*UYNZ&o$waD6KA%Oad*RXIHA}C^WXtuM-L{ zQ$FjHKJ!DUUp0t?nyQL`nrCW}NY{Ch+nP@;_oZ~ngC>*6YCpk~jjlfO>Z?aW`zz2F z)ubJ3Zd2749=~w7Pp)nsS!4Y%YW%U4=I$U1T0gkOgw~liv-}-#lihwlg!F$@nR{ z7RzzpN!FBdqBVpVa|ouzB$63%#ww&ItXfN9(pY8|r|j{09gd*i8}fx5vP1T`T>daD zE|BaF8VsXZRhW4qG1%V@)OYRf!P$4e{N?ELKxYzKvt~Jde$VQ`&B6EN4?bYDCa>Hw zI8(C|pCW5Z8ChHQvW}A}{61--0X*Sl7RVYS-K-tPy2GP+1tgEd!1^rjYOc|J%kgg1 zx-Qk>?1p%ZW>I+6ycCIU=$&)Aw&XirznOh50$>Y}6|skFq@p{24o` zKg&xN<>4%uf!GLiqZP;mw9iH&VI!uA>s-QSTHOd^jM`g1(~#2v^>0AM;P5)VPzmhv zN34{Lp+MdoUs(iWA_dYuXZGFSKN?-VdiC-d;C0doyPC-PliyL_6U$+IfXpWsu@4XM z%m$F9iwtG3g2>zrw~QP?RNXzK2Ji)Te;p& zR_Y-Vku#6Wi4)~>I>Sz_D};HjgWQmZ0Z6$;i=)VMuvB5+#0P8y{bxmqF)^nXAmFdWf;&s{C50ng5%M819>nNAMUnlc3pc)x0I zzi)GXBIkN<$?egX${ceXPgC3DpU1vE~!)TrrVyv(YIN~1xk zi?TASgvuG8N9$`grt{^0xXiI}4P}Zyc+H+GZeF`O-gnMmU;Nf>n=hh1%Nrk^$%)}N zZlC(_Ih{_w+Y@dYZogpnE1DlOboxW|An6OEkbo#TW!&|V9mOvZ-O)rb#=-XCUT+@h z(dFG5hw7C&VqCEn)1t(*&krpX^C@lQEe!N6(1W+`-}aT<_LZ|+!Q+4Vij_0$Ju_Rw ztzE6*O)EFyUmTN1ly$$Z7eot>GiY)T3-wTORhLjigAw@8{3a}t9sq+9w&na6iK|5^o6&~?XH@N%4xs??BE!&gPZV6LMLRM zxQY4T0V2|L2hj%sV$)!(V?dRHU?hr_zQ9ojRN2zhP@7O1$WZq;WG0n-NwmsLA_jfX zJ2==IzeU#v+t=F}vsyga-D4;hy_Fj}C+UjSTW!^Oo;4JnX(jI!I&DA?kv$;=3}-eX z@m4!FqL!w{5b1{)c_)Q*i&34wV-x#?81SjK2CDriwGd9ol$r)5IpSz|AC&!G%)|xyPXU#dbDCs%fd;x?-Vn@}J zab_}*#R$2{mpF<B+5wS<-X z?fuunZi$EU3zfKnx!%+{@-dwwWH+lLbDe1Eg>yvGr>vKnB#}s@K2q-q!b|~A;2CF% z=2{DpUVxcGdLhGS%A6LMDf@V$ddZo>RxMQi1exRV6Vzv9BXgyj=t7l{@fm=)9(Z%h zsH;j%=#Y?B1YlC*eCj-LdD@jYFW&G(B*mpjB_;$pY{SjA$C@1%(edAqrsF@{egZ%L z=&3&?tfSgUAI1)7mz9k53-BJYL*1GU05^KfL7JktvDrwhJTqu&MqbZRPfj;W$UJ7X zV4z**$Ttje3TiZn)&?a^)h3#ya;B53^e5BJmoy*=go+9y;;U-#uv9CeK=az%lG7!f zwoZBKBHO4-4n|vAIH6*LlF2&cn$>9W(c5l2`Xx`9beCJy(<#oY-tiqWu54uE>!$t% z7sOkgc8gl=YBKDB3Jud9G2bODf?_tCU1pcZ!wP9Ccwe}bj5cIw2b?_d^9>t%anHsL zRPfmGf5zpNE9quSo=e8_o%j=Cfdpy39>Qh^F*=;cWF&(Dnt1=C_fT&eX9wci!JX|L(KoDktSF%Fm%9%GoOJF`|m#V+Hh zT`cELhly&_mSLo zF=aBjC>AP!Gy;Gbn`*8i1T#-b5Y)yKDuCJHth1Y;pjJ4yy5LtY0HQvPvN{~ILXrp8 z-;9&$M(X*EXQL{_)r4{C@~A{y#cWuBZI!40Lf-~ps|hSvAMe+2?cSz5$k!Gk!udZH zf{zWR3QlvkwiIAobAn;hrrI~qRL0X{LkYhh1qmJws+sL z?G#>0Cas)6w-(^JkzD2<(6-(^5rr?x3w^Xop-HD?Vv;i_Oo$k~U%rND(!Q|6+j7{! zs)@a!f@E*uqhOzaT_khdh0c?`<9L5^dkhI(?cvnJpp%5GOQQeEZux+>fi93e4SV(@EG zkOU9f=mh^UWj!ApJdd(;6bXMTV?95R=jOmCG=K-0=|+Z|kXc+XchF28;v=^jLo1Wn#FmjJZDt=aM*nuw)YBUxxQrg^em zDXWw^V}h)Swi+Ps;gVglhl{$RBo-)tk-UW0EMJ5acqEc#re zf2N;dfSog7J4oANz+v>hP|Y|Dkx&t^ibmu_q7m`|xb)~YSWqXPRANLXrb3w%Hc0`n zvUI}5uVW$QXpSWwZSiei;bS z>}CU^ZPSsM(Zywzug6WUbdd(SA(rju{!s>t2@TBqo4$VXnQ3V5RYPd% zGtUoQiFeG{#fSk+=xzCHoX+P$v z9!1S(_piTsVK2}<&Q}wEizpvC*{>cywF>eu88(^*psMr6O+-+2y8%L#`bbJasA>{< z{KN~(@X~L-tz3M*%{|i-pW++Z$y{&6NUF-{rK)c1S${r?#jH#wErzhE5%Fso{lvdtdm?$={$y7~*X1F^*A+pXZ_i zu}$aXoTDnMIqc~!@?(hR+&YATY%ld8LrRQ9!zhq?Bmz)1=caJwV<2whkjZ3nm>h1G z$L)dui0VQ{#&pDsA`*HZJlVM_G?;rCSLXhV{5J86Ps=+Up{jy%frMju&} zo}h7g2l!LVtUNv@a;!C-Bb5erWePRRz%m31%wxB4%5T7%jY|=rRgHKh2K|SgFy%Hp z^BB7Mt~+kozwOwuV{?(^*ps`D#8u&f!rZ*fVF7A3H^pV51dONPx&8 ztZAfu;H(VstlFqM3dy?23qDFnl}ojwozYP5iPt0eio4t3 z?ImA|FK8JWrzDMp2t>-Ou=TDYUW2>L$ z539upEOK`8wid%!0amV!W934wjUXiAk#ML2STXq@eiPRw$GluW83(VgI}H}R=X=*u1XC}_eV_kL?#(1UTfb(dsIyu z-jVU|F?`*G&?01ncX%K<7QtpIPqt@4%}v+}P-<4n^*Y(t2CK$c+C@wX;9m#P*z88z zm|z!7qMeu;s2o|W$f76Mvs!hOnc2S2aw)A;g6mZ}$!xqfiG*}VTWe!|vZb~KTnFJI z8cD|_oNE+?jY~aBW8I1dzKg-WA&Nhx>5DWbTFx6VuU!5PKGC~rcB*~$;5s+pk58v; zeF)3|_e8e7T|m}1h!p6I8!0L;#vZT>Xr999Ka(F{B5RbBBJ|GB&XZl(Vy=K?8wrr8 zU=}RMY@wyAR;W3$5=mL5V!S02i=2aM#Ou1YaC3-Wl)<*5Z$aCLtyC3DeOVjO4E>)r!rQ0-C`t zVo)?BF`3#b&7gKt*@TmpoFyN@K-Ap|-eZthQbzki;cvfRb~c#^MlvJTf{)w;gsXq; zy(lvw5~fcb=<3!(LU zCD=j`X9+QK))4mk7teq7(1yhWBU2Z=a_G{f9rMvof1xzYS)BXPTk+(aMXwXZap&64 zANon(In(BhU3=&!{k=2L&cFD!4mN-OBYEp!BRWA|i1ESvp5}DI&J!W;F*iFH^pS>> ziA~mBqi7J65H=c!N+J@ab&iwqov3BkkO0Smj-1Z`m``GEUoFkz$V_BDQ3(Kx7*Kq7 zZd)_{6l6f~=%yG@6JeXc`LB$R|%jVQ?c8vQX5}@4rEv*yKql z40eRZd5tvgUQI?3(G{J5^a~jU0uqHNO}Nq_=JM886|}jgrbekz+_k*TnUX0en7#q6 zjI3Na(g3mc%`2DBu=SnOIAi{dO{+E;NqZ9q+mKx5bXR3tN0vf>x6JFC(>t>4PrR)* zB3p>(N@Q(FXWNPTVMKFGA}$CQ>g#i$>dj&%=SwaZ)vIaDjHq?ANQVUtFNRDt$D=f0 z_{oQ~K8HMq#>>DM@!!NA%6#mP19XK&xQANb>5c zUl&{&SH3=!uXSCt8FXKS-$5&>J<$53>7p6gxCA+Mw499GX(2TO=)Q~Qk>5e>cN-*M z!;>aqMxO8mF))-A~=`40D321_k#qdD561%d61y@4(Zwo9Zs7n3ZhFS0$?qTc%7(A6anl2oqh+ujb@8S z$wOzu^>d%_0GngG-Jo;@$Q#GNZo!NBl*DL6Q9N$7d2a5V?$pwGG4)6jE7#$2Im$%8 z>YQ~~dq74Xo;C=7CK|CrXrxbx07^Qz5;58X6bke~;2p=p{FqD)BY2Kqbj8HfidZM`djAuqE+NE|T)UjVp&A^4QHDV*JY6r86ovxha zjnDd?EW&32ycG}KoajiH7{Xx8IPY@ z}9Uq^!>ClgUbZEoK_zkhmQ|D~nJZI|W*bS_v z%#IbZraGZoU5x`kK8{%6PFKDAbW4%Jm2aF7HIckZ^9e8Y;CGyRLhresVg=Y0D#IP* zSvH8Qnv7(bVVjm#q)2{O0Y_mQb@81F{^A|h!4vCFpv6az=El)t_-KCaA5lNIpEE@k zy19jtPHyVnmP)&~=~^%T?~QoZ6}#|;7vCFx2tPFPC*&C4w*N>8zxHWb@2m4^Q+#yV zj=W1-AIZhM$d@~s^!{vfNq@FTTSR@?L%TFz_Ht-Xkt16~oV!x*|M!D0+2<*e3#1v9 z^8WkXe&+m#B%{*Kf3GCIxB+v=|HwmVeE2cuCa`qPVzb3RX78 zC1TM!D6Z602mJX?vhq$U6pf(KsOfy#fB2I&jQ%u2h7sx->PXK?=XL>`b0Xd$;)ms8 znf(#?xzh0j``OV!+D&CAV&3kaY)0)!G{+)gqtUbqLd&5d*{M8mG8^qyI@*gwD8{sA z8}mGH#Uee4ovhve1U%G02B#A)dV6CL@pMOF9K{L!?Xcrd4Wrm>HmA+$p`nz3K9oZB zBrk+f_P+4zll4c&w-rQCh|UCdR3ZNynS+$UR;5_OdM4Wm@e{^kOG(yX;VDJ3MicG4 zmKT;4ld8RaWPE!ukJ<{(Ws8Kc@CQ5>-3~ZlL?41pXraKCJtWLy;6A{UiRYgB32ykq zed;yhtWUp2ob}1i#YFy^&-@$<8b${E8nHn8pMh-=ad)j<)i99@+z@WiHOc)j(r!4K zwNkH;fvTQJRMH+~Sbpy^{910ej5ZbAyYCs1Zp8fFSj%jLQd`#qmA3HK6hgzY{NAPH zcGtR8 zx%T>HA}V-)Pr>_xpojpTb-CSCDJI6WCxtvIQ9-xfyX;u5X4$dj_o87Bx-55)e0CQ- zYu2+CS|z}rRgMjq-<1hO7MZ@n+hD*u<{6Dfi&15KH^MC`VF=nn-Xm9|iA|Foxx;BYdV%78 zM6%UH{xGXqfQ@=2i9PJrFvC0=r-_nmqbrwZ@s5n8iN zfRKnNK%yDo6`(e99aFPtZI-8yD#4{bfFm?QS|)kSo;?R1Ik0CBj*$nAj_1CJHja<7 zXW509Q3(B%=o*2^Y!tnHVjt=19vSZG9!B%KMn<}N=FKCsOga4_{%4=Y%i+7^Qc~z(8X|--mq-jRONqdOz-k|2H)yu@g9Y0wK3F3YAq z^$P0Ghs#W>z%g54f=nnMc=MYY>uTdM*bQWvY+vQ1qXh_&5WywdRfU&~E|l`({Bbxe z8;bsoEH|%Rd-K|F)mK*5S6#dxy|iDtdEL63*M1ugRHBdQx8JU>sv`ebz3xlv)_qA1 zR|Lc1U_}m>;U}!8X0n4d9W^x_cj_*J`hUG;Y6 zXLF7}3}H9HN6zcfpNG6sGLy`po`GTu1)&_KoM>e)jzH z(LJH&jNivk%ae)2yp zIXg*CAj(chdV2LkS8QADop=7m_^l5h^uR53>z6EEv3dK0H8au(U9t4C8`>UkpS{%V zbX%6rYJaBT`b|qMZYS-d{~=j-o~^8JMw+ncekYv%5Z!}c6aqw3XvsDP1AeCs2@(=r zjC?Kc6VFqw)hV^K4X%u;8A=k3j`0+CDFc?L67>!)`G-YgOT$xoG95F{Up)BSKx=0g zs#Jb3dg1Ex7GB@roHMU_bLH|S6|py~XSK~)0Q=ML(d~GM=KNE8pbQEtO^DKz3B=%~ zI=DovP@w%{|HMPE;(MYl4|gbnjz(5{Vs@sJUPT1wqLNnrW6eA?@505iqq7&D{-bel z5qZdc_vL&lK9-mrnz`d)nn-cLOHEd-(t2m&wW< zgp8UX@I{u{p$?g*Y(U8`ki+By6>2#Y^`5X~Bia;i1h|MZ6yY)x0X8X<6#QpY`%kA{ z8M^lNv94Xu9Qx$p!b?v6@?ml8le_TAQ`4CqVIubl zQyjO3Y%Qn}HnLbFD@`x~P*5zc7V^rji)bx$MyDfQ#Vn!cW=H6m3vNo^b7n| z|MCBu`{!{#dV%WmzsGH7q0hIS`XhGz{{Fvd-|z|lCj2M*=Gp2)zHD<#HrvviMf01d zPHk?PGKHMzA^B|{yI~#a(Xp|I*Bf!oBe_{&bF`&dM)Q>fQHHvQ&XO;B%HCzZZ!_`qyr6^Th zJLULLl5^}(FUOyPp7jyy-CkV?Ac{qNSlOyv$*rL}H-F0&B>yd$I zs5gv9-mpP>&XYg2-!H-Z@e13}aSVLpDX3K@y&^g#@^6^jHAJy)4P%p`1>lCL-XRGH z62nbKpvr3QVSDTOX{I!i68q_m&a&|w}#W%=GrN~ zWJ^tIT2rmTBRM3y*_)afHGs}1Zv5TcSW1QB9ft; zSwAbF`(5BRZ#jAmuP5(!fbFzV=1@0*`B18y%WYN*TOw-V*W@SibBNt#-dplS1iET@ zkul;)WoStp=pFQGnS>bKS}L;k@#H*dZZen3AFgO}Jo zHxt?008dyl!J0(=HK-=1xykAgpwloNCrW_dYm9g!R`m2+Z{>#2)8vyKzkhrf4UeOH zSicMC`}+GC!RsxdL3K3(Tw!*6UflRg9RS%WnxcQBT_d5*MIJ?jS7beJs9cOi+7>hfQHO8*B5_>B{FGF3GjmX$l z;z~QY(pGe(Vzsd}7I??)3JP1JhVbQ?jyAELC{xDz%CR6arrK-mlF?LVG>xT`6*S|= zVJVx^+K?D9R-4PJ*Y?D)HEgyn?rv#{+l*!*YA{FFW;^Tpt3rO+15C6QVMU)v^{eK_ zNR5H$JS%Z8r+{bKFxRLLXU|TB21CfFsz8CqaN=D5|om^LI%8zRO@Gvc4A z8KKFVk!r`#5Ripk!vEdPs3OhSC&c2`XzcR8OKZ^I(3l$1nCqc2@tAe@|9ER)cI+=` zjWrzI{Xf*4?0rIIeOG;D*KWaHR$XSV-YuA`ZPjMmZncGiVhvlB@NOXt?Yvs(GS+uZ zXr_eD&`QA;x7whQ%3s&WQ5OEZ{iT;4dF1ogY~2bm$e;c6$FINk!&iUs()VBb{>$I{ z?sr}|`P?_Y{_G=9J@VAoo_yl*#~%HMuip2SWA}df=-pqs>&_#G4}I|q2XDXa)?04A zY2TjfuD#~Q&)>Lp_txE?yZWkKJ9k`p#rADmF2D4Wv2|-NTC@6sRV$V+Te{%f!E>ff z9q8*yx3|_MfkZOkm)$lCuov*i=Tynt5FsiqA|DTRbd$9^!)hyu21NF86W!`Nlb|I@ zQc|Lk?_@HOVn^YO82Dq7i6{^{#yKNYCp%$G$(A(pyDlspEP(Pa*W%F2E2ib{8;vc^xo?N}1>1LJh%S!;cz5 zPLBskfjPLnrKNSw^2NBb{oJH#S#>Z0?FoqRzjN99tYD$H*azGuROI)!Q+)*ZYRZ zCyI?V?gks)G4Z95zDAlZ4$T`x+X2_pKUTx^m^x(N*~7E$x?X z*f6$l-w*fhqqSb>GIW{PMf4;k8>Y$(V1^U3ZI7TK6cCL@Wq+~m_`XALkN(Z>6Vo^ zMcGd?pNEuY29cDK0_)D}YU!E2aPIJ$on~~|_WHT?o%MT~7R*>Pa)3UsiO6poX}?!k zMFfXLz(2vFg{Hy+UJ%=LD+FQ)0MQP|isvR6yc#6P(=XBP65oz~-Q{sZ>mXTC0o|$W;nKznI4F7moS#-|w*uHQwWnXfD>C@#zE;~s(%OPS6 zrWNRRSlC11(iRdiOC}6{fOUYrv_ddqBZOH18jU6$Q&@_mhp4`3@&S0Rblm@i>-S_X z7P~DicnA9CMacW{@bESB=d?fZI=HvEcu})Mss>>b=nb`EI*0 ztrgg$@y|lqD~v&tsyZlzX9`!BI+X$~(6gw!1z%0x)qqQ$3#HOAU}K6hw4 zFT5zQja!MNWvGj$78wSM43k!3BeBRt(Xf~!vlzsYXfzg8qNYMb8Lc51nKdx6?1JgN zQhUcxeX?u%=$!Fu8{!E+p1b9`=#Eg626I)k2$lZ&0zkB=L_ghdexpv^DOK37$oR0M=G%nH%m@~-=ObL&TCIBzOz%K}S zm16=x3PPHhVU;RT43$nb;C;PBBQfhp3kq95Wi`OgfS0{gAvg zz4BjbeLlIqp7fO4r3{a@2A$3GMuvx*oaI&3qd4Jpx_!0I7s6#8Pgyv3*HCXurx_d4 z@t)apy5k*WJj46yr$qqeaM`~{yj@Nb1ART#KL%i0HS8u&u zxiU0OCLOuxu_?(on^%Ct_Y%c$ug-=nTI4T}PVUliLNHYFcTYZxA}629y+wAP>(K5~ zGtjm9doga1Xtt)Dl4O`B+;0L&hUoDsqV(>`ljxUk{`>D=8wcu-oSb_;dQ*r?Qh$}pqhV%8JSh)2;zUJ!_arhM#)pyd`P+`&M(&$M-y+SuH@6zy zE1=UKk@h}I-yJMpQBZR+wJZa-#{~nJCvXr8RXTaEch~e)r^Byz%jkca1=Ra6;kv=|!oNuit>-3gI%5&#;-FT8y8!T)_pH~u7d{sZz;x!=i; z_0w4SpUJ%|XwEFzJ9W9Kf;?B$lCHF@)Ra~{`t->Yi^V1X>zn9baAC-Z=CHsabm{0 zrl$Httg)%ddgPafY83-o#gH_JTsPSnGfvEKHWCV|7o> zKd*A`j3t*XUodx7w7xO3V0Uf2_Ll72bptK^)pczs66tR5NYLejjWzri!9g^?8sT^z zQP*g&AQP&t!jh>R36hGaOAljySd=uJQAN-)mjD%5hlosunpv$DYRI2OJC2>I8&Pn2 z9#Gxy13-0OjlTx?L&_MBx&t|^x+)-TWI^hak|)X54X@|Nx9zWJqU5wO>yb^D9fl!h zPfx*rl8?*3RrzTDf06}*o-HMdi=l>YMJZt{J1!qrg`t-PFoQqA5omoLrwDH?p(vDF z5@DDr0f{0ETU2>e0bh8y8o0uP zfkKJcN=t+z9h8*HIKy1%*mbm&WX>;OO;=^}36V`)XhA>YOR)vnC@Z*)NX1H*VsZrY zBche!jC(1pnb{~w=F4f8Ntp#plHmddh%eY|nsA^pPP7*+(d}@d(Jbx$Ojkncea{)L zr0Y6du9Gy}!j9BCKuZ2JatDjiY~go677N8K@n~?=XLTp#Z*0roqZ!P@r8u1wg}v4p zcgADU8Zw-Me%YNLMCGLhQAt2AtZixfCCAmnpuK{QtFpg z`n)or7s*xLDi5&{&%6_QAP2eBihnmi-aS}qwZC|OZcDLF@BwANi3)$z7Hw43GaN!2nN1W(!bS54H7Qsux?#nZ>h=j&P?@mHbTWZUt?IJaDwu4H zVTWD)sh7YCSP^tNfu*5D=4}t8IHsOD9Y1UK{k(rQ1NW`((LN*Sn%4vs@ z?l2$CEgDa`L9p5k)-k~ba2RC$gQ3ND7PDEmvt%Z{f&%u!Wx74aY|ig7?w00;`nqJy z?NVZFYpI&BwYW9+JgapVG^x2cFou42xrf5xr8=&Fit(5EPMn1m)1}*D(61Rfi38%KEcC#aL?4s>#ZiCZMSm7vN;HrkM)eA~zlR z4pE!|%m=-%^N*l^S;UEZ_44vTRS>Q5($$<5*1qK{&Q!igwc@PEZDqr>LErkv0#U7| znhEPh7UFQiiXZFw~rsWp~Se!@p?d=JUX&%ei<80`Zg3H+^MZ_ouS^1!8R02 z0#)6x{aB$7jj?%(Tn@*G9H4HjE!(U%0P5Y0W?BI_Rw#y;98>2})kHy{d}&)!hul^u z7zCwaP{j6QUgcI|)Xd_=ZCa5V=uJ#!w9XB7t*P08e4U$BvWSxvx>XZhMTu4=tCIo0 zyOOLYFqmvw8CStz%B#tWuHJ3J;QBekp!Bj-!`2Pitp3Wrjp)#?#82-6kLlF9L!9{X++^mQtVS@>BLA{=j3OqjatOfw^n` zLh&H-??)?i7@nGhX*MneQzLJ=R>u`i9qlS)nMZw);?c0v)W@AX#3_3==pUMgPUBc^ zgMVjyzeo|jpXM!A@%=QXaUQ!3o}bP3)8`Xa6qpN*qMn`xD6+}J0oaZhfh$;es=p|R4hZL`^A8(HUN znF5k%>ATT{sJ;77IFR2z>R(>P^84hsd9S%1*Uu(+VQ-en>pRHn(%rDo?g;6jTU>uSaf^qTYar77+F9u*g?!k8HVe~jH zuLlMuY&VgJDh;Gzap3+_|D2ad?m-UC!Nr05RfLYeGp1jr6s8}Q#8)*;KPm?m(vPhH z$7yWN1AA_n-C~v?^x*lFb$~264hY-J9(5hi1?{|SF@VV3JHLN@JiGUEjRy;&cdz_~ z;ju6dXBM~eK)tONxpK1sS{S`5z{_zs93F>9hIp2``03(VD(jdU)T*I;@A<%1?ht_C z@VFUzzhrE(WX#N4GG>O}e?S*9gP7TAJ8mHNwL<*VO14ZxK4?Z>$fpk?(#}GP$MVgk zc-afNH@|-c*^8kVxDf?eO|qTVBtso^bGCu(3kH#e;b3Dha1f`0dqdGXggrC5+tU&8 z_zCqP*Mg^6MQm*pXF}P($etxaKCxE_0~WE?cED)mF_lok!|XObO?j9GCLFvOpFx=w%FBm$#AbBBjLPf%0`q@1<*4-sPNc z%n-w|?bxYnMVzV1Mg7o{ZFH8Aejp|zHk_d&$b)J8S42 z(Q_ySeSrn}^hanfdX45x^|17ne9ly!+$c2hD41xUC0z8G5-yz7(aE zS;;fNdA?MnM84F4FILcODI^5Qy>^iII76;fQ8YH6E0rplE7jf7&2y!;*Uzc%tWz_k zkkCYAwvDvgD_l28o|L6jo)q7JDl{~|$3eT}(lYcFrk}SC@RhV4GQmY`hiq4PMcy86&XL)KBd()~C8CEQ}%1{Ae^fP=< zvHHEG^RGJpe)(5lKkM`>$iE`*x;fv!rSh*VCG)RztHI>o(y)Q9f8(Dy_3FI|nO9I( zc*<}St!a&ABM!S{Fn~4!sB(y=4DqZcqV;L)wn($VAP4Jilp_B7U$3`f;xlv$0~P$De}^h!4;7SKPzrGV8%{(JtZ+%LfPVkTGK?1B%= zNkX|Cx<)h!L0I?gWWg+hMSo5ZQ1^IoT4=73f>aoI{w>h<%J5J>K=DBmw^p$R$bax1 ziYrs5ydIgNRP^nZt{fUXR^8iyE;-r@6>A-xM{{>9+)~G$A2|I1`X)X}md3hl0+uvE zttV8q`urveK1|rjD2*dLIumg@BhkQ6f4cEbJDPo3SWq(_t7}D`M|0WSe^Fn<>C*x_ zg>phnXcfAI`+4laPRw@LC`}5IL>ha5BPf4_duwaS9L7Y|UN4AHoGwaZ76cWsnx9ss zcnD=1C!9+Cv+R7K==9NSAk~(LXFA%tQeBPp@zz9ZM|-C$0p5&chl)&^@+RpLM8_vz zjyQvbhfi0iO!g>I___lvp7Ob+iR$l6b$@PYXxg;pYc^bQac0%V;Yr97MIrKw$GRM?fF z*rqef8(&Jb*4!sd=t}O&EYw4*a{qwHy-Da6rXp*8)KZCC6=c&!EtNGtqG5DfiP)?l zwsK^%i?%Ty(gOGm8V`f0zb0|JU6VMApY?s}^;GukCPMK&vOU1jBbdzVC%et$7Zd%V zvahG5IosbewQp)V)l8Jgh|A@p9q2gg4rK8)1>(MEKTBq@xZB;x zE~o+A$&)ouBohg~ifVuO>Y>B0etXfO#fuN2b-9C9vWvbT86{n2si?6nP?jkYNr(_8_9f( zF)-4j>K*5ww~R*^zZb7-LvGMNKB~t*P-BaLzxe^ai0D~K;d&NTFE?=bjdD0aOe-YDMF-j~=wwv+RZ5*fEY7()6?ru45P$+V=4o?#lm>V$L~~_{ zq|32p{3eL?+fF0qln(@EHJ&+V+RSy{#`C()X}8r!r_bszUOPqUh@HIt_L}4P<1LqM zsc>GrFgAT4?s%ju+mQMEEn;(5&V_P&_u47`%IWv8f#wGTI~B3m0@R_dn)D^5eJoTgCnp455wE{u7s!j)VW?x4E7h_90KpwU45n z#FN9Peoyb$Ncz}L{gk0>K*y%0@>?qu7ewW_WH8p@#;*q=;lPPp_-81Tdk^p+QF-p| z->MvycAiVyoNe&BG0@57Q(h-N!WAVCp@wY1LzF13ye|k3!-mJn0iY66P zwD`F+OZUvrbx-d@4ldk^?C3!jUZmv}C{GUj;GUW3* zD_j+2c8f#|HJ(UijHV03A(l$sL!ozB^KQ^5?Ad-(D5ND5()BcX(HvS7VTrNz`ovhP zJ~4EH=rmGceJ<&zUIK}%se%krYpD#9^=W_AgEV5{xRaC1lA&qSam#8$vt%Z! zHdZ<)v8>l&Q;B6|w>9V}8oTp~h-KA2VL5?w*%BT)!^{a~g8;#zazhrr3E385V(FO! z^P`)Rw(_=~kGgX&6^?0KwqMsCmb)~@LBx5cuq4qX*HvOvL$QicAY)!y&rY6r3Qfxj zLed*eAXLY_rNp>L8kW2^*mD2tg>-li(!P%H_o5_If)iCR(+ zVc={|R3~`j@Hs>Cx_V}>xMcmMIS!_YGJSV7$2w~sid=gB(o1rGP|-A@Js;q?M1KW* zn`Aa-KpX}ys8<1jOG7eI-~<3+bvxUgf|IDFPE+`er*k(QMDoFdx&Oey+>Pjp+=Hm^ z2S3RD;}4ilF^@c?@vqS-aAPiV=nE*^a%+K30gdh^`jZSX1}l-8B_EgJC8)vTIyqU8 zy-FeS?p1W@CwO8z3JNH%l(ah12#FqelEZ znRP^GgZPZ6Fg~M2R(K+SORu!K+_4gYl}@HyLTCj$*6+LH^H(mnty$UEwR(Qp7e29} zZ{wPsnH$#MNYu0zrKQ>X(4+9~5Llf}wVr2+uZR?Xf&vD1R=xF)-&y|9 zuyw}6$1X-ss`l=Q5g@Mejm3`jK|v;t97}P$5#YIMgi#N`~YSLM%iic3DFZC zU!?Yg7HWYirIPWJQfI3H6h$9ENlc8O%(h*ye0xi0ddzD@Puo5b+bb`=^p4#ZL?3S- zs;MqV_dUAEbjj)+H_$oQMfx*C#=I<4LyxL46dP1IvKn+XEW*2y&O>!F0DxL?0lG;G zkAzhpnG)@~`S2x+tiwaor}s@?df9<3xlc~i#v{tCMl|=yAEdujJH4-Z^F>?sAh~^N zGMpvC?I(@P61kfIX^O{5^cGn@QW8}Ok_xawkpsd2*f?qSpv4Fi7mh}1qt=FN^`6^Tpg+?w+lfOG}FbmM9700ADHuC zcZfQR8@24XaVQp?xnt*!D`y6x^KMu)SXUcQ)DB0gYHGqYRkrP;Qx}zq(t@thZQDk> z&NYj+#nVQ&quN+sJl=;IV}YQe1OqXq|E9<|Y|Hl(U^3bYVj)_1gZECMwWRe^zQDXw z3v-0U4n_l&YR7FiA08W}9n~{)>82aDAj64dJQADLfG&UHl}@dra{r#1T3Z8l|NjFe z7!@Y~004NLV_;-pU;twM^ITiw`E9;3a5KLEiZI-){uU0S|L^_xfxVSwGLXx`zyuNn z0DLzNZUA_kV_;-pV0!>#m`Xmam2pYwgf)$FF`jUsDB0iN+A%ag@ z!9Ix=j8&8hrO;MIXxA#VreYh>CT(LD<@lSk|J;^Vy72LxbN=TtGvCatyGQb3zp{w- zf(_EIpGn@8rNs@(?S4R7-4RL4v~=n&Y15aaP7g|x{sn5nv`$Kgwn&$bhq8N4vigRs zbq~l!w@%tzzliH*o@4!r)VRAP>w2Um?!Sezm!w9gIe&@oZ%H~;&zY||^E&VEV0;SR z0=mJ6oGnRSyTI?*^bu?AlJ^tvMR1w@+aqV)7>w=iA!%?E(&Ii6@!xUper(ts{&mmD z8r>{8vl*__U-{N3?b;a5ac2|v9>%J-ZTY1CEHCi7ud$E8O{ ziOuRz_WNYLKL+;5dhSlem|q3{OLzxown!oBP~n1hg-LWUJ_}B`QkX@9Le#+GU*R~` zL*nAtbf};^vgz;ycfKP1G3Hl+AHt`T6%Cey`2T-j~eJ8gox` zI1_8B$lUa-aAiJBPT88p*)+D8nywEfJR})EBU!(byT`~4YQX9c&Lo_RxlCPLlc`r~ zrk=YR^lfTqVQx87l-`&(!$}SmlYFXXzWbx(merf(nCZJa{1a>bTWmExyu{S@BU+}O z6V3gnVb1by(MPjwa?!R1V)UCnC93V=7k!-k%!l(*lGXH2rz!Lqr>FIWc{fS@Y$Yy_ z;rA}aiA~kKXyXgi^Rv=ntT)mR4Ax&~VZ$`zFX+#Pb#jBRk*?H1bRJ+nfFGmSUj%*B z^Ue^A^?l}#hCj>>@9<{>eqfjT3QhC$7o3AAJUH1a~H|^*apwcjVoHq&FW3^Zo>HT0d&S&mZymdF-%0N&NjP zSrc>qI^d6>Bj>Nh@!bWCBzlh|dM_|`MO(HdwO@tn^)Yow@~PwG^g_!J{K87a z{%8MHFZ0%I^o)7_3pbI+)xD^=jEhTieTUd@=f8KW+$)` z3n~k23$hE+3;YZq3{nh+46F>=4Gs-14PXt54XO>$4pa`V4)70N52_F15MB_J5Wo=h z5g-vZ5s(qq5(W}v63`PK6J!&f6W|mE6gm`W6rL2!6&w{n6_gfS7K|3s7aSLO7rYnv z7-Sfl82lNi8Oj;@8Wb9a8m1cF8z>uK8?+nP91a{p9AX^29ONAo9X1`J9ts|`9{wLf zABZ2+Ag&<@A!s44B0wU7BE};UBWfd*Bf2B(BqStiB{U^=CAKC0ChR9bCtfGAC+;XJ zC~PRgDEcWdDXc0mD$FZzEXFNlE)p*^FP1O%FitS6F(5HYF>*1aG2SvXGcq%HGrTkq zH0U)xHGDPDHYhfLHsUu_H<~x(I6ydnITAT^IvhG^I?_8DJ7zn)JRCe`Jh(j&J#am~ zK0-c-KMFraKe|8|K$t+@K|n!>LK;G1LdruhL)=7QMI=RhMjA$RM-E3!N18|6NFYes zNrFkHN!m&nN>)mQO2|s`O9)F|OSVh)OfXDvOsq`SO$tpgO=eAyO~6g)P9RQ9PI^wF zPTEg4PijxVPykS3P{>gPQD9M=QS4GqQn*tFQ(#m=RN_@MRhU)kR#aA~R~T1rSH@T> zScq8kSzcMZS{_8JinJSrxncA8rnrfP|n&O)Zn?#$4o4lMX zoOqm?odBIq000010005<0NMZ&0000000IDl0FwZV0004f4Hf_Z004NLy^>E(!ax+p zzZU$9F&Z~6j1r@+Y%Q*g#uyhGH^hZvB4GpV5E_w^wjlKcZj8t91RlaOcmuEC#&4!W z6by!q_NDFbeeb=QH-7*u;T;C#V+rsf%}n1`BYQ8BMI=dfkIXr3d# zX`V+pW0YD^TeyDR7hb`39OwMA-1Fa}e@V3sv9$`9$}McZ z2}hUFnAJAxzgJjPRfWo|GUBQkLiz$dMrA)W<~BL2jXREY!|Isb+oT9(_?)dcP;24j zN9~o0M669aEwJ8EcJQCQj?w90MqcfDo?2e#dDPSS<%tEHW#l=KPN{ULd5k9`^M1Pl ze|S&0N79CO`fH!llNm3oK_#XVVIMoRe%0`)rrA5_awOS-?AIl=7!^2DzK27#M!Cx5 z6Y~nR`v7>HZB+$$+twOAr*Y)ku9J4m%#by9leA+e@!F(mvO?-LgHEv(Ta7KJvK7}J zGcz;u8?R$#hBszr?%?g=Cf%!8PQRz`%YV)<-~Zkpj&3jk;`wtqBKSWKSJ;0OScf|J zP!9!uOhf=dgfIzVG@ucaF$Jq&Rjh{9u?E(}T38$FU|p<-^|1jq#75W{n_yFHhRv}B zw!~K08rxu7Y=`a9gdH#y&Gy+*OhXG=(T3@mfgQ0EcE&E)6}w?~#L$iobRv#DFcY)T zg>KA759Xj3eb^IoF%R>x0R32q1opxr3}A2UgMG0d7Gr;?xB^GwC_I3(@fD87$v6QQ z;W}JNACAX6I09#21%AOvI0wh#F?@iZaWSsPZ}=6z<8s`HXYdqm!XT136)8Li4Nv1) zyoBfR0$#+|7{aS~8L!}Gr129@!y9-FuOowR@jZ^i66hF44p|tu6nQMg2uu`Up@>nG z@C}xsf-(-kK{yb1<1!qAgK;Ph!*}=r_p+V}{hY`EgZMB0#}Fqm%m(~Pu#uBFh2$z+ zm8)@euE90A7T4xFT$k%{ef)ucaszJ2jkqy4;ilY-n{x|p$*s6Gx8b(jj@#p3c#}=s zfm7Mc2&0_F7PhjD(>a4XawqPLPw**s;jY|`yEDdicCeFi?!lRy#V&SpHg3VK?BN{t zvX6UmF6VJR7qB1y#((e`KIcLvxEB|3fO~Tv?#unSnEO-ZAd^f{;}Fx#Q0Ed3<347Y zqrp7Bz?U4s)m%!G1r}*>lqD`>nH3&@x9~9!#JhM8@8cu9jSqPc59T4bfQRxh9?m0p zB#+|JJO;Pnb{>m6aTgxP9axSha5x^tF}MLw;z2yb<8VKZ=LtNKC*ed~!jo|>uEqH{ z4?pr0o{Fn*IxfUDI0a|oEZoD>cskGEnLLYU^BkVb^LRcl;Dx-17xNNc%FB2;ui%xu zidXX*Ud!uvJ#XOOcq4D(&Af%T@;2ViJGh*8@-E)Zdw4JJC%t!brALHYE zf=}`(KFw$NET7}^e1R|WCBDp8_;TVyx32%c)5-Z}?S- zN^H>7Mm0qh;E(0gc|#las}e&UN!?6ZxuLAKER^(kup^Z(s>!5g6obhsRXUTZvt>#` zr@g;g^vB%;HTS@{JWvx5jC&htRqBtsX=oCaxZF__5Sm$&RJtaqnciM$Z!f3t=19cF zXlPbVbjIVpS%a$S%h*QgD(cykrsx9vU2gumn}3(gUzZK*ax>K>PUz~Mpf3q^*POA$ z<1&Y6tBY-uhSR2|8Clgx=}DzWO>zTec1biL)+aR0b!tXj|C?+(&(m7l1|u~fqs)$p>%l>u2{ML=-C zlVYVx>$7MLZ`LPqku$3<@<&C^|+;bP21sh3E!O=5@q zJvw8W#F*>1cPNRpsoGsCNl3`-O9BFkl&+atK`#VKV@z2j7nTJ$yF~0UON@5=)TKr0mOFQ=%b#G8m4V`uK`u{#~8XlB02uyW=^yX%q^OY%*yn6bYO zK?6g1%XFDO>aHv3%jCL(J!eBwO;2Zva-pHS8`k$Wso7%vY+>gJyHMDKu*1TR3R@C( zKv-4SietlSZbUN+_GjvNK~?lXQqeGnHmaT& z(BTc9Lc}47@rN{)Rys7{rB?E2qPjt_RHflWZC2q@trzUAE(^I=ihM1;L_r6nlb?(o)1Zv?geZMajWW0@N#WM@F78!?HW$|qi2}QY720S_ zuT)LCs*i^BxUPoWe{3Rlu88d(AKQ@D%$(iE!K@UZEYW6urx8w=C62H>#aN!?tnr(L zt#LxJswxjzHEOo1*#@jJxlb8);mQzC>64aP&Q&4f<+U(kw@O?Kf;eMxhq*ZULmE67Vwj|397a2E6mgFMKM#T+do8p2)kFia$ zAyk_dN&p9JLI@CQLTGV-&;o=I5}F~Qc=h|7xp!BRZ3y|k-~0XEAJ6vgy?e{dnKP%K zGh@aXW65kQli8AKv&t$f9{s|@7$1+TOIlVntr_;<6hD67#F*@AS=-~4n~F9uzTh(4 zU(vRvebw5fo7dy_cZ^w5+MBx9;JOXJcj9Ph@7U0m_3ZY)G3NW2@nP34Yi(MZ)>x5( z_L6YFdKoU5KQUa*nC38k2bZntSs%VD{~G*$gE9RB9jjZK=7o~cSGETIf3T`){Tj`s z$=mSk$M|?Vn^v`Me{$$C#*%j9oe67JclW&e&gu;S0qOFyRm30-v(qo9G{K& z9$w~UfC_*3ap?#SUS`HO^(5ot!Z#q~yP1Y>#qR}pTgx(WW?`H87JdcqlQN_l>9^9; z(x2ts@*(+%{Al*J>@U1-Z@M?z>-Xk)%e}+ABfaCjH+k>yKIC)y{JuP2sbBKz{8qoi z@Ajwrv;9T>$^Iq&*4$_M`p`DD?qxqi>)%MJX#GjFek{@Y*6h!{PH(C=6N91FhkkGC zcC?3|Nj^N-~xqb^#ATV+INqB+sX6I|0WG(VKMjLfMbgBsbJ;& zFbhlHuoNlEg7PqyDm}y8kS2b+!_ILg8tXw z{52eF@hQaT5Z-;Ag?Rv*|IHeu+4yNf+P<*roBzEFEA)()|z& zFQVPs0K?|K6H+U)^C7I1V8+qN-^0CRmcf(zK0uo`v{TCe#5_29q*UhNdzeX_H{iMp z@Vf9^6z6VMDsN(?60S?*fG@m9&+&t}cLeR7gZ>-Pe^%eWq%VOV2c)0B?_c~$;NZ-@ zK5oNUn$iCS_*4S#k25|0GjjvK0#0sL#=(EWWLXA|s+e9f_I=KOk9KA-uede|?<~SS znvd(y_W@SI-e(;5OCb=Gxt67~ulv5>`&bcg2M!H=-^f?9eEIkI>}2_9TO)8zct7bQ zKZ@J=nO67!%Ot9YRADCU8Vf5GPu((8R+U=FIp9DIrAX)csc8vhlO#5v7_@+lNY znuqxq-`T8O;GFP&(nlVLG0{9=4hDXJ|Cccjn2WwQ@OeStK0XID4+B1+uVnRpk(djb z5Bgvp#C*|_#!Y>nd;|@m|5U<(fTRCN*FB)mD(QVXV*EraM5_er_aCdo{o4esdO(jv zvvf>TkIHY*xzy12I`H~AjvoNW&taT@$MGv1Kg01|9AC%r6CB^iToe;NWH;amupHtK zT>rCl7k)=s8PO`n7p7;_qemRCR)7D6j%df#_pacjY4}a^sT{-N*Z`WMYlLT-W5O}b z@mTdZj(OzIS(@B~@mv7f01pr!;z+;gSPD3T#24Rt1iyl3OlaH8F9Gkwe;;6lfT38> z4b7eMTcM|EDqY2oxGz5k+9G}<8l(B$-1nW}`QHLo;(hR6{0QEj!oLAOt8*_u*!M4@ zyTlj?=A(dFfyE3Q{gp3foM-gC#pi)O!+jsI*J0;;!z8Z3{Op5FE9v`MItrOH75JHn zaj(a@3e(BQ1dJ=e&uz>r;m9qJ2lOHN`UQ^k`55PqKt9ta#FAtk3uu0cc^-z}!yr%E zLBrGVDFHwC^!3q^-+DQpIFk}p52))Biz{fSrDf`jh&b~L% zha2+5%U@z9eB4rd-#7Yyvu=#dCFICHJO??0^JIMT)K3wPx%7eV2unX#W%JMbzLx)h zK1m+gFc+_4UX}w6l9QMRSU)hi)UqctxfR5ubD1Ic` zrE@yQKllxM*$tey*;F=y)vz=+iVa~SS&6E#o$Mo3pG(62<&6Gl@z<*{$jn=kX(o!x6%Tb8#iZ(UkZ zT3%j0?TlF^OIy2^uWemg(zd#@XKGVd%d*z4k_qd3x|*6-cPxcFQH~)E!4PM&HrC6) zQfv(CVoj`tSFqIpxdT^=adi!j&G@yPb+cuxl`X}!X0`#}li6y#v7Bwhu@k?~z|}RZ zH7}dB;L0jiiq8hLPIr6ob}8N;_(ln?iZ{fQO=zn{^w5Rht!zE+50=*b7&#LN|PlkHlqgqy~~j$Mn#3MrMMHNrK0l%&d?wc0>!D@VnhCg?U&iBvm@g zfXAK1vRMwM%E$aH0J)LN^5EO&vjSGgiok#+Kv0=r)=J2$f=at&-6o6csinQRtVbT*sA=CXOL5zKQY-jbA{zVIA$Akjuw96CoR4V2=j;o}yS;2D`we@OeZ~&3 z+t`=vIQxp-!0u#Ev){72z^*OqG7#LeK<88J8TNbj9DAPqj{Oa!`VxDA{ek_QwX;vz z-r~qh-$!m&p{Y->7&r4IZsEzS52D@5ZQRZ|cW@_naW_xl9-hk6 zcskGEnLLaAn|;l*c@Fn-ANTVB5As}|$3r}y7w|$}#EW?eY?nXsQeMW(c?GZJVP3@} zyqeeWA$%ww#)tC}>|OR3K9Y~(qj{8%;bZwYKAunD6Zs@QnNQ)hypG+??&0-(DsSM^ z_;fyl&*ZcC8GJT$#dqvI_CBA(=kj^Hked=0yWpT)a)H}B!Sd@Wzc*Ygd0BR`uRWAE@yu)f}4e`as9 zKe4y?IUErlb`9Uk&*kUw^Z5mQ8{f`%uzT5kd?$N=J;)wszhL*XClJ?qjO}2zvnSaj z>{t9kc7*TZKj9bgi`hl&I#{3k*g`F;Es{C@rbe~=&MzvK_`hxrkHlt03M#UJIr=8y5;@W=TR{7L>>{uFG@K5rn#$iZL6+H9Q0#Wx3BJOU8!$Uj^=SK%ez{7SG9Gtt~a;zpPR-lUER~v z($d=5V`@p9>c+P;p=sSxY!wI7gv8sX*2JlPf(k~fa@0*w zT5J^u^Q3-2%rb&qgOznwNG4P7YO7$2vPws!iysZCRGr75`OS24Lx+y)&JC?TU zmWzXaiVFX775*s-{L2-DO;I6Tt{kN)wbJqx=Gy*t%`5uP6&S+R>aiwiWqVg^YiCDO z=hEdZy85P;-kw%nhd8K@j8%{0boB}fI>bR!kMU_b@TF@|-s&9iR#ilKtEyVppuE+o zAg;5Cg2i2{*DPz5Cv>*Ut)1=qY3lG+tHYb73~#kKSf(xO?QC!A>Rr{*)Z1fOJ@A)q zrqXlQfSx1j&>}UunM%)H%3+rBY_~X=XZ54R+}(e!KwYg)RdrZ*hVpWcIB3qG3F@H< znypMwuQEZi)e-cnBbcp>pjRBUv%8jewrhLo+cJ9~{FdHaWKtK(4T2z;#AwQy0g98G=^YN9&1XR>c>nFm-J1o;%J`M-O<#& zOgUfOe=cxTSusRC4pon1)T2T#mEjuY_c-N#cxaXQ9Ui0p9y?Aqx4o+ge7{aP%oQE! z)`^30?$YJ0U9H{AyN&DOXSzn^!42X-tyPv+2s*1Q50BS$EbnU4Oz7=et=t(a;Hj*r z2pe0wd%!t8txLt7O7)$}ilLf%VA{B`wQF^0XYZ;m1LTf!(z8yvV(M82?hx0EZL52` z)HApV%5&Yz*NYQVHw0Lxa@xAQeOZt4VCQnRL2W~6Q%8@sPJB-l-*d$GT=Bh9e6JPX z>%{kb@!cf8H`2GIY1Nw6u5Pd?{W3KP94My(VRUM3>L&)}mY_~LwKT=CNWY9?(&@~s z%3$SjL9WVWg#_t5xt~Jlr*!~Tir)h$lYX0&SrwnHFy- zQiV>cyPdwR0~DJWO?!eqlKYh#-BEB> z85Zx(5bq99KlD4fy|rrOVA>vF=h`>?XOW&s61j08%pt?J)<*{86AZ;~cTyQRa@%hIQEr95BWB=3=b zA-}BAX#AQ5nj18)YA0&1(B7*{)wSvN>7LTPsn_W<^=$@bC^u|2JYaaw=r9g3ZZh6r zJZyZ|lx!+B%{Of|-EDf?Txjkv-)nx+{9TeaX=c*)q&t#cvm{$eElVuBEVo%+NIoO^ zuH;Xxi>$X<-?c5W?Y2E?J8t*dtL>NBUv=mlOC2vbvz<$w2b^!abgp5pWv&CR=iHg@ zsC#$Hf|QF=Ui4&o)_ab4{++rs_3G5`(hjCQllD!zD}8(VE$MG&;?2scaAkOX_(+wl>chyW$fn2()%n$1tKY3TqvqVGr;F)XAyy47$E_h_&0}DT1G=0%6i!&E@E`EDS-jZEQUT8{hTGsSH)A8nL z^JUF1wm4emv|Qct?$Y4W`la`_23tRF8{2+S`=`t1ExUWUZuzj~7c9SF`R|s0w<2@J z87nrfxNF6mE3a7j*vfx)ly)rbxTNF7Rq3mmSKZXfI_G!p?tHWJ->V&~i&xKIy>s<# ztKVLezGm{8t~CeOJabmkS-(5$-Lw9E*1x-4T`Rht>GpT8=)SG{qn`4fO+5#Dp6mIh z*VS9zJF|Cl?+0r$*Iu;t({-uq#;)r;J9_rkvk#vA_NJ;$9h*Knr}CUR=RCAIb@Qmr zD>m=h{Lto4w`6Y_zh(WFTeg;Noxk;sbDPio@VvF>-*!Rtf@9k{wx@4@Zb#3KM|URe zoVjz~&etx?ys+oO7k8Ob`fcD!gjvRj*y0clC;^@4fonYfRUSzh>t(N3JctcKx+i z?`QiPz~wSUS0xE`1y;l|irM<8DV1wDWR&XUty5 zG@8shyvG+J9_--t8PPnZ(P?!W?dH=x-Tz=?)Ge{%!hkQk56*ui>*ZeZI`t?fBl3RhW}g z7%eS`=9gycr|P|Bg%ieBNJo5`Cmx}Pq_LU46Q34lWff-g_0!XW*pYUzV(T$ihdQ@@I2Cve)3h)3y3KhS^WbBS#(i% zcN(y3)yf)~I>R-@?tw`+-Q{dHUEmAFZN{fIMjcu$;@w8AQLjTo8oN&KE^^udijTgI z-yDs-c5@URRk~vDiZ5k+sAG}-iuuhzY-((Dv|cO8Rs#kpOKr(Ui6@y5PUoyu$2A&z zorRmt4s(4@c2;IadRnR{#qDxB?CKwzO`la%6NrSxC#()mWQ`=_i z(oL>kx~IAiyE?a9S8a2P^Y^FP8g|{>dh_}CgTt;}yLeeE2FQYa*GMI@5AnDm(Fmvl z$jOosjxU#hbS7gaFiBiO!UsR8=tf=$s+Ff!R`_z#QiB>`p(ZaBNeNfhR7a{prBbL= zj#O3GM8fVAk3J9d;&x@ro^09e0>%QbES|ZmeXPrDHW$^qa)(rBEu6Jy#tiF_MMGyM z=VV4~`6EX9+7|55CYRnZ*=4d@j3%o~my}gHsdVZ}N9RgQ;hh0rfyrtyShbeSirVtV z<<^w|O3PCFzLb5^ZxJ!HgOhR)`Fo=7ZYO5g1D?GVKz^%5d! zdS*1}jmt1jzF3PGS6Ur27&MD%W*nOOjJmtC(OS_dk88EyM|uZTbJ8o(vj6lnnx2x?;E~nFG!h|z_o*?wRN}xB-uLDH{B0TJt`mfVv7dKwi+Imsz zqlKB7g;~pY@Zavx(S^2O(}hgl)OK}S+tn^_dYadpmL8KV(%q&L6O@ZNRXI6T#Eb5} zm!yY5t4>5yM?{AbU${+1gQV4Pt67pYNgQ9bOp=jf?PpMpMlfi)T%YexvAeYTw4$1- znoz{24|r-kdXGC0A}-Ah>2-h}(&X9m`8&>EUopR_x$T*X#^yC!`Roy%P+)Y?!~4b@ zn|{ZqlP{cp&^4oM)$|s#-RmwPKH|vt+`yieUIy)z)ZOjIOi&S)kbiatuBF5iLjX_# zi?gYXzp&dReM*rtAcue6oqj7qWGMXNEWNLduLgmeneINLhL;yX(h;57s%t#DS0~Nv zUA}JJ^4^*J(g$u^*s=J}Jox9u9gwoji1!u`d=JtwRFjfo)9FLiH{iV$>(;I4oq6o= zA$l$LhIkF{*$|gJB)tf#920feZI&c6Fsj#p%`7D7>hAW4vBc3y637NPA%N8Jk?{FN zs#}buCRF1Ih4qA0eaI82(c4;DhAuUB8Cz?bn`>HevXp;NQqnxOt7~j?NlDANuC8$e z1DnI&L5&PDUr;BUX*fwYEtfS+Zbe_3g}9`dD&!2tlMV?B_JwS52OK1=pSVG(X=JyBv1_gO~ji z!t!#=XKK`q--9MknYvtG#K#ZB&f}Z^d82p-6$yxu{}xi*Nl0RX=dyUc(@)r`se-D4 zM)2naMido~8Z~eD!h{asec$xm&JRfMp})L1{Q%4h(2A4j2dPPp$UNsg3Bn1>fq&il z-9hQS?|uv3NbCDjng;nI1B;<(Py+!WErtpP%R?rTh5`dHW;Q`RKt9^F7`Ve$iIixy z7ewNH?H941T+UsWUmp8dN+S&wyOoc4_Sx9u&*FXborABr(xb?EWJFUz9x`AdH3;Ft zknpH?32OEQ?D|MaHN_5CTa~hxL``Ut3u|qpkJawVT`OewVbrX8*L} zit&dg?r1sl`szE;XFBka3|Zk}!=pnONXg03fe~0S001E+007?%#1MHwxd9^NM;Nj- z^>#-vkV}Gs>#4thKNNxjsjh*#2t;ZEH9r3N@@;#!u3KPgUO2Lb^QP&RE51wOk4iZk zYIZK$HRR_*OM_*l?t^!tIlzKH&{s#0AHw)S&cGa~Qm>OVTCQosU34x<+J#K3b!chu z$t+nAyTbrtuL(KBvLJXp5qwtG8;?J>;9!Gk{O#8-+Tn9r`7H0qCa-&@uE_E`tOGESrfnG#ptM$V{kFSxl~Oi6ZLa5>wnU7+My-pWE1fd1|X&3KaKF>70cHFq(o5)+&uEySe8 z*~4zP$wbQ-eT~ok(UT`)@0sC+@C!2oB4`GL}4sW&?#Jvj;W6=`HEYhfajg_B1Im1Eo~G)k20icwa{q^Ong z=JAXT7fubNO<2ES{kjRM{;50XOfJaJ&C74_W#!~}bF$36jbrDUW&O+{jXgb$LuMFc z^W3rXdw70uL~iZ~UK~tK3j|~Vd<6%&ku=e=OV2=73 zuYZoXV7nRtBdKQ^idQBvAe6M^#w5)(HPnwAt4tEt(j)~Y6!A58KUbZYq}boXVv+=G zLO$~oB%f)fK;S||!d1Zpl6^$7I_UJ15#KMZ;cc8Gw+D-F-jopIOcJ{1JM^JPMmRs3 zYbGHBx`bepaSp{-@XMr$iiXdFa@Yuc#M|eQlMplW^PF+L zr0aWyzb>7H_I3B^CD;cwkzBXl?Q!e)D_?*8!c8Zh-p02*rObtwZ9$IgU!X8OD}W0I z-o_L(L9xn$I9+nRMuV$*ja~;Q4qAbnhMI`aor{l`-x-_5@7!|Wz-tE%5Qadfuke4y z`zG6@rX~`KXx-YhufOK6#ESN#>!(lL^exeW8-CMH=}F+)%PON~X0DM;kiw`2gjUzc z$mnV`{R%3M{ZMK!0F01@7Wbayh(g23vL}!?3buQ|U#R+0?kTfYb`%X8l4ZEkkWyUc zA3j#qsQlT3z9seL4W$KT895^>N=h901XFrnlKdI?tO#E14T`;N&EZCENwK6iy11+- z5lL5c1Fk?ul3`t_<636aYmM!&hgHB$T(6gx2%VK6p%k)^DwqzQn9fMv?vHz?F=`7} zl$Qql&^*DQ&u=DQ3LF~N2mHZE6$@8tR7DhLhDuLOn9NlnRdw13I0L_q9KNQ=Sow17 z6Q2FX@3{5sRV_p0=#2TRSDrDVM&4H*y?O7??&lYz7Sz?|e|Y76yT5(;HSYZE$fmtR zwBG#D>Q^}>2b(5BkCJqoylNcB4`bc8cESz&}HQ0!x41A ztVk<@`Ojfg!{g)naEKf4=H?^$vCzYONyGlBF6rQjd9Kb*{>m{d!%*T2D}-)z!v`H7 z9b@FO5Pf=Zj8<+nknDqjONNFdv4tf2U~YI)tX3%b)RYWQhShB)&s#$MU9u7K&*!sK zv;cO35PGtkkQ9&uI9BoI*dKW2#+}jP^4Z(IYMR%WQagRRbY$7Q(Nit@xwUgzxvhK1 zaBf|*2J}ug1ld$hRvIlbk)|Qv0z4$caDk7kx>O{RfhO1u0Vo&}9=UFsB^wA=(J~}z zrO6A|?0NRtJv~d@Q_pB@YipeM%Kb$z@X8m;@2*_4XARLO#aez1Tp;S9%BTJyLp+oc z@CCdg$bcc*5Duw<(t=bBgn7+RAAkI(v8RuA*3X$!-zgn=CU)$ZJ6Bw?g65Hnwu{iV znUzJ0(HB@z*w*nLG#V{%8#h4A%q$ELJ*G2k_qo--`Y``A_8bq!-ryrl(vjO2-_mru zXq!Xk6O9C-Ud$=Xc1>z$F`OCZL>%PnHlCVA{p7m4xQdEQTOS*VMzR=Zaz{oYzDG z5uZK5G14aYvgXB0TW5ySW^wcO3--Kl?BGUe_x;0qC)S>2IOD3=u98=F??r9Aim!tL zU%qHI@CB`7Bo-0|jB ztKrG?=Xn0_o{t@S{?R$R=g!^D7wvxKmEAvm_0`ue>+Zg+JI?bn0jmk^W5z)v2x9P7 z5Oth0CCP#L_Su78!h;Be!Zv~{;1qHVobTPbWy{u^3@PBqA2=lP=ZTG&VnC9g4^uhq zd5o^*jH|~C8GYsR{Px{*=G5A)!x-Nw*g~L zMvWZeI0l%8&s9T)Tz#0j{aB;q4g zVLo!}mdR7DdHR6Axw(0PbmaV|$z5rmJC7fivM-)Akzk;>;+Ikh=GD&%qag=6M|4$y zpnA)LCb%e25TFT$Xn~rgfT5y{iTff|rCMQUOBUN6y;xh?Y;j9Q_>Bjq3dY|IL;6sScC74e*{Z6M7JczI~2%X51 zqy^Dv(UF?wnj_c6zPb+n_+aoXlYxisN1H~L6;0Q}HUt;d0y4!{ z1w}fX2%dO~>=D71ZXS5*a{2P7V$V;L4!UAD^D|v15Frxn$S&sy*n=pwTXqU_Mfb^HpWLF^^4kwTd2)wl zhYRI;xfap+?kxfX#Jw4Nd_6S!Vm;jK!?o!U?&fO(%y79y_Hv%93b<9c*I|I6d z-`y%=Rur>b%S{5#Q3{+6^a@gI0yZS_o&}hxkYWh(15D7f2s^4F{>BI5tWg6I4n^-X z&YjD7tS?QfzVW*Y&=%ffsF8e6;JM%)-O};VY)l)p08CiiJRc}WNDU7XdLi&qitf>| z@%9J^P>{s0S|7c79%?n$I(azuyz{>MM4K6XtFa1&Kn;mDGsz}IfRGd_u`a^9;;t;h zi_{{_oe2LTmVY^-iyZ4~KH?hrR!F-N@xC9y6cwa+T$NfBK}x7lP?TH1(Squd{!LJp6!fG<1Klj3q%Ek=Dj zF5w|Bev|~GScwFMsu66*#OXqctp?G0`;?iv(b^(Ubza%b(S}6}K0Z9M!tDroT^XZI zQ^yvM3EFfzUxt5Q-tS|7C>wf{)sa#P2bSg#nU?A0fTh7&RiRAF%hEeAO6$2p;)EcDFFZ zC_eGQ;luXH#mm-qFR34&UszO9Qd}l|7kec+XZM=UJ)^mPTSlay5cv$wJea#jFn3wx zofGZ2K?gzx#IcV_q#$mVR39h|Bbh}is8m7>gfKQrUnBesicj!Il5HR(liY-JNN8fwV40@fX$o~nHhnE(aT0TNjjLn=Z!rI-T;GCsp4(BnsYQFXqe&# z@{$Ge;1dtHf_!A0UNVVA37^6cisMrkCl>F?w;}5loRbqLD8-4Og2&~ctb-mIR&Le9 ze-m^q^IhsU=8u|a=nNr`Ds=bGI)$-L-dH zGl5>v1mX7t@asXma9Fe^1&*8Iy2ANs9RPMbrUsBW%g#(oB^?5IJlsR@DDgC!YPXNj zt_9i=kfpii<=b{&dRF_E*vpyAlGD=cX-QeSIWKJYWe+o5w&tw8+c%dEhnuXI4bu5x zK2}N(0WJ>x!T1(g2fq^WV2WUZb4d29E@eg?<@DG>qD&W|7eQf2I!C~7qgX1EA1Dp+ zxXBW6BR)Vjfob#~e4_*DBR1>T9Uje(5C3D*jrywU{jo!QuE2vvsstX=S&&_<%&`+} z&U{|T28x_o5t-3IKG0Qu(p6P9cqzTVnB<%g3c~HmB8yR40=Tm!2!|jT2=LN#80Pmp zhPW^S9Jv995*H@g^+d=Zfpv)}JMbHc=;#MbXma2%N>6uF-T1>7T~M<*KY7^1iYshW zz+JyADJk`1`o95BMPfrQ+Mk+odzO1;vNh+*eKV^(J2Qc2_$X2Uv~6P*(NfsESRMfX zopdayR<(6A>ku)HTL;L705C+s5dQ=10XE1dJ599SUV3;!)8505w2A^QeH%ME;gQ&{ zxijc3iM@*UB<98UmoSp#gzqjmH-juOAVoMcBs_?R$(ISy$Q9v{_rZe?J~^_q2=xJF zBlz(filfou(h7gbBQg`^vLi zo+0Gnf@qRnmNYEWg^Vs$nvnQT5p1zon2xSGgIo12jg*XlB?AO`!h`0wf1bxSFAVaA_R9|2JQcb4DlX#uiwVjC4?3$7Vua#fJ?2 zs;Do_jV!0oRCxiYkZJuYWAGzl!bm5e7b}7~dSQNw2~)WxWLK0eu_c(YR;Yw2wm=!F z+S23FhgGBYbgsTK#~S-ks=OdOG84*xbU~7kfysb9uIKd7b8Z*(TvA-m;fgfiiYohP zOmWH*HiOV#Btq0N5q}KOCuCL(e55f7J(rr|v{Pxm<22(oF|oqDAY!xv1Vqj z%~s$ZR?UykT4;FKHYFAVY#GqMw*odV#ZPU}b1+OX6=0J7_$kx`3~9B3sxVNXBwr#a z9&)UyQU{Dmy};>KBH)>eYRgD&ty#2ieA2K9W#00da&PCN&b-Sjxy#~kW{oLtm>0Yx z;4oUvo}7^d4fD|fd~Cq7SUO+HL0dt&*sw!OI+si5Q$UYH-3m#q)ry2?mJX}}t!r0w zE|oQ*U(>+WnVay8mjYMSqq1I?-nl_>uPWu(2so zlOCcwiKao74GwbDfogKp`_Zpn6qXV)#Y;eLS(^IB2NB&2h&UJ`U;+ZgGz$15MGv~u zDnf@3k8Qh>ACG+$@RsqySQ3N-K!C6DFRU=n0}LWIYd}YFkCh~PT<^jAaSHFplW>Xu z_W2|89x2QPU zbfAKVoC3UdXMUb3PeD+@+_!WM%EZvdu5$g*D* zIb5nbji8(-O!*L@jE)?>ZvWxBy2ICAceugz;d`#L&vw1{p=(PV9~!9$Z97TNIUN=q zk_>8O1C!Bj&IE!^(YUOJ2*@T8RRA?Lvhi2*r86J-z`uO9*)hQt9G#MLm>>V@E7ytV zXU>&w(S&RH!-RXR|72L*M!1KMZ-6Zii;nCM)w^{G?h>&cgp=_Gra`1oJVm*BUj%hj zKDVCVt&4TscL%>{@AcQ$apU#t{;Z6n55DtE_|7?O(t|lxGz;v+ooHAglH7!DMBAzp z4OlSsaP2Tg7=`fl>8YuW5BLgvd1RHyFdvBDP*(%P(xrF9-gSvzdAObz;-&d>X3oy7 zZfdH|ojr3-eks4mP*B`7WA2T^moCoW8H?M8-#BMxYf*uL#vbll%iaKdq8^H35N1LN zg*HSz%lFnpd0-K|ap(|&3}T#!5%lsFG0tfZrkRWYIX+GVH83RJM9iZMloSkt8iL4W zj1+jLky5V`l}J)hBZp=CN_-^4oDpHtqrA$E!Y>NwfyrTgR>A1Rcffe&%(?lcrTKGb zo>^4g+*~b9yK(M}W(@C6LqSp7jJY=rZ(o>&VK0THhFAtS@lE_u>^(7_e0rsZ#|sn# z;YjXaE;`}mgXQMo0Q(Ka3lg7(sy(W&@+r?DDf$Bs`tYECz=Ih5rqeg+$CG)9JS(bQ z@FYcmqT8iU2?(0H7k?AJ=Z)f6;Cv6;!o7* zN2!QIBycET;tWCN>yYs!`R{?q4TV#{fxjwDvLwld4r|SbqSAsSOGtr!)Pc1#cNPSNdtyh4Yh(2)cdD4Eos;{EM%##DXarDA~6x zeaD=++tZh|Ske!Ks`CpXChsASv032}H(+@dvFr@g@Qt!S#3w_kP=S$Li;O?YE?|tb z5?E?Mm`w!q1qO0x1j8fs;cxMSBAq-eiCA`m+-a7>TH4Z^Z;tFkGi| z=m?Fe45<||7~rWp97)LECxXC0U%Xl|5=Kh$rB^8={OYC)FTC(5RXVTaBVE7yoh$a6 zCDn`9u3cQc1b86%c}&PpJ!?<|JK}vO6>vBe?+2ANNR7$}kOC&9E>k>6RpGEjPcHDF zu!@XN_~x5$-o z3Q2-I`08<2{gp^j8?PXQMcn$Ux&xoL-h(&@Dbx$03%r`HV7TBt67hJe3DfBXi0ricMoQ&jzU!d{0`3W^|e@V2DHl}pH5%GXlSI%zc@JqPq47xw)R5(I(7gGgX&QF(aE z^Av|F=zj_pss`1Jqyq6U`9TAKkWkMqg4KR+R)!L+HfTk#+JFToO37IzB2psKhbn4# z;;6qwv|5czEh#Lktv1+fvOB#ZS37j{rWJwA6nm=C?c-OK6qFTF(W%wdn6m!o8NS6% zOB%_yzR$4(o0WeF`DkH=`z=OP`cVy+D4EVx4)5G|_Qs8yVv7%L!r}9r_om!-`;=of z$LIj6!4Nd;TC|4T@oFlj0lix3SV6EgUEA z)~pB7$U3bIBL|WnS^y=0NgTxpR8ob!gFy!!1;sU2)c`V|=J&f?W|KdJ>imGq=kj^6 z^2Fn|C7YaPXTWb!(>47p;f&We=0Uy@%PPSscZ5oR0&$kOvh#poioabvY)Ev%nG-FA z`T22fkh=FP>@c4X9acQa(_vh->NBxShjczvQ&ipsyyS_|WegCwiG&SAWFqb36c+qY zS>CaOWKbG*$e18%37o7@w2%YbQPA)dws)OY5TPOr`CD2~kv3=R9Q>OXtP0|vR2H2# zFFK~NaZGw%UV2(?F3lryLxArcX+QGIR<@|_?hL__ARolhS`Ap}1G8E6H_0Mk!XU_q zX5$*&Rf_MGr=jKI4?w3dW=*yvp;@I!$Vg=gP;Bv%d@AmVSLOd9R>oUIf&Sj#Tu-#? z!R{sNRtIyqP>pRMi=8UL5pjr+48-h) z^`5p_HRZ#`pHbJ)yurZFT3c9G7%4ozWXAZVQ+MHAj(ypd^B#E!e6htygMuX~*FT^R zT#;1iP@jNd4G0-wN7AH9L1;cDy)u-Ws1-l;ZsUV?r<0&NsaBk1hFU7#G;(_L%o)QB zHNz%Umg^_%GVq}EVnblgq%(uty!j~^N%JlQoE$m9Y>^XGbBfUDzzgh1fHIpDm6BL= z*l8^R=_js72VtJQXGhN=`KQPSit$p6E&!j?M%p_bb4W(IkxWuhE|*c|Edmc}HYP<= z?>c>O0k&xAVRu?Nf(unM;NkWM7e<>tBits(`uOw6t)@_&4Z`TK;cyu=g}Nf)(55hV z86__{;`{p0D19V?z&`ny{P|JiI=EeDHzet_wzIC1?B&`&z{w)s0h1l>(*F@(~l>rjwT*#U=GdXlIYO;?LU`DnE)m-l_qr-Aumg63Z% zxXwg1_^^{jWSQir7cId$g`b9keAKVCg9;=eh@>T$d}(?HbQH;5u7ULWo@bQst&2He zN{i43O_C>sRdA~DAi@VkzmwD43(b|I8pe+b+bS!@l&^3kWnxoE9e9N=|K+mFkc-zvT(tZx%2qy3wLK+ zJS_GoULe`Ck2gq9K+-zcfI22+BeW^DYUQcK)uG@Fxf*jTIIk)_d>Cq&3|?fitTJ} z&whW(?YGtb37QQDvYYZz54J&!*#p9 zv3`vQadT3?D=))-JmOx^|0hL)DKD1tI*&u0dW;d~4o zc9=%rMxp=_9<2QXnr1^kvV{D0-s3JJOJ4X;q?8rtM+R&Z7Bt;8IindJSs}&-;Fm{a?SbUzA3YnUTTI%14@nm3g zT{#_M{7pDWK zaA4xn+Z|s3q#!PL5J?2`YlcmPOdn4&ouvHq;VoF$7#q5Sw_UOQ{2HQ-GHKl{l0%jA zZHm~Bog+~BV1h(2zZ&f3z7FvUs+TX1mY5)iux>)s%ahsxnn2(PGQeokkWiwOYbZ6~ z@>AIq6X{b3)=I?{K$(S%fJri3E|dneD(e-dPB~-c%A%n|vejz&VPpBVSZRPY$tS+1 za`}p>{pIonkQtyg2#()CCmCTsIH^)E*^IT8G+mUfCO??L4+hIiTqm{RX{sg_)p{nA z!)~>WK&4Hvqx`HQ}O&MW)Jd11iHGE{KI5;#qqR^-gTqUmvdySL$10e^+Y62g89? z$`%vgaDeX-(?U3h%F#~+1qnp84%Ke6CMTIO41`y)q{>rNkpRa@L1Qez3LbwI`bq*h=AgLB|3Z1A@u|GkRb~e==s=E|b%Q ziZ?=y5$n4WumqeC;G&XIKM0_Q@9nr?)y66*oG}onk6ecixz0RuFkClbkUo~nhegdn z1SBcyC6bY}Ahj6bHdOwufrQi>Iw4!kMv0_LJ9Lc9OmZ7EfxV8514N@$&#Y8=$FLbM zX$<;J|M@M7JytQT&H#fRZy9w4BOEX@B0m}JwVWX%`7@}TTzaS@qkJU=_F{A_~ouHP7AEtE;riTkoOtcLjU0zyjGg~A> zw|#iDth6LK$s!x%{Zl2Cf}~CJmt>_G({ko7$xJt-<|uQf6fXTnz7BKdM1_i4dgJ;NW!rCmjtu`xpLj=7^lorIHR~%ScaGKj6z97&adMHln zA0lXhI7aL)d{Y#oXMcU1=%sVQdAZe*`tW=;uyNu|qJIVE$7NdAL-g-sQ=_#hV8pmk z&_bCRw3uOo5z5N|&`%>B(o)T)?95bOn$PW0oH^nJGr*4nkEJ8DejHZ53#B%pK)+)* zU^z)s)#S-l;VDzj1EzVh!;x%-E>xG7NWY)FY|`YmDY4RHe6K6h>Bts#6M#o`QC?pp7r;x!Y(}C$9_eEh*z~rV7AFYir!hKa%XFBY7*(L&gcI;4*LDEDl zXP{LQ$lC<;H3;${S2ZKCR3c`7D6+Aaa4VKfbatNj2u2)yW{p^1lE?0gW+5TKk`WEy zK`SgyShYGi1AwKYJcl$WnW=e9Cu?Pjrzk5`MUAqOJEee%sL9C|TLF;1{r;!Z2R$7P zDa}&&6<^6e@Oij4BdSue_B!??!lItnV2_^4~ zp@YmwDuO?(Nr<4q5T>nHb$V2;LN(H)4W2CUkTO>=?<|A-)PajxI8{>yss=1+iOo9H zvqMtWwa7me6_#W>hX=qgDLUR}QDK0U`JaJELe?qCo@BQsCjc=)Ar1zFv=FVWd0t&x z6T7GP&>j^K36h?iyMefHv%2VHr_CZO$S@hCAA$tcdxQ=Fi95;d7zm5`G_WW-Xb@r+ zDJrOH08FHP1Usp7bREX$g53_tfS4qM85M4NswF+`6hS!=Oet;z5?DsMJ0~T_ZcB1m zTnQ{$PJ&EUca%WrlYB_wR8{d$5;(gsx2mePI`VHtsKo*Od$>LVF-Fp?IyVn9318(X zzCQ&`$&g~G7^h%|aIO$|fHgtH1f~~i5F1z-HAb-ng%&!HaaNU2hW ztIQ2=SKCC^T92YKDmIMUw*5`Q>qr!V)d&~<(<4XL?b+FTNILRInrNx-FAxq<(Uygk zL<`LZR5}R&;bWsgKq$nLuxjDodrUXY2tvVMT6CtUSCindT zeVhT^Bg0=yWmp#kQwnJWH8~a^f6x^WEvLt8*3>O+21LXG{dCeIh=BiIJxWJ*3f&P$ zdKhE+0*HSMa@P#40ZWpSQjoSVnp&YK5-a@ldJ*_RAw7|W3#fwS=COE)C;~pa3AP(5 z6lm24t$nlSDtQ%AzGN8_UjfI9I=616Rd77CiKo#rI3D`2W5YS>S~&0#tq+pPRtoSO z+HVK`3Pda!NqMI;l3?n#L%={4nD8u>`K#tp{^`x5(>_mz5saJfH;f=kPVI$Eq95PO zf7^jDgECDfL}UY|09KKwVb>))R+1}~2uVOUMHHykgxd$0LwN)3p%hQm)mS?<%T$Lfr91SQfDcD-(?S49|b% zmDsUY_&t}=I;=kkE>_mzzn*{rUYL_A$N>WYz)VvL^;8hxKZ;V9^iz6Q0(7)U>iOql z$CTc=ox*h|_0KmF-w(z?8r24;IBoDP1|k8Zsv<#6lhX1t2Nv%U0x}XHAdxOmz~c@@ zAdZATW0ltKxv_gxxv((~iWCGQx-aAN;vyme&rM=ZLVTgZA;s`)^jZzvcf^D{p;`S+u}rNTx=MF4+9%7y~a-Di-n=YSJy50wpu z^r2NNyH~F0S-G-j#ma6TUD>^21%A^v6t30LBN(5U?!_CMQy*twCxV$?O%=pWnT5-l%C~X5u(MJcA$m zbD*epPV9v@aznLqHnwir{mO_*V{6;b{pqVChmGSKzD?<#T)g>f7rx1^6YKXNcS!OT zM+@8zRq~PC(YBID4t-2@f&df?`h>(mkvjH4f@BscAv$77pHqYn`WN;sg*m(Dl+}H5 zHi?^4`-QYqgbhWwlB_D&e&X(=-u}qXGh&4*}S9{9?s8{dZm!F~KP_BQ>jDcieIUsIZ+xO$zX3 zg5!xwT14SAa(wwA99MP0y<(wYzF?n#L>yutjYJKKJ)nfT-g)onwrxk>JEDVwv6By2 zlPFP?OY|rFovG5pSc5KhK0tsS^uXcEV|gwDxT^UnianDpcB{pi?6e1cm>x1fk!qzu ziv`N+dfX$6&)vNF+{H&uj2W{)dU)g3B~4q-%OU>)1){X0h_XKfxJ50o!+-pM1YY2DPr&_1)H&lR z)M(2rCp*LAa@vy3h@#0ps?p|^DIjezAf^0MB=%}*u!$EKAB#h5d|2Ks)k`j1-d$a3 zF7!?qU!&!1a*=sh@lolw=Kbf7xV&kD^$yE~{2`+*kwfLND1TIh3dOoT>04OCSuBt3 zj%H@1OF9&ya|zomq8dWaa)XjV@8q(9+<#jCfS@cKD+5DxMW++HMPV_8n!Q08wZR}S zrqroe5>fKQ&x+h1?H&l6QGIdLk&}%jdwDr|4hNJ{&`)sj6zy)Mv2wa`^wg$J=n*BnC_@^GPf@-z8g}|6t#}Z#y zXE0z{qY>dCv8)jbg?{K^br(do7)cj;p)s13lg*ieu*{6KR5$h?v6z(=W99)X*iJ^C z5LRwEjybG$9E`i@j-K0|6?ijE9XA+r(j?byt_0!+;?2hj*>eisvbaZ=Sg1WN*@U*}ky@Gw;6x`(m{G5ey z{e^+Toa~dam-GYJlM|x;`!N{YxMtH?h?UFVgT<)po_kyiVr41;#_{+a_^^akOI8Js zo_^9Z^GKDHWCjM4#0uKe+|l3;a7XUrP~h2MFd{-{<>n-ACQh~2C7UE9A(s$32N59x zGK)196_ZNO!>9q+tBA$@4_Y9zdDMT`f|wry1lv7|8LhjU%;3we+$0JXCHQBS|ZFftIT$q0pE(y9sr#w7}@Ow8Dh;wz|(#S|A6D-uP< zKeLXROapXA`G0&|s11{;Uu~q9l?DR}A`9{ZCBc%QOQ;Xa52=rSUqM+}E9`{?OP{Jv zYE*}T7c17&bK<#CBQfYbFnln0GV zO6DX^Pu$Vqjw&U~;ZB;sBS=>xC2iEAq&!L0H}Edh#q&bTnB$_d>c_m2&^0gv6nW|M zd0{4%6&K|Oy!pQTEUZr+NT!w_AXA4LGEE>i9vC@=K*zLAnbJ08v%qYbBh%r?JXHf# zPHvk#xh*zBV3mK8>2zi~VK53ADu=Mn3;#1Q8^*Ba+q8ivHH(ztYla^Mfc0 z2Wpja0J?8J<-SqeC$lboAF>nXQ2c$mf9fp*HH}-~Z>95Gl=xV%F)(6B?MS0zLdY`8 zti%5ziq*;bq=d|+M9HuL4>Pkl{w!?B#A*Lqbtp#|)B?de8WoLN6RNc0eg3!2M58e7 zwFVQi=_pJx=%9T6%O)tM5Wq@RHf%_ws=Tx)TpSMNW?`3ZY{H<}CWX8(`Si5nL0loe zxLt#7hT-GtbRoq`3FRT1MN2JTZf@>3R_Z&)j9b{gIrd8WtQ73oXU@m}Ou1}bU3iWm zT2T^A^1rg(n={l@KVeqf`in$pEj;!gfO&g<)fFdasQkJ>=>0Rhu}Q)ti`P@+4rBj>l+v`^k)x2OnlT|#5Xu`mT()T3TE``e zJNJ|+8!1#JCD{+==(9E9q8cSx#l6G_V!r{^mJPC*(P^1!@TehBXwet)pt4Rvv>S;! z+He+nQ?HM&f~D9QA`!&!q?&^Mob1%BR7_w0P6Q^*-D!6sQ0gguU_XLG*f8X-)9*x5<7cJmShNMrvbc)vPn2ZhV{g9PmiWgmrs@cJOr zQHznCk&1Y!3a}mk>p6C=??*VvV^G^*h!Hw<639kG;Z6rK{AMK~7VyNuUemsH(2frP zyY{S2Yc__Zs*UX`HL;AGj(w{u@Cr*E8H;Zf~t@aY) z6}6FJ-$O=o<2qM8#vW7#D)qe#e18C*pj;bbTWYQ?QQ`|S>fayXd$MiVAYk9di+lL- zDZ8p}b3p`PuL3?oZ8I+#i09fsg|un$pe9evwxP8-Yj^Zq$dCVSo9i|}C-uF7_J)e~ zEEJE5=i4aTrW7KhNp-C*b|U+sj9cm9!!uPvK)q~|R4v?%1x)UH0ewuMQg4xO3q-wQ z7gnexNgBLI1d1^Gx0s0sQwOa^qMc^M{w=f`P?-fagbyhcEcFD%dSi_s5+wR*^_5s|FfW2 zej@moU-{wQU5oO)<1X^99{=;AmckjvlFUk5>_&AT0n_e|vo5#I%bJ$m=p38TYEPa} zvUFy6l2x*nX(kLZgfAYo_TI2u+ZEo>CsX@@;$*`b?-a{KiPznx3K#JZw9ViY|kRc)n z+v9W_YdA%o|70jWq*UM_F!-f_gZN=E99dMUM0JK#1z;E`m2|qeTA*Dwu)c{b2ouyp zRz_+Hl^NQsmL%*rVdO^I85asc#SxE3&Gr4u$hfb2pV$E;_NEd<31`O{7~6p0pQJ=j z7R3Ip>)EpL&z9SPu`F~`fiB5+s%KQ<~BJ+1Tp!+@gxWa;|cQVML))2|Pc>ZrN zsMAhSU^4b1%HeMzR6%DcWIaGns1+(03ax3z=5?C6#G1-lawh;)lqdb)90TeeZ3H2f za`LyZ9_bIUC(6fHln4CfbeQ;$8#nnYD*S=6vRLcH^74sgD*ychd+GG4xx=B+YRVl- zlsl9qryctcE2%@rfDKe3o7AK{WYZ6&4{Ox4VU3zboIieF_pGtGk=!wRd!|PVt8ZFm zb>tOazrtb-71h?Zt=d~qSXww`X~(`$dD$<|(b0bhu|Zp%59gb5huC8Twu=oIYK>Y^ zHG$MM)FEv((!VE9f*B~Yb@HYow6&Ki+tk}4&NE>9k*LYx6g!Y8`;VQp1Bp}A(G~sD zC6)?}ZQU~(@qd^6!pqdurpR(CYe}(t}@at7+ebNZdi`$+G zjevM{sqw+n4Ips3Cr%lGBP-MI%gn=ydSwihMLJ~+ykA=A6CQ|e zz<9V>HETC0@xGJB^~K3?KJcrAeQvO?3;2L6h)A>&T3f5JVuu=9u7CobxX-N^ir`ae z$^XOMo50Ccm3ja7-0G_8uIjC}-m3TNy*ue7-JR|vousls_OOL4WFbfvAPIy3Ld38H z2p}S8SQL;TDg;GATr!g2`ieT>Hi8@Kj0?`685J49ks+1$``{eS)) z5|XNW?>YB5&pGEg&+~hJ55_M!6j7KDgsFx)D_QQF9M_A9nST24mkJ19dL+KxuAYp0 zSYPbR%;xRzWN9w78u4bplcg#vup$U(!jnaJ*`B)IZSdPg~apvr>#$Dw@L;mM z`0`xJhuA$~Jm2G_dv z*lKCEgT=TTg5q%(M<8V;$ds_~-eqUICqhfLh-`$`98rK9TEOGTe0J~4#dEz^r+ePy zLOl(G!K_yvq8rI;(vJA7Q=>2xi7LgwtH<1Ac8}Zr%vTOe6!%;;E%WrszQ(r3$m}uB z_6PT8W@KZyW{e&{+7S>eyFc#?ktr_JhI%24oj8z+tU%E=@ozxRY|@3`^U)|)V)Swu zd2era6^UEyUhMFaew-a$0fpugdaP!wrzyh&`6E0x^Ue5<;N`&`k9$Vhe(}jgi!y`W zaekF?Zf1V`$UDv@R##_1WCa_6lopAs$mC%5I%*U$P;rvHEc8b`fCw-g`bU zTa;pqN_=MF!Y4EPO~?iRI_vS*bZ&5+u+pFslF&vj=i(UH4Yde;#-ZyoY5=}O3Jp5% z!>SC-vj&5vDv@dj*I46>ude(v9F%2HXkb#om{VUQbVoz|NO-Vk#{5&ek9B@5JI1T~ zs^jm7&YHAzu2XP?J@B|+^Ch?8X~sjFi=PFpo^Cr3Y;KAWL8m4oSr_Ov)zUx^3KGhSBe2Y}7Bh?OOLYBy}0xsyZbbdHH>E69wsE$uf7jHQ8m75#uriF*Pd57Ye zD;Ayh4}Hz8&>kaZp*(K6ODK<53{}O>iO%X@I=6q?vem7I{MgheSOGpr_P&|v>H5T) zSFVJNS)gQO5|J=5PT7*&;dQ*iCFbxtrhLiT#e!MSt6^flED$1_8Wyjq=h%w{+d`eL zWDR>C9Fa=6F{O@2?kLR)?}W-65yNy$Z;+8Ja{4f+dG)1o@z@LFaiYJb zWBF+p-f>{Z`i(c;c059;y4{Cc&&(y=whKdv;v6 z{fa?5oU8vb<#WCEt1di^zKVbN%gC^XSTDX|4eS7(X{##fYqjpH2U=(5fW1jOhP0%$AC&|_UQb;$nwlOMy~R%+Bet5Jo@(s(H_Iit5XCyJkC6f8)vJ zjdc@i`-TSl>ZTy}2TV9-SLm)C61b}qnE$bwIK1sAE164#qeX-)0y&&3=ircIzpy9|@*&J$dv zEepBS2~Vy`Co3!QFV@#qSH>&J(8+PPON6qJyIlbY^%aRbc6g|x)zG&us)W8>)phQh zk}00pH?g&CH5Beb*sJ<9h5HMtC!Trf(}u;H;rahm?hyKJU&)wA?khFqB+dXkeu-*q zu!~CsJECjIc|Hm9iGvyGAm$@1SEU2#M#1}%+Bi5z|PnT4dfi6jW z$5_T=k%(2*@XkSIAv|=#sjt1h3`r_GCg-1jc=2Lr_4SBM=yQhTyshijZ9Voh#QGDm z6Z zrtZnh39#qR`s2sfbuD^>aHr$8#N@}na7~(B7HTkE>O2=%^)5=@;I`xd$2?K^!WePp zr}9E)W&@~s@nQSr{h6OQv0*pg^a11>w|1LT6!fv=*9LYX=@Lt-fRCS5$;*>eNu^e~ zJh1OAU5#U!Y3%%H8WA}dnqNU)$vGM14NhdSdl+y>=z&FxAiZ_RNX}6blfU6}5{#GR zI+M`@i7%l?R#Z7O!EsTfD~oe#5>O3xgAVWL{TD1j63T)A7dfX!&z<95&Un?&f#Ha9PAf| zy0yWR9Sg_a>9H237dQw5SM9~^Z;YPYt|0z@XQ@|Imu+urZLasAP)?-%-jV}vHVgh^ z=ES~PGbi+qrcN*s4vIC@KVwGb`!XGbN4UuD;~ZHl(iF-MwHUT`&W~h0`18vQ5(1N5 zn)Q*`(?%wBV{j>4O!A}MS5g-;tJrzRGIcS`{<-Yyo88l-Bh*s{#|cKuWpQMt>)GkIV0SJe3Rfh&PuOtYiaZaNOiC=L!=V6uLx^eh@|)|01L3> zJ_`AA;b}o$OCM=v$rM6Aw>`7O~hT1fYjnt-@Xnn_6 zR2*3A39}SKhC(IYl41m35@90{@MrEjyWl&=%9?1v&L-AUs$?jIBl^A1E_JN{Nhi|_6)|KTmmW`sZ{XnNOdI+cwUg2p{~tS zvFr}5uDbKPqGI0ityf=_-I^U0^OSM5|AcGTu}4I|UZwLXxF9X(4CPm#(Ry*}LdF{^ zMuPhBhC-o0 z9dWHG5x3Yw!K^}7k5NY|FR6xmwJ&{p{Ns*JW@|8IHS!MiX|aobfQ&LN6YI)N3%n;*# zkeXV0$w5S#v&UpJb~v0$tUK;7&$zmaWoPCrmL10V5!Y1PRyfSM)Rta(?y$qIz4oWv zSl1o*>l)7WoB`m6lChRNfEbR|X7(eTtS264ZM0!U}_Y-bUGvZCjwrR7Q+-*n({f${)j6I}n1X(Bk zQ}3xg*5}N4S9h`4`I&`nDPR?hIXQ^}L#Kw5^NlL_COhtMtgUC5V~jg?sXOkN7&_&$ zaNM(3JL4|5m~kKP4x&2^^*vzIvCZ3|t~VoJFu4mxzCAmsq4x*TY-aW~)35F>A6+s! zYhLBzUZ!?Lmn&>-OWdB`o1N93;eOT(@{940%N|2G%YN9g^N1+NBjwm3gl4mL2Wb5< zWwSx#8k1Z?lR~MZf8mtS$&ngq?bOg-luhG4&OzW9wY1gG91ppD{AaYC@;w8lp-ybf z+Nu~48@I+A4rV$+Xq9}5{9kKc|eXGcyFP-CpEWkTjTUwQnIN8;;f4S&@u{PC}xS%e`C{|HT5q0$nc zKWx#TFsH$A&?zM@OS>)~Ap0WMLkj5plp!4e3F5JFy*5(lFVaFzb@`klZycE;f2hN6 zyrKTGV>LfJG9{`a^C$I}8T5e~qZ~s7Pg^6^7dV3!C5W%u6wrZQ)8%%Sa+i*N)i04V zxwgK!rG{c@t-7JFuIm zMuQG)#o&et^deF@iu^l+;u8Z8PI`HcB#F&a!s)5pmDsOWp6F8XEwq_SAu)rY@=dN4 z%wSLMS_stwSBm=z;351j1j)v9L~w#{?dfml!3KXDCNc{m(40>-zf`W)iNiLiSwEN& z>nD_#Re|_}RmWi%6t=<1_K|EVAg0j91STx#cZ|(}7&9Rz)=P>)+B>3!Jxhdd0pEIkA#OEYF z-Yqh?-R><&U!PK>Yo1#@Z6H`4528otUjN3$8fqDa*uEuNC|99V5hEPi0aWF{6jA}^ z_{zfNFjMwiJ9$!3dAPb_bN9Y}_2=j8;@YMsap{hH5qZ9bJo~|*_-H+qZq~(=$xSaH z3JVqmalq>8XhIY=)RKT2>va+fj+`v??>t9Hv)k<7>E}=(NQ6*@!ew&|yl+gN17A6< zfY{S?WFR}pJ{a2&83C_CTKVVmZ@Nj^`4#QV!S?sT;DBEuLOXT1|7mC^pW$2fZ}ZNz zbgg^|q4L=8sCf&10RM@EV?{sPU3VbwmU%@W72D(Y+-o2Ctv0u5n{`=D$KIB$kS?8*p5XLmF+{Ss|%&TtW>d#7HYqIA3@pzH-GV5-o1)mw7 zOaYfjAs$*}36{ChNM=I<^baMiIgSa6fHmK^L!J@%!2F})`*{gp&w^R@)5qqE=ZD*P zuix@)sqa}yJQJ>*?9)+oiD0`q9G-UCXi3O<$F$`2m3>uOUHpZcX!TQWjZSHP(QNg4 zru5W->bS2VFFx2uZ~oKw2tuo{s0S*p6b8?`cAlupC~L^qr}y=Y&gku<*!+#XGe&#* zrcYZsA*EwKUbWC);bP;8QINl~u(hrdLhf0osGa zUbxV_`OKxPmkIvIWyhFF(x z)45QRWuR${s}j1FTCVnN)~{hI&mMK)0(pgJD;#L5)+fIW^C57@nB*vhi-STJXGMWv z*wV7*lxA=Y3#(*=RQZ=yR8+(&cx$*?B=G}?>43x;RU+lXM$&}<2al*<{xG9_KmKQR zw&$aOyOK}cifpW{?ZrnTJ_FPHa%%U$!&a_i+mpN4~Yn9U~vKCKO zuD~HJxb=cbP33r_TVOJ}4_ANwuv==EcM*HM6#emIWRkf8@t#kU$KmEI@@@8;X-MN6 zcrPN@z{x^@6{#>EflZ3Yb)+Q-r=sDcRQ08q0X0cdRG3YFdekAO)N6p`->vrjl=Y&- z8kg%5q3Qi<-0ZuH-?RUMhwL}LeQ*3;=`->#W&HhC$jnce{)xTo6~pbS_Jpq&dj!D~ zizX@*$o3r8S*Pdddm{L2`tMtHtoN8_F(wgY0UoEFxI~tRgKzUnj@%0l1O|j?(G9=l9&yru(ek-@Rh{Nz+fiK>94Q{uFjR{LfZr8Zae` zEmhqFhakG*N_tFxV=^Jol%~#WDesA*(?tfXC?wm++MEl&iOmOz zP${6EQpzN>k=8_o2@k@>rxit=HrUAy+SxU5j!~9}JEjh|cS1NndhF##Z6R58`u{`v zFZf+kcS4(wx;ge4Eu2U+PW4gUhUS83?O+;H*<^6()S=}ABkVnQw-4(_XKv$B{HWu< z6}Pms92bNw(dT&ClQm)5jU=RC`Nqavct=k9aa-=tWuNz zt7?B$<_0yN=ZTIVvyU<_g-0J&N6n&NQUvKJD~!-v3fr0trqJi>dBfTYc|K)Xr1~se z!6FS*CZz=bp9uc($USP{$coIhoxsp@)SBvCO%$wkhO?i^3E7#hsEUCw=4h--Q@c4K z4LGG-S|o{a$WqHb=w?u+TRh*(H|T^D5^=9tlO}i2dxkDHXXyN6qM$E7Cgn6marlhCoNSbYVb@3-6F8mJ^bb#A&GKnDIP+b1VvS3LE+uPYQih2^BI^EcRjvSqBZ zG8uCTRN3HeIYm39b@@U``K6N+|3O#tuASWR52~D9A}f|uGij1+P_FJgrFADJ42Dtm zyvX4g}*sykpBY3q{z+WzZA$V zmVE)yC`zH%PU$%Ol!Nrjm!Cb=0eML=5=;9+#8-5=@$8iomGI~0L^90>6fnt76335M z!z^IJ=X4>Eogh*aT(7>~x#51jCS75HUPi+z#gifsX4d@tm(lfhW%&>0X2);qBX{-> zW?#hQ%P#DlF;p8}zGgDZ683kIo+ELK`dRUq*oS3GOk_+&XPPjVw7KMSB3!AI-p6w5 zi1z&(Q+i05sj}sQrb$ilhMEkvedZ}O_gK@eEhP^Y)h73;6wkw6q1_a7rj9H#N>>Yx z)DJ_S56U{M3{IJXgi2x?xw8iG&ckv;Aqa}^u3vryVNit+wpG_ z3dbt3EK$Po2!-WTpU-M~nwnNXWcm`PeK&viMW@}h<|x!GGsI>85T&Av$iaa`k~K*6 zwK4t6y8y5boX2@xbW$71dDfiAKDtm#Jy_nU+D_KZzl~fR8}r zQe&NOyabppPOgUV14y!lv%+c8W!+tUcEb!Y$r^8V8H|dNO7UyPqLnp~nph&noURe> zP|eZ|e}Lg=cEe6~MdruPKBKz6b1b8Ynit;#^hPoc!p|AH<`-@gvgT(^WKYJ{F_RL|G&q2Iar)J1tb*fB;1)Jrup zO)X}fF9A!ajfHWCB_6M=jMv0#U?|o4fxHDnR48vLNT$ych4P-a?!dmmb^9;N7x(v% z9z7a+1U=}?TD4ws*Ik$FzU!{toxQ!C9esV3XYIc<^U7HV_JvG-x;kfA z3-Y&5#UFXRJTCE@gm=#TM5HgIe4OD43My@|4i&&A$*+yOxxA)J8-*xO;b93tQoTrP5Vu9mIL{kyoWP^tb2gyq^>o0GLLFOVVv%%MRw zc;P`_t}P$=7Wiq5ko1BPXm@ZzTGh`v>7;XoWUGE#tT`3!39j6>XYqp1Y1QxO>{VxI zlC8V9@3?E$EI|xWJ~(Xen=*5zD(ad#ynJ}LTC-~zjQbVXkmcY>lcsVAzI1$E1nStm zIfMX16sl=<11VSqNtI|9^Cw%-t13}ZQCpozRwXOq6?i@()y=ZF2-saL810ux=mJ)W zV9?P14yw^>_AXp>&$m9@dPK^ZB+of#oqc5AriHs|Ux~kp7g0_t&%Afx0zFUVocjc8 zOBuWLb!Lj;-63&^E@CnGR2gio7#hiR_G9fJcRqH;S_}{;%UZ9IGQ^l1WEYAcDl59Hrca%>|C0OEpHE+3{AA@KH6#8= zE6+ez#h-BnXP9zUoH}cHnz?TKOAvD%h+ITXKopRcE_&fenEDgAV`P`o=dr55(n^d+ zL1V=t6;wCiQRR{97D;o|l`nGgju}DwR~sb*kBs$s_DWT1W2Iu&m7(`i8gIZHQ;gO}a_>7ar}_8mw3S^~y4nx= z`FBn}jnt2S)fVih)PN>iySQZv>8lQ6J7TIc3e0KO>+M8( zv^j17z5b;=scsHe;(&0f@eWm0OHX}H&XReHBK;QXpZY09%h%GmoNRj~f3d5* zl}L9SFJ^)zMEqZh4x5g%mOG0Z66P?jxq-0VK`i!kcC@90Vt~E7MYWjx#e5O#(Rak3 zDcKs8eTtQwCsbwlMq zDW;^ml1u*?2qf>klg<*YPW1@y6ATk#GP+$hvgUQnIOISj$wGmj>I}rK4rR1jT_EvE zj76d>8f}=P%5}g(&cSV*gD2Qe!@djZgj&*y3UZb`G>ARuw|a0^b#oF2dkcaM1JRq{ z=;)6SRrXKl1xVbBs#jC{-K*U0Ylz~Hsi!7vmBSrvqU6KFpplV4a+vPolOpsg!z9{S*3< zj6)mmlww$TFEf87-dHdu9PtMx_iF1W)g|GC;qj)yn0Jyl(xdg~3F+ArF50kuLD{sE z`t_t(xrA5JB%JNjrC8kR;jqeob{3U;;c>{<= zr2Ad>FW%K?=A-S+xrNHN-XvCnJJf5_>z2$BGB>)J>zp?7=ZG9PvU|Xo0b!D~w6yfJ z^u%gqridr-O=n8hwU%TQWNBg)hV{~P>W0PrvSeNF0M*BxDQ4AD<&RMoF8-LTn^u^) z0{nrKB8bl#iR+0sR|;>7A!Gm@1WepIi=@VxIG^4bm?x3glvKNuyb)^&654YsF_<~S zp#t^cc02A@4gSk%7Pz^`n=^7mo;AgRn$I=oivU8If(T~ytNWsnv?AsDB33( z8i9RM!`IDs)$y6);^Ig#HIfAgqSZ)`MI@#9Ahp`-0XTa2r`xyBu&3`J0|UX^6{NCm z*r1Dw&@TFXH!+ns2w=hMkYGpdz3>@HORx069ew5j?J;!l?ey&gmh4c>)UHu-x^E~7G{zc>|P2u$&ZIMnm8Y8Hdq0sc{T0=H&tf*{i9h$fNv>&aQEP63{MP0N! z_`$>}E9RmLrVh_Xd9Q8`!Wzc~C@a56FnUjg?cg{iaf~yi*WBQ(5d3Dhh2Kac3u0szoy{4LYBG*fZ6uEn zH9Q_6s?*Q0_lrC0?YB!RvX_JPZ8Rw(52~8UrMXarq)|xN%v95ZFJ3GnutOY2a-$EP zkbfIMVc%hw|L%@7w2ZpiLtW+Wi2OAng&#hv(jH1YJFm!ttP^e>u$!5WF{?e@Dz+B0 zi{M_tbYLlV3UO(2wVYm3h-m*6Dm_39h91Sx`QlPUUegmk^g1E7$fZvyhO;@36K_Y3gSiVMWX%PhY!!)a>sf# zlKEyn51c&(P^G(uJ-~a^SgTDGgD4BfiK3nK0CY=m+Zg!~ijqr;_MPwwk|@yysm{lt zxW1syn&eR!Bx19f?gy{C{@|sWUMfy63um{l#=%B9T#c{lzTT5BbBUf2B-K@lvN=ZM zN?xX9#|f@15OOlzCKAZy5IGMlxQwv?=i!Wo-dJU|^Cl!x63{>FjaEs0jAIWT@-uI#{0~`>_*r&%-pSx8T1iz1B;IZ-wV(ZdJ<^VN8Bre=) zT|Rb1Qs_7E59r)T;}$vUt*KDeC5d<3s|w|uCgGs9rLloXQeCu8E5CN47K)qF?Q*0g z)4Rh7l6eIGx~_V@aN+5?N=Je4cblr`H|1(`h zSbv3NrA-vQm$gSS<6}$4nF3J7jdR5qS!1o@LQO>Ck+|V54aos$jHt6OlA|x(OdyOm zDP#n_>8Yol5~C3p3O?T5*o;krpb|z{4KwBim2a;jO;WdIHxzcTE*25N0mt%;2&$** z`e`nkSx1Kv<>L8E(=HL%NwC!CttMx_yJhAA{KCQkcJi$7?Yb{Tb~8A_Mj2a?WnB%i zI8{kxUhn|=v;wk0YBuGOmUX7uSbN2D<&jB#mr|WEC}UN0V|)Tidm4+ zyO-LU`c;nsDNAE`!5^ID7x7{}{gd!b#++XXAIMIAwP(?#zHjVM@4EC|YR5NTS$;@8yy6u#!@;(q zfZtNX@;iQPrMf4x+5W^_oi=oq^zHTIuiO8H4octf3Dg0wreInrOrg4Ok_F?yqHG*H zob@!{HZE0h$yX&}QSOY;!KlQts~!KSKKttq=KM`xIQqG{YRS8nsyUxKvh$4ek9{Ep? zqjZKT>7xXAwq(V>{N}0aq}<~vF7Q|7mwa^UfqVH=8w7`GxY4o%svd8gG|mc$C+=)| zfY*m%6AD%BBXQ&bXO*^#WE06rMh_%nIT6%>+2NyD_p5@BK zcO1AMGPz&Nq)GM>5aE772y2F>K+wjC{Q(Bf zUdovH+39AbXJ{X?Kw?lN@p2$6FnyAFuQOs8H8)H`u2moqs0dUEH zswJrYES~I4gIbvRmR+Cui>eO$K7jN3jWx^FSJk5*%iJk&Mfw0Mrg{vW7JMQ8)UuEX zo3So2On8Jnj#M3Wj%%t}LzZEo*wk1Lb8`t`I^mmb54K2I)s_VOijo1R9t&i)f9_N2 zmJih(K1HEYpb`vFSvi2!wQO91#SAUa)^w5bEwbXBi%onXWX{YvLh;xWv(k zCFq3U=;x>B#41bivA9z4Mxye?;>2YLMMj7nYw}tIqk}Rz!MJ|L&OEuy(+m<+z0C>6 zVZX@AMe9dQZ(+@K?1 zyRLK; zqBS|=@b_En*B=ZH9(&&I{}GQm{$l23^%rm*P1bqoDzb9zO8j^dE9Tj%2|t!w1P?%! zxJ`>FU6hN603pwM?T8t>7x1wact`d+A3^<4DiR%Nk4~254Z3z`K^xX_N;)YK2)r+5 zy{l_)vPX(L*X)c$wrrf!+1zGNE3VwOx1-|R4KpXLtr$|J?<;%P_6rgpsT{iO-pn7* z-x1~YSvf=qUn}~6)|XnGJsqG@H`OHUV4z+V({pwrrg5MQt2q!9Hjhw=UkcBa^0p=9 zO?nx1b;<^U6s(P9b+orMgSDYbhA;t!V&Rxka-2Y3(%hWE37#3Wjc=ecrAx(OV7IE0 zPpj~g-Ii)`HA~dQ2@o?t&JxnKUQhIO5nns8&=HOlQh!}U z6E5{rb+eREYAHtzRSrr^l}H#yJCz9`g+iX9o9WTFbE_t)mHVAqnQPMRU7d=$i<2i& zLbAWBpE4>?spOZDtnjenc}SS6H4B?#=C|rtcPi!1*lh=s$f{@rHFT z*@tKBTr@Cc(ZVfJ;UAwjTPo}-Db^PqTdi-86zf~4QZg7fYgS(P|KwaC>INS;e|(5F zO6msGS*N6zQ8}Ol*Eh?yvIMA548pCrgh^u+g(T-Fgrq`fAK#mxIg6?(w;YwDTUElz z>yB26$7~>lFCyXmVn0c7VxUC04<4M)JV~0%DVb+gTjm8d8p=ez_y>8L;fpUtl{ETi zr+pjST;|wIFG*i@?M7dh{W^@j1J@ody(ju!DZ%MR0>0xUwJP|kN++Fwi`S>b?GvdzBH+kBRI)>6uvH)qz&(dolOQzrLM?CF9&DOZ_rf|_umSt7^a>R=0o z!7)Q^6i>Rr4l^W7KPI~Sk%eGJDdHeY?M$=PbF1n&bxyDiggd&0_gIo%SX)KMF;`fYVOXe46r&cLj$#$sUVBaRc+e zl02~!gHR0Z2>ngMM=o*qMzjc9v69W6KJx|9=~ns-qQePHBV?!d9OT_o1buF5YDzVw zqFq2|q|e|9s>ec5U`z>+^)8EW{e~625^LYJVcq=j=*fNaPno}S<4!;Q?YMn1;FHQ| zLweGRwE{jVOH?hMvEr;hIk}QyWGnI9AZr7;l9(S9#*)MPjAN+3Q(zg*d3F3H`$e_LcOP%FNbXNv5mh8*5+T7i&HbXQR%6l_q=+VP~qf%8+tK@B6Utz6A@uz^%phFRXte zFP@w|-QR@n?<$ck#SJaBqODc(^>k0&!zGUV;%R-oGsuXa=9}*(#3L>HyVhTQ-#~98 zR*!yK6VE}iJ`72YO{<(KX{!~fl!&xOKR4=lr>BbZT*G;7?UCk`i$A)e%vY^F&^TwK zjVxB`_-k+q{00Abh1I89X%Uum$w;-;K2`urHzd3Twsi^>b>v_q{jYX?h64%hu=^#I z4@T$jx(yfIesRRDSy~No052V|f30riTwbH9%oqq$M>8#>d>8RPwr{7Ld~CIv|0$c= zB%Cx>I5tsB?mCp}%JDChU_`6A(6^T-p7=@${C4K9L{W>bq>Hv%iP0|99+K5AM?upA z2>`y82fyWKN`Mc1ukfuve8pC)H9^=`@ ze&7Dul5kBTpKs-_%)=|0hmxZ^qDOLqcw!}+TTgKQ#|&pLl}W#hJ(E~S5fN~1@Btn) z^N0P!$U3SVzvmP?+o&*v-l z6~~z}0I&vpY6x18#LGY5nR!5kA5!5%sv|QwZXY^!W(?uiq11z5*^=_q+HzcJD4&y_ zRjXa^J`kqbS5s9LA-_bMC<9`nGz0q%4q({BjKCQYJ*=uuwAAfd@QmttX2Gt~%qOPK zT6yQnSyMBQ99p*Xz<0lUVEc+gH@5AXvv}98#dCJG-H1fUDJ!*8_^vA@TU{h3Mau+_ zqgVN?J6(Glbw(Ro3R#UQU6|D4wk9eYOpq3q&;`f_PbD2J7ipax`jfOJGQ6C&!V*~p zbAr!a`#0ivpS9$;z$F}&Z8YNSRI*#ymxmS}-f|cO$$gnaYL)z!$7w(JcNzBxbJ$dh z%y)C+P0-O%M$qHr*6wX_Cye9X)|G~R|7(Z6=dwNac3j&J+Yhh!ld3p$$$m-nE%a+2 z7bvUOr(JE0rl(Q=BjC@uw7rpBdZLqj9sirxpDo$DWBu89P7|q4?aN-eC+o{zC;cgK zWc!pUf91%<`2VZLmrVX~zFY)mG>%}R)zNC>{1=eXIMOk`iEnJT9moHQht;9wuc!x2 z7IdL-aQYkUk;ms>Z4IU;C!+MHJRF2~Mu#Ijk!~#?)+TXJiesJ7jUFlE?8>?Mo#Si( z7r#d=OZHy!z^(h$Kj-=PS3S~rkn^_0M84}gh^{2DO!1Ps1EhIzCI2EI(M7E)r1v@l z)SjXccy%u55OM}7KQ3Z9KJ7%@9>xTu=SaKPfriKaU8Xnl5hk|V2cg}lB^b9*|~M#;#!6pNpFgW zc|_=I%XZtasOVIZLXjS|D^0)uN$OA!ksIp?o~Rdh6cnBw)bo-*OdO?B#=D{v`io+0 zE-;6(W=alSVHhPG4p)XN3F{C_sp*a7LMb}qI3Zz_>z?}c(H;uN=0#AjndBVhji1!Y z9K?G^A@XRM6Y}!peX{Q4$4^WZTU}&L7M}5ntZATKqJ;3tSx>##dfrOHC-Jt~RZWLq zyz|hds-TYAdgh^tQ#M|)PM|YCC)=WM#0vN%ewo|vcH$v8&}wtIIi4hkMe9D?mpXniWQMmTS7N{Y0PhF zMio3d79*HevhM!1Jnq_f=Ka#M{;s5Xif?><0@4PQ##djDAmGfih5 zTz9`(9#a=)Zs+&jg0@cjywqFEilZD4he%bL)B=I2NlV1(1K(!USQbQ3Oz9E*I&Qy@V@IC zFK<-uI&}BlhenS*YfA`^Zn)2kS(DNecxjS`SRlykBuFATo?GZXPY(ph&BCGM{IIGu z^hPuU6ZoaBtAS4!SSHQv+jr9^Z`!xdZlj?!hcX{fI}WWeZIxQzQc3kAYz>){BJMF~ z6fa3@>57qQE0#~6wp^VuvSP)^^kvJK%_(pzzqX#%@dEq?>1K0c;G65jnDK2Cqm2Rz zZEZ1lf3?wOa3lbxt6i6KM^)|^l$x=6)~vqX(bqzvwMDoG<-qF!BXV2>E zn>G8)(NSeClJ^J-S5?tLY)3gGRTG8j)IR;6m~&o;`e`Z-MXqK9lVWP-ANcF#7}$$m zT0z^|8dkwFps-TU0)vchOLDA`Zx?L@ETCbxoJJbCrGK1T{C);S?n8=WZUb;Mwvqfh zFm{#azdyQZ~lb7ZYm$hZV(3oQ(4YHv&ZV=T?c48WANgKQv(S*_qlu= zFDm%AD!FCz=36#@xu?Fqr{TQ)>goN#TefVuW%F0$gL?H>{q0wJ8XEY=rY#@ZvgJeZ z=DOPE=GwZ9U1mQPI<~-k*fiMGH26W!-$iesEooD)Nzm$vfUPF=4h`XKs}3G|*PcD^ zdU5zCiy!%fgx&D)m#gXC>r^7xIovs{raye;o;_EphT$JC`otr6BlKK2X0Ncn$f2w* zUF|GQM*Ve)WK>haRqI#Zzh8ZGzfU^JeH?1+F6L#ewLV=_TO(D0Tvi_3-PN4$ZMQ~3 zH6z1W?;_e`0ErYkghR=6jeNrqaBtyP_yMA|aXDzmpz#6qEHpmyo6#7kY)K9A>FP7i zcSdzDXE!;h1rb~?J-DRB>Su_>pd zNC*e%hcXtyu7v;J!U4J&j`I*sCkeXcVu$#_H{#i^D_Po>YHew1XaQmrk*ra{Wup`W zCWjHvp+p8b8CCN?&Y9YM-O|9$Ct<+=me@WIH_1>DSZ&6uc(_f|`*#CQp z)z(nJ>{ zJ;%J##q!+i#NT4&t`$U0ZJfA8S*he9GZ+NWN%*W9*sWY6ag{O}%i*V4W7 z&Tm#5?s)$BJ9@9Za9jHF=a1ZU!R$#|H^_5>!tfjTQgy9J{NKI`v>?pJE}6)vybLG~?!l%R{TS z-f`>UrU?t$PU=*v9{Iv`yU)3(>8h>|PW{GT;hQ z)gG$C9hXk`PfV**CeE2Nv48e#`WvI|$H*-TS>5Rl!Py8u6{@W1@gz_{4{;)CHxJl7 zZ92;o7IPC+VeF+DzDK{Ad3?n!yVW0WRrkb?B@}c7oSLi~eIZ+LK}|%)PN&`&1}A3; zaZXkR#P-B_{SGO*Xk)wBcDm%uJWyr>OAtp)*--h)gg06 zgRN)T8u5z~cZw!!<4n6J2jvnqKQdU?kV-X-ToG?y+P8A&&Xv>8ZCJ8J{xWUz=Ke|Y zU2;I3)X>{Gz4MO7p6)G&x18L!TmHOsF(0Ma_kKa%+YRuc#w^&?#GzX$`L+VR5Qm#d z=md!4Y;{2U=xD2`O|{@~suOesJZ;M4W1so`j%nTT8Q*W21w5zOUh#Zb;5m=~sPw_0 ztT74e67>jr9V2E>t}>(Is|@mQncPhn){~m;KvBQY4Qab0XemI}_&}somSjEn-@$kp z%m)4F=2vSfuCe%4A{D*nNc2}v^y5a z#ex;V(&7?-M?YUoZZC=!mlubNLq&W)IA@Z2DOIF~x1L%WhCx6|&yL&DF|5eZKp0iZ-!n=3vx?BE`apEk^dFmEq zAGY8VhR{Whh(T+i%xb69Wu!(zC$XV+46f>gA5=$3efEVHGE3EG`JF!W;GyLT5bnKZ z+%5HO@AH5`%3iKyVX{Qj2VmZ}$C(9im8214G?s*~h-4<35(J|4+_ z{W^b;Q^<@ATX0C06!T1YN|@f54ly{sPY^lPuTN`3y_d-sw7)7_%FGCyun z8*aMkrVq8MWtk^hGf#*$yPL)Kdi~s>l?DiT7C_C5t-aRG)}7Wt>l4-!))DI)*0-(i zSwHcgX-2vCUe!~wq0jc$-?d}gJ0`$_)vL+^6D#e;vgbeX@cxQ2h)Ey%Xt}RB6clht z62+LDy+!UQ>hj;E0$tg=9xk)ni=Y3*{)(bdyScGMZtUR3!MAjyudTg8h1$%$A!s9p z^=)dTzEAl_#%Z#YCd1OC=gw3pY+x*+$(N>7bEvhb`J&;$$-W+pDSuD>)>`Esn9@aI z)g|~2Z!9ir+&sO_4mB5tR!!@l&>r>|TdhUKt(((RyJt2e zaqLPZ+7fI1C?|i$Y+_$a6QreTgFOSs0K>;im(loDZsVriRk{yWSD>eBv+hDEDI_QE zL0A>Hhl*F}jUS6U|yzCqH@hRl9df4Du&G`oZ_V_nl||@#$|r{q1jk^J`yy>gbbS{KDry`NSum z_{`&vefm?6e*9w}dEnsvAHMIN4}I|NJMTE~f%o5j+xu>P?=A1Se&4m%Ty^u+H}BrN zd+)oieAk{UE`R4`mtJ!5MHigEb<5^+&)IbL#`WvYT6@~53s0UqXV&P*(3DBtol-=y zraB%Cmq_&jC-ON5Un1fCh~jrl_Vi)a?qTfq>T1d~$le~%Tm95dv66zpPFx!StdGtP zf#LG0T+t@}n9dIVM)X6%kn)xJ$UiVtjXN&Unc{DldqeOo5BAy#?Xu(Z)R2()3=sjA zClHxn^VCVzsbSc*Q^Q;`;7_sR4d8M}1v~NaarH2$CP^P??ZDOJoK5*^2n!^hV%wb} zl!vL5@4}+0|9a%u{P%RsZm2zdYRS~qctuKl!5BW&NO3Y*R$djYtB(%XH&yfP;Ob;m zO|e}ZuaoaWk($a{|J=UjPKbazGf#FlSNTKH1piWplauP|C)H-|s14Rpv9D{wACkSb zwY}f%O%l9N!J5VPl>Yuni`T8Pr%pL_a^`5Vt+p*$b#r5Fy_!{CS6NwCt`5|dm)Dj5 zw01LmtCbVNY+;p}Fdy#e`NSAEuBbhIuw-yeb(J4Ng!*JSS~uL$UA>aeR@L$uAC*+r z_O@2_l-hP_Pt{U>x7z-uXm8lwIcLuH*|WEIbrp3K*R*c$?cLtp{h1vdiHcxR&5oLQ zb+l$(Rn6=~^*#1zfB&f6)>gA}WzCgk@k9+lka%fXJYH5hcl-84-3M*E1h+HxNnCAH z*ZF1>`Hoq$mpsr!{mA-t-)LX0F1+bL^1ahDUzQudVqB;$ z=Y67*;R913B@V?KrjKoMkWkiEi9gypNkOuXxRP?7?V4p@N89QC5R=3N;A^&=KGHvZ z-pVD*&$*&lU3h8FlAftO`zD+=|C|++0-?PL$nO&RpRhI}I2_x8i1P`rmyl%(ajWdQ z)REvQgG&y-w{XSFt>RYY)spF?`4X?(*l*W-f$SCOousb_6`agZBV|%YQo}83)67%O zIqlTx#lzDVoD*Ddb1@ZAey}`s=E>{Yu5a!fC|xbxq@U%;3JkjT~TASk&6BA9AL>p;iRlQNC#30)P zC{VPTjl!oFeTwE8Uz4bOFwrRR%75;vs*3mYFjCP-YWbQ;wUrZ>tysQ%LS=bF;~Kjo zQ3))z@~P&sSgfo$^TDMv`llA#MMLe=7cHLFK8QZY2U=#xe7E&`>~h9uOFA0I4+b)f zmk@dqGik*FN;-`IXtZg3iEz663Y0+0@;fg59jiYv-bq>qSMU~9E1sOwe zxvE|3HqD(LoHBWNd-t^Y4CJ-F?OoOOrrkHB-kF>mXCTk~)a=f7TIaEZ)NIPOGX{<6 zq~W%XGk?xp9#?UWwYrbK^Xa3GA(n-TKpMFZ zmAIskw~~}6K}pS-O%3#zIO2#QLiZQA!@fiLkG${T`*?0zeVOjwpV_4D$G`Gd-u?6X z-Q^_B-oqSnYM2=3Q#3}*nsme=Tu<8h6g+yr@8DCJzdmk19M7y!kH?R#rhokSzRz$Rtt22648S)uw0c(F{WzQMLDEdQ4G(ojsX1Irrnoq>swTL`0)HK6DIU@v{61Z zbmuP)G*z@^$_8gEe~%O?9z@nUZ&m9Dvi4+avd)@2Sz+68^UC5HV^5J~HnMVA=kE3AY+F7rHPZ2wb3)P67QXY^^*3K~t6Dd6 zXmDj``A}Q;6Q`VBzhwUE3)h{tWMgYj-|%UByV|?nn_jYIR{zY#?#Zg9W!jX%4g`e^ zw62lYQGw;xWIbZk3MUM(B-niwDJ{W3IgUA(QCEL#J0JV_82u9c!J2Uy>xC6Kt4bm< zU$LWV>E7H`TA|FPOdeOGjbdr?%qpo; z46;*J1!5MCmwc$hqh3dVA=XhAd&0!lw$PnBFT6uktaNC${U;Dmzjf=;{{Kl9lD{#& zEY6c0y7l7;<1FxCt}wi^sI^koV`h*ORk2E_MDa(fR>{UhF^Gf1K%4#Cc0TvmCS25H?e*LrkAt{2X97Ogeu2B{a`+$goeYishgLujnX#-bnhWuQYFoo+3BGi9zYow{fRH z@29`XoqAoDhCPy&#!H>0-!R|LFA|{fCCQfNU2-DR z4YgM-rC3L1bk2(lwO4~)g8JCzJd02s!B^&APLo|v)@D;jL28RvUkrC=>^vk z50#x?2iZW2u`Va;B9*;89qr9cb#2MEs(58>q?SFcwG?BD9Sx_0vnb03mR*sDvwpAu z>2r=ttlG5!mTcOsV$SSaDj43WL;tjR2qg0B+4cI)XUtmtY5|xxC#yz{)sXx|XT_?J zO{}@e*~FY#8L*vCd?YYCvg$_OfO<#)F9s-B><4pJxQk_}|0fq-t5x6J;F(3Tm%%A+ z)~lx48f6Ju4APO7+7`%pJjx~|EecmG+i@S})+?Q94|vR@W_w88Ubv;h5!S`mbflUpyt#z%r z@;fMS;CM0(+#5H=b{`l|uDXQHuUyG;e8Tqh>vK-M)oHzKOzk)Y zz*MT$4g{0uIZ>eG!}u5Ho0tJ6JNy83F*WFPlp#9Xbcj<%Mjs(7TrIT+Qe`Vu4B+)AlU{9%b& zur3Z`%x3qLKvri%H#H=uX=<(0$2l;aI%w#=md_o?9i5m~dY=14e`_^5WwP}Tjx?L< zk#azlK>h(e0$YhT<>Kzg%JZ?K&D5K53ZNHRp>Pq@B4Jtx z9lGp;+~(P1ii>l5OtgPuFEvuy@R8xvl&z&<%+^98rGterx$ah0YIx){lG(ev+`Dja zVBx}n!OJ9L{9DdWoR$?c;@M)x8PoYvYyYm=FN<>XamkrkwKyj)im?vgC|CtVUSrR%bC>qUy&O4p0bmsi-< z9s2Uu^F*~tr@xI6lkXv&;AQY3Mn=`yzPM>hHdKcvmQX>)S)qX1B}qClMmTDUqygni z#$?^(%Y~dkSXJ`XX#AW&tv*hsnRxKzmvG(zPSZ!e0@e8i<#cWw>(R3_PCg)uuqzMn zt>gpx1D<@hLWVn6VTk0MFyD<#6FO2T3Dt1pr3dqUXtu8Asd?L&PY0P#lJ7>W%k6;V zyHV6fG63CtH>U$_acJbE3j(pt*9!ze0a^_MW-0B={k1?aN>bb;iR}kYmfKh%`A*U) zZi7y$8%b{bkmn{c!zPcwR^KVH16P66;!qG6*a;Hd8nIPUtqq-xoi)|bde#&A4*`yw z#^s%DF7uoYlDTGbpircDs-GGTy1yD*xj@av%Xc$Ach;`|srs^6hkPe`mUGIh^K?d~ z)U)+FKK^pS4+9*waSKYFR@o~eOQ3{s&K5Z$2(drJS&9QsQ@yzrZ6npf!!Y1P01m!e zmuq#R0GX?#2rBI{Hc#vK(-}I3Pc29rfIM;4F{O$En@!Ws*#}3vOIb#Oln^(o2-!t? zID)B8x4EMSoRU4D%iPdI<|<#7I*qnT60;Z5_WvZmpW`OZ^801I#V)^J)@hvM_LKJE zGXd8sq*gwBHF88mb+ucXQ#uhkDNQcKc7DGt{!`My4Z|SmVqS*9Sk8I+kP!NnK<}qL zsHOzX#~eSZ`|ckl_8pg6K17av@C#9wU796mqA}UR1Oo)mB_x5?kX*`m7{6XTPQVi0 zQ@xv`^^|qay2zh%i2S~ubCrj)Tz+r-HY)&H%JKSz@ny0%Q}Lz<&?@SNou&;94O$)N z^(kSUC`|zQZOiWoYlzAUVUJ7Yr>15Fai>G(mzm}WL-)hg1>yB$g)p^v$y+Bti4a5; z*=wjAq^S&K1ay9q>%a!f5eva=EQ%@NYPj^AfPu<#ao97D{V*qy%tH<}ha(PqrpwTg z(+la#f1A_KxY7$a{j^GaEX(Pqo$K%*ty>p=T;?Qez$3&-%4whdzpRvO9|=8>i}|MO z04KW&3ELA+a@GM)&@N#X1Bu+d^!x80N?-TxKB|~`qIb{es>q@fQp4HAtzwdIn~hvW zje=_EcQ$&JQ&0GEDk>^s6)_UKa%IOn@hna2;|Xdt>3Z+Ez*gpfkm0~xKqrf_79(&^qVJ#n4`_YMV#%saJ2eNOeG1r zH`iEcm_sVHB*V;6UP=?S=30f5(9QhuWVPpB^_c>y*4(SxU9KN#t!8Rvi}%VRZef=h zZe6F3dKVc_9PH+FOmGe!aiAf_Xinuiv()g|4qoBuMY}PT^V+VI{HMw?#(`KG>9>-l zF#bT$u#P`F>EH~5kNt~?Yp&75ryRQU#yd^=HzTf|R7n{NFjL3>s;*Pt)0nC02ELNR zOkwN@1C~_PNRRnc+<mAbTNF+5`~QVN_DGP{I+C#-7` z%Xl~`K>>}yN%2Z@(v_;nCqPm;S4cz_#D<1hd5~1OZ`b@iP%8C~d?*z-Dr9yA?@?|I zq$hcBRAUiTezt15o(G{CeiI1QDINqB&JX0ZgLeMg_$fG7rMM5-w@6T+*C)nLIhRrg zC@HSRH^ooot}Vb%4Zl77RCOVIiuon)eldC}_^D0l=ve%enR7r13Sm?lKxO9M3BT2@ zcn>s3JKjxQIB|>UF8Ggn1 z%De8$jqiB)D_IQ2;;%fb!HK`sVNTEZwrkMj+ksxaG6s1Crs?>xBFQVP5DZ-fSrX)N zs>K|{gt`EmU5_!QC-#@@XAb(xJsPQ(kKUsO`0vPy%(bUvuEpqjO3jtu$L6S;GVfHN zG&OFj=svfNvJe&AI0V4!pnW_pEJ?VcqlSJ#PF~p-A}Kj_@!ydrGCv3GMRKJaxpK!Y zbxr0fRFQU6CZn!`E4o(v25>^zWdg!kO!4WH*|}`P7Y!1Qvky2?jlY$$y&&=GdaD6{ zYZ``Z#+noelkZe}YWD2!x6Dq}jqVM;bLql^jWY(-`S;C`jJ3h3_hs%{d2zRCA8rHn zCHS_=1#85Z@{4nqoHq2i3adW1iHZ+XOuXSCqJ`4*a7(1JrL|`1%%Q%!OVy&|)@e;7!=#&xbK_~W58ny+;X9rRW`cQ%V$S2?)-A^2EZ5QWV z8&ez31W8W!1-DY0gk)VhYW%di>^+qylIgxNm+}trCFXj%qTRagc>FnmHq#wu+4GuxTZ3I^CLUeZ@#G(c9II!xo8^hzyHU z3esXhFyuZLNjjf9k|gksB#T9or79Hmg|>Qpg}V8 zSu^I&oI7n8(!gph+cG>|Z%wvYqci3JQHe{#g!?z7yvW$41ADe=Vb>?ycD}j1?F+Qk znt8(rJ(YPUQYQ}U$o*C1KEax1%~7G8)@q4|QYxI)TAUNgc0O@rEeLv>m>9AySK(4$ z7+FgQjktmnL4ye-7i}ml%}U(F&qn{|{aUrnLyT&Bo&h?68a-B^c-x5{BLg@7&Dan1 zqti(_o;iKa=$xT}i5QVBkw}#uz>2p#fF`~M2kYCJB`2A<+dcQ*@z$n`uWI4KC%>IH zW!$mjY$of?s5ReuGBn2RqjTFJ$q(H`@Hnb`LpNGm^L)vS&7Qt`bs2cN3%Kw-_Csb zkN(k_6Z>Y*y6CM=mt`|_Wz>nIujfq|cfR~5GVivAteNgQ6>Eo~oK*_h=+&r1uTt4h zoi$26&C1@hMrqk2btgm*eGX8BabcaD{P-N@A5p3!MjXO7IA+}|_QI}~x( zspMN;r!+wAt#1U6q#@m1@YdAZ-u>|}ekWhM*-zoKXeQqAG*deYrt~zU-A$MZTD?3} z+X8oSUD8Q`#*)KPv}v3RNv}?qK==`F^RQiroz?-lt8lxvDzcVqpH*GodG^2^&wl01 z1FKdYP+Ky$hty8B;lOjx9r(cW&;RVU-MeqweJuDf@mGmWA)JWioS5((8epAR7C3V) z9Jyr0;n6JedwqvFD+8ZZO+`&Kj8{;z#_4A{5yo$}0}hRf z{qffx`ybs}NW#DQs(mhYR;P7?iPD!tAEoIxfIlcPK|CM8DJ42-aI=_0SY+gd6b07H zp2<3n8iJcOM`6xz<6PnQ>oSqhc_$6}ubG`1Y&&|xZB38ZuU~xO#dVeEt!$e& ztG(irW$E7GtKaLJIFgB|%yrk5ihWrJ|4EU?2jfky#bH^a9qLR-UYqQfT;Dai7X^}+ zqq7|IQ>`tnsdlk6m2?!9$mKhcJR!+tlENrosf%Wv`Myi9UKcv&ybTAMo8NQRnoZ#~ zS6y<|ap#Jjd?NozBskPA z`DVY(OuzAZ73;s|Q8m5e@#V*UPlpvXL|?T_wV#p{IsDY(>cg5o8>Pnugy1zVh}5<; z>!kdpx$g@#EzLEDGtECy$;>Ol2dT<4FaB2aSnA1@I=Etdig0Oi4%Y>CB>Iq7u+3>A zLM2u0L(6Xj9$xLw>OEZ3+){J+PcILNH!HtEUqBpM{ETT=1DW5v-RKG1)eg;UyZ4Ge zGrwJX-8k*)(}Xl@iH^y~G)84w4rf@99)bOP`zQb(ub6pb+(%PJ;f1`Fe z?nAUu%bfkY0tIXnZ-1Z!ax_1=OMZV+>xK5;T4xKY1sxUqPfK%svMNytI04r@WJWH$ z+TW^+*qZf&vG(QMtU2(WO1^AHOMMJb3W{_-O&mfNVbiPj8W&1t-G1#T8X2fB*aZty4 z$u+B8zE&sG&2$Q#4{kFT%YvAHiH2oS>PS!~00>>Z7g$!I-m5H^d{)^rXKxRV&J1pk z-+NDis{1U=YPz1Ci!L6O$P=Q1G$pu|1BM^lPM0;!?-i4gnm`5_`et2ntDENd<8xg* zpqbVjcw~u;_mYSdQ(ty>-Tot}vH%c2DXVr)Uzl_(!b&*4_^aOr6 zMtTJ8gR+d~dia|iXB}7$ZFyne7E0MnS;X-{60?)NsKJ_$?x|9Es1|$1kV|xSl2!ol zdnud<#*yUj$X~N0*B@xM1FKWMA0O7+)!FZK3ulJHKlUzF@0+@MjzQ5apb@x<;G=sl zoMTaXLZk|a9G(=sSlZ~}PcW;dWS;~|*!^X#Wxh1{m$r3ERSDVs3FHmo?~(m}$l32f z_Bsxc*5~gydFir|>5JB%zwLsIL#C;QM?W~RZEDlQEf<`z_WaBrTsBSV&#U$l>{sEp z=}fnYPfI(wXgX&CN-d3GfNOl3gf&_@h3r3g*ee6g&wn=ap4(OY_S-Z6PS)AY>axs3 zYV;rfcW2ku+s1K)cS(w(L`$-)i!IZ(h8j{<#UUljwnW>sBkz(@961gpU$Uz>=~AM6 zOB>%4rEOfNt{a(6Qy^#%v}gdM4?&8;=&V!&cJq=30b0QAL*Dxj`q}_}Fyww`mZUD0 z(!vtJIWu!+=G^AY?99&Wqs6Ztp*;A(NojoJu@Gv3tUPz!52Wry2d}pRrYi;A*-Z?qCp8?AkRl(uFcIMV^2l~g)%)I;N zjhV53Z1`m8lb6JWT{Ql)A6!-0hEVzI8f0^;#xf$TxiWIIRE0*ZKC)+_@5_X??se)%Mvv zk|k}d9#Q+=)%}&_TPyVX3-+Yc1KK+KD}HtVgt{M`ttN=$Lh0xxO*NSg@5Pj z)nDJet8{kg$-jMlXs1K_rT10qMtpjQb{g;xE1sb(|D>u**4q{6@Kg=*mnN) zk8e0#e;hd4xua44-Mv%63x!!+L5Mz>hCYX2^R4*u4K!NWL&3s=uMOS`v+&B<^YYwV z^~1{6C0(Gl`T%;ct%ifiY#74D$yFat48xn_rm6Bi$?|pIrJa%}r)R)6ee0Kc>*Cj8{Xh7M z&CkJ`AA5=4_;#UxbZA{zrNmo1xN8q9x%5_~I);uj=YjIAwJ=xjG$y8PF|KR9Jv
%g#8JzO?kJ_sy1$#yWDdxR@okrR&AHQ_tgk zLU+%x==RP|*10`=-9CJ(!CyO(wy#~Y)8iq3_+`VsuJ^<;@pwiTu`L}OXRl&l1v=Ob zJKVLTC%Ti7PN$G$ytC-UlsbG4%PITIvc~9Xsj8=?1LlL(6XwjX?zSUm?%VbLM`vxN zsQtOgH|DPBfd@O|(bz~rza;-YSXI>Gzjhz)=^Q57&=IhZPS23*{XNtkYM*MKLYtcJ zF~%L-^BlOg__gn^PriYxSfuZ-P#jogJpJOg;%QP7Oll{soXyzS1FdmN6MP3HFC+BaoypYr<&^NYO2 zKuxK@WPRRpkisaho}fX32Azn5Nohpt3ESpU%Ud(Hos@pTa!dx|1yELF<}F#n4H@JH z_^_q!BxOKw(8Y>w&6L3?hbWGC6wt5qIk{=+?~NkUWF=NY18#p!988W|PCinYuq|#! zZ6=40TgZzLYvuNnvPQ^SGcgaVQ<4fI$_);QbE6=AQ)i?;4Ju?!Z&KC@Mx=(#=?4LA z3Me3U*s%%4$tqGqV!k%4nK`33T9tjBSgDJ8uNFN45=`*zuw023NH0oWT7+aOSp-B@ zsDyTSA?q~}UZ=Q>p%e;NSzBIc1DOyv=EL=VC_BQVc5gH(8-(lgO3-lEbs30G?}Pg-tMlPUFrA)69pv#?~t-9SIMqRx;Zoi3c)g}`y>U#+UzhBx^>7F3J9ejTTKa>Ovog9VIMlcC@gi&ZpaI1 zP9E`FF<^#C*V2ZK5mKOxdITvWT<2($paW?Z4kIx{g-N^!YF*hM;XL$&H*WY$r^uz>EEM6( zd}bj6*sdMQ)|+^7>YnI4op3u^gdNsM4SzMMUCX4N#coN$ z9f>Zpkf>dzF$dq8PE_PDg4n)9l(a;WD05O}dK65zc^w?n4fN%fl-z^<{QNrUM^K&K z+9LM?=LI2$5R8%Bau6^Z!MIwH)KNhuEXN?&7sb4$WdR%mpcC+tnAcTG9)L<2C!8Fz zCJ2XsvJ+F?Ma0O<;PSu9}TgVHQOUYbpKI;Bk#o`PN>JO!O5JO#Z< zZJI!PjoKvOyVNED4z)=@fpA6uOc4$N(}Y7nk#Go@QFIxA&M3MFI;-d+=$xX9p!13@ zf-We!2zp)7MbP&YT?Bm}GTvWR;2SC?43THlXUOx5>}2NL=X z4rtly7^nnSpX@`3*3wha6NgKc)9rWn+++5ZBCa(;3E literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html index ecd1cf1..40bb143 100644 --- a/public/index.html +++ b/public/index.html @@ -10,6 +10,10 @@ diff --git a/webpack.config.js b/webpack.config.js index a120904..0c577b2 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -9,8 +9,7 @@ module.exports = { umdNamedDefine: true }, module: { - rules: [ - { + rules: [{ test: /\.js$/, exclude: /(node_modules)/, use: { @@ -27,20 +26,23 @@ module.exports = { } }, { - test: /\.scss$/, - use: [ - { - loader: "css-loader", - options: { - sourceMap: true, - modules: true, - // localIdentName: "[local]___[hash:base64:5]" - } - }, - { - loader: "sass-loader" - } - ] + test: /\.scss$/, + use: [{ + loader: "css-loader", + options: { + sourceMap: true, + modules: true, + // localIdentName: "[local]___[hash:base64:5]" + } + }, + { + loader: "sass-loader" + } + ] + }, + { + test: /\.(png|woff|woff2|eot|ttf|svg)$/, + loader: 'url-loader' } ] }, @@ -51,4 +53,4 @@ module.exports = { tls: 'empty', child_process: 'empty' } -}; +}; \ No newline at end of file From a08dfe102b923bf189105630511d0232639ed6ce Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Mon, 6 Apr 2020 17:17:00 -0400 Subject: [PATCH 11/19] ref: wire up redesign --- .../html/{ => 3IDConnect}/providerSelect.js | 58 ++++------------ iframe/html/3IDConnect/requestCard.js | 6 ++ iframe/html/3IDConnect/template.js | 21 ++---- iframe/html/request.js | 42 ----------- iframe/html/template.js | 30 -------- iframe/index.js | 69 ++++--------------- src/identityWalletService.js | 26 +++---- 7 files changed, 53 insertions(+), 199 deletions(-) rename iframe/html/{ => 3IDConnect}/providerSelect.js (51%) create mode 100644 iframe/html/3IDConnect/requestCard.js delete mode 100644 iframe/html/request.js delete mode 100644 iframe/html/template.js diff --git a/iframe/html/providerSelect.js b/iframe/html/3IDConnect/providerSelect.js similarity index 51% rename from iframe/html/providerSelect.js rename to iframe/html/3IDConnect/providerSelect.js index 8e6a662..ec6dd13 100644 --- a/iframe/html/providerSelect.js +++ b/iframe/html/3IDConnect/providerSelect.js @@ -1,82 +1,52 @@ -const style = require('style-loader!./../style.scss') -const template = require('./3IDConnect/template.js').default -const assets = require('./3IDConnect/assets/assets.js') +const style = require('style-loader!../../style.scss') +const assets = require('./assets/assets.js') -const providerTemplate = (data) => template(data, providerSelect()) - -const providerSelect = () => ` +const providerSelect = (data) => `
-
+
- Choose wallet +
${getProvider(data.request.opts.address) || 'Choose wallet'}

Try again. Use the same account you used for this app.

-
+
Metamask
-
+
Fortmatic
-
+
Portis
-
+
Authereum
-
+
Wallet Connect
-
+
- -
` -export default providerTemplate - -{ - /*
This must match the wallet used for dasboard.3box.io
*/ -} - -{ - /*
-
-
-
Metamask
-
-
-
-
Fortmatic
-
-
-
-
-
-
Portis
-
-
-
-
Authereum
-
-
*/ -} \ No newline at end of file +export default providerSelect diff --git a/iframe/html/3IDConnect/requestCard.js b/iframe/html/3IDConnect/requestCard.js new file mode 100644 index 0000000..c61d172 --- /dev/null +++ b/iframe/html/3IDConnect/requestCard.js @@ -0,0 +1,6 @@ +const template = require('./template.js').default +const providerSelect = require('./providerSelect.js').default + +const requestCard = (data) => template(data, providerSelect(data)) + +export default requestCard diff --git a/iframe/html/3IDConnect/template.js b/iframe/html/3IDConnect/template.js index f6699b1..686cacc 100644 --- a/iframe/html/3IDConnect/template.js +++ b/iframe/html/3IDConnect/template.js @@ -1,6 +1,7 @@ const style = require('style-loader!../../style.scss') const capitalizeFirst = string => string.charAt(0).toUpperCase() + string.slice(1) +const spaceString = (spaces) => spaces.join(', ') const template = (data, content) => `
@@ -17,8 +18,8 @@ const template = (data, content) => `
-
- ${data.request.origin} +
+ ${data.request.origin}

wants to access your data

@@ -26,8 +27,8 @@ const template = (data, content) => `

- ${capitalizeFirst(data.request.origin)} uses 3ID to give you privacy and control over your data. - This app wants to access: 3Box, Gitcoin, MyFollowing, DappHero, WeirdSpace, SpaceInvaders, MyNotes. + ${capitalizeFirst(data.request.origin)} uses 3ID to give you privacy and control over your data. + This app wants to access: ${spaceString(data.request.spaces)}.

@@ -39,14 +40,4 @@ const template = (data, content) => `
` - -// ${data.name ? profile(data) : ``} - -const profile = (data) => ` -
- -
${data.name}
-
-` - -export default template \ No newline at end of file +export default template diff --git a/iframe/html/request.js b/iframe/html/request.js deleted file mode 100644 index 7b1cd65..0000000 --- a/iframe/html/request.js +++ /dev/null @@ -1,42 +0,0 @@ -const style = require('style-loader!./../style.scss') -const template = require('./3IDConnect/template.js').default - -const requestTemplate = (data) => template(data, request(data)) - -const request = (data) => ` -
-
-
-
This will allow ${data.request.origin} to
-
Temporarily see, edit, and delete data in the following locations
-
-
-
-
-
- ${spaces(data.request.spaces)} -
-
-
-
Cancel
- -
-
-` - -const spaces = (spaces) => { - return spaces.map(spaceLine).reduce((acc, val) => acc + val, ``) -} - -const spaceLine = (spaceName) => ` -
-
- ${spaceName} -
-
- Allow -
-
-` - -export default requestTemplate diff --git a/iframe/html/template.js b/iframe/html/template.js deleted file mode 100644 index c0bce33..0000000 --- a/iframe/html/template.js +++ /dev/null @@ -1,30 +0,0 @@ -const style = require('style-loader!./../style.scss') - -const template = (data, content) => ` -
-
<- Return
-
X
-
-
-
-
-
-
${data.request.origin}
-
wants to access your 3ID
-
- ${data.name ? profile(data) : ``} -
-
- ${content} -
-
-` - -const profile = (data) => ` -
- -
${data.name}
-
-` - -export default template diff --git a/iframe/index.js b/iframe/index.js index e983f9c..b5670b9 100644 --- a/iframe/index.js +++ b/iframe/index.js @@ -1,40 +1,26 @@ -const requestTemplate = require('./html/request.js').default -const providerTemplate = require('./html/providerSelect.js').default +const requestCard = require('./html/3IDConnect/requestCard.js').default const IdentityWalletService = require('./../src/identityWalletService.js').default const web3Modal = require('./provider').default -// const getProfile = require('../../3box-js/lib/api.js').getProfile - -const profileLoad = async (address) => { - // const profile = await getProfile(address) - const profile = {} - const img = profile.image - const name = profile.name - const imgUrl = (img && img[0] && img[0].contentUrl) ? `https://ipfs.infura.io/ipfs/${img[0].contentUrl['/']}` : 'https://i.imgur.com/RXJO8FD.png' - return { - name, - imgUrl - } -} +const store = require('store') const render = async (request) => { let data = { request } - if (request.opts.address) { - // TODO should not block rendering, maybe remove for now, can also cache - const profile = await profileLoad(request.opts.address) - data = Object.assign(data, profile) - } - if (request.type === 'authenticate' && request.spaces.length === 0) data.request.spaces = ['root'] - root.innerHTML = request.type === 'authenticate' ? requestTemplate(data) : providerTemplate(data) + if (request.type === 'authenticate' && request.spaces.length === 0) data.request.spaces = ['3Box'] + root.innerHTML = requestCard(data) } + window.providerNameFunc = (provider, address) => { + selectedWallet.innerHTML = provider + store.set(`provider_${address}`, provider) + } + + window.getProvider = (address) => { + return store.get(`provider_${address}`) + } -const providerNameFuncWrap = cb => str => { - cb(str) -} -// hook into consent ui const getConsent = async (req) => { await idwService.displayIframe() await render(req) @@ -52,40 +38,13 @@ const getConsent = async (req) => { return result } -const selectProvider = async (address, origin) => { - - const result = new Promise((resolve, reject) => { - window.providerNameFunc = providerNameFuncWrap(resolve) - }) - - await idwService.displayIframe() - render({ - origin, - opts: { - address - } - }) - - await result - - // TODO get consent may not always follow, need better iframe control - // await idwService.hideIframe() - return result -} - // For testing, uncomment one line to see each view static -render({ - origin: "dashboard.3box.io", - opts: { - address: '0x9acb0539f2ea0c258ac43620dd03ef01f676a69b' - } -}) -// render(JSON.parse(`{"type":"authenticate","origin":"dashboard.3box.io","spaces":["metamask", "3box", "things"], "opts": {"address":"0x9acb0539f2ea0c258ac43620dd03ef01f676a69b"}}`)) +render(JSON.parse(`{"type":"authenticate","origin":"dashboard.3box.io","spaces":["metamask", "3Box", "thingspace"], "opts": { "address": "0x9acb0539f2ea0c258ac43620dd03ef01f676a69b"}}`)) const idwService = new IdentityWalletService() window.hideIframe = idwService.hideIframe.bind(idwService) -idwService.start(getConsent, selectProvider, web3Modal) +idwService.start(getConsent, web3Modal) window.isOpen = false; const handleOpenWalletOptions = (isOpen) => { diff --git a/src/identityWalletService.js b/src/identityWalletService.js index 4313ada..95bb443 100644 --- a/src/identityWalletService.js +++ b/src/identityWalletService.js @@ -1,12 +1,13 @@ import { expose, caller } from 'postmsg-rpc' -// import { fakeIpfs } from '../../identity-wallet-js/lib/utils.js' -import { fakeIpfs } from 'identity-wallet/lib/utils' -// const IdentityWallet = require('../../identity-wallet-js/lib/identity-wallet.js') -const IdentityWallet = require('identity-wallet') -// const ThreeId = require('../../3box-js/lib/3id/index.js') -const ThreeId = require('3box/lib/3id/index') +import { fakeIpfs } from '../../identity-wallet-js/lib/utils.js' +// import { fakeIpfs } from 'identity-wallet/lib/utils' +const IdentityWallet = require('../../identity-wallet-js/lib/identity-wallet.js') +// const IdentityWallet = require('identity-wallet') +const ThreeId = require('../../3box-js/lib/3id/index.js') +// const ThreeId = require('3box/lib/3id/index') import { createLink } from '3id-blockchain-utils' -const Url = require('url-parse'); +const Url = require('url-parse') +const store = require('store') class IdentityWalletService { constructor () { @@ -39,6 +40,7 @@ class IdentityWalletService { } async getThreeId (address) { + if (!this.externalProvider) await this.connect(address) if(!this._threeId) { this._threeId = await ThreeId.getIdFromEthAddress(address, this.externalProvider, fakeIpfs, undefined, {}) } @@ -46,7 +48,7 @@ class IdentityWalletService { } async displayIframe() { - return this.display('90%', '90%', '5%', '5%') + return this.display() } async hideIframe() { @@ -54,14 +56,13 @@ class IdentityWalletService { } async connect(address, domain) { - // Add support provider name list - const providerName = this.web3Modal.cachedProvider || await this.selectProvider(address, domain) + const providerName = store.get(`provider_${address}`) + if (!providerName) throw new Error('Must select provider') this.externalProvider = await this.web3Modal.connectTo(providerName) } // TODO seperate start connect, throw ops, take web3modal or provider here - start(getConsent, selectProvider, web3Modal) { - this.selectProvider = selectProvider + start(getConsent, web3Modal) { this.web3Modal = web3Modal this.idWallet = new IdentityWallet(getConsent, { externalAuth: this.externalAuth.bind(this) }) this.provider = this.idWallet.get3idProvider() @@ -70,7 +71,6 @@ class IdentityWalletService { async providerRelay(message) { const domain = new Url(document.referrer).hostname - if (!this.externalProvider) await this.connect(message.params.address, domain) const res = await this.provider.send(message, domain) return JSON.stringify(res) } From 4f4bc8394d4ee2c589773ef5f6d25d3de0b1fc12 Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Tue, 7 Apr 2020 11:53:21 -0400 Subject: [PATCH 12/19] feat: keep modal open for sigining --- iframe/index.js | 1 - src/identityWalletService.js | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/iframe/index.js b/iframe/index.js index b5670b9..98d93bf 100644 --- a/iframe/index.js +++ b/iframe/index.js @@ -34,7 +34,6 @@ const getConsent = async (req) => { }) }) - await idwService.hideIframe() return result } diff --git a/src/identityWalletService.js b/src/identityWalletService.js index 95bb443..333be42 100644 --- a/src/identityWalletService.js +++ b/src/identityWalletService.js @@ -29,6 +29,9 @@ class IdentityWalletService { // // spaces = // get all spaces the user has from the 3box list spaces api // TODO IMPELEMENT full migration // } + + + threeId = await this.getThreeId(address) if (spaces.length > 0) { await threeId.authenticate(spaces) @@ -72,6 +75,7 @@ class IdentityWalletService { async providerRelay(message) { const domain = new Url(document.referrer).hostname const res = await this.provider.send(message, domain) + if (message.method === `3id_authenticate`) this.hideIframe() return JSON.stringify(res) } } From f315b574a95d7b5b7ccad4d27c63f0b9ba55a316 Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Tue, 7 Apr 2020 21:45:29 -0400 Subject: [PATCH 13/19] feat: error handling, cancel request, catch and retry ability --- iframe/html/3IDConnect/providerSelect.js | 9 ++++- iframe/index.js | 25 +++++++++++- src/identityWalletService.js | 51 +++++++++++++++++++++--- src/threeIdProviderProxy.js | 11 ++--- 4 files changed, 79 insertions(+), 17 deletions(-) diff --git a/iframe/html/3IDConnect/providerSelect.js b/iframe/html/3IDConnect/providerSelect.js index ec6dd13..2ac5a97 100644 --- a/iframe/html/3IDConnect/providerSelect.js +++ b/iframe/html/3IDConnect/providerSelect.js @@ -9,7 +9,8 @@ const providerSelect = (data) => `
${getProvider(data.request.opts.address) || 'Choose wallet'}
-

Try again. Use the same account you used for this app.

+ ${data.error ? error(data) : ``} +
@@ -43,10 +44,14 @@ const providerSelect = (data) => ` Continue -
` +const error = (data) => ` +

${data.error}

+` + export default providerSelect diff --git a/iframe/index.js b/iframe/index.js index 98d93bf..bc3f0eb 100644 --- a/iframe/index.js +++ b/iframe/index.js @@ -4,9 +4,11 @@ const web3Modal = require('./provider').default const store = require('store') const render = async (request) => { + const errorMessage = store.get('error') let data = { request } + if (errorMessage) data.error = errorMessage if (request.type === 'authenticate' && request.spaces.length === 0) data.request.spaces = ['3Box'] root.innerHTML = requestCard(data) } @@ -37,13 +39,32 @@ const getConsent = async (req) => { return result } +const errorCb = (err, msg) => { + if (!msg) msg = err.toString() + console.log(err) + store.set('error', msg) +} + // For testing, uncomment one line to see each view static render(JSON.parse(`{"type":"authenticate","origin":"dashboard.3box.io","spaces":["metamask", "3Box", "thingspace"], "opts": { "address": "0x9acb0539f2ea0c258ac43620dd03ef01f676a69b"}}`)) const idwService = new IdentityWalletService() -window.hideIframe = idwService.hideIframe.bind(idwService) -idwService.start(getConsent, web3Modal) + + +let closecallback + +window.hideIframe = () => { + idwService.hideIframe() + if (closecallback) closecallback() +} + +const closing = (cb) => { + closecallback = cb +} + +idwService.start(web3Modal, getConsent, errorCb, closing) + window.isOpen = false; const handleOpenWalletOptions = (isOpen) => { diff --git a/src/identityWalletService.js b/src/identityWalletService.js index 333be42..dd46666 100644 --- a/src/identityWalletService.js +++ b/src/identityWalletService.js @@ -11,6 +11,10 @@ const store = require('store') class IdentityWalletService { constructor () { + this._registerDisplayListeners() + } + + _registerDisplayListeners () { this.display = caller('display', {postMessage: window.parent.postMessage.bind(window.parent)}) this.hide = caller('hide', {postMessage: window.parent.postMessage.bind(window.parent)}) } @@ -30,8 +34,6 @@ class IdentityWalletService { // TODO IMPELEMENT full migration // } - - threeId = await this.getThreeId(address) if (spaces.length > 0) { await threeId.authenticate(spaces) @@ -55,6 +57,7 @@ class IdentityWalletService { } async hideIframe() { + store.remove('error') //TODO move, so specific to iframe implementation return this.hide() } @@ -65,8 +68,10 @@ class IdentityWalletService { } // TODO seperate start connect, throw ops, take web3modal or provider here - start(getConsent, web3Modal) { + start(web3Modal, getConsent, errorCb, cancel) { + this.cancel = cancel this.web3Modal = web3Modal + this.errorCb = errorCb this.idWallet = new IdentityWallet(getConsent, { externalAuth: this.externalAuth.bind(this) }) this.provider = this.idWallet.get3idProvider() expose('send', this.providerRelay.bind(this), {postMessage: window.parent.postMessage.bind(window.parent)}) @@ -74,9 +79,43 @@ class IdentityWalletService { async providerRelay(message) { const domain = new Url(document.referrer).hostname - const res = await this.provider.send(message, domain) - if (message.method === `3id_authenticate`) this.hideIframe() - return JSON.stringify(res) + let loop = true + + const responsePromise = new Promise(async (resolve, reject) => { + // Register request cancel calback + // TODO could make all rpc errors match spec + this.cancel(()=> { + const res = { + 'id': message.id, + 'json-rpc': '2.0', + error: "3id-connect: Request not authorized" + } + resolve(res) + loop = false + }) + + if (message.method === '3id_authenticate') { + // Try until response valid, or canceled above + while (loop) { + try { + const res = await this.provider.send(message, domain) + if (message.method === `3id_authenticate`) this.hideIframe() + resolve(res) + loop = false + } catch (e) { + // TODO on error, need to clear consent cache for this req, + // example + store.remove('3id_consent_0xd980cd52aa9d7132706105c06d0c0d0f0a3c31ca_localhost_undefined') + this.errorCb(e, 'Try again. Use the same account you used for this app.') + } + } + } else { + const res = await this.provider.send(message, domain) + resolve(res) + } + }) + + return JSON.stringify(await responsePromise) } } diff --git a/src/threeIdProviderProxy.js b/src/threeIdProviderProxy.js index 38cd57d..4b6d629 100644 --- a/src/threeIdProviderProxy.js +++ b/src/threeIdProviderProxy.js @@ -4,6 +4,7 @@ class ThreeIdProviderProxy { constructor (postMessage) { this.postMessage = postMessage this.is3idProvider = true + this.sendRPC = caller('send', {postMessage: this.postMessage}) } async send (req, origin, callback) { @@ -11,13 +12,9 @@ class ThreeIdProviderProxy { callback = origin origin = null } - // if (req.method != '3id_newAuthMethodPoll' && req.method != "3id_newLinkPoll") { - // console.log('request') - // console.log(req) - // } - const send = caller('send', {postMessage: this.postMessage}) - const res = await send(req) - // TODO + + const res = await this.sendRPC(req) + callback(undefined, JSON.parse(res)) return JSON.parse(res) } From 56cf4df7d0c3a4d59eb21107fbe9242a1f112d48 Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Wed, 8 Apr 2020 13:11:40 -0400 Subject: [PATCH 14/19] feat: remove consents if not authed for partial migration, provider proxy error pass --- iframe/index.js | 2 ++ src/identityWalletService.js | 31 ++++++++++++++++++++----------- src/threeIdProviderProxy.js | 21 +++++++++++++++++---- 3 files changed, 39 insertions(+), 15 deletions(-) diff --git a/iframe/index.js b/iframe/index.js index bc3f0eb..fd2f5b0 100644 --- a/iframe/index.js +++ b/iframe/index.js @@ -22,6 +22,8 @@ const render = async (request) => { return store.get(`provider_${address}`) } +store.remove('error') + const getConsent = async (req) => { await idwService.displayIframe() diff --git a/src/identityWalletService.js b/src/identityWalletService.js index dd46666..56caf05 100644 --- a/src/identityWalletService.js +++ b/src/identityWalletService.js @@ -9,6 +9,10 @@ import { createLink } from '3id-blockchain-utils' const Url = require('url-parse') const store = require('store') + +const consentKey = (address, domain, space) => `3id_consent_${address}_${domain}_${space}` +const serializedKey = (address) => `serialized3id_${address}` + class IdentityWalletService { constructor () { this._registerDisplayListeners() @@ -22,17 +26,12 @@ class IdentityWalletService { async externalAuth({ address, spaces, type }) { let threeId if (type === '3id_auth') { - // request signature with new 3ID auth message - // verify that signature was made from "address" - // return signature - // return seed // TODO IMPLEMENT full migration } else if (type === '3id_migration') { - // if (!spaces) { - // // we want to make a full migration - // // spaces = // get all spaces the user has from the 3box list spaces api + // if (!spaces) { // or will be flag // TODO IMPELEMENT full migration // } + // throw new Error('FAILED') threeId = await this.getThreeId(address) if (spaces.length > 0) { @@ -61,13 +60,25 @@ class IdentityWalletService { return this.hide() } + _removeConsents(message, domain) { + const spaces = [...message.params.spaces] + const rootKeys = store.get(serializedKey(message.params.address)) + //TODO current root 'space', name + if (!rootKeys) spaces.push('undefined') + spaces.forEach(space => { + const key = consentKey(message.params.address, domain, space) + console.log(key) + store.remove(key) + }) + } + async connect(address, domain) { const providerName = store.get(`provider_${address}`) if (!providerName) throw new Error('Must select provider') this.externalProvider = await this.web3Modal.connectTo(providerName) } - // TODO seperate start connect, throw ops, take web3modal or provider here + // TODO could consume web3modal or start(web3Modal, getConsent, errorCb, cancel) { this.cancel = cancel this.web3Modal = web3Modal @@ -103,10 +114,8 @@ class IdentityWalletService { resolve(res) loop = false } catch (e) { - // TODO on error, need to clear consent cache for this req, - // example - store.remove('3id_consent_0xd980cd52aa9d7132706105c06d0c0d0f0a3c31ca_localhost_undefined') this.errorCb(e, 'Try again. Use the same account you used for this app.') + this._removeConsents(message, domain) } } } else { diff --git a/src/threeIdProviderProxy.js b/src/threeIdProviderProxy.js index 4b6d629..295253f 100644 --- a/src/threeIdProviderProxy.js +++ b/src/threeIdProviderProxy.js @@ -1,5 +1,13 @@ import { caller } from 'postmsg-rpc' +const callbackOrThrow = (callback, errMsg) => { + if (callback) { + callback(errMsg) + } else { + throw errMsg instanceof Error ? errMsg : new Error(errMsg) + } +} + class ThreeIdProviderProxy { constructor (postMessage) { this.postMessage = postMessage @@ -13,10 +21,15 @@ class ThreeIdProviderProxy { origin = null } - const res = await this.sendRPC(req) - - callback(undefined, JSON.parse(res)) - return JSON.parse(res) + // Catches rpc errors, method errors are relayed in response for client to handle + try { + const res = JSON.parse(await this.sendRPC(req)) + if (callback) callback(undefined, res) + return res + } catch (err) { + callbackOrThrow(callback, err) + return + } } } From d36bcbdf657e30f33fe5352e48ef21be89e1d253 Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Wed, 8 Apr 2020 20:03:58 -0400 Subject: [PATCH 15/19] docs: ref and inline notes/docs --- Dockerfile.example | 2 +- README.md | 36 +++++++++++++++- iframe/index.js | 72 +++++++++++++++++-------------- package.json | 4 +- src/identityWalletIframe.js | 28 ++++++++++-- src/identityWalletService.js | 84 +++++++++++++++++++++++++++++++++--- src/threeIdProviderProxy.js | 4 ++ 7 files changed, 182 insertions(+), 48 deletions(-) diff --git a/Dockerfile.example b/Dockerfile.example index 7b7ede0..f106920 100644 --- a/Dockerfile.example +++ b/Dockerfile.example @@ -10,4 +10,4 @@ COPY public ./public EXPOSE 30001 -CMD npm run example:start +CMD npm run start diff --git a/README.md b/README.md index 07b49ba..0449be8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,35 @@ -# 3box-account -This is a simple iframe page that is used to authenticate 3box accounts for the 3box-js library. +[![Discord](https://img.shields.io/discord/484729862368526356.svg?style=for-the-badge)](https://discordapp.com/invite/Z3f3Cxy) +[![Twitter Follow](https://img.shields.io/twitter/follow/3boxdb.svg?style=for-the-badge&label=Twitter)](https://twitter.com/3boxdb) +# 3ID-Connect + +3ID-Connect is a 3ID account management service run in an iframe. It allows you to authenicate, manage, and permission your 3ID keys to applications. Used by default in [3box-js](https://github.com/3box/3box-js). [identity-wallet-js](https://github.com/3box/identity-wallet-js) handles most operations and the parent window (application) communicates with iframe service over RPC layer as defined by [3ID JSON-RPC](https://github.com/3box/3box/blob/master/3IPs/3ip-10.md) + +Right now you authenticate and link ethereum accounts to mange your 3ID, in the future other keypairs, blockchain accounts, and authentication methods can be added. + +##
Structure + +* **/src** - Core logic and consumable interfaces for clients and iframe + * **/identityWalletIframe.js** - Application interface (RPC client) to load iframe and return 3ID provider. + * **/identityWalletService.js** - Identity wallet instance and RPC 'server' to handle requests + * **/threeIdProviderProxy.js** - 3ID provider interface that relays request through RPC layer +* **/iframe** - all html, css, js, design assets for iframe and flow +* **/public** - build assets deployed for iframe + +## Development + +Clone and install dependencies + +#### Run Locally + +Will serve iframe locally on port 30001 + +``` +$ npm run start +``` + +#### Build + +``` +$ npm run build +``` diff --git a/iframe/index.js b/iframe/index.js index fd2f5b0..2f157eb 100644 --- a/iframe/index.js +++ b/iframe/index.js @@ -3,6 +3,34 @@ const IdentityWalletService = require('./../src/identityWalletService.js').defau const web3Modal = require('./provider').default const store = require('store') +store.remove('error') + +/** + * UI Window Functions + */ +window.isOpen = false; +const handleOpenWalletOptions = (isOpen) => { + if (window.isOpen) { + document.getElementById("walletOptions").style.display = "none"; + document.getElementById("onClickOutside").style.display = "none"; + } else { + document.getElementById("walletOptions").style.display = "inline-grid"; + document.getElementById("onClickOutside").style.display = "flex"; + } + window.isOpen = !window.isOpen +} +window.handleOpenWalletOptions = handleOpenWalletOptions; + +window.providerNameFunc = (provider, address) => { + selectedWallet.innerHTML = provider + store.set(`provider_${address}`, provider) +} + +window.getProvider = (address) => { + return store.get(`provider_${address}`) +} + +// Given a request will render UI module templates const render = async (request) => { const errorMessage = store.get('error') let data = { @@ -13,18 +41,13 @@ const render = async (request) => { root.innerHTML = requestCard(data) } - window.providerNameFunc = (provider, address) => { - selectedWallet.innerHTML = provider - store.set(`provider_${address}`, provider) - } - - window.getProvider = (address) => { - return store.get(`provider_${address}`) - } - -store.remove('error') +/** + * Identity Wallet Service configuration and start + */ +const idwService = new IdentityWalletService() +// IDW getConsent function. Consume IDW request, renders request to user, and resolve selection const getConsent = async (req) => { await idwService.displayIframe() await render(req) @@ -41,19 +64,15 @@ const getConsent = async (req) => { return result } +// Service calls on error, renders error to UI const errorCb = (err, msg) => { if (!msg) msg = err.toString() + if (err.toString().includes('Must select provider')) msg = 'Must select a wallet to continue.' console.log(err) store.set('error', msg) } -// For testing, uncomment one line to see each view static -render(JSON.parse(`{"type":"authenticate","origin":"dashboard.3box.io","spaces":["metamask", "3Box", "thingspace"], "opts": { "address": "0x9acb0539f2ea0c258ac43620dd03ef01f676a69b"}}`)) - - -const idwService = new IdentityWalletService() - - +// Closure to pass cancel state to IDW iframe service let closecallback window.hideIframe = () => { @@ -61,22 +80,9 @@ window.hideIframe = () => { if (closecallback) closecallback() } -const closing = (cb) => { - closecallback = cb -} +const closing = (cb) => { closecallback = cb } idwService.start(web3Modal, getConsent, errorCb, closing) - -window.isOpen = false; -const handleOpenWalletOptions = (isOpen) => { - if (window.isOpen) { - document.getElementById("walletOptions").style.display = "none"; - document.getElementById("onClickOutside").style.display = "none"; - } else { - document.getElementById("walletOptions").style.display = "inline-grid"; - document.getElementById("onClickOutside").style.display = "flex"; - } - window.isOpen = !window.isOpen -} -window.handleOpenWalletOptions = handleOpenWalletOptions; +// For testing, uncomment one line to see static view +render(JSON.parse(`{"type":"authenticate","origin":"dashboard.3box.io","spaces":["metamask", "3Box", "thingspace"], "opts": { "address": "0x9acb0539f2ea0c258ac43620dd03ef01f676a69b"}}`)) diff --git a/package.json b/package.json index 682e0b5..50a8690 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,8 @@ "build:dist:prod": "./node_modules/.bin/webpack --config webpack.config.js --mode=production --output-filename index.js", "build": "npm run build:dist:prod", "prepublishOnly": "npm run build", - "example-server:start": "http-server -c-1 -p 30001 public", - "example:start": "npm run build:dist:watch & npm run example-server:start" + "server:start": "http-server -c-1 -p 30001 public", + "start": "npm run build:dist:watch & npm run server:start" }, "jest": { "testEnvironment": "node", diff --git a/src/identityWalletIframe.js b/src/identityWalletIframe.js index 9864294..0491b33 100644 --- a/src/identityWalletIframe.js +++ b/src/identityWalletIframe.js @@ -1,23 +1,35 @@ const ThreeIdProviderProxy = require('./threeIdProviderProxy.js').default import { expose } from 'postmsg-rpc' +// TODO CHANGE const IDENTITY_WALLET_IFRAME_URL = 'http://127.0.0.1:30001/' -// TODO move all css in seperate templating + const HIDE_IFRAME_STYLE = 'width:0; height:0; border:0; border:none !important' const DISPLAY_IFRAME_STYLE = 'border:none border:0; z-index: 999999; position: fixed;' const hide = (iframe) => () => iframe.style = HIDE_IFRAME_STYLE const display = (iframe) => (height = '100%', width = '100%', top = '0', left= '0') => iframe.style = `${DISPLAY_IFRAME_STYLE} width: ${width}; height: ${height}; top: ${top}; left: ${left};` -// Iframe logic may move if same used as data layer +/** + * IdentityWalletIframe provides interface for loading and instantiating IDW iframe, + * and provides a 3ID provider interface to send requests to iframe. Acts like + * rpc client. + */ class IdentityWalletIframe { + + /** + * Creates IdentityWalletIframe. Create and loads iframe. Should be instantiated + * on page load. + * + * @param {String} iframeUrl iframe url, defaults to 3id-connect iframe service + */ constructor (iframeUrl) { if (typeof window === 'undefined' || typeof document === 'undefined') { throw new Error('IdentityWalletIframe not supported in this enviroment') } this.iframe = document.createElement('iframe') - this.iframe.src = iframeUrl || IFRAME_STORE_URL + this.iframe.src = iframeUrl || IDENTITY_WALLET_IFRAME_URL this.iframe.style = HIDE_IFRAME_STYLE this.iframe.frameBorder = 0 @@ -28,11 +40,21 @@ class IdentityWalletIframe { document.body.appendChild(this.iframe) } + /** + * Handlers to consumer message to hide or display iframe + * + * @private + */ _registerDisplayHandlers () { expose('display', display(this.iframe), {postMessage: this.postMessage}) expose('hide', hide(this.iframe), {postMessage: this.postMessage}) } + /** + * Returns a 3ID provider, which can send and receive 3ID messages from iframe + * + * @return {ThreeIdProviderProxy} A 3ID provider + */ async get3idProvider() { await this.iframeLoadedPromise this.postMessage = this.iframe.contentWindow.postMessage.bind(this.iframe.contentWindow) diff --git a/src/identityWalletService.js b/src/identityWalletService.js index 56caf05..92dce92 100644 --- a/src/identityWalletService.js +++ b/src/identityWalletService.js @@ -9,20 +9,44 @@ import { createLink } from '3id-blockchain-utils' const Url = require('url-parse') const store = require('store') - const consentKey = (address, domain, space) => `3id_consent_${address}_${domain}_${space}` const serializedKey = (address) => `serialized3id_${address}` +// TODO ui/iframe needs number of hooks, events may be a better interface +// TODO could still refactor to make parts less visual/flow implementation specific + +/** + * IdentityWalletService runs an identity wallet instance and rpc server with + * bindings to receive and relay rpc messages to identity wallet + */ class IdentityWalletService { + + /** + * Create IdentityWalletService + */ constructor () { this._registerDisplayListeners() } + /** + * Registers rpc call function for display and hiding iframe (Note: reverse of + * idw rpc calls, this is rpc client, sending messages to parent window) + * @private + */ _registerDisplayListeners () { this.display = caller('display', {postMessage: window.parent.postMessage.bind(window.parent)}) this.hide = caller('hide', {postMessage: window.parent.postMessage.bind(window.parent)}) } + /** + * External Authencation method for IDW + * + * @param {Object} params + * @param {String} params.address An ethereum address + * @param {Array} params.spaces Array of space strings + * @param {String} params.type Type of external auth request + * @return {Object} Response depends on type of request + */ async externalAuth({ address, spaces, type }) { let threeId if (type === '3id_auth') { @@ -33,7 +57,7 @@ class IdentityWalletService { // } // throw new Error('FAILED') - threeId = await this.getThreeId(address) + threeId = await this._getThreeId(address) if (spaces.length > 0) { await threeId.authenticate(spaces) } @@ -43,23 +67,46 @@ class IdentityWalletService { } } - async getThreeId (address) { - if (!this.externalProvider) await this.connect(address) + /** + * Returns ThreeId instance, used for migration of legacy 3boxjs accounts + * to create same logic in iframe + * + * @private + * @param {String} address An ethereum address + * @return {ThreeId} + */ + async _getThreeId (address) { + if (!this.externalProvider) await this._connect(address) if(!this._threeId) { this._threeId = await ThreeId.getIdFromEthAddress(address, this.externalProvider, fakeIpfs, undefined, {}) } return this._threeId } + /** + * Tells parent window to display iframe + */ async displayIframe() { return this.display() } + /** + * Tells parent window to hide iframe + */ async hideIframe() { store.remove('error') //TODO move, so specific to iframe implementation return this.hide() } + /** + * Removes cache consents. For partial migration in instance consent function + * returns, but external auth to support consents fails. Refactored in future. + * + * @private + * @param {Object} message IDW rpc request message + * @param {String} domain Origin of caller/request + * @return {ThreeId} + */ _removeConsents(message, domain) { const spaces = [...message.params.spaces] const rootKeys = store.get(serializedKey(message.params.address)) @@ -72,13 +119,29 @@ class IdentityWalletService { }) } - async connect(address, domain) { - const providerName = store.get(`provider_${address}`) + /** + * Connect web3modal to get external provider + * + * @private + * @param {String} address Ethereum address of request + * @param {String} domain Origin of caller/request + * @return {ThreeId} + */ + async _connect(address, domain) { + const providerName = store.get(`provider_${address}`) //TODO ref to move this to iframe implementation specific if (!providerName) throw new Error('Must select provider') this.externalProvider = await this.web3Modal.connectTo(providerName) } - // TODO could consume web3modal or + // TODO could consume web3modal or a provider already + /** + * Start identity wallet service. Once returns ready to receive rpc requests + * + * @param {Web3Modal} web3Modal configured instance of web3modal + * @param {Function} getConsent get consent function, reference IDW + * @param {Function} erroCB Function to handle errors, function consumes error string (err) => {...}, called on errors + * @param {Function} cancel Function to cancel request, consumes callback, which is called when request is cancelled (cb) => {...} + */ start(web3Modal, getConsent, errorCb, cancel) { this.cancel = cancel this.web3Modal = web3Modal @@ -88,6 +151,13 @@ class IdentityWalletService { expose('send', this.providerRelay.bind(this), {postMessage: window.parent.postMessage.bind(window.parent)}) } + /** + * Consumes IDW RPC request message and relays to IDW instance. Also handles + * logic to retry requests and cancel requests. + * + * @param {Object} message IDW RPC request message + * @return {String} response message string + */ async providerRelay(message) { const domain = new Url(document.referrer).hostname let loop = true diff --git a/src/threeIdProviderProxy.js b/src/threeIdProviderProxy.js index 295253f..4d4eea8 100644 --- a/src/threeIdProviderProxy.js +++ b/src/threeIdProviderProxy.js @@ -8,6 +8,10 @@ const callbackOrThrow = (callback, errMsg) => { } } +/** + * A 3ID provider proxy, 3ID provider interface that acts as rpc client, to + * relay request to iframe (rpc server) + */ class ThreeIdProviderProxy { constructor (postMessage) { this.postMessage = postMessage From fd0de4d920eb353062e70165a5b15524372431b8 Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Wed, 8 Apr 2020 20:39:01 -0400 Subject: [PATCH 16/19] ref: name change --- .circleci/config.yml | 6 +++--- Dockerfile.example | 2 +- README.md | 4 ++-- iframe/index.js | 4 ++-- package.json | 10 +++++----- ...dentityWalletIframe.js => threeIdConnect.js} | 10 +++++----- ...alletService.js => threeIdConnectService.js} | 17 +++++++---------- src/threeIdProviderProxy.js | 2 ++ 8 files changed, 27 insertions(+), 28 deletions(-) rename src/{identityWalletIframe.js => threeIdConnect.js} (86%) rename src/{identityWalletService.js => threeIdConnectService.js} (92%) diff --git a/.circleci/config.yml b/.circleci/config.yml index 743f993..16309a6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,7 +5,7 @@ orbs: jobs: test-and-build: - working_directory: ~/3box-account + working_directory: ~/3id-connect docker: - image: circleci/node:10 steps: @@ -48,7 +48,7 @@ jobs: paths: - ./node_modules deploy-dev: - working_directory: ~/3box-account + working_directory: ~/3id-connect docker: - image: 'circleci/python:3.8' steps: @@ -61,7 +61,7 @@ jobs: to: 's3://3id-account-develop' deploy-prod: - working_directory: ~/3box-account + working_directory: ~/3id-connect docker: - image: 'circleci/python:3.8' steps: diff --git a/Dockerfile.example b/Dockerfile.example index f106920..d430160 100644 --- a/Dockerfile.example +++ b/Dockerfile.example @@ -1,6 +1,6 @@ FROM node:10 -WORKDIR /3box-account +WORKDIR /3id-connect COPY package.json package-lock.json ./ diff --git a/README.md b/README.md index 0449be8..2c00e70 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,8 @@ Right now you authenticate and link ethereum accounts to mange your 3ID, in the ## Structure * **/src** - Core logic and consumable interfaces for clients and iframe - * **/identityWalletIframe.js** - Application interface (RPC client) to load iframe and return 3ID provider. - * **/identityWalletService.js** - Identity wallet instance and RPC 'server' to handle requests + * **/threeIdConnect.js** - Application interface (RPC client) to load iframe and return 3ID provider. + * **/threeIdConnectService.js** - Identity wallet instance and RPC 'server' to handle requests * **/threeIdProviderProxy.js** - 3ID provider interface that relays request through RPC layer * **/iframe** - all html, css, js, design assets for iframe and flow * **/public** - build assets deployed for iframe diff --git a/iframe/index.js b/iframe/index.js index 2f157eb..81ca669 100644 --- a/iframe/index.js +++ b/iframe/index.js @@ -1,5 +1,5 @@ const requestCard = require('./html/3IDConnect/requestCard.js').default -const IdentityWalletService = require('./../src/identityWalletService.js').default +const ThreeIdConnectService = require('./../src/threeIdConnectService.js').default const web3Modal = require('./provider').default const store = require('store') @@ -45,7 +45,7 @@ const render = async (request) => { * Identity Wallet Service configuration and start */ -const idwService = new IdentityWalletService() +const idwService = new ThreeIdConnectService() // IDW getConsent function. Consume IDW request, renders request to user, and resolve selection const getConsent = async (req) => { diff --git a/package.json b/package.json index 50a8690..af0223e 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "3box-account", + "name": "3id-connect", "version": "0.0.1", "description": "Account management for 3Box", "scripts": { @@ -22,14 +22,14 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/3box/3box-account.git" + "url": "git+https://github.com/3box/3id-connect.git" }, "author": "3box ", "license": "MIT", "bugs": { - "url": "https://github.com/3box/3box-account/issues" + "url": "https://github.com/3box/3id-connect/issues" }, - "homepage": "https://github.com/3box/3box-account#readme", + "homepage": "https://github.com/3box/3id-connect#readme", "dependencies": { "3box": "^1.17.1", "@babel/runtime": "^7.1.2", @@ -37,7 +37,7 @@ "@walletconnect/web3-provider": "^1.0.0-beta.47", "authereum": "0.0.4-beta.129", "fortmatic": "^2.0.5", - "identity-wallet": "github:3box/identity-wallet-js#feat/partial-migration-externalauth", + "identity-wallet": "github:3box/identity-wallet-js#develop", "postmsg-rpc": "^2.4.0", "store": "^2.0.12", "url-parse": "^1.4.7", diff --git a/src/identityWalletIframe.js b/src/threeIdConnect.js similarity index 86% rename from src/identityWalletIframe.js rename to src/threeIdConnect.js index 0491b33..2c89c0d 100644 --- a/src/identityWalletIframe.js +++ b/src/threeIdConnect.js @@ -11,21 +11,21 @@ const hide = (iframe) => () => iframe.style = HIDE_IFRAME_STYLE const display = (iframe) => (height = '100%', width = '100%', top = '0', left= '0') => iframe.style = `${DISPLAY_IFRAME_STYLE} width: ${width}; height: ${height}; top: ${top}; left: ${left};` /** - * IdentityWalletIframe provides interface for loading and instantiating IDW iframe, + * ThreeIdConnect provides interface for loading and instantiating IDW iframe, * and provides a 3ID provider interface to send requests to iframe. Acts like * rpc client. */ -class IdentityWalletIframe { +class ThreeIdConnect { /** - * Creates IdentityWalletIframe. Create and loads iframe. Should be instantiated + * Creates ThreeIdConnect. Create and loads iframe. Should be instantiated * on page load. * * @param {String} iframeUrl iframe url, defaults to 3id-connect iframe service */ constructor (iframeUrl) { if (typeof window === 'undefined' || typeof document === 'undefined') { - throw new Error('IdentityWalletIframe not supported in this enviroment') + throw new Error('ThreeIdConnect not supported in this enviroment') } this.iframe = document.createElement('iframe') @@ -63,4 +63,4 @@ class IdentityWalletIframe { } } -export default IdentityWalletIframe +export default ThreeIdConnect diff --git a/src/identityWalletService.js b/src/threeIdConnectService.js similarity index 92% rename from src/identityWalletService.js rename to src/threeIdConnectService.js index 92dce92..2ea70a4 100644 --- a/src/identityWalletService.js +++ b/src/threeIdConnectService.js @@ -1,10 +1,7 @@ import { expose, caller } from 'postmsg-rpc' -import { fakeIpfs } from '../../identity-wallet-js/lib/utils.js' -// import { fakeIpfs } from 'identity-wallet/lib/utils' -const IdentityWallet = require('../../identity-wallet-js/lib/identity-wallet.js') -// const IdentityWallet = require('identity-wallet') -const ThreeId = require('../../3box-js/lib/3id/index.js') -// const ThreeId = require('3box/lib/3id/index') +import { fakeIpfs } from 'identity-wallet/lib/utils' +const IdentityWallet = require('identity-wallet') +const ThreeId = require('3box/lib/3id/index') import { createLink } from '3id-blockchain-utils' const Url = require('url-parse') const store = require('store') @@ -16,13 +13,13 @@ const serializedKey = (address) => `serialized3id_${address}` // TODO could still refactor to make parts less visual/flow implementation specific /** - * IdentityWalletService runs an identity wallet instance and rpc server with + * ThreeIdConnectService runs an identity wallet instance and rpc server with * bindings to receive and relay rpc messages to identity wallet */ -class IdentityWalletService { +class ThreeIdConnectService { /** - * Create IdentityWalletService + * Create ThreeIdConnectService */ constructor () { this._registerDisplayListeners() @@ -198,4 +195,4 @@ class IdentityWalletService { } } -export default IdentityWalletService +export default ThreeIdConnectService diff --git a/src/threeIdProviderProxy.js b/src/threeIdProviderProxy.js index 4d4eea8..0cb7692 100644 --- a/src/threeIdProviderProxy.js +++ b/src/threeIdProviderProxy.js @@ -16,6 +16,8 @@ class ThreeIdProviderProxy { constructor (postMessage) { this.postMessage = postMessage this.is3idProvider = true + this.threeIdConnect = true + this.migration = true this.sendRPC = caller('send', {postMessage: this.postMessage}) } From fa86c7747abca4f8e636ff884f30c3c09536ad84 Mon Sep 17 00:00:00 2001 From: Kenzo Date: Fri, 10 Apr 2020 12:43:30 -0400 Subject: [PATCH 17/19] idw-iframe implemented to design spec --- iframe/html/3IDConnect/assets/Authereum.svg | 31 - iframe/html/3IDConnect/assets/Fortmatic.svg | 1 - .../html/3IDConnect/assets/MarcherBold.woff2 | Bin 0 -> 34515 bytes iframe/html/3IDConnect/assets/MetaMask.svg | 1 - iframe/html/3IDConnect/assets/Portis.svg | 1 - .../html/3IDConnect/assets/WalletConnect.svg | 1 - iframe/html/3IDConnect/assets/assets.js | 125 +- iframe/html/3IDConnect/index.js | 8 +- iframe/html/3IDConnect/providerSelect.js | 48 +- iframe/html/3IDConnect/template.js | 25 +- iframe/index.js | 34 +- iframe/style.scss | 108 +- package-lock.json | 28419 +++++++++++++++- package.json | 1 + public/620d35feec8ed065224f02f6728fb21a.ttf | Bin 92844 -> 0 bytes .../04426e78aa0f60c97b1ed334f0a9f89b.woff | Bin 45984 -> 0 bytes .../font/21541718b82aa7dfd2eee49b6e7864c5.ttf | Bin 92844 -> 0 bytes public/index.html | 47 +- src/threeIdConnectService.js | 2 +- webpack.config.js | 8 +- 20 files changed, 28512 insertions(+), 348 deletions(-) delete mode 100644 iframe/html/3IDConnect/assets/Authereum.svg delete mode 100644 iframe/html/3IDConnect/assets/Fortmatic.svg create mode 100755 iframe/html/3IDConnect/assets/MarcherBold.woff2 delete mode 100644 iframe/html/3IDConnect/assets/MetaMask.svg delete mode 100644 iframe/html/3IDConnect/assets/Portis.svg delete mode 100644 iframe/html/3IDConnect/assets/WalletConnect.svg delete mode 100644 public/620d35feec8ed065224f02f6728fb21a.ttf delete mode 100644 public/font/04426e78aa0f60c97b1ed334f0a9f89b.woff delete mode 100644 public/font/21541718b82aa7dfd2eee49b6e7864c5.ttf diff --git a/iframe/html/3IDConnect/assets/Authereum.svg b/iframe/html/3IDConnect/assets/Authereum.svg deleted file mode 100644 index ac76096..0000000 --- a/iframe/html/3IDConnect/assets/Authereum.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - -Created by potrace 1.15, written by Peter Selinger 2001-2017 - - - - - - - diff --git a/iframe/html/3IDConnect/assets/Fortmatic.svg b/iframe/html/3IDConnect/assets/Fortmatic.svg deleted file mode 100644 index 24ed5ae..0000000 --- a/iframe/html/3IDConnect/assets/Fortmatic.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iframe/html/3IDConnect/assets/MarcherBold.woff2 b/iframe/html/3IDConnect/assets/MarcherBold.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..16c16d683d0d2003deb601188a31ffc0b0a0f984 GIT binary patch literal 34515 zcmV(&K;gf4Pew8T0RR910EW{54gdfE0cxxO0EGJh0RR910EJWl00Dmh00Pqh00000 z00006U;u^`2xEHVcPl00bZfh(!mQC=7uZTM0pN1UGk3 zEZfqZuq&1~UtY(8acmUOop5z6NUALw5xbq8{jxk`+5i9lxk-l%C0GN{YE_-TQ}0$FOch%FuQ(FZ{q465k379l~igt;$E9m?^7riKkKtx7H@78q@oj?-)H4 zlXj!QrqsRJuB2S_vb}5jjL#)CmmUs2;Z=+UJ{fN_SDMT-QB{e4%Cw8LWM74EJ_-U@s`LvKM1#!Z>^bUX& zv{F>~3U$W>pi|?JK-6H#POs#*49m|Npt%J@VuRjMBXVmt7K|D!8G{u$V1O_pH>w0A zQbgrR2@7KbjAX)w*)Kl+gQETVAwKAr0{y?7e0R=kQb7HHyx^M>Rm0Z1M@*VRp+xi{ zT7<$Q%sWX6!r?q9in;$(wHZLn?#=*qn(Wk8{{KS)5+Rzl>6qK9cmb>%sN77YRZ;Fm zZ6miL%P4trdU^L8Q>_fzU?rQG0fh_$vK%kOlKx{+wU<@cG_MbsFmBL4sw6;YnD+sm^bn*CzbOGWj zk2w90+lQh_(L6O}nkoTcLtOPj2n=kbmv&P*F;igPR@fdJcay7$%V1|C?`=pU#QO_8F}Fir_h-`0-o{(sBig#Uf1=AUzJ zdaoM3irU@(1mcmddVs;SnjSC`4@U4yRe0Dxm zKhr(!>FF_ylb9Jv$c%uQk;D!H_Vw$Q=;;};GZO4cz+JJd=NzzmwdOlH*addkuhlok zWfvqY-xw2Kdill12ic`R3h$Eaf+V}YpDXQ4u0SLSjOkRmz|!CB5hRDnmLQjuvU@

GFYFVhR&Ow~;Z zl*OxOG$9v{M_?TK>u1)Z6v1ee!tZ~-R{z;MZ%u#{IennEb(w~!cCq&nFHx&#^J*bd z8h|wmUD=TLXdEZ)L80(Gd!3&Hu6Cy};wWyUG{qE?>v(H@_YGsS|L0E6MP0>iQ^6!! zP|)p1Ub0z3^+aE^y;^`kp@M}F+ubBb%-MeiK@*9|z2BN`Db)rFeM=|ziy(7Tokuax zd`52uVOff{QRU?0Z$1th$BO^`U|H9H_ouk%$*F^?a|gH(0GetIK+Fe#0Z0JilRyAn zM5f~aTLCx74hZ0wI<_t-hcn&ZulB8eHu}cx{(kKH==a^PetA{!Qv6c* zQt*=hlJ}DS()Xp$OTvqXFK)fiyvTSVc@h0Wuw1=dv0SjMSk7P0SZINw;^R4U7@Rnd;y>NB2jIAT(E20Ljg2n@MC&$wGi4JlFSl;tM^HYYO^}V_ zEJ-i_A$a@}_4ae5a6tT=cN(sqVDJCCEBif7U)#!66=ZWzw&@7M&cOo^<<9fbLmTnX zAs3&=rfOE6t!Jp4SmAnFeupa#V} zh{B}kSAPm##e613*%E&EI!tFnPWh-gAW|~OdU2bQ$3-*YdA|`2QS5N&elllDrciK$km=IwPql28OJequ3x5TsY+t?HfBqXEZp@{ z9tvFbNSI3^`~JRIFhTO6hqpWE3rdu=ha)t1P+I?!D`~3CE@5TLkImD?qXZ-GgFOp3 zD!!jZA_o^Xz(ZITO|v3vHsnj0u)K;P8GiDJ0|adeEtwSSr}ZC?DjQ8*h0~BBE8iM? zh8S`5^&~-?bXKJsl}A&YT9uv3sizMhg@mscW$E`_77~FIVgo{}J^hFQb|6uY(z}!q zRMya1(`Ugv1H616i~K!Jm(V*q@eK0vIKF&$A=*`|u;Jy0C?vH1!4bMjs0@TcUlp*2 z;(sOrJE5tG2BC|EaWtjTVUR7;Ccmz%jP1+iiWqR(445;Ns6Y$c(ITS&F%?C4ehP48 zQ%GQJgs^g|(lC1keE2>RvY;703wRADgL2!=@jEiu-&nmi;9~NOP)Mxy zj8cS%H<(EY7qWqcY+)rkxRMGIso{Y%u#qYU zTf_SM*8zK+L0g8I%Lsr`22d7I4p1JD0aO4q2Pg(UCDdY2(J0?Dk<`S#dm_d%(v-C6 z>9v%^5l`lpN)HO|0|Llg~{BQajj7dikcB zG%CC^4(cAo)2k>}uj5ZXJzU&9OL5qx5KIVZ$U&Z<%`>w4Vm1qiF=HM_d1JWhH+d;m z@4k+j6OzLh_a@;LHW#F5ji=_Yzrqft&59+9M9UQOTMFv^6BU4K3{WFG0^Ezz*-4_C z-sG9*!Lvw$7TZ~S*RychL=^ewfEIz|^hMSILNIrWu~BT)TIJ68l_Z>a_8Y37lsq5V zk>G4q8cRtsy>>5Qp-D_f&4}EQ%Zqkk8B@c-@AI6nV&|4As!dI)RCVoHDR|AL>&mZI za}50#UIQDg&A$%47^2e_&jLZtz;f`^P`Q&g$OU@I%LAz7NK>oE?lw4jlOh`R0cfHW z_&>!$X8{GkJ{he!AW}O*Rl<+i>Ldd-55(=0p251Z9i~DcnB7q{;|`4I$8VOShSu7% zn^n9=A+&Ww`zy5%-B;;=XSp*|qxpaXz7HItz6Q(o^Bge}Ol!~ayN?j!#9-cnPATGS zCz$D+WlkraHzGxG*H^5E;NGsxWK2lojfxyZ=?S4c#)RL9x;U8K)#d$5nehyO*#m^q z%^f&OYhl>tf*cCFG3DOynAis#01g31fMdW3@Jl&?bnu*6@B6gDnx{UCcf3>@-;xt< z?n=X`AB^UL9MG**bT@_W;Xa3RZI23i0%E?Pgz{n)y-uMwAop`^9}4;e;<})Q@@*CU zOrc*OzjJN>3c8UWK)jcqH~(dWzfk=MHDZT!(Vct_{=qv21acf30MG;g(oZ104V`~5 z{@XpSEa;jWSE!sHghZmGD9xI=T2Ztz7v~Jephh4Uj`)WC6r;eM@*pl)wH)Tz;BbG? zZB|^F>D$b{HzF~E1(FhNl{hbITkrn1RepFNT^yV8kPvbmnWR2PCJg>E9THXud$owZ%d!Lt3)0pc2(4^DV@>pMz_B zB_kt*jot+;(v;i>4+J8KW6#ToxTuc+BnXjU{~(|oxrsOyr(Na*h{c?8JePuDFbD~V z7Zf{cH}=?8RC0KxqY4ycOQ&PSP#R9?WY0LfPuVYQqN_FVTEO%bDU zJ}};M#vV)nP%k-~?5uR{oUZ^^BL;YxI~Ebv0O%SsZz6>Oc$)Dpo^@6LFa@ z?{MlAT|1&%_qg0d$Fpj0Sb+trVzJF}7&Zh)MWdPaG?Fr>q_sLZ?Fi()1CWEN8Z$8m z3ak{ILCL|D5o!QxwtHMf=&30c3K0rGpvjIbW{!z-3`59>31`fwXE??8$9ZY|@J29( za#WT&6{=LFN)fA=Bnp*#pBxVuU}!K{f&_zK>G=u3q+MCNZAMS5v59bFk+X0dB#Z$7 z!3AZe@SnHp1Lx7OryRzOi6}g(QggtB+bkk6@^Z7xQe+!s)c-6_?1l-goirgKCHwV^ zov-GDiGo|n}slL)L$kP~XgfNVGwDGUH;Dr;gW0x5)|IJ5$WR1By*aG_&1n1K;6 zw39`$MG~SJ+wnp$?o3qa4_Hnqhxjb4Hd$64Y#)sFO%CD{;%h4GTFcit_ijFpqgpIF(*qKQV@CC<#+;isCQO-*P^uF7>%tlkH1+@@!tR3Z_UZxQsXneZemP z8B$bJY+R?{*2>*LT8syvJZC3zv**>ht)*^=-z>VB_Kpq7hbxDN_Y>9*R z7XdqIUfF^9ew4q6?m&N*hbbb#IG|#X1mrJO6$2#%GEu(8KQ-Hk7MaRaL)Fd@1hiBC zV=`iTL~5p>9>w=%nPEK;PB2qZ2NlS-*$R&|kK!ALgIOpfldyn3;K@q5$fF`L`W~`o zVJMbZ4|gE`C|JZ;b8sfib(Q{|3)I0-=Ks;@Tp)Chb8Kt`g6Fv4U|{wpXjY1cQ~5y^ ze@C7$IR}<-(u7Mnmt&jup`m>H9$;+P%9%iaK-5&by@{9%k8oa!H1r_Pmb5Rzatfpu zGPxKNFZ@5}c5EX&Ub&nLIcqsXM_8%IV~j=#|24&V5Sm>CVnr6&B=t$io&|~QHnTV7 zU@iWp=e2g`z` zzWXJ$Iz)iMjeEDQwL#FLLr1l6ILNsf_7J#bOK>@N+iVeTBRE$V{sWx=ZOSsC80~?C zD_-_TuPaH2i_9SBdhx2tL7&hCJ5tov~!YPju(4D)vuu?jxMd z0())%Vv`FYbHtauH|H|Y+t;wF>1WIq;x_f1yox^EJg>L6QYg==SAem&ThXKOaG&X9 zpb^DDetNRD+42-^tXvGR2;V)*ebS`OJ4Pg628)NrjudU|dBHX0Iwe%#T{jUVR$BvSxgEkS2yjx$a=M78M)3a2|m$C@Qicm^A?k_yk!x zr+V2y%-2p!l-mrav;?69m>hN_oSdU)rQNkFb@hs+VG_msc!_|x;A}HiedeHhhYpew zM)GWm!?Y=os8cpJ$RvrIaN}rrt;;0K#%rmU#u7RUEX0T!p}i%es~k_Mfr_XPvI=b2 z20mm_s+$GeLFF`528BWu(!6>+WIL<~+Et^5`mga=@3Qz={nD#R&*E23&4WgD+6#bI z(GxP{8Y+Awf6AZEJerS{C&8BSMF-s;9flx)q@~+8qW#~bGUDpEQ#=l*o-s9*GI_j5 zw)sg^PeN{>bgj?(GrTA-)IW~^tP{6%pf;e_wTqMx8FZ*YQ&qrz6AFQP>&=u+$$ZFY zPJTu@U*b&xZDz^t8`QmS^gXz}9H6m#cMLeUV>^(bLP-I_`vqNly-e5SieNx8o%+JT zQE9Zfs7;((D&q`SLSU{6gT~j9`srjz08*#tcXq%o?JwnT9@_lU=Ghvx#Gb?~Pj%KN zVT@K0IvW*<(Ch>^58V!X9x&qT#bTOyVoKR^A%Co_6lRF5#`;OjJ?Oq+C>qFFdj!+; z_!D;y{Wxq98tm8f*{ZjxW3KvnThfIF1j=*!SZBI&_?Ex$)g(+j*`sry1h#%2!pSyM z_HooJwwJJg`iI5#RrCvkqWGrvMXe%-VGC#PG{DR_HYb|+&J6E9x+ofJ9t?+L3-YkL zpS@;-1nH?O64X0ep+cZiTq~diQXU@?wkwulkZ5Lrf(IT6> zqv$xK1`x`!A;U^H=JCFh85&@*hqCC$*J@uzB)4n`rPDM7p2o{2mhy;j;z=EkOM|G9 zdL2kFbFmU>DobRwxZg$+wR3nyNi}>wC^2=Tfp4xPU_W_)6i++8=I|H(uP~_Q^lB5g z5JKT=TSP$S<{KNnReJAb#nWV@&0G<9+UgQ;c`9ce)uL43N0*s-TfEW{ESpWI$I8X* zti-vLB?@rM7)TUw+uuQ7-UoN6+L~3}LdCN~O7L^_IOnyh1!Vh0kd;U}41GZv5x|ES37pN)s_A3@NSrm3X4&Pz>P#RSljg-azA6xg$>jcvX&;27oZM?h~MtI|O@^fbc=lt^g2Z z{lA@0ek(1&m3oMKy84)fT`RXzi1ZmO3zu~a%0B0yH0sWB{pX|>z>noBnM*Z)y>|$f z_j9|+n?r)w2Db85XL5e zw$pC8p>AO;g1{vM)E4hGPAD+~WF&D+QNHVR4sa+GwwMo?VY&B}1(?WGV(akb1FMJ% zC0xgegRT<+@I>oblSF1PdH2uNf4!TEU8p~d6{>((2SzW;r*B1F&75g!<+590#nREn zs=)`X)tpi#MiZHfvLAXmr^JKrrm9>uZ|FF@E5Kd|SVb=jj=h50(3Eu&*s3GGq}>e!_lH?CFFUNuP8MuHmO*ft(nD zJtW15u~g|ZbX~ZHFbh(y(t?6}&T12qe*CB$%;hbXw|X~zqA#$(>juXuqoIL;{X@*A zHXragpiTov1+ER0|8;b_E(=gzp_-&1DrzO$QI0y?eRsxHowzi%H z8eu5&=WbH9i~u9ei5@NL$g30;s6z;M1ky!U%|O2`@x8!J0KxtsYvO;%quR1VWMG#p zA49;jt6-MZsZOOar@QNbF8In%e?sCR+{p0{UfAN?uNQ;29U|@-)#9ze)(5|r(A@P$gSm7<;iQhs8IClgSe$f!T9Ej|AL9aBmUb zk936r{yQh1F41evSHhR$S3j?WuLjtki;9~e>1VXF1%DEshHFi>h>Gq$Nj8p?8pR6_ z-yf;?QAPaXvNJaOg4Iu|ePMXJK?&0_K37NpJ{@?{(yyk8|17y2U5qpI#Kkx;0dRQ+ z#!rUUQo~fLKL(zXifBLGlvP3C%p(gB{M8_&MD{F;?h^ZMq>NsUM)Bei&{cGn*;3>g z4l`H>6QL=%^O~KgZIQ7LK-*viA|);fnYtG>^5g_Ipx3WRxf4f_#ScBVXJH=3Deln>NrBjI^K9v-}+77E| zgMe9YKSgh~HU_o!`mrH^Od0(MaI~GjudI#CodUs!UH4JWo!5t*}Jht%6 z8AtVnhMDFbAx-a69?oIVkPj)UQZXUWEqLdgH{Zh+kS|{)4c>xmSHKF3??dDg#-n@Z z7khrWV-B^IyAED=tsPmf+t*j>`GuIjfK^`pwey3MfJM?_OlW#h0^B;oM1?TMNZfVi zyhx@B9eW{zSqT#2j%$zI&t5+shLEOMiQ;3Ek1~`W?gf85`Zt3_a0c~&9(YyBCl~tAXIElOZBLrhIU+^XPK#QCeDruxc#aqZt(2ieHu#!koX}qq!&&Cx}I? z^0{~|!nM5Bxm+KL(@Or7EaI@Uh}ALDA%O0LDE$kzbY>l@H_OO4R10l74>SquM-6Q% zIMimAp*YkEbe(W|;q+hEwh*OJ^Dtmuy)ElPZ(pa8uJVSaUhjSxobtgM;I$u@TUliA{R}X@Te1 zANAw)cJ4_yEf)7&vKT)J{rdWd`4xX9;%B>xGZkg=v|YD>VaoqOka3!KTij0?@d*y3 zu_o%ss2FGA9hu2iWrQ?V)U~B2X6_C5xofv5 z)HhJ9wNp-BZdz4;TfJcIpOmbASz7RhU- zmBA5ZG$GdQikc;N3!`fX#fZ2>=-o=Z0VdlNTwQC|odE z@kisk2CCN*8}~w`1t|Ro2j{=t`lm&=+M5P0^?Q!)nfiH{jJ6wH%zbPA+rjz&4A4nZ z|LXy_l|0wz{QMMwH%2&Cb-$*+KIz2oj#j8Z7HRf<|MaO5tWhs%-r~RcU!1I#?whS> zYHJ1*>6PyPMM?`AWT|)ij0qMHX#|a9O?!4coi5OPjgf>)S~9+vm&)S(0u!vw!iypzia4S3XOl2R z1GgWLHh!Qig#a8E5MvTD3kL?15RWI#`u1MAg_`wyeKk`Bg4o<01_cE!WX;MXCB^fw zr;G-kAbiq!diK?~$sGz|hhZLDdVw?9{%I-cW!&(Lq9|m0O!RK!idJ09z=Qd|!G%Z4 z8s8PIMyvCGDVYE7_ADs0Ud8vIQPtiTwHJ+ap7U5VZ>Rgrb{_a1pc4-)JoD0Z`!s9r zXgqaK@{Au(Cn3lVi4&i2WDcji&|=KFf@K0&emg*eUpqATFkQ>{tUe}w(7nnb4u$@OA6)EOghb` z4ko$yMv|c%2bn_}hLg-u>?+&ZT+W#6;%25&Ex7wbtwLR;Q; z?RnaRto<;c1SU$)3-2`n4vQ49aGs3SFmtSJtbv=95cSe64Y44kkeX5zXCS^orkc=L_ z>M>~YE9oLCg~+Ia{{E%jenkrUBUo0_UrPBR9Ea?HW4FofA4hR6R(gPPBx&1bdfYB(_ zdV|r*ICUJIZ1ZnS<7E6|`lxSg?;36Kt+OpRofr)Ph(F|;t@GZtN1u8y>WUZMrlM}_ ze)zwd&Ed!f=jdvvr;9ytJBIjfdTsjJe%u2*_7e`jh$GCnMC#cim-TicMu(WJo@M()#R_clookbuIi4G$XE?%p@ zswteH@Wf3kEbj}63+Xf+*@=)pmP|BHq*Gu>`MH z6dw2d;n&pB)TAi*-{vzrtpj{`p!~Bv$;2=n!YR{}e|^I;yhVj^o0Hid#@#=J5UjxK z|7ERzLyHs%n+x!4iT_xz&W=+%)4`(&!%!2z-exx^K(&{QS)I1=5Zeun5>{~$v7<4EYtx*Ge-jBWp z)ZsM_Dm5_jde3`6Ev)x6TD_3)1tk442fQV@MdnCijV(Ec$e#2l=dkG+`0>5^d;9pO zjHdQ&uN+t+=yWYq;bf7qlBn2mI5jXMB^9R2`YG9gRQPyoRII5?Y}G>OVyCKBYcj@1 z_+oreXiu!&&s-Ok!OgTGk~gf>S7gEr>PL7+llTRR(liC$VltM@4xqr^AL#FLKd=JY z!_0?rLyxlATr!EvW>0Z>T2I8?(1r0NGWKX_=v{>8GY=<@lQUWuHjP66G4BcOT$W+l zy_S1D^MqEL+DYw9>8#LJY)jcj-ImHAbsju)@Zj$|5A76roS$sx=E|s6uyAvUYdD4& z8^GPON8rHX%4jx^j2e|@kYBr%r|2oKZw#~VwgM|mj6RReJGK3{qy>(@{tKTVnMQNr zoNx{tK^Bl7!Qqrd9|0%B?QUXz{IP%F#~)wch=Kl!Cre{v1%;zyOQWNO1$P4yWh9nF z+7_3{B=s4^`*?W91#{s@VagEZcQhdkLp56YOK($51S7IH#kbOHtB&V6xH@cx+E~`w zH(I-`zWD5N>U9mTT2(!P|86;MX@|j0eI*5BqpQaG z^^kveKs7G(D<>bE7$P@Se5PSgG*q5Wsb0H(JHignh>dILG6pj?zTwC?2F!=z1GA^( z8jN|`c-S_~1};C^_h_?CQAH*?DjehE>%F^~jf>$6BRCl{LA7BgG4&BmD0Y{G%A`?| zy@oA?0U;)w84J5Z`rA-z`BrZmdC^1%_{&uY@$*}Dlr#VmM! zs*c&YZtd9^zWGy&;-Qwxs?n3~Y#$twbd6o8d4q1Bd&}n7>_S!#T-BH zj$5V6MAd%8!j06)sm@5VUO&~b8EIJ)XwE zg6_`4_cKP~y}QiMaM;Cofq`c>Ehay2Eh0wHUG-dr4q$l$hGEr&S=30*IDY6?0;)14 z5CRAn#`p^~ogxvgNck=d1PJB!;NSNM7W7y-p=VEi0P>YBawSkhmV!u9Sh2vKo%P)~ z@Xo~dkS*p30V#CvCG|hXrpfwJi<6OL5EgGOn3y)!gMJ?qEPyuDnVBZ<|GpN^Lcl}9 zIRa8-LXSf1RdlHvW@pi31%<&=?^8lUb3(ZkGA}fX$7_7l)c5HOm_Z$_%*-hV66yfY zk3@QQ0X`MXP!!eQ%0KFH?UHxAIb+p;0O{wXbg;c35V-oBW6XDfr_8{l^u0QJxQ}U9%AN8Uim?BJL85B zaMpczBiz?^ZYGFYrhVwUD-!d*K;BT@Q0D_@XcWz`$9W8KeMei!2Z0TOx3J}uBxk|@ zc7DMWyoC*CBWr&P6_6eSb$1?Ra$*^Bc!+3>YIiG}TY21Bg)FLjc!_uQ;F3pJ3Jx`* zIC46!qi$-13Uzui{LL0l1&5f+)%*n9U$Uw#4&9l=_tTKW%;4UaA1;Rtn$ z|FDst<*1==+<@(@D*gRR++)b8(oo1GG1^c=SuZ;bho045;z}KJZ*RlOi<*T-XjaJY zAhKQ7W2Ap%4P|b!e0}AMwJpr+ghv0nT7J$u@T3_{O-f_k)>K(tePc?a=G!>4lbOV2 z1jY9C)i>R_Tkn8zz`1$Ng);0jZ;h$rCwUAQ z2Ffc}MutTSXw#}P70}VInt{`i?ig1p{&8P`T?xB{LFX#PX4M368+QG#M?L5@bKq!g z(Fun1CW1ikRapPK%Q?lji1$woL^2UHFeLS^)I8qzgkg<>7$@KJ8*141b!)3K$d? zB{{pUwH}WhjE{lj`yC6HyPW=o3tipM5U8#7P}bA`#&9BC1HIdXdymbx%r5Z?luq9ySPcray*t& zatBnvM5zimy2%DPlqj1oY+??N0Pb9)cB=r(V=3zxzf)26*0#Ewuq#C;Y6}~bA!W&l zHCf*?RL-u=Ih-VLG6L=s9t%gXABQ(Z(4UuYzUX)AHT58`x|7mfVF|aDj=fjjQlnHS z!fW+;R-_MbMu}kggknxL=wSl#MR-$x4n6w7zYg@ui#vC1Ms2X-x*T0Z1y1aE=y41) z4TjE$u;|8dG{kiCNOFEskLVNvc>swzghcq_*KC|CWcSZ8)YgAd@2#jBW;fiojV=o) zXVaU06`;C`%KVNuzuy6G_$HDoxD?{?y6#37mu^y`6TrSUE~kEKE$xFz-3-4Qtnw50 z&|na|g_4S&46{MVBNWlii;T1J=N~3K|NYVUqkt{$D;ynnTla8ZAK`9nnse8=xP&lv zSe9aNpfs9^3KNDgco}kzpN;ssck{SfUi;PxaSjRHOUkXfYK}aFg8E}t&s%%ajl_9O zapu5WFbR-3t7RT8?HQFV#}264pUwQnyRur*aSig<1uU%+_){r3<~cnBxM?MHdA|=f z#r-~Bt1D_6D@Y(K>3eRsy2!1@)wQ!6y&a&h-$%2LjxjV3fa>|T`;VLf%U1CpzkHIv z?AJ&?kg7lCsyohE>Kwq5eum4HnQ#4|GYSJ4**ZCvLehwsKz5L~AcAQaCJ>5)xSq%?Hc`t@23@)%R}2S|`8q{D zHqNjnh>VHOz!IYMH^n98spH&nuGTyLkfAxQdu-!LM-Flhu3NVxw0i+2~?A%AOQ>v zhuO$z?)=#VOli?`RBZMFP6)lDr5V%Fvq%#b_Mx~DSrM5L96xO}AIz)`F(xXSXuCM+ z4H{M79YkYhP-`F;T>w2UB1R|h>OhLAs(EcqTL2{k-C<;;Em+<+pqK>CVmkJGWYHcM zfdE*?_*Jqad?}K!1#mOCxypCxp~=nN$RBV>~Mcxp-fyd+Y5I<(~jChw{>AX zaAL4kCpR?euB@z>s$7Pw^`;kH-M9nWbNuY|sw(J7_~%;CWV0i$v(w!SE; z)1><`@8y*g8wdNV#u*k^nxO2=3T1B9+unWRxDntQcSLpwf=s}mN2;eKDjcBEnSP{Y$;iOzXbU9%bFf z+V(yo62)Pb6$splymHSk9u!=yg0y`k+iaeg+|qj+|5&2XLtWq!o-Vvzs9LkfmvQHN zp!CDShvvorrj^k=gci(N6XuLHE$*VDB0+ra1bEv6&=1w0^;*>MesL~}eemDZ9Ck?B zpr$ep)YH|DFogv}%>+H8YROlLeKFVctAZJ?iU0O}4yJJ2KHTO~h}+ z1!LRynW*#4gbn@wG%^0=Vp0ovyqjK|Ud!zycXD=vrf<{~*J!bk(eT3&h)y$RM@IQ~ zJ`A1_A?%{;;s%|EAYEBFHl#ubn_`$*ZL_P$_84f{VK3cdTeT4}B!U7IYe@qyZB8$UKzB>7(CS&g0Ub3&;_ASe!ax;%*2 zT>cN+9ggPvZu;9a5+B=quD-8GJ~j8)vtRH;g$O@c=I0{4Q-4zz-`Y0P4&;p-@jR6< z@|f;#k{|bk$?D%*2A14=xT9yN>&Zo-MRIOuK(t35D*OD-7zCyXAle`!k05;X%N^lJ z5)$Pm3$);MIxW^|5Ka|H;7FFp&9{(s8yAwT(7LTHoVD+FpxUGZELTQ2;W`A?MD_n~ zfBPz^QFB~BX~?nFnhW9tA{}sUoa?#|m)!4&vuc|GPaU8RT0nJzagqsa~sR;InYaY_-;B$}Ce-Ak_EtmvGe++crFY6i)1vwQO>-Nnav*xeBci4>n#o|9mfvQJ=hF7k(+ zPG3=ZQCDI;Ow{x>X()GeJG5NIa09yoaMoWULmn1cL0p}#Z2m^7Z3oI!W}i9wnzWHy zzyo(5;W}!-p$!b{RZlAfPyBGP$LLr#FRfTa^T}EuiDg9_PdHvlt{507OA857$#8>< zXL6vQ5zt{-^D4h4jK-mz(Q~(UIwv}ZKpu{^dCogao~1R`5uLsw2H3LZ{zY>FsSCjF zP@XYf2wynP6irQv_WavyW~WVn504elhq7btEo4pRdhV**qy4E)vTj+H_$Ib}&yhu0 z@BPOxf2!-><`228_Hvs9&3n2LvA%mnRu*TVv} zy`I@wa!#6uf_!3St4?woHKFu71AD;#@KX2QtGVO-+va;9vxy3e0Ktb4|A?rW0oQlu7uRE7+bKLsnLj4bkGZ ztN6(K4%qZiPwc?S2Xj}4OfP-@9p~K}&G9hlZsHOuA#!2~s=;$GNC+N)`F_d8L1aBC z#84gYg~y9pP<=(X6=v!;CmYFT3*!bj@GQcFpdfo&OpA`gpXUS$kMkh2c*xW-bNt(M zaKfcsiuJia7a_@9%>+xv=sQpE%zzM+)h}P6*bkZX@ZBZYS&-^fb$JK3wANhxvnih| z4@d_2Co9IcihL=~g^2BmcF!{aF2w9^5C6N-Rnl6ru3ax~E$$+Ke-Z}}1IjKYrifEu zR)1KyWV(QCQKVSR;-QUBBbxh>nu;*TLhNbjX|ccK{d7J6f#8y!^w(00txW<5B*g)1 zF|&AUwBh2vntvRQSuLcBu){lh0!c)_cE83tZQ9%0(t3IgqwN$DaXP!k6gm=GL4ZB`Q zHT_MR{fb0Q8`PImETbcFH06$pTG6&5#1BFeR?Bwf)94&qYkJYpkf2gX$1W^pRc%AN zbH!jCNHw-M3WSjiUBl|#n!^_~dtFY|t)Z6p`=KkRUI#u;h?K*+M~20pCjyv&;i3mp z-LEbDfgb~dF;OQFicP?fP5m#xRldehla)EXC#WZ`sXY!@h$tL;&tOBi$+r8;qVT6NmLiMpYh(E$wx$?m#8{N9S<4h+Crv+3H3E+jE)Ts zEe+7NOUW7gSe7hbyN&Ub%{T`YhelPR(3w%Of$4YCsTf@9|AJdK>8H3Ilxc>;<0G2H z&06G2&O}LF`>MH<0C#Ubhe1{Uj@vi{QZQ=5!Xq~i`vj2-$gd1xoUl`2Vo_s}pP84! z%s8;&3Gy#9FV7jRhg+ECrpq@6ea?kj^y3~n?T~-0j+Cg>2e7EXt_4q>;ndX8K*y}g zW`NZfxt+T>`cdqo?)~K|MYTlE&vnwErF+uZ&ML>PFV&%Ae>^n{gdK@+uX_q+{@6)u zTwp4w_(S=}hJnwz0yyWo=&IVmWbOjE`~mu39ru z>%5=eR*5qjNSYUuOCHj9XZ~>kV)jpr(k&PH@LSi1okn!NIa9%yCs|WVV|f zMpa_hIi?o!nxCNX<7!|pxfu%iQzD`KDVU-tLS`N=+b5E7wkO$Jq=P+W`rz~L54^=i z37eDH9+2)+p*Sm3HXycUhXsli(v*TtE6gHi)Wz~TVQ?YDkT)T#QkuzVkdC1QOzgev z|2*gb)YX$t^=n7yrjN-DIBxUVIC9H#V|&7M znmO2QIP9eBbF)rY9gnlJEo9X}vksUCTAsII6f7;9P{iM5JBl0`XY#mxbniAX?XTa; z032b%-r$2&)7Pk>+)B1X%T#`!l+P6K&G!L_@(4r)#n>y0If8<|JNGg5-zVpYij9@A z9nnEW%N1Lqr5nET-J9C95j1PP6bs{D|Q?xf8=6A z&Gw2{Cd}4-a>q-G&=K@s)WzGy_I?#j23n%l>*lqaIdyv?;7mzA~ zjD&yE6BM+t-I#7+G%3IDMZpjHa0Kn7k9Yf%8utL);+y-J;$9T6`o*-=w5pni)I-gx zR+|XT;?%*a@s#b>FGVw?^Et8e}3nyd|DG0S+l=}XW;J`4x-!= zX3z#|H;vtp!Qw`uVdY(J@dx3K&{qbVmvI=V`kwQA%qxC^@}3>Hk&5cuiGQjv2o+P1G?_I?@vD- zyN>y^NyJ-{ED0#XZE-rSkmX=KC_U*iyX5}IPf$NT>Bmx<_yvu-va+{USDx*A{A74` zu#=xx&(00rpxR3&>d*D$wKSKe$qVDcj&0q>L&YmFB=O1a@4hzu^|e? z1eCQRO=QPsYqig{Zu$pp!4oT8?}xBvR!T$LB`r3d$$rO`)?z%JfhT-#)O7-W-OlRI zj{)6!Q^Pj_(MNHYS1FnuViEvzLIfb3{Hpqb!uTj$tRhq0Y_S39+&keVSzBKI8QhFA ze3*BtfDZ1_u`c4D9wD}kw*i3^vGR2;D&nrfKmSnT!7zY-b;+V|8TiWgHpq9*StKsY z3;BtJN&hwNOmU+=;+;!2C4@l?CBaIcmK-eZ*~H*Kn;gRQ7P#2-z(S{nUZaXi8!H{! z821WIflKTJ(^aPrs1}8~lU;RM=gjCCC+m=BbRf|^J$hDWP_zHWwR!KU(YAX-7 zB>@Cmf|a*jcw(YWoGsPaI?|TN8g>8$66^_qAcyEq4?E{r`&dWApe?44VQY4)u*bd7 zgG@F$<*}*B=S;c1JOi+>gjrhPhK%*sXM)Yb#^3cN`@2erHrRYQ)&Mg=%)e%Te)i^; z1Zi^1{p4n8!s}@CD6cr%f)K3rsD6aq%`9B(^hi$HX@(sUX=4)8k>s?+4L#><(!;F& zX;l$^gjR4P+kqP7;!Jg58<{EzdxI^5#?fZMbWV^cEisC53?5!0ZA@kFH>iYB1dM*9 zAB)G}$0vlV8cr~=a10z_8+^H7*Kp9d(YC-m&t*6&#=zL;wCuzvzHl?k4ZTGYb*VmW5Qs$bx+@#$N#Wbdx-%1l?hAs@#8{-M zE5o1UiKZaRs3xD?MLgAOY9Ds+>vAR?AwEVSri1G)|7^tq&=b-)Bl?A__Jrfk? z2-4^s)YBNwajPSTyIITMOi`oH_Nheny_|V|YVSoL9T5~8Cx<3u89{s$f+&hf?g8aj zF1TvsmGj(9rj%P4^AW1{Mw#@yD@cJH&+GMLU*<)}6h6&{s$r*?sxXTWAy9v{%MNw* zFJFpvU6G@9C_xvma7-FNk7$*Z2Ji|IlR`Nv3#gd(EM#k+Ncux5*5yc}uMcgXGo^sp zP&PO2P0%PSCDyF!XL*c+>)*~)!jvi@L=JvhMJDe_H}3tf4rQM~CCxq^t_8D?0G+e* zmELYRAq}{v(BUP^yT(W=^fMWz(a9_mwnK)Q{?+|SjnDN=GXjHfY_;(;yQhjd@#b~N z1=q+D)AzymC~&v=x(?O@4Um38=X_gDqJh932M>3-8!d;392fcccDbE%)Cl)AX#@?C zDxUasRdF^n(okO=!7`%fdF(0zDsqP=A2 zGGVXPpU|qqR*;~4kXZ;#7=sU;#rx&p9?ga z)9ww8mHMuF>g*L_D0%cTRU9do5*R=cCBmA6d3}9pSv7L4luHVqX*2<&1w=K%wXV{ zjPV$1czNu@&YCQ}*oGV(NQ#b+7viOvo6>EVtkd@0%HuV-p`9&%2?#R;s_C?a{}%9t zIBTd%nBCk{IW6a2(ez8|azLcl-+$Z}RqXOJ|0x6?EQq4j4hHzBiB@;-_=Y+v3N5|e zUpzo2=iidTuwte?$2>D9))Qc9qdfgWd1pUC?ra7&gi6tGXzYIFK?(Bvq+M@mZQkXg zGHxr}{8MaHSkewfd4oFYXFGSZ54X>?#kGs=mza?13ppO|v$d=~Jt}v0ov$+ed;i61}}GWEr*+_VQ*hJV4gate`7x`adjK|yrLIv(96B?+2N5yD>DUV zbvyeFvq(j5NrXXG-c+2nJ zka`_>bR@f|D!=+_6bofd8C~xYpq(5-6;f@VQ2SetSvCm#DFj{2zvJvo@u`So-W>m# zgm^un()xFY^1VE%Lccvqo@;Vmc3zA$FZa9URfeg3pZta7V%+l4zJMP1Nf$94Y=;N! zFD0+ZkY=#=Ufs+&n}z(!W?H=m;YpCGOMyPGEobr6t>L*rj-?Qjl4i%;=aN+owAZKZ z^c~i9yFV|M^4Em9s9wu-G;f+#kP#Q%1MD)?i~yPXr^^Kosp_0x1(P33d%Y6c%NXzN zy6*I6$NRL^Jr*KWL>-`LgRcu6T%B2Y-5vk_E&Ubcg>X&xZ~Xs9zywTTk91t zr%j^i!)X*3gD?_D#eG%R{+Go2?5D?Z=)1P5E29bFn5)$5`yN{g9(ZEB2?qVRg&Ayu z5U82&%XtrI_89iZ-+r}o+xVwWqknxP%oimtIk(g_rEm42)V%lI#{ezN40@~nh>eF1 zc~Q|eKVX=2ztm;iYN&@q0|6=70nox%L3KPiWYIn7R)&QGH#*#Y@}xc=!OuWA#j=6GGxC2l zHb>`_qz*_I6#Ob@Z`+_BZpwZ6rcZ5FQtO4+$EeIe3A$!J`uM)HiCodK`T2` ziDABEpq%=I;DX$y0`c|&>1X#^SA;*QBau6DWax|{9))nlOl`@kyc=`&m7R7xSyiOC zm)<>+5Yo=6gr)a<3@@hOL_rps^=N)5u;HLEaz%R<`0fWk{9~E=?yzwoo*m(Q!z98- zDw5AgBB_E{506X9#lnJB95)TBxvp9m+sQf4RCEWXyHChzvcFc}^dQ>Azc98wqEf_u zX!W(lJO&G^ButiI)?4&bbHDi!GDkz$}%^qFmS77(iJL9vDUncY{ER7x^>WPbww%oTRO zzkB;&hn~H+E_ZPm+(2R;7KkndU-SyO*4_bvA!KeXnXGpxn!=7IftIa<$4J;S{!Ewo zcu8C?RbThV`)x?eGc3960{?!*J;f0+kuaN(^o5tQ!a@XFVwB_u*GzulWl@-5Fqd^B z>~L@F6|;QkfKhtIeRmUw!~EC`q0L+h$!l)J`-73x3!+UJqUi|e4pitO<4eRZWA8UW z|7#%~LqKtCG#I&-U`t!F>j+sf#k37wf*jmp@&W0x?OSlY%g~P_K%oc7N!D6_)g1#U z-h>+V$)Na}FFOJ{#4114&sD8*yN_Q7B}wmy)FUfaYWOned2v9?3Pn_SsYBG5$C!5n z%6KHc9kXux_5yxsTFS$Tcj3u3v@)6|i*J!?#N#j*JuLg}6r-V{laeLqI%-YFXF(J$ zGM<6pj`s&+d1IG$&#K|R7bdJq;(^7A_G7>EnP-U&{jb2fm6M__o01vbq&+x8e~1is z=Ob%}37mvdaUVcV&u^ZNGK4`=5gvz(;HyGT82))k7jx-qHN>xj(y;)?btFAnov3Qc ziRk8`!Q)PeB1jsIg!x&x|LAzP-08C5$6{(jE}bor(ky0*}Z{_toc?{jtKT z0UEUm+Kqc~N8J?AfCe#ir7$u?mIf3tsKR}~7_NU9U-V7={|~y>8U-c&cpg&Sm=>vM zbmp7F{{e|=v>hPsCEo;f3BwivmBth&3PzwSV{pC(K@;1}49Fl#wqXVoI5; zlv-+c10sVt`}4+iU2njFw1ACMLr(sF)C77$(uvdX9LSd2p-(#hPMAJ|l2((dZH9SKySV zwaxakfDKoSl^!b#C5MaV_MvT#%ZHwe$Ga&M#UiAkCw*0C9L%r=5br@92OFRcNa3q6__K3-z$0QR60a%z7gT~-ZMK&wX+>S}bf!tP@%7}NaK)k;B z!06Al$Ql|?WfPJfTa^j^!78j*Jo7ORs&4oogWJGBzkB48l2xNc zE%L$Nn43CdwhKy))rin}NGm>VPK z<;9>@5vg}UqoM?9DXtLd8$(p_1?YIvq(Ah(onqI&4v;;i&888Delc!%Gs{@?&9Ib; z-gyHM9stxtel#w0Tzeu^HrcXAy>4p07hzDBcwJxzEK@aU0x{khB=SxGcas=WMwsSk zNB}|XO%dS+{r6Ly?|+_-Fp<+3J+;9f=m14^bKQHHc;Jsc+jW5|3b!@Zf0O#NW^==L z$1M;e&mps{n^AzCcoV!?^3FL%el+D5)Hq&uOtxDy?%y{hi!Nkj}o!@A& zUbQs$tTXc-YUp?UbfjrX8d+&mi$NrD9D10Gx3jbMM%6ksAo1#f*dOT9-{Zr@z){9t zMu#*lC$oXl@8(hRD>J*}EdnI|eqXo^9lvhA>(Egf=Q}q{Qm47>gW<(UkE0hoPv^RC zz{0ddh9iT?qHZ+Wo4pYLmGedSL5l>dTW0`YfmmifU@#kafeOOge1y_xZpfX;Os z-HHMOpJ2gI?g}9oXIxAQ0H-R(K;4IP0&kwjK7_uw1v7Gg9WSLH3!2Rr(7SxH*46LXD07A^oj6>a2<@e@|AV$2tFp1j0Qm65@HCRl9 z&Ux0nJv;9$ie4WOXyPLVntN>6TQK~wD-X2d?M-AbYkg9(Q86rt##xixv3q z%XvGk!LtKIT7k&krm-dM={8a%>L1H)h+Ai1iS zxDwQ1DOqrT<8N@wTYcJr!C*l{WJ}o8vvt13GP0NVBaLE4+uNMk9!Lp}0avsA+K_$Q zar2QG5Y?b(OFX}banqhliRyBm$jrjf;z$qE7mqz^Kpp!c5LwEGU0WXWB2jO?xizp_ z)Xa7|n$Hzz$#u!s?OkJAYjnp3?xK{(WZYp^GCR+!AXt+fJ4yqsnf`_6p1ndz>`v@4O96xqDqp+{O+{)-95Q{x39jC{*_uDlG`_A*#}r2UDf zB)Nw%f_QmdiP&^cI-j@d%`?#`WF2W6jphh$Je+-O^6u^!d4D^-Z4L`?SQ*(a;_zkJ zhs;>IcgRDN*V_8ec1hXQRyD(4vL`{+ECo4ZX{GgmXH;%>cjeC1}}gjjkC z9iF0setHvRX)x!_mYyLa>xMwmJYypp4I?bBWVnX)i0B_!OUi$uxc1>(eU#o(!Fdv& zOwS&fFsJ7~c0@K=!H$+CW=@T5V(Ydq%Z$F&i=D5JpQ*cN$aa9+qfWA^V0P^l3p968 z3047asn#Q~530C!#$mHD9Wuh+;|wM=cGw~@>L#GSlcNrgZ0m~Pu*nr{(K6N%WO$Nf ze`HIO@{i$YK_Y>Sl)h{lloVt7dN{&E1iTLl@7__0nN*U7EtP5@cuf$0_-gN8o}{So zZ}w!?M=Kf=k#km<7~x8T-@vH+5hs|humm|!Z5G&NT1AjLLA?nB!)>3`pmI`n>$Ft+4i)q zwsUia;cb2Zfsd_Mz_fJiIx|0^Y(a`JKs#cF03a`E;4U{k5f=x5ML;55u!@w$XJ=Qe zYs3nGY4GZ?uQjQ|(eb+ZX4~YcTPHK}@J@^bgN1MGa@2;mB<(I90?TTsnNA)ZeKUR8 z{<@-VcEI^gA`J#-cfoDU7%5I{ji-q**T2pyVnyxpE~5;AT+J1EO4*WBn>w!9L51lQ zD@;PqiQvHcI^UU!+|#+KY{F67aA-%C*(5SV%-Pn7gJqz_wWo=$$mM*Ap>G?bQI!Wn zOrOd9x6q!)E-7Nm#_xQ|*#hWgaCk1F?tf8ZII?xNS@Tw1Z=5ER2ZTOA*LqlOWOo<8 z_3AEsnWs(D;t~qja^x@mjIPdP3)&UCKoW>RbMkV9+H zMtln#+Vw(ErqUGp#?RiKJkZeZ#S_5W1L6oDxuD?}?*lWmI}{j(cwlXABif8Bp{tvV z^N%7gsI$1I@aIR<2>k5V$LBYno4XIQrTt<`9pC*7b6ZAas<+Im?o$d7-%T>~$h-NxaSt6SNuR}4q< z<_rEr#<$-j@(oR)z`6Fvy572Of3P{+(74)wQa*#*lP67)jCpV=ftGibrA!?3@`8av zxF^I;-qCfTFfQbx28fIdiupEkW-*3);+UrZdJt`hYgIeo=40Gn)J5ZJwI3$rB-l;hTmZw@xZHVoXd2m9#6|4OdOk z@MsS9R495F8ne zBxTa-5THM-v;+#52N_CreL3oLpkv?FI17C>aHe}IMbx*=qdC~Yy}=r$#G{73 zYYg$L_{w;@n60Ir+j6k@WBjcW(fr_?_+j})6Hl0Jm`?AR(^|TNmj%_XjR|)?6(sN4 z9Q{Pxq^8Pl^&co&q@%NU57m>FDdm~f9DlPdWX6M)y)fzJLfklB`Q!md?0{+YZ4BDh zAGn@t$CoTjdnYivJ(3oh_vY^35FGF?*@2k6Dr2I^M>8_xBMnFTBMY%z zbi*>13P#!Ycyx)N7BG3ILZvyE2B=QAb!#EW@lRV|7Kj)Q0eqb$@rykX+ z)*^eA_R&_oh3s4tLu&X+k4KzRw0_x^3!4KjRS12L)U`@rYt?FKSWlbuOwG#^&DFK3 zX>MbVo{o*U6)u-wl69KB0^B82cRs`P8e9-!nS5N#w!^v#T-;hmhFOT9Jks$}JdN>r zwu(N8WLkc{8JCBk*H;3yUhJWQE4X~mzq{w^Vv_X!jyHZ(lIv|^6xePa)^~MvGwQ}G z+K+vb-d3HD^)G)vW%|Ce&Gjm9nK_GH#zEs@SKvZC!!GAVLz2!svFOz#Mp)P;;gmm) z>3DIiSRspGvD#@ry?aWPE7*1gOb}FO#np|>S`tZ+r5%Y_@}ZB#mJ!;w25!V0t+_MY z3=`2x`~dK|1ZbKe1k9z3O5o<9t(CS4K`h@l>?uZ=pjdFS&f9xA`VQKguotNY!@Q1` zr0~JJK}^<+Z6M$nD~ymrQ)G_DKA{L;k-~&+DnTT@M&iJlrHeo*zowad7lmiflfi{b z=ZM-MpxYzGD+mH_P?DRNj-s(Q3*Rz{VOHfw1|8KOb1&n@Qi)ObKc8K024{eeJCU%%A=^Naa*ygf6xc?g(Yt1}inSAr2 zADx#e$!Zk45_GZqC0I=Ce-V)0!rqR&x9C`&V#mjn?H2V6m8`RsOhNER>S*_KZWk)7kK3=W*K9)*~d`;A| zyF&#dbpmg4G%$4BvmuIZRK@B!36{>+!gTET{NHGFf3LXW^O7e;-yNj z>dN)OQd#_P(+a4?^6nz_AaWbFLflkos1V(#c#J&$9pHml?9~tbW%KuNcS65KJr5i_ zqbpvFdTFxBw|%1`YnD+C=DYzfr*QRp3P1jtj^H|lsftH1Xz}28yQ{iXb<=pJs1>S8 z9uSrpp;v~Rsz85QSI^(xo!@yM6x@7S^W%$eVJt~)h+n95S!_b7fZ6%C_^lFN@{E;J z3XA`PGqhmf%Pcc?lotpce6&3Zm;O9eZO^t1FY(2}%h4$W!~oDM!!54BZo}n#T04wn z7{kRg7k5}iICvJDCtDeF)pxnFB4m%gBh8dV$_Fwg_Scb+aa0p*T7Y=~5}o5R4M5sq zio=Qf#<1uXBjU)5%CXW6EvQd`r*q5hmRt8rDpNn_!7}|!q$UZy@rg&cDSOv-oh#@2 z7bTx2Z28q|5@DZ>SIEoe_BNaKaN7DsLn4_*A)=gb!OC7ObN zk1MY=Doh1D+htZNY-k~ssbKZZ0was^?))Q0(BknSO45nx^z3e~uzc40fa;y9Os7^? z*a2*-{Af}PIDn-{WIWqPeaydHM`v-SG13w>xRRM}}@cbXcnELK64?goMj z3O3<*1wD@jHVT3#NA{{p5q$%|NC9u#pdmS;&t&L+;xjiZL#>;;8Ahc-Sc`CifE9f+4;{gHe2#>P0GfHf6$Sx5DIh?6iS& z4?`=BAiftnvDkJu+?79)8>g7yxIeyEa=5+f0X1Z@zSqrxrb&sz3*t3WFgt%6e-l4l zyGK`(;M54Yb?WO@nl?BL@%f%vM5f!y?`s$fT(S zE4ApGKw8xPp?aMrOJF-HO++&o!RHO5n3I0V3~ku94wzVWt*4-)3Mx_<-F*N|vb365 z3G|Z$g}8N5<;ZL=jKW1tdn1H{0AmJR~XoPix{a z<5VIU>$7_{ol2JcsnHd-4d&@l`Cjici}d8+2^|ZX+Z_}1dEgmdGG{dFvotN~cqzh9 zXrZ%?Hy09?=LYdyV%c0ca#f7tU=9H9>$B+!%YyU99IoTz$bJGTLexJ@%A{8xI2Aok z>&XLG*nC4>Y63$g-RSfPLw}gE3A-ZASvf{ADtsYhh+|a)4H;6YKrHCXO}`s#WtODT ztmlfHD&XxHcX+4hdPH{+WT^_uu!!qxZLp2q!+O49oFg8Y;6+gSv)-#29?&+&+r+4p zZVXoD+Hek>MkvptriV1xZ4W3OD7YQ*DzL87r<;h22Sa_A5LC`Vxk0mVa05<8+>u>D zY8o@+z54Rv^OjRkSc`2l7J_tkz_^%zcyxqFo}nb;KIfOfPb@M`NC!tx#TO2?VFAtjx3JFxSd?D|TY|3G_QI7ekdv~Ou=jNN(Yjd+(I z^2LuRsv2eYO6ZzLd&4a9UvtjW@$%x*^i_YnllzL-OZFOrGRds!#%UVqPUA@z%&&lO zsI^?RQ6o4l(8Uk~Y`1X+9<%5VM8j;UOtTPZPfU<)y_98U$XeODMW&*uuGif42FUOZ=5dT6uhN zntQxIdU~g|f$+LJ4$2sk^y4lrR7H-)@_zGO*RgNsZbrgOaVdWH05_2)wt5k%5e7US z;#g~9zgB~BCJbhH_IinRj-o%Nah^ki%dD#()*|EE=X9@5D!hd7qW1B)Mq52_hW8sp zX?(X14FvAU&XdWLAvdX}Z-gL847k*3qlq&@*wZ`;UR@Hto;>g$6XTfWFA|0Vv5 z0cx)Z93P(Zw7ghoNskkn+k|~^X#;@TZ0^QijV&&`=fHLm#b_(AFEVC@N?!JDMb#&bI5= zfV0Z#mz>_eIe9Va+-#cg-0SlUF%GJRI(A4lv%ck)OWcgD>#OJ5F#JMhSrkKHqNqhS z3^uA#=zATpV|4J{e%a1o8)~m|HWQr&95QU6$N0|%*okd*EL0ap5Ce%5?lOeEBl&UL zkanDAXxla!XK=8cTmdwGHGF+b2fo;KlFp*;ea>{# z4_3@dn(1|!2BG}`nTOPV3QBW2Orlk`nduC~Vdq0yxqSd?9`k_p;H)8^9_X;+*901e zza$nB&PnrZQa_c)Styv#DLStl9AtA%fc2qwH(5`mMSgk7++^fk} zs_7P;x_%$A|0AvmZv}HT`gpB%5~+W$T9YavZ*EdB#3!y3+AyIxK3^(j7+{JT?bJa} z4jwF~(sJGjVz%TM&BpHt@DY|Pr=J;$HE{1FO9r<&1>-PR%)A;@ez)Kr;Mlh1zJb6+ zzZJvX76cjstBg?0Ui(%2r*^M1p#zMwpgEIjLU`nG66*|XJ0pyl zRCep|5&JIWfX5pIBuN&T5F+_G17JcmyVf_arTbmv&osRtYovqVD~Z5E%8XuXob!Mx zFdB3zC$|F%`S&1l(EIuf89xMkCw;Z=usN>{Ejugi6INs$DGWV^nOo4&4Yv@S!VM%K z>RbVMd$o(d74SO(2VLz59ww^CP;t>1Vf8bpzg}bI5Dv1FKvZ5ebRKX&P6EI9C^Px>2`tKH29GYzciWA6wUWfa+he?- z+#kPk|6OBn(_VU zEkXOUap40J&j&e!y0gJ5-JWy{cCJnxVD0g0bNw8dYJ=CvFMQ>_?HO=h- z(*Am|cb!FZhF=1jeK(BB&NFB|CZ1p;ltZ=(vlmlfc~b4607X#BNV`1NaD?r9mB+xu z)-sWW+ori??b{!yohhT~i{1vTMWcF1v>H`TC^M{U*kxxeVjZ{!J>1)B*%&~bv(T6M zGhVYwx~tBkFVp(MnVhuComd`>%&U}m$vZ_~83;G5Ja5e&{6qXNl#eqAE+cuA;^k%M zN+iuo-y%s~_zl6)(p(dHY|F2P;9_$nE6t?`NrhfuRw(Gpn`$&E z(Z+3oO#N-98pS?)9hkSajM?y#e*l-!Yh!yhtt$Xp#o2}{oLn$!SGZ|lDkF2Y>x#ay zkwat?YlA$0mq-su{+;xObRyYz@z39NXt`d(hS9G$YGh1tJS2ZrN!;4rCK zh)?22?}y)S=WRhg_7MA_WGN5+H57%KVKMH9>UmOJ8yk9T?vAB!K1)h*Vs`-pseeIa z!JI;bl^V~d!yP=vVykoGvjtO!JH9gN+H9`t{LThBuv*q+Z}qmGcl~ng-9Sy=Xh8$e z8X*z!A8$^VOxC7WIZ?EgJRLDmC8X#QpLs(aQyzy*NhvoLlHwgTk7m+;%F?n`H#wj& z*#vcBi`1)@ijzgNLhKSy&LjNMq&`hEbXV-ddx^s+%uY#-bW%tY5Jt=}G8YcV(6`Yc zgO}x+pq_Yly>(IiOck$Iw*8}TTnr#FhQxs;n`|dAF5^7F6?D}4I;^XXUhX>BEm;wRWh`S?DXfxSp3oRWG)_2Va*{v(k&0Yrf_gN({~$`pye z&*8Zw#Lqtxjy0FFnp;g6l6_P(v{C6r;q^cd&@9T5LnM6u&)2Gb2ATa&YU6tSR#a6w2J~db#!qbOYBwfFYm5kI&=T2N%vA1 zErMp10VmLplgjV?Cqwb?cb`Yd2?A`=iRi%HUXJNKWc!JujNpSKQ$nG#U@!TRl~L=F|{0bJgDT<$>;X1(ZZU#Po@g&CU6ypf1D z8?nzR)6KlOv2hBM@+s?=dZkt@EYm>f;MG*;U?lM7*3Pm~R1kMhWM2Wbd1+QB;GiVQ zG^uIo%i1!bmmavYWXXAi!_c;-jIxw(vM(SpOX64Vq59l&3rPxt;wBe$#&FI0g=f|) z#hMKVz-{<%?Q_Rrw@0<&&7XY!YeB9qa@i+e+b_4tV+!EKC~b#dMvStl_aRvSGbA>d zu_;=Wf%bzGEhZHRl@@LRz!+gJN|9N_6aIzF=hcS+Y<1VIGu|*qhq-^{eS9N{6M4QL~~dm!{9QjV+JZ+dLB|kX1eoK;Ru#iYUi8 z?6sQ4Nm^vz682)pw;ZhV1x~5f&Dyv}j$COt7tWUq{6}L?Z9*-gDm8~Kwz5}$B8c4z zhcpAc^d8z%tE!WyXnjwxYH4SkkLue2^|W4nvG53($R*$UBb5*CjX6I^*EPvVAWhBN z5i&~7UtSrpqC0rvUQu{f#D)Lj#Uan90{QmofS^688OtnB@TohKxA(GgNfZw+Jk+3w z6}Ye|4DO^mIg~AWN?dUOc-aVzynz6f5UjuGQXRdT>)Gfk`De9|3a6*OxU=}?S&s63 zjX2hzh&A8skQA#4+}_RG!p)ddcY*?a6pRFlM(O6%1-^Kc)rX&CQHfP%J93oE9~zg$ zpvfgPYOm7<)4JTUWJFb4s$x~wqpJKtPN56EV{TVHL+SF2NmZyDFIqi$fHhI+1n{*4 zVMzetOAi{B#oJq^H}tsPIbrmTQ26*0xjMNRdpr+lKo`fO;_~0PsbJK*`TkNC-gPbS z>hPY9mltWn9|E`6nz-W4@0vrIb+D?gHoWu^2OWfTX!B>Mk_PEP42=BLILOB6#}&FE#uPAIj9m)r+VZ-`)(?Sz9Z=HYp6oIJ~5@Vb^I zpX$bbwXrq;lZh6*0VbV@+u3Syf+LgHw?)N!7?9Gtz`x_L;o;?Lun{tcNL<+oLuKP> zpE&OnlNPvK^k_x{vQ)T_?a0R0Pja>;(Jvv?v=^~{%aurI(?uEsqH8}9t~z>My{o`< z<0r7Vq{jGRsTAa>=p`5_9|t;k4x-l#2OawUS!tQjYO^q zK9sN?Z*+L5UGakoPg@-aJtRRyyy~_yTu26@Xz8*BJ0+q~NYOt(u5wB-k6`#jA(Mg1p!JhvAvzH&#O6B)FwiwPK#l1TsB`P~ zx5rTWGWdMF97qZfS%|=}5t3VF(h<-UJ0h)(7$osE#bi7{ zo5hb0)|nDNB&Cu>e8Xoe*nl`wQvKG24d%_kZwRx;eDY_(j0^DBq;G%-Mum0ID1T)X z44lg=g0nNQf3^^`R2e%b{5%ZuN5-hXv2rN0avEt45#^$O8MAYG4oWrbHI8t%?v$)S z4$r{xzNLI~TIXHvAg87snM5;;chgYE#;vlBE98VV$s-^)H#^XD!oS>XS_R(ztcTEz z<;Wqf8ptu%X~Ppc4b)@eXWR%hcE$Z<8a!rSd>IuGm3PYCz+Nk2;B}Wi$VWV|n$>I; z4I6ob+9bUbG`dza0yVdS`1`vxurluN>xZwmOL)7!{rLVfthrqHO1SSWBpHiQ9irNu z<&no)5&LSjw8wcq;suA%hAsGJAY~bSR*`wGEAK+k2B1W!vzHh)qYG=N;q_x_?9UAk zjptt0{NeoV^+^VsRF#B13~T&=K0M(ADBo4)wyW37_vNbs&5|ZZiwa9nwWdc#PgoOl zcvkfG+hNERml7C`BlFeD>Tzi8P;AXguiDED4vyV~w*5ZA@FrO$U{APrNDC;0u@YVR zhDm7&lxcDl#gHRjISv7Vunj|m;`049jxQC=1_V{kmHlA5Sp%DN99j?S23{wHBdx&p z6Ba~=Z3(GUk&=IhA>hhQ8dkKd-UZk|rmo;yc5ksVEN1iKS#B9&5pw{39z=lEX=Y$OE9c7|*n+C(0o^papr zApd7((CiDYhRDvHx!1-uMF4J+%i^=pAsX%u3|{xLXBnY*IRqDeODG}{ zLgOUwWb@5BUKWWQ)+o|%K?k>}ipMLun+%7wcmYa*@M;sxaBc&$(c&d2ojOfk%j}wx zWL>O=1UC-%6GHHY*j$5-BCl7%cNcCCv&d zc9G*~s&1BB-7Uam8XhP{JtEqihQuEE!rU&v=JEFvtnM|A2$fzljbJL$QoOz1UjK>54A7j&9o1M$kxqtR#9|6)c(C_Wf{OH>NwE=bO@)$Flp2fK#$=;yt zFNVX&4z{Gnh5c82bX4arT7oX`ve@O2oS~+osz&L$fLrXdbx4_^a-USKbXPI!m%B!# zzX-G3l(T4$7wKLEK33g+!WH$1;PPb*8VWu4{>7-)m z9$jAIqOWNlk1@!&4x5}w$_kKD;9`$6;Q^V~XD%{}4BEzkrdYc@u z6b4gi>fuK%)$`=a#Y-Um#@ulkc9ICoTzC)%KN>lc>Uou;nFIkm| z=lz9803aj#usd6@A-ghlv$h3voTgA-&8fkyipCw&QA=J7WM!C}v8hX_S7_-+3Q_}7 zoJQg*1)36Rq~a@GEV3)((^BainwGAlpSw)B38_0M-AM}a=U~l-gxn$HLwibw=dB>= zXatwL&f&9xT;i)Fl2KR6M_nZ)s^KI3uq)-Q%y)Y4yr(F0rKS{L6Y2-zYI=H*qI{Aod2L2d(Che7dBjSydc zKJ#{Ak`aKX0GC#ARRJabHH*&yMx$RN%!B;%xTGQAin?7PUX|ZY=7Zvx9q0z&W%)aX z2Xu^7-7-B5{5&(0dii)SS_P38dRK~_A?dVyV~*xOq95`W#ag?@e*bZx663I~&zp3O zc9#h@G=No7JtMN2-FsOsyf^dr2rfm7h4c1P>~blW$oyC6ryw#Lcagp~vc}hufmQNa z-KMDRLl3k5hA$sHCx|Tu9krV52ns6%eZJ_*?_2fhW3GX5 z0-aZe+-u3I0nQ(99m~@6`ryL3^VhP^DqbhMk4dUZQ%27_la0Lc?kZ$8fR^>2-pQUZ z7}_%^d&ws|BiKC+#TXPrUs|p<9N)2u#`$5ngHD4IQ^Ciw0&KZhmR~Y@TCq{-Am>8S zWziq7qSDuXuRVV(e_5HdFv`L6#ku^y%+0&;D#}JVOZZSGWiCk#s=h5dnNc;tx18(= z!y_8oDaVcfk5wY3O-@ZR(L;?g0S@yw9A{+RIGghx)CNV4gJ&mL`Pq6%0mK4#?YMTk zexR@JzJWM^y!_A1_}fHH{1ch{a{vEiA&;XRw|{%gcPSS@(x$4Lw(Ey+niuQX2Z{Fl zAdKQ9&GO{GcU9fAT|bP|{%|~<;rf3%7Ml~o4dsP}^94eYI3hACIwn>U7oQ+aOaX!h zefdh>oRTUV*P@lyfM2!Qq01PRgZubJvtEC#b{o{;iswG>G2zSF*8`5a<%VO@(s#+Y zBlD))9=PkC`#xkJ@5df`A63;< zZ>g(Q+iz=qgGRsmlXN~YWU@Fox$tkj;^xTX`_uX2onIF@{Qv#&e7!&4-#?{}^wi6>7A<+^ zg`X|2d(2~vyzBQLK7RWA#VM!1I%nEdXPk9Slgrvox^B*eZ#0?jKWw-6ry)wicKdYa zZ-@L~)Db)N>39D30T5wA85dG%W1SDeC{EHWFUqQJ+O8kQX$9aAUKH;?w$VYXjSIG6B}zT`A+~jcQwoj`ibIaZIyPei#}3uUlIl3yH+52m^I!9< z@l;FpLodCXpH?L*E9H-DHw{50nP-%#-0K)VHs1(!($MR7_q#8xk zfaZh^Bh?|5=6O?-IwWy(5Q%gF@h#;U@0hAYqIS?)D%zn<&j~j}wM~sUBHQF~+7KI$ zjSFF-$ZRidbHmPXS{g6NQR=Fsaw9TtQ^Un;WYfN_9!5~JoFL*+1|kRFn}9}OuxJyW zRHAOHw9=sf$qR=#Vs6C`He?w%p3OqJ?sM~b!I0MBARTD37uZz3k~h96S)CbSGx$_hs-kbBrdp~rG%0-{uu+93GtAo=vUsUMT+0>*@AQS}@HOA| zkRLBU1knnSO$ZU~D6~h&;Bor*O(e_s-*D*Gg}!mB4j?N)Jk*`c(ouQH&HmDwqCkE+oJ6Wkq@8U z9;`!ObWRY*E(DGN01TKS&;$To01yP6BH&gKz`dB_$vb-OOTv`mJ-V0XyP?*3y_H8m6Sl)ipik^;kX$M_6n<&edboemxxI_>!C9wr|%pEu9v z;y5H*lYh^aL{YhZd>>w1cVv$JE$_lP`95bq2$iRson}xu02|T*$c|GiSVnDAZO=04 zm_LwY`eOTA-@b1c7yoJO2=?l}T-c2RY)~R`DAiIg6ku@dDXdHN`SCD6RhQMQ7%^FILkD)PDsrIz zjO3yHRH+<~dfYc0Qq(OA9XQO>enLH3aV?6*T@qXK;PtlYDXnxL|45mt*kJH15bTJh zdfz|rcNJtAO4X(`#dBk}l{Lnf2!@F|K~E`mdiHNVo7}^-Sa+O{4cVkHp+pYG!ohmT zCex%^HR&Ud(Fsk7I8;T#U4p@WP8x%%K3a; \ No newline at end of file diff --git a/iframe/html/3IDConnect/assets/Portis.svg b/iframe/html/3IDConnect/assets/Portis.svg deleted file mode 100644 index 4f6a0ad..0000000 --- a/iframe/html/3IDConnect/assets/Portis.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iframe/html/3IDConnect/assets/WalletConnect.svg b/iframe/html/3IDConnect/assets/WalletConnect.svg deleted file mode 100644 index 97f4bd7..0000000 --- a/iframe/html/3IDConnect/assets/WalletConnect.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iframe/html/3IDConnect/assets/assets.js b/iframe/html/3IDConnect/assets/assets.js index 659ff9e..96dc1da 100644 --- a/iframe/html/3IDConnect/assets/assets.js +++ b/iframe/html/3IDConnect/assets/assets.js @@ -1,5 +1,120 @@ -export const walletConnect = "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxyYWRpYWxHcmFkaWVudCBpZD0iYSIgY3g9IjAlIiBjeT0iNTAlIiByPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM1ZDlkZjYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMDZmZmYiLz48L3JhZGlhbEdyYWRpZW50PjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0ibTI1NiAwYzE0MS4zODQ4OTYgMCAyNTYgMTE0LjYxNTEwNCAyNTYgMjU2cy0xMTQuNjE1MTA0IDI1Ni0yNTYgMjU2LTI1Ni0xMTQuNjE1MTA0LTI1Ni0yNTYgMTE0LjYxNTEwNC0yNTYgMjU2LTI1NnoiIGZpbGw9InVybCgjYSkiLz48cGF0aCBkPSJtNjQuNjkxNzU1OCAzNy43MDg4Mjk4YzUxLjUzMjgwNzItNTAuMjc4NDM5NyAxMzUuMDgzOTk0Mi01MC4yNzg0Mzk3IDE4Ni42MTY3OTkyIDBsNi4yMDIwNTcgNi4wNTEwOTA2YzIuNTc2NjQgMi41MTM5MjE4IDIuNTc2NjQgNi41ODk3OTQ4IDAgOS4xMDM3MTc3bC0yMS4yMTU5OTggMjAuNjk5NTc1OWMtMS4yODgzMjEgMS4yNTY5NjE5LTMuMzc3MSAxLjI1Njk2MTktNC42NjU0MjEgMGwtOC41MzQ3NjYtOC4zMjcwMjA1Yy0zNS45NTA1NzMtMzUuMDc1NDk2Mi05NC4yMzc5NjktMzUuMDc1NDk2Mi0xMzAuMTg4NTQ0IDBsLTkuMTQwMDI4MiA4LjkxNzU1MTljLTEuMjg4MzIxNyAxLjI1Njk2MDktMy4zNzcxMDE2IDEuMjU2OTYwOS00LjY2NTQyMDggMGwtMjEuMjE1OTk3My0yMC42OTk1NzU5Yy0yLjU3NjY0MDMtMi41MTM5MjI5LTIuNTc2NjQwMy02LjU4OTc5NTggMC05LjEwMzcxNzd6bTIzMC40OTM0ODUyIDQyLjgwODkxMTcgMTguODgyMjc5IDE4LjQyMjcyNjJjMi41NzY2MjcgMi41MTM5MTAzIDIuNTc2NjQyIDYuNTg5NzU5My4wMDAwMzIgOS4xMDM2ODYzbC04NS4xNDE0OTggODMuMDcwMzU4Yy0yLjU3NjYyMyAyLjUxMzk0MS02Ljc1NDE4MiAyLjUxMzk2OS05LjMzMDg0LjAwMDA2Ni0uMDAwMDEtLjAwMDAxLS4wMDAwMjMtLjAwMDAyMy0uMDAwMDMzLS4wMDAwMzRsLTYwLjQyODI1Ni01OC45NTc0NTFjLS42NDQxNi0uNjI4NDgxLTEuNjg4NTUtLjYyODQ4MS0yLjMzMjcxIDAtLjAwMDAwNC4wMDAwMDQtLjAwMDAwOC4wMDAwMDctLjAwMDAxMi4wMDAwMTFsLTYwLjQyNjk2ODMgNTguOTU3NDA4Yy0yLjU3NjYxNDEgMi41MTM5NDctNi43NTQxNzQ2IDIuNTEzOTktOS4zMzA4NDA4LjAwMDA5Mi0uMDAwMDE1MS0uMDAwMDE0LS4wMDAwMzA5LS4wMDAwMjktLjAwMDA0NjctLjAwMDA0NmwtODUuMTQzODY3NzQtODMuMDcxNDYzYy0yLjU3NjYzOTI4LTIuNTEzOTIxLTIuNTc2NjM5MjgtNi41ODk3OTUgMC05LjEwMzcxNjNsMTguODgyMzEyNjQtMTguNDIyNjk1NWMyLjU3NjYzOTMtMi41MTM5MjIyIDYuNzU0MTk5My0yLjUxMzkyMjIgOS4zMzA4Mzk3IDBsNjAuNDI5MTM0NyA1OC45NTgyNzU4Yy42NDQxNjA4LjYyODQ4IDEuNjg4NTQ5NS42Mjg0OCAyLjMzMjcxMDMgMCAuMDAwMDA5NS0uMDAwMDA5LjAwMDAxODItLjAwMDAxOC4wMDAwMjc3LS4wMDAwMjVsNjAuNDI2MTA2NS01OC45NTgyNTA4YzIuNTc2NTgxLTIuNTEzOTggNi43NTQxNDItMi41MTQwNzQzIDkuMzMwODQtLjAwMDIxMDMuMDAwMDM3LjAwMDAzNTQuMDAwMDcyLjAwMDA3MDkuMDAwMTA3LjAwMDEwNjNsNjAuNDI5MDU2IDU4Ljk1ODM1NDhjLjY0NDE1OS42Mjg0NzkgMS42ODg1NDkuNjI4NDc5IDIuMzMyNzA5IDBsNjAuNDI4MDc5LTU4Ljk1NzE5MjVjMi41NzY2NC0yLjUxMzkyMzEgNi43NTQxOTktMi41MTM5MjMxIDkuMzMwODM5IDB6IiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDk4IDE2MCkiLz48L2c+PC9zdmc+"; -export const metamask = "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjM1NSIgdmlld0JveD0iMCAwIDM5NyAzNTUiIHdpZHRoPSIzOTciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMSAtMSkiPjxwYXRoIGQ9Im0xMTQuNjIyNjQ0IDMyNy4xOTU0NzIgNTIuMDA0NzE3IDEzLjgxMDE5OHYtMTguMDU5NDlsNC4yNDUyODMtNC4yNDkyOTJoMjkuNzE2OTgydjIxLjI0NjQ1OSAxNC44NzI1MjNoLTMxLjgzOTYyNGwtMzkuMjY4ODY4LTE2Ljk5NzE2OXoiIGZpbGw9IiNjZGJkYjIiLz48cGF0aCBkPSJtMTk5LjUyODMwNSAzMjcuMTk1NDcyIDUwLjk0MzM5NyAxMy44MTAxOTh2LTE4LjA1OTQ5bDQuMjQ1MjgzLTQuMjQ5MjkyaDI5LjcxNjk4MXYyMS4yNDY0NTkgMTQuODcyNTIzaC0zMS44Mzk2MjNsLTM5LjI2ODg2OC0xNi45OTcxNjl6IiBmaWxsPSIjY2RiZGIyIiB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSA0ODMuOTYyMjcgMCkiLz48cGF0aCBkPSJtMTcwLjg3MjY0NCAyODcuODg5NTIzLTQuMjQ1MjgzIDM1LjA1NjY1NyA1LjMwNjYwNC00LjI0OTI5Mmg1NS4xODg2OGw2LjM2NzkyNSA0LjI0OTI5Mi00LjI0NTI4NC0zNS4wNTY2NTctOC40OTA1NjUtNS4zMTE2MTUtNDIuNDUyODMyIDEuMDYyMzIzeiIgZmlsbD0iIzM5MzkzOSIvPjxwYXRoIGQ9Im0xNDIuMjE2OTg0IDUwLjk5MTUwMjIgMjUuNDcxNjk4IDU5LjQ5MDA4NTggMTEuNjc0NTI4IDE3My4xNTg2NDNoNDEuMzkxNTExbDEyLjczNTg0OS0xNzMuMTU4NjQzIDIzLjM0OTA1Ni01OS40OTAwODU4eiIgZmlsbD0iI2Y4OWMzNSIvPjxwYXRoIGQ9Im0zMC43NzgzMDIzIDE4MS42NTcyMjYtMjkuNzE2OTgxNTMgODYuMDQ4MTYxIDc0LjI5MjQ1MzkzLTQuMjQ5MjkzaDQ3Ljc1OTQzNDN2LTM3LjE4MTMwM2wtMi4xMjI2NDEtNzYuNDg3MjUzLTEwLjYxMzIwOCA4LjQ5ODU4M3oiIGZpbGw9IiNmODlkMzUiLz48cGF0aCBkPSJtODcuMDI4MzAzMiAxOTEuMjE4MTM0IDg3LjAyODMwMjggMi4xMjQ2NDYtOS41NTE4ODYgNDQuNjE3NTYzLTQxLjM5MTUxMS0xMC42MjMyMjl6IiBmaWxsPSIjZDg3YzMwIi8+PHBhdGggZD0ibTg3LjAyODMwMzIgMTkyLjI4MDQ1NyAzNi4wODQ5MDU4IDMzLjk5NDMzNHYzMy45OTQzMzR6IiBmaWxsPSIjZWE4ZDNhIi8+PHBhdGggZD0ibTEyMy4xMTMyMDkgMjI3LjMzNzExNCA0Mi40NTI4MzEgMTAuNjIzMjI5IDEzLjc5NzE3IDQ1LjY3OTg4OC05LjU1MTg4NiA1LjMxMTYxNS00Ni42OTgxMTUtMjcuNjIwMzk4eiIgZmlsbD0iI2Y4OWQzNSIvPjxwYXRoIGQ9Im0xMjMuMTEzMjA5IDI2MS4zMzE0NDgtOC40OTA1NjUgNjUuODY0MDI0IDU2LjI1LTM5LjMwNTk0OXoiIGZpbGw9IiNlYjhmMzUiLz48cGF0aCBkPSJtMTc0LjA1NjYwNiAxOTMuMzQyNzggNS4zMDY2MDQgOTAuMjk3NDUxLTE1LjkxOTgxMi00Ni4yMTEwNDl6IiBmaWxsPSIjZWE4ZTNhIi8+PHBhdGggZD0ibTc0LjI5MjQ1MzkgMjYyLjM5Mzc3MSA0OC44MjA3NTUxLTEuMDYyMzIzLTguNDkwNTY1IDY1Ljg2NDAyNHoiIGZpbGw9IiNkODdjMzAiLz48cGF0aCBkPSJtMjQuNDEwMzc3NyAzNTUuODc4MTkzIDkwLjIxMjI2NjMtMjguNjgyNzIxLTQwLjMzMDE5MDEtNjQuODAxNzAxLTczLjIzMTEzMzEzIDUuMzExNjE2eiIgZmlsbD0iI2ViOGYzNSIvPjxwYXRoIGQ9Im0xNjcuNjg4NjgyIDExMC40ODE1ODgtNDUuNjM2NzkzIDM4LjI0MzYyNy0zNS4wMjM1ODU4IDQyLjQ5MjkxOSA4Ny4wMjgzMDI4IDMuMTg2OTY5eiIgZmlsbD0iI2U4ODIxZSIvPjxwYXRoIGQ9Im0xMTQuNjIyNjQ0IDMyNy4xOTU0NzIgNTYuMjUtMzkuMzA1OTQ5LTQuMjQ1MjgzIDMzLjk5NDMzNHYxOS4xMjE4MTNsLTM4LjIwNzU0OC03LjQzNjI2eiIgZmlsbD0iI2RmY2VjMyIvPjxwYXRoIGQ9Im0yMjkuMjQ1Mjg2IDMyNy4xOTU0NzIgNTUuMTg4NjgtMzkuMzA1OTQ5LTQuMjQ1MjgzIDMzLjk5NDMzNHYxOS4xMjE4MTNsLTM4LjIwNzU0OC03LjQzNjI2eiIgZmlsbD0iI2RmY2VjMyIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgNTEzLjY3OTI1MiAwKSIvPjxwYXRoIGQ9Im0xMzIuNjY1MDk2IDIxMi40NjQ1OTMtMTEuNjc0NTI4IDI0LjQzMzQyNyA0MS4zOTE1MS0xMC42MjMyMjl6IiBmaWxsPSIjMzkzOTM5IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSAyODMuMzcyNjQ2IDApIi8+PHBhdGggZD0ibTIzLjM0OTA1NyAxLjA2MjMyMjk2IDE0NC4zMzk2MjUgMTA5LjQxOTI2NTA0LTI0LjQxMDM3OC01OS40OTAwODU4eiIgZmlsbD0iI2U4OGYzNSIvPjxwYXRoIGQ9Im0yMy4zNDkwNTcgMS4wNjIzMjI5Ni0xOS4xMDM3NzM5MiA1OC40Mjc3NjI5NCAxMC42MTMyMDc3MiA2My43MzkzNzgxLTcuNDI5MjQ1NDEgNC4yNDkyOTIgMTAuNjEzMjA3NzEgOS41NjA5MDYtOC40OTA1NjYxNyA3LjQzNjI2MSAxMS42NzQ1Mjg0NyAxMC42MjMyMjktNy40MjkyNDU0IDYuMzczOTM4IDE2Ljk4MTEzMjMgMjEuMjQ2NDU5IDc5LjU5OTA1NzctMjQuNDMzNDI4YzM4LjkxNTA5Ni0zMS4xNjE0NzMgNTguMDE4ODY5LTQ3LjA5NjMxOCA1Ny4zMTEzMjItNDcuODA0NTMzLS43MDc1NDgtLjcwODIxNS00OC44MjA3NTYtMzcuMTgxMzAzNi0xNDQuMzM5NjI1LTEwOS40MTkyNjUwNHoiIGZpbGw9IiM4ZTVhMzAiLz48ZyB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSAzOTkuMDU2NjExIDApIj48cGF0aCBkPSJtMzAuNzc4MzAyMyAxODEuNjU3MjI2LTI5LjcxNjk4MTUzIDg2LjA0ODE2MSA3NC4yOTI0NTM5My00LjI0OTI5M2g0Ny43NTk0MzQzdi0zNy4xODEzMDNsLTIuMTIyNjQxLTc2LjQ4NzI1My0xMC42MTMyMDggOC40OTg1ODN6IiBmaWxsPSIjZjg5ZDM1Ii8+PHBhdGggZD0ibTg3LjAyODMwMzIgMTkxLjIxODEzNCA4Ny4wMjgzMDI4IDIuMTI0NjQ2LTkuNTUxODg2IDQ0LjYxNzU2My00MS4zOTE1MTEtMTAuNjIzMjI5eiIgZmlsbD0iI2Q4N2MzMCIvPjxwYXRoIGQ9Im04Ny4wMjgzMDMyIDE5Mi4yODA0NTcgMzYuMDg0OTA1OCAzMy45OTQzMzR2MzMuOTk0MzM0eiIgZmlsbD0iI2VhOGQzYSIvPjxwYXRoIGQ9Im0xMjMuMTEzMjA5IDIyNy4zMzcxMTQgNDIuNDUyODMxIDEwLjYyMzIyOSAxMy43OTcxNyA0NS42Nzk4ODgtOS41NTE4ODYgNS4zMTE2MTUtNDYuNjk4MTE1LTI3LjYyMDM5OHoiIGZpbGw9IiNmODlkMzUiLz48cGF0aCBkPSJtMTIzLjExMzIwOSAyNjEuMzMxNDQ4LTguNDkwNTY1IDY1Ljg2NDAyNCA1NS4xODg2OC0zOC4yNDM2MjZ6IiBmaWxsPSIjZWI4ZjM1Ii8+PHBhdGggZD0ibTE3NC4wNTY2MDYgMTkzLjM0Mjc4IDUuMzA2NjA0IDkwLjI5NzQ1MS0xNS45MTk4MTItNDYuMjExMDQ5eiIgZmlsbD0iI2VhOGUzYSIvPjxwYXRoIGQ9Im03NC4yOTI0NTM5IDI2Mi4zOTM3NzEgNDguODIwNzU1MS0xLjA2MjMyMy04LjQ5MDU2NSA2NS44NjQwMjR6IiBmaWxsPSIjZDg3YzMwIi8+PHBhdGggZD0ibTI0LjQxMDM3NzcgMzU1Ljg3ODE5MyA5MC4yMTIyNjYzLTI4LjY4MjcyMS00MC4zMzAxOTAxLTY0LjgwMTcwMS03My4yMzExMzMxMyA1LjMxMTYxNnoiIGZpbGw9IiNlYjhmMzUiLz48cGF0aCBkPSJtMTY3LjY4ODY4MiAxMTAuNDgxNTg4LTQ1LjYzNjc5MyAzOC4yNDM2MjctMzUuMDIzNTg1OCA0Mi40OTI5MTkgODcuMDI4MzAyOCAzLjE4Njk2OXoiIGZpbGw9IiNlODgyMWUiLz48cGF0aCBkPSJtMTMyLjY2NTA5NiAyMTIuNDY0NTkzLTExLjY3NDUyOCAyNC40MzM0MjcgNDEuMzkxNTEtMTAuNjIzMjI5eiIgZmlsbD0iIzM5MzkzOSIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgMjgzLjM3MjY0NiAwKSIvPjxwYXRoIGQ9Im0yMy4zNDkwNTcgMS4wNjIzMjI5NiAxNDQuMzM5NjI1IDEwOS40MTkyNjUwNC0yNC40MTAzNzgtNTkuNDkwMDg1OHoiIGZpbGw9IiNlODhmMzUiLz48cGF0aCBkPSJtMjMuMzQ5MDU3IDEuMDYyMzIyOTYtMTkuMTAzNzczOTIgNTguNDI3NzYyOTQgMTAuNjEzMjA3NzIgNjMuNzM5Mzc4MS03LjQyOTI0NTQxIDQuMjQ5MjkyIDEwLjYxMzIwNzcxIDkuNTYwOTA2LTguNDkwNTY2MTcgNy40MzYyNjEgMTEuNjc0NTI4NDcgMTAuNjIzMjI5LTcuNDI5MjQ1NCA2LjM3MzkzOCAxNi45ODExMzIzIDIxLjI0NjQ1OSA3OS41OTkwNTc3LTI0LjQzMzQyOGMzOC45MTUwOTYtMzEuMTYxNDczIDU4LjAxODg2OS00Ny4wOTYzMTggNTcuMzExMzIyLTQ3LjgwNDUzMy0uNzA3NTQ4LS43MDgyMTUtNDguODIwNzU2LTM3LjE4MTMwMzYtMTQ0LjMzOTYyNS0xMDkuNDE5MjY1MDR6IiBmaWxsPSIjOGU1YTMwIi8+PC9nPjwvZz48L3N2Zz4=" -export const portis = "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzAxLjM4IDQ1NS44NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtNC40NSAyNjIuMTEgMTAuOTMtNC43NSAxMzUuMzEtNTguODIgMTQ2LjI0IDYzLjU3LTU0Ljk1IDExMy40My0xMzQuMzMgMTktMTAxLTEwOXoiIGZpbGw9IiMxMzM0NDQiLz48cGF0aCBkPSJtMjY2LjUxIDE5Mi4xNmExNTAuNDMgMTUwLjQzIDAgMCAwIC05NS44Mi01M3EtMS4yLS4xNy0yLjQtLjNhMTUyLjM2IDE1Mi4zNiAwIDAgMCAtMzUuMiAwcS0xLjIuMTQtMi40LjNhMTUwLjQzIDE1MC40MyAwIDAgMCAtOTUuODIgNTNsLTYuMDggMTAuMDgtMTAuMTMgMTYuNzYtNy40MSAxMi4zMWMtLjE0LjMzLS4yOC42Ny0uNDEgMWwtLjA5LjIzIDE2LjM1IDkuNjcgMTAzLjYgNjEuMjggMjAgMTEuODN2LTE0Ni40N2wtMjAgOS4wOHYtMjEuOTNsMjAtOS4wOSAyMCA5LjA5IDEwMS45IDQ2LjI4eiIgZmlsbD0iI2M0MjM3MCIvPjxwYXRoIGQ9Im0zMDEuMzggMjk4LjU2YzAgNDguNzgtMjMuMTggOTQuNDItNTkuMTIgMTIzLjg0YTE0OS40NSAxNDkuNDUgMCAwIDEgLTQ3LjY0IDI2LjM3IDEzOS41MSAxMzkuNTEgMCAwIDEgLTQzLjkzIDcuMWMtODMuMjIgMC0xNTAuNjktNzQuMDktMTUwLjY5LTE1Ny4zMWExNTAuNDkgMTUwLjQ5IDAgMCAxIDQuNDUtMzYuNDVsMTQ2LjI0IDg2LjUxIDE0Ni4yNC04Ni41MWExNTAuNDkgMTUwLjQ5IDAgMCAxIDQuNDUgMzYuNDV6IiBmaWxsPSIjMWM0ZDZiIi8+PHBhdGggZD0ibTEzMy4wOSAxMzguODkgMTcuNiA3Ljk5LTIwIDkuMDl2LTE4LjE3eiIvPjxwYXRoIGQ9Im0xMzAuNjkgMTc3LjkzIDIwLTkuMDh2MTQ2LjUzbC0yMC0xMS44M3oiLz48cGF0aCBkPSJtMTUwLjY5IDE2OC44NXYxNDYuNTNsMTQwLjEzLTgyLjg5eiIgZmlsbD0iIzFkNDI1OSIvPjxwYXRoIGQ9Im0xNTAuNjkgMHYxNjguODVsMTQwLjEzIDYzLjY0eiIgZmlsbD0iIzRiNmI5YSIvPjxwYXRoIGQ9Im0xNTAuNjkgMTY4Ljg1djE0Ni41M2wtMjAtMTEuODMtMTE5Ljk1LTcxLS4xOC0uMTEuMjctLjEyYy4xMy0uMzMuMjctLjY3LjQxLTFsMTcuNTMtMjkuMDkgMTAxLjkyLTQ2LjIzdjIyeiIgZmlsbD0iIzM0MzUzNSIvPjxwYXRoIGQ9Im0xNTAuNjkgMTY4Ljg1djE0Ni41M2wtMjAtMTEuODMtMTE5Ljk1LTcwLjk1LS4xOC0uMTEuMjctLjEyIDExOS44Ni01NC40NHoiIGZpbGw9IiMzZTU1NzgiLz48cGF0aCBkPSJtMTUwLjY5IDB2MTY4Ljg1bC0xNDAuMTMgNjMuNjR6IiBmaWxsPSIjNmRiMmQ4Ii8+PGcgZmlsbD0iIzMzNWY4YSI+PHBhdGggZD0ibTk0IDQ0My44NWMyLjA5LjkyIDQuMjEgMS43OSA2LjM0IDIuNjFxLTMuMjYtMS4yMy02LjM0LTIuNjF6Ii8+PHBhdGggZD0ibTEwMC4yOSA0NDYuNDZjMi4xNC44MiA0LjI5IDEuNTkgNi40NyAyLjMxcS0zLjI3LTEuMDctNi40Ny0yLjMxeiIvPjxwYXRoIGQ9Im0xMTIuMzMgNDUwLjQ5YzEuNjYuNDcgMy4zMy45MiA1IDEuMzNxLTIuNTEtLjYyLTUtMS4zM3oiLz48L2c+PHBhdGggZD0ibTQuNDUgMjYyLjExIDE0Ni4yNCA4Ni41MWExNjcuNDggMTY3LjQ4IDAgMCAxIC0xMC40NyAzOC4zOGMtMTEuNyAyOC4yOC0zNS4zNCA1OC4xOS04MS4wOCAzNS40NC0zNS45Ni0yOS40NC01OS4xNC03NS4xLTU5LjE0LTEyMy44OGExNTAuNDkgMTUwLjQ5IDAgMCAxIDQuNDUtMzYuNDV6IiBmaWxsPSIjNmRiMmQ4Ii8+PHBhdGggZD0ibTI0Mi4yNCA0MjIuNDEtLjM2LjI5Yy0uNzYuNjItMS41MiAxLjIzLTIuMjkgMS44M2wtLjIuMTZxLTEuMjUgMS0yLjUyIDEuOTJjLS45MS42OC0xLjgzIDEuMzYtMi43NiAycy0xLjg2IDEuMzEtMi44IDEuOTUtMS42NiAxLjEyLTIuNDkgMS42NmwtLjQ2LjNjLS44OC41Ny0xLjc2IDEuMTMtMi42NCAxLjY3YTIuNjMgMi42MyAwIDAgMSAtLjMzLjJjLS45MS41Ny0xLjgyIDEuMTItMi43NCAxLjY1cy0yIDEuMTUtMyAxLjctMiAxLjA4LTMgMS42bC0uMTEuMDZjLTEgLjUyLTIgMS0zIDEuNTJzLTIgMS0zLjA4IDEuNDktMi4wOCAxLTMuMTIgMS40MmMtMi4wOS45Mi00LjIxIDEuNzktNi4zNCAyLjYxcy00LjI5IDEuNTktNi40NyAyLjMxYy0uODcuMjktMS43NC41Ny0yLjYyLjg0cy0yIC42LTIuOTUuODhjLTEuNjYuNDctMy4zMy45Mi01IDEuMzMtLjYzLjE2LTEuMjcuMzEtMS45MS40NWwtMS4wNy4yNWMtLjg5LjItMS43OC4zOS0yLjY4LjU3cy0xLjY0LjMzLTIuNDcuNDgtMS41MS4yOC0yLjI3LjQtMS42OC4yNy0yLjUyLjM5Yy0uNDEuMDctLjgyLjEzLTEuMjQuMThsLTEuODkuMjUtMS4wNS4xM2MtLjY5LjA5LTEuMzkuMTYtMi4wOS4yMy0uODYuMDktMS43MS4xNy0yLjU3LjI0LS42Ny4wNS0xLjM0LjExLTIgLjE1cy0xLjE2LjA4LTEuNzUuMWgtLjA4Yy0uNjggMC0xLjM2LjA4LTIgLjEtLjk0IDAtMS44OS4wNy0yLjg0LjA5cy0xLjkgMC0yLjg2IDAtMS45MSAwLTIuODYgMC0xLjkgMC0yLjg0LS4wOWMtLjY5IDAtMS4zNy0uMDYtMi4wNS0uMWgtLjA4Yy0uNTkgMC0xLjE3LS4wNi0xLjc1LS4xcy0xLjM0LS4xLTItLjE1Yy0uODYtLjA3LTEuNzEtLjE1LTIuNTctLjI0LS43LS4wNy0xLjQtLjE0LTIuMDktLjIzbC0xLS4xM2MtLjYzLS4wNy0xLjI2LS4xNi0xLjg5LS4yNS0uNDIgMC0uODMtLjExLTEuMjQtLjE4cS0xLjI3LS4xOC0yLjUyLS4zOWMtLjc2LS4xMi0xLjUyLS4yNi0yLjI3LS40cy0xLjY1LS4zMS0yLjQ3LS40OC0xLjc5LS4zNy0yLjY4LS41N2wtMS4wNy0uMjVjLS42NC0uMTQtMS4yOC0uMjktMS45MS0uNDUtMS42OC0uNDEtMy4zNS0uODYtNS0xLjMzbC0zLS44OGMtLjg4LS4yNy0xLjc1LS41NS0yLjYyLS44NC0yLjE4LS43Mi00LjMzLTEuNDktNi40Ny0yLjMxcy00LjI5LTEuNjctNi4yOS0yLjU5Yy0xLS40Ni0yLjA4LS45NC0zLjEyLTEuNDJzLTIuMDYtMS0zLjA4LTEuNDktMi0xLTMtMS41MmwtLjExLS4wNmMtMS0uNTItMi0xLjA2LTMtMS42cy0yLTEuMTItMy0xLjctMS43OS0xLjA2LTIuNjktMS42NWwtLjMzLS4yYy0uODgtLjU0LTEuNzYtMS4xLTIuNjQtMS42N2wtLjQ2LS4zYy0uODMtLjU0LTEuNjctMS4xLTIuNDktMS42NnMtMS44OC0xLjI5LTIuOC0xLjk1LTEuODUtMS4zNC0yLjc2LTItMS42OS0xLjI3LTIuNTItMS45MmwtLjItLjE2Yy0uNzctLjYtMS41My0xLjIxLTIuMjktMS44M2wtLjM2LS4yOWM0NS43NCAyMi43NSA2OS4zOC03LjE2IDgxLjA4LTM1LjQ0YTE2Ny40OCAxNjcuNDggMCAwIDAgMTAuNDctMzguMzUgMTY3LjQ3IDE2Ny40NyAwIDAgMCAxMC40NiAzOC4zNmMxMS43IDI4LjI1IDM1LjM0IDU4LjE2IDgxLjA4IDM1LjQxeiIgZmlsbD0iIzUyOWJiYSIvPjxwYXRoIGQ9Im0xODQgNDUxLjgyYzEuNjgtLjQxIDMuMzUtLjg2IDUtMS4zM3EtMi40NC43Mi01IDEuMzN6IiBmaWxsPSIjMzM1ZjhhIi8+PHBhdGggZD0ibTE5NC42MiA0NDguNzdjMi4xOC0uNzIgNC4zMy0xLjQ5IDYuNDctMi4zMXEtMy4xOSAxLjI0LTYuNDcgMi4zMXoiIGZpbGw9IiMzMzVmOGEiLz48cGF0aCBkPSJtMjAxLjA5IDQ0Ni40NmMyLjEzLS44MiA0LjI1LTEuNjkgNi4zNC0yLjYxcS0zLjEzIDEuMzgtNi4zNCAyLjYxeiIgZmlsbD0iIzMzNWY4YSIvPjxwYXRoIGQ9Im0zMDEuMzggMjk4LjU2YzAgNDguNzgtMjMuMTkgOTQuNDMtNTkuMTQgMTIzLjg1LTQ1Ljc0IDIyLjc1LTY5LjM4LTcuMTYtODEuMDgtMzUuNDRhMTY3LjQ3IDE2Ny40NyAwIDAgMSAtMTAuNDctMzguMzVsMTQ2LjI0LTg2LjUxYTE1MC40OSAxNTAuNDkgMCAwIDEgNC40NSAzNi40NXoiIGZpbGw9IiM0YjZiOWEiLz48L3N2Zz4=" -export const authereum = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iNTk2LjAwMDAwMHB0IiBoZWlnaHQ9IjU5Ni4wMDAwMDBwdCIgdmlld0JveD0iMCAwIDU5Ni4wMDAwMDAgNTk2LjAwMDAwMCIKIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgo8bWV0YWRhdGE+CkNyZWF0ZWQgYnkgcG90cmFjZSAxLjE1LCB3cml0dGVuIGJ5IFBldGVyIFNlbGluZ2VyIDIwMDEtMjAxNwo8L21ldGFkYXRhPgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCw1OTYuMDAwMDAwKSBzY2FsZSgwLjEwMDAwMCwtMC4xMDAwMDApIgpmaWxsPSIjRkY0QzJGIiBzdHJva2U9Im5vbmUiPgo8cGF0aCBkPSJNMTg3MCA0OTY0IGMtMzAwIC05NiAtNjAyIC0xOTIgLTY3MyAtMjE0IGwtMTI3IC00MSAwIC04ODIgYzAgLTUyOAo0IC05MjYgMTAgLTk5MiA0NCAtNDYyIDI0NCAtOTAwIDU3OCAtMTI2NCA3NiAtODMgMTI4MiAtMTEzNCAxMzE2IC0xMTQ3IDE0Ci01IDEwNzQgODk5IDEyNDggMTA2NSAzMDIgMjg3IDUzOCA3MDcgNjIyIDExMDkgNDQgMjEyIDQ3IDI5MSA0NCAxMjMxIGwtMwo4ODQgLTY3OSAyMTQgYy0zNzMgMTE3IC02ODAgMjEyIC02ODIgMjExIC0xIC0yIDU1IC0xMTMgMTI2IC0yNDggbDEyOSAtMjQ1CjE5MyAtNjIgYzEwNiAtMzQgMjY2IC04NSAzNTYgLTExMyBsMTYzIC01MSAtNCAtODEyIGMtMyAtNzgwIC00IC04MTYgLTI0Ci05MDcgLTc2IC0zNDMgLTIzMyAtNjM0IC00NzQgLTg4MCAtNDYgLTQ3IC0yODAgLTI1NCAtNTE5IC00NTkgLTIzOSAtMjA2Ci00NDcgLTM4NSAtNDYyIC0zOTkgbC0yNiAtMjQgLTQ1OSAzOTUgYy01NjEgNDg0IC02NDUgNTY2IC03NzkgNzcyIC0xMDMgMTU5Ci0xNzkgMzMwIC0yMjUgNTA3IC00NSAxODAgLTQ5IDI0NyAtNDkgMTA0OSBsMCA3NTcgMTQzIDQ1IGM3OCAyNSAyMzggNzYgMzU1CjExMyAxMTYgMzcgMjEyIDcxIDIxMiA3NCAwIDMgNTYgMTEzIDEyNSAyNDQgNjkgMTMyIDEyNSAyNDEgMTI1IDI0MyAwIDYgLTEyCjIgLTU2MCAtMTczeiIvPgo8cGF0aCBkPSJNMjk1NCA1MTA4IGMtOSAtMTggLTI2MSAtNDk5IC01NTkgLTEwNjggbC01NDIgLTEwMzUgOCAtODQgYzE4IC0xNzIKODIgLTM1NCAxODYgLTUxOSAzNyAtNjAgNDggLTcxIDU4IC02MCA2IDcgMjA0IDM4MSA0NDAgODMxIDIzNSA0NDkgNDMwIDgxNwo0MzQgODE3IDMgMCAyMDEgLTM2NCA0MzkgLTgwOCAyMzggLTQ0NCA0MzcgLTgxNSA0NDMgLTgyNSAxMCAtMTcgMTIgLTE2IDI4IDUKMTAzIDEzNSAxODggMzU4IDIxMiA1NTUgbDEyIDEwMCAtNTY4IDEwNTkgYy0zMTIgNTgyIC01NjkgMTA2MSAtNTcxIDEwNjIgLTEKMiAtMTAgLTExIC0yMCAtMzB6Ii8+CjxwYXRoIGQ9Ik0yNzAwIDI1NjEgbC0yNzUgLTU0OSAxNTUgLTEzNSBjODUgLTc0IDIxMCAtMTgxIDI3NyAtMjM3IGwxMjMgLTEwMgoyNyAyMiBjMTYgMTIgMTM5IDExOSAyNzQgMjM4IGwyNDcgMjE2IC0yNzQgNTQ4IGMtMTUxIDMwMSAtMjc1IDU0OCAtMjc3IDU0OAotMSAwIC0xMjYgLTI0NyAtMjc3IC01NDl6Ii8+CjwvZz4KPC9zdmc+Cg==" -export const fortmatic = "data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjYzIiB2aWV3Qm94PSIwIDAgNjMgNjMiIHdpZHRoPSI2MyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0zMS42MzkzLjk4NDM3NWgxNS4zMjc0IDE1LjMyNzV2MTUuMjk5MDI1aC0xNS4zMjc1LTE1LjMyNzQtMTUuMzI3NXYxNS4yOTg5Ljk4MSAxNC4yMjg5LjA4OTEgMTUuMjA5OWgtMTUuMzI3NDI1di0xNS4yMDk5LS4wODkxLTE0LjIyODktLjk4MS0xNS4yOTg5LTE1LjI5OTAyNWgxNS4zMjc0MjV6bTE1LjMyNzQgNDUuODA4MzI1aC0xNS4yMzgxdi0xNS4yMDk4aDMwLjU1NjZ2MTUuNzQ0OWMwIDMuOTE0LTEuNTU3MSA3LjY2OC00LjMyOTEgMTAuNDM2NXMtNi41MzE5IDQuMzI1LTEwLjQ1MzMgNC4zMjc0aC0uNTM2MXoiIGZpbGw9IiM2MTdiZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==" \ No newline at end of file +export const Authereum = ` + + + +Created by potrace 1.15, written by Peter Selinger 2001-2017 + + + + + + +` +export const Fortmatic = `` +export const Portis = `` +export const MetaMask = `` +export const WalletConnect = `` + +export const Loading = ` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +` + +export const Logo = ` + + + + + +` + +export const EmptyFavicon = ` + + + + +` + +export const Wallet = ` + + + + + + + + + +` \ No newline at end of file diff --git a/iframe/html/3IDConnect/index.js b/iframe/html/3IDConnect/index.js index dc467f2..418f544 100644 --- a/iframe/html/3IDConnect/index.js +++ b/iframe/html/3IDConnect/index.js @@ -14,22 +14,22 @@ const providerSelect = () => `

-
+
Metamask
-
+
Fortmatic
-
+
Portis
-
+
Authereum
diff --git a/iframe/html/3IDConnect/providerSelect.js b/iframe/html/3IDConnect/providerSelect.js index 2ac5a97..96ae963 100644 --- a/iframe/html/3IDConnect/providerSelect.js +++ b/iframe/html/3IDConnect/providerSelect.js @@ -5,38 +5,50 @@ const providerSelect = (data) => `
-
-
${getProvider(data.request.opts.address) || 'Choose wallet'}
+
+ ${getProviderDisplayImage(data.request.opts.address)} +
+ +
+ ${getProviderDisplayName(data.request.opts.address) || `Choose wallet`}
- ${data.error ? error(data) : ``} -
-
- +
+
+ ${assets.MetaMask} +
Metamask
-
- +
+
+ ${assets.Fortmatic} +
Fortmatic
-
- +
+
+ ${assets.Portis} +
Portis
-
- +
+
+ ${assets.Authereum} +
Authereum
-
- -
Wallet Connect
+
+
+ ${assets.WalletConnect} +
+
WalletConnect
@@ -50,8 +62,4 @@ const providerSelect = (data) => `
` -const error = (data) => ` -

${data.error}

-` - -export default providerSelect +export default providerSelect \ No newline at end of file diff --git a/iframe/html/3IDConnect/template.js b/iframe/html/3IDConnect/template.js index 686cacc..02e96c7 100644 --- a/iframe/html/3IDConnect/template.js +++ b/iframe/html/3IDConnect/template.js @@ -1,12 +1,20 @@ const style = require('style-loader!../../style.scss') +const assets = require('./assets/assets.js') const capitalizeFirst = string => string.charAt(0).toUpperCase() + string.slice(1) -const spaceString = (spaces) => spaces.join(', ') +const spaceString = (spaces) => spaces.join(', ') const template = (data, content) => `
- + + ${assets.Logo} +
@@ -16,7 +24,13 @@ const template = (data, content) => `
-
+ +
${data.request.origin} @@ -30,6 +44,7 @@ const template = (data, content) => ` ${capitalizeFirst(data.request.origin)} uses 3ID to give you privacy and control over your data. This app wants to access: ${spaceString(data.request.spaces)}.

+ ${data.error ? error(data) : ``}
@@ -41,3 +56,7 @@ const template = (data, content) => `
` export default template + +const error = (data) => ` +

${data.error}

+` \ No newline at end of file diff --git a/iframe/index.js b/iframe/index.js index 81ca669..6ca8945 100644 --- a/iframe/index.js +++ b/iframe/index.js @@ -3,6 +3,8 @@ const ThreeIdConnectService = require('./../src/threeIdConnectService.js').defau const web3Modal = require('./provider').default const store = require('store') +const assets = require('./html/3IDConnect/assets/assets.js') + store.remove('error') /** @@ -21,13 +23,31 @@ const handleOpenWalletOptions = (isOpen) => { } window.handleOpenWalletOptions = handleOpenWalletOptions; -window.providerNameFunc = (provider, address) => { - selectedWallet.innerHTML = provider +window.providerNameFunc = (provider, address, displayName) => { + selectedWallet.innerHTML = displayName + chosenWallet.innerHTML = assets[displayName]; + store.set(`provider_${address}`, provider) + store.set(`providerName_${address}`, displayName) +} + +window.getProviderDisplayImage = (address) => { + const imageToRender = store.get(`providerName_${address}`); + const image = imageToRender ? assets[imageToRender] : assets.Wallet; + return image; +} + +window.getProviderDisplayName = (address) => { + return store.get(`providerName_${address}`) } window.getProvider = (address) => { - return store.get(`provider_${address}`) + return store.get(`provider_${address}`) +} + +window.handleBrokenImage = (image) => { + image.onerror = ""; + document.getElementById("siteFavicon").style.display = 'none'; } // Given a request will render UI module templates @@ -54,6 +74,8 @@ const getConsent = async (req) => { const result = await new Promise((resolve, reject) => { accept.addEventListener('click', () => { + accept.innerHTML = `Approve in wallet ${assets.Loading}`; + document.getElementById("accept").style.opacity = .5; resolve(true) }) decline.addEventListener('click', () => { @@ -80,9 +102,11 @@ window.hideIframe = () => { if (closecallback) closecallback() } -const closing = (cb) => { closecallback = cb } +const closing = (cb) => { + closecallback = cb +} idwService.start(web3Modal, getConsent, errorCb, closing) // For testing, uncomment one line to see static view -render(JSON.parse(`{"type":"authenticate","origin":"dashboard.3box.io","spaces":["metamask", "3Box", "thingspace"], "opts": { "address": "0x9acb0539f2ea0c258ac43620dd03ef01f676a69b"}}`)) +render(JSON.parse(`{"type":"authenticate","origin":"localhost:30001","spaces":["metamask", "3Box", "thingspace"], "opts": { "address": "0x9acb0539f2ea0c258ac43620dd03ef01f676a69b"}}`)) \ No newline at end of file diff --git a/iframe/style.scss b/iframe/style.scss index abe421a..1a0fd45 100644 --- a/iframe/style.scss +++ b/iframe/style.scss @@ -10,11 +10,6 @@ font-style: normal; } -@font-face { - font-family: 'Marcher'; - src: url('./html/3IDConnect/assets/MarcherBold.woff') format('woff'); -} - h1, h2, h3, @@ -22,7 +17,7 @@ h4, h5, h6, button { - font-family: 'Marcher'; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } h1, @@ -44,11 +39,23 @@ button { width: 100%; height: 40px; border-radius: $radius; + font-weight: 700; + display: flex; + justify-content: center; + align-items: center; +} + +button { + svg { + width: 24px; + height: 24px; + margin-left: 6px; + } } .card { width: 420px; - height: 545px; + height: 565px; border: 1px solid $borderColor; border-radius: $radius; display: flex; @@ -60,7 +67,7 @@ button { .content { width: 100%; - padding-top: 25px; + padding-top: 45px; } .controls { @@ -81,12 +88,24 @@ button { } .controls_logo { - height: 24px; - opacity: .3; + display: flex; + justify-content: flex-start; + align-items: center; + + svg { + height: 24px; + width: 24px; + opacity: .3; + cursor: pointer; + // transition: $transition; + + &:hover { + opacity: 1; + } + } } .close { - float: right; padding: 10px; display: flex; justify-content: center; @@ -94,6 +113,10 @@ button { &:hover { cursor: pointer; + + .close_line { + background-color: $threeBoxBlack; + } } .close_line { @@ -119,6 +142,14 @@ button { } .headerLogo { + width: 50px; + height: 50px; + border-radius: $radius; + background-color: transparent; + box-shadow: $dropShadow; +} + +.headerLogo_empty { width: 50px; height: 50px; border-radius: $radius; @@ -130,12 +161,13 @@ button { color: $threeBoxRed; position: absolute; left: 0; - top: 52px; - font-size: 10px; + bottom: -38px; + font-size: 12px; + line-height: 14px; } .headerText { - padding: 20px 0px; + padding: 30px 0px; width: 100%; .primary { @@ -143,7 +175,8 @@ button { text-align: center; font-size: 20px; font-weight: 600; - font-family: 'Marcher'; + // font-family: 'Marcher'; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } .sub { @@ -183,7 +216,7 @@ button { .walletSelect { border: 1px solid $borderColor; box-shadow: $dropShadow; - height: 40px; + height: 62px; display: flex; justify-content: space-between; align-items: center; @@ -191,16 +224,27 @@ button { margin-bottom: 36px; border-radius: $radius; cursor: pointer; + padding: 6px; } .walletSelect_content { - margin-left: 12px; + margin-left: 8px; width: 100%; + display: flex; + justify-content: flex-start; + align-items: center; h5 { width: 100%; color: $threeBoxBlue; } + + svg { + margin-right: 12px; + margin-left: 6px; + height: 28px; + width: 30px; + } } .actions { @@ -228,6 +272,8 @@ button { } .subText { + position: relative; + span { color: $threeBoxBlue; } @@ -240,7 +286,7 @@ button { } .promptText { - padding: 15px 45px; + padding: 15px 45px 35px 45px; .primaryText { color: #63686d; @@ -309,20 +355,30 @@ button { } .providerText { - padding-left: 15px; font-weight: 500; } + } +} - .providerImage { - background-color: transparent; - width: 40px; - height: 40px; - border-radius: $radius; - object-fit: contain; - } +.providerImage { + display: flex; + justify-content: center; + align-items: center; + + svg { + background-color: transparent; + width: 40px; + height: 40px; + border-radius: $radius; + object-fit: contain; + margin-right: 15px; } } +.providerImageText { + font-size: 18px; +} + .providerBox.open { display: flex; } diff --git a/package-lock.json b/package-lock.json index 254e1cf..2f8387a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,19 +1,184 @@ { - "name": "3box-account", + "name": "3id-connect", "version": "0.0.1", "lockfileVersion": 1, "requires": true, "dependencies": { + "3box": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/3box/-/3box-1.17.1.tgz", + "integrity": "sha512-QDhW0V14P7auvCx+2WlPPJ6B/qji4PiVxVyVtr9sT4aRMx1AYVnCqik3u3uiVPFTTWj09eBXsE8NK+M4pCGfsQ==", + "requires": { + "3box-orbitdb-plugins": "^1.1.0", + "3id-blockchain-utils": "^0.3.2", + "3id-resolver": "^0.0.5", + "@babel/runtime": "^7.4.5", + "@ethersproject/hdnode": "^5.0.0-beta.133", + "@ethersproject/wallet": "^5.0.0-beta.133", + "did-jwt": "^0.2.0", + "events": "^3.0.0", + "graphql-request": "^1.8.2", + "https-did-resolver": "^0.1.0", + "ipfs": "^0.40.0", + "ipfs-did-document": "^1.2.3", + "ipfs-log": "^4.5.4", + "ipfs-mini": "^1.1.5", + "ipfs-postmsg-proxy": "^3.1.1", + "ipfs-pubsub-room": "^1.4.1", + "ipfs-repo": "^0.30.1", + "is-ipfs": "^0.6.3", + "js-sha256": "^0.9.0", + "muport-did-resolver": "^0.3.0", + "node-fetch": "^2.6.0", + "orbit-db": "^0.23.1", + "orbit-db-cache": "^0.3.0", + "orbit-db-identity-provider": "^0.3.0", + "orbit-db-storage-adapter": "^0.5.3", + "store": "^2.0.12", + "tweetnacl": "^1.0.1", + "tweetnacl-util": "^0.15.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", + "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + } + } + }, + "3box-orbitdb-plugins": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/3box-orbitdb-plugins/-/3box-orbitdb-plugins-1.1.0.tgz", + "integrity": "sha512-xQ6BoaHjA3/NncmEH6q2g2+cAz2Kkox4B9MSptcGcUG7uIxCyIPyStRP9AESD5MgIyFtLlhyckgQQ+aAggZ48g==", + "requires": { + "did-jwt": "^0.1.3", + "ipfs-log": "^4.5.4", + "is-ipfs": "^0.6.3", + "orbit-db": "^0.23.1", + "orbit-db-access-controllers": "~0.2.4" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "did-jwt": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-0.1.3.tgz", + "integrity": "sha512-hZvjC4bstxo6bqFIOAlX90LdSaA5uxMdg0zSFCPm2WwIhgHFp4SfVM6f5yq1ebA5/cJzcUr+MclnTrlEiixuiQ==", + "requires": { + "@babel/runtime": "^7.3.1", + "base64url": "^3.0.1", + "buffer": "^5.2.1", + "did-resolver": "0.0.6", + "elliptic": "^6.4.0", + "js-sha256": "^0.9.0", + "js-sha3": "^0.8.0", + "tweetnacl": "^1.0.1", + "tweetnacl-util": "^0.15.0" + } + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + } + } + }, "3id-blockchain-utils": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/3id-blockchain-utils/-/3id-blockchain-utils-0.3.2.tgz", - "integrity": "sha512-5l8aZspimqrJPwJabcbz0fFsCwG0EO3f0A/peB7LPlwCZR0A6gbrwgKVY3NDXi45aaqJFTZ+1PmgLycB+iA/tQ==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/3id-blockchain-utils/-/3id-blockchain-utils-0.3.3.tgz", + "integrity": "sha512-BSufokzlyxM/35lNtSKupZid/v9YodIEYCk2W1TJwQ6SbqiOzZk+05Q0Jh2VKVYDhns/5S+oIcud6G2cEOGxlw==", "requires": { "@ethersproject/contracts": "^5.0.0-beta.140", "@ethersproject/providers": "^5.0.0-beta.144", "@ethersproject/wallet": "^5.0.0-beta.133" } }, + "3id-resolver": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/3id-resolver/-/3id-resolver-0.0.5.tgz", + "integrity": "sha512-4MPIHFEx8D2zd3rshhcSqvD7EEmWS9x/Q55vY+LTiGvEkH0Rf8ZrxFg4NlB5/YWBcocwJNC+04QACr/2TqKTyw==", + "requires": { + "@babel/runtime": "^7.1.2", + "did-jwt": "^0.1.3", + "did-resolver": "0.0.6", + "ipfs-did-document": "^1.2.3" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "did-jwt": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-0.1.3.tgz", + "integrity": "sha512-hZvjC4bstxo6bqFIOAlX90LdSaA5uxMdg0zSFCPm2WwIhgHFp4SfVM6f5yq1ebA5/cJzcUr+MclnTrlEiixuiQ==", + "requires": { + "@babel/runtime": "^7.3.1", + "base64url": "^3.0.1", + "buffer": "^5.2.1", + "did-resolver": "0.0.6", + "elliptic": "^6.4.0", + "js-sha256": "^0.9.0", + "js-sha3": "^0.8.0", + "tweetnacl": "^1.0.1", + "tweetnacl-util": "^0.15.0" + } + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + } + } + }, "@babel/cli": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.2.3.tgz", @@ -901,9 +1066,9 @@ "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" }, "@ethersproject/abi": { - "version": "5.0.0-beta.146", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.0-beta.146.tgz", - "integrity": "sha512-9wn60tZ0rLGTlHnrD2V58i+bo+UvWytSCuI506ytqfwYauPI9gSkd3IPQI8Li61J1albZa4qtM37W5QlP0B7Eg==", + "version": "5.0.0-beta.149", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.0-beta.149.tgz", + "integrity": "sha512-7Zupwu7sHFebkOEonXeWd0nSO16/71YChRYaWUmgq5TcNpCGeFQLia8Esr6QZV6+5JZgNtzenEvsEevlZPvU8g==", "requires": { "@ethersproject/address": ">=5.0.0-beta.128", "@ethersproject/bignumber": ">=5.0.0-beta.130", @@ -917,9 +1082,9 @@ } }, "@ethersproject/abstract-provider": { - "version": "5.0.0-beta.138", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.0-beta.138.tgz", - "integrity": "sha512-bIEBUMm62TxTF+zHOUHPfMQLf3gvN5cVR1Gyv5/LVuDz3UESgFTBHBpFLHPlW2/RLHDo7K0jx16a38vs6/r2gQ==", + "version": "5.0.0-beta.139", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.0-beta.139.tgz", + "integrity": "sha512-cK/7qj0bIG3Dd7xD9q+6ztXr+WXw/i2MglFLC3GadhjFr5YhdcD1rPkD5nU7H0o2BoL/jkvLJL6FYOZyCDS0Nw==", "requires": { "@ethersproject/bignumber": ">=5.0.0-beta.130", "@ethersproject/bytes": ">=5.0.0-beta.129", @@ -931,9 +1096,9 @@ } }, "@ethersproject/abstract-signer": { - "version": "5.0.0-beta.140", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.0-beta.140.tgz", - "integrity": "sha512-fROSxYPhtXqxK1y6/mJMpCUcjfUzCSuqNfACcPy2pwoOHMz1hsqS7m7HOEXy0HGAsQPw4fVuo4fywfA+Q62kmQ==", + "version": "5.0.0-beta.141", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.0-beta.141.tgz", + "integrity": "sha512-94ldEV+H2BI00lBEWKf0HlX7IrbMcPPFYbSnj2f1/cqB2y8RNttEe0gR39ALrCUeqY+ceLnKxIz2tOY9sllMFw==", "requires": { "@ethersproject/abstract-provider": ">=5.0.0-beta.131", "@ethersproject/bignumber": ">=5.0.0-beta.130", @@ -1000,9 +1165,9 @@ } }, "@ethersproject/contracts": { - "version": "5.0.0-beta.144", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.0.0-beta.144.tgz", - "integrity": "sha512-8SZCRwVX+4Ov9n57OAyYfqGkcOQib5exIUa0wzYxDy/C9vUcAHMPyD8H39/hSx5QQVR9XU9ANCKyXaUPrOa0sA==", + "version": "5.0.0-beta.146", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.0.0-beta.146.tgz", + "integrity": "sha512-YvyB29V9zzBJOk2+vWjdD6qldRVF9KLhs5FjoiAJV7Ix00LR2CE+0rH9AW5I+PoQxodwxLPOuAHFDh5ReaPkwA==", "requires": { "@ethersproject/abi": ">=5.0.0-beta.137", "@ethersproject/abstract-provider": ">=5.0.0-beta.131", @@ -1028,9 +1193,9 @@ } }, "@ethersproject/hdnode": { - "version": "5.0.0-beta.137", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.0.0-beta.137.tgz", - "integrity": "sha512-TDe57vm/tndbaSKi/NRgC0uAp4uVr60LurTAw+u6mG5ihZg9mlYgr15GxOXWTRiJfa3V3kQD8VsTpzlNMYHViw==", + "version": "5.0.0-beta.138", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.0.0-beta.138.tgz", + "integrity": "sha512-Wzpl1QmCdslGyWkxFgLTGhbGz8ABSGucoRQb+HmB0cZ0RwP87jd0NMTIGu4oYopkTzU06m+Fyyg80buSupIqgA==", "requires": { "@ethersproject/abstract-signer": ">=5.0.0-beta.132", "@ethersproject/basex": ">=5.0.0-beta.127", @@ -1047,9 +1212,9 @@ } }, "@ethersproject/json-wallets": { - "version": "5.0.0-beta.136", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.0.0-beta.136.tgz", - "integrity": "sha512-hO10rNY+m39lTjP6TWb91+rGx1flsde/LP5Ajx/mXeBwx2pLm8dWAv7h7XdymCeUvFgwVdDx2jAskm+9u1AN1Q==", + "version": "5.0.0-beta.137", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.0.0-beta.137.tgz", + "integrity": "sha512-fPCCQNBS/ph5/4Wh5qWnyOST6q1nqa2R+QzY2e/k/AeQ1RgEhaFABZbj41dfgfajk15TD44wKVkXzzrarFKDWA==", "requires": { "@ethersproject/abstract-signer": ">=5.0.0-beta.132", "@ethersproject/address": ">=5.0.0-beta.128", @@ -1114,9 +1279,9 @@ } }, "@ethersproject/providers": { - "version": "5.0.0-beta.154", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.0.0-beta.154.tgz", - "integrity": "sha512-ienwhs1d429fc3IgEXKG5yInTdqVFuIOKitTXgAJY2Q2Nw90/PUre5G43OWSNnT6Lawq/dC1ju5eroNmiPe8QQ==", + "version": "5.0.0-beta.160", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.0.0-beta.160.tgz", + "integrity": "sha512-ci3fd65qhtpiD+iTRYNkymOYEdvAJ6ijPlZHscDQA8xtFe8FosbFrqRj0dgD5WbzswDaQRPNh6epny3Q+ULh7w==", "requires": { "@ethersproject/abstract-provider": ">=5.0.0-beta.131", "@ethersproject/abstract-signer": ">=5.0.0-beta.132", @@ -1132,7 +1297,15 @@ "@ethersproject/rlp": ">=5.0.0-beta.126", "@ethersproject/strings": ">=5.0.0-beta.130", "@ethersproject/transactions": ">=5.0.0-beta.128", - "@ethersproject/web": ">=5.0.0-beta.129" + "@ethersproject/web": ">=5.0.0-beta.129", + "ws": "7.2.3" + }, + "dependencies": { + "ws": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", + "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==" + } } }, "@ethersproject/random": { @@ -1216,9 +1389,9 @@ } }, "@ethersproject/wallet": { - "version": "5.0.0-beta.137", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.0.0-beta.137.tgz", - "integrity": "sha512-L5Ms3Rdq5LYpTHXRqZ17rdIKlbVlRUbncHtp1bMa+W7VGZJoQEWSLXtqN+q0u6Lx+w2Cg1sHvXqL+i66TRhDkw==", + "version": "5.0.0-beta.139", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.0.0-beta.139.tgz", + "integrity": "sha512-zpcB/ooB9Ts+Qq7PWvFd71qaogBYuOzgQ3oB9WRmxag/MDyu7l6OccG/WG7PoGWIOCyUKF7B/Z5kIIL6uEaRaA==", "requires": { "@ethersproject/abstract-provider": ">=5.0.0-beta.131", "@ethersproject/abstract-signer": ">=5.0.0-beta.132", @@ -1456,6 +1629,16 @@ } } }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" + }, + "@stablelib/utf8": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@stablelib/utf8/-/utf8-0.10.1.tgz", + "integrity": "sha512-+uM1YZ4MhBC82vt99prF7DXNGqhYmJ9cQ3p5qNowMNkkzn9OWEkqBvguBW3ChAt7JvqZ3SD5HJOfc6YgnfMTHw==" + }, "@types/bn.js": { "version": "4.11.6", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", @@ -1725,6 +1908,14 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, "abstract-leveldown": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", @@ -1756,6 +1947,22 @@ "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "dependencies": { + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + } + } + }, "ajv": { "version": "6.10.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", @@ -1798,7 +2005,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -1849,6 +2055,11 @@ "sprintf-js": "~1.0.2" } }, + "argsarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/argsarray/-/argsarray-0.0.1.tgz", + "integrity": "sha1-bnIHtOzbObCviDA/pa4ivajfYcs=" + }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -1893,6 +2104,11 @@ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" }, + "asmcrypto.js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", + "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" + }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -1999,6 +2215,11 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -2984,13 +3205,18 @@ } }, "base-x": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.4.tgz", - "integrity": "sha512-UYOadoSIkEI/VrRGSG6qp93rp2WdokiAiNYDfGW5qURAY8GiAQkvMbwNNSDYiVJopqv4gCna7xqf4rrNGp+5AA==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", + "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", "requires": { "safe-buffer": "^5.0.1" } }, + "base32.js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base32.js/-/base32.js-0.1.0.tgz", + "integrity": "sha1-tYLexpPC8R6JPPBk7mrFthMaIgI=" + }, "base64-js": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", @@ -3074,15 +3300,38 @@ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, "borc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.1.tgz", - "integrity": "sha512-vPLLC2/gS0QN4O3cnPh+8jLshkMMD4qIfs+B1TPGPh30WrtcfItaO6j4k9alsqu/hIgKi8dVdmMvTcbq4tIF7A==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.2.tgz", + "integrity": "sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==", "requires": { "bignumber.js": "^9.0.0", + "buffer": "^5.5.0", "commander": "^2.15.0", - "ieee754": "^1.1.8", - "iso-url": "~0.4.4", - "json-text-sequence": "~0.1.0" + "ieee754": "^1.1.13", + "iso-url": "~0.4.7", + "json-text-sequence": "~0.1.0", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "brace-expansion": { @@ -3270,6 +3519,11 @@ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, "cacache": { "version": "11.3.2", "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", @@ -3309,6 +3563,11 @@ "unset-value": "^1.0.0" } }, + "callbackify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/callbackify/-/callbackify-1.1.0.tgz", + "integrity": "sha1-0qNphtKKppcUUmwREgm+65l50x4=" + }, "caller-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", @@ -3327,8 +3586,7 @@ "camelcase": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.0.tgz", - "integrity": "sha512-Y05ICatFYPAfykDIB7VdwSJ0LUl1yq/BwO2OpyGGLjiRe1fgzTwVypPiWnzkGFOVFHXrCXUNBl86bpjBhZWSJg==", - "dev": true + "integrity": "sha512-Y05ICatFYPAfykDIB7VdwSJ0LUl1yq/BwO2OpyGGLjiRe1fgzTwVypPiWnzkGFOVFHXrCXUNBl86bpjBhZWSJg==" }, "camelcase-keys": { "version": "4.2.0", @@ -3366,7 +3624,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -3423,14 +3680,35 @@ } }, "cids": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.3.tgz", - "integrity": "sha512-V0xa0oFIH1GGsGE4vaTsAgiTkrZw3wUVOTAVN/oZU8ptW6oaz4cOdFbqRv+tbienIZq5bG2ok0CRKfUurUtFnA==", + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", + "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", "requires": { + "buffer": "^5.5.0", "class-is": "^1.1.0", "multibase": "~0.6.0", "multicodec": "^1.0.0", "multihashes": "~0.4.15" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } } }, "cipher-base": { @@ -3476,6 +3754,11 @@ } } }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -3538,7 +3821,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -3546,8 +3828,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "colors": { "version": "1.0.3", @@ -3691,6 +3972,11 @@ "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=", "dev": true }, + "crdts": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/crdts/-/crdts-0.1.5.tgz", + "integrity": "sha512-4Z/dQqa9qzMPlrE+zd0ecl53QFwaTZVVYTUgxvpF0k8OcOy4HY7c+C9brXp81eigLE0EKENTVp3CjIMY9b/ezg==" + }, "create-ecdh": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", @@ -3856,6 +4142,11 @@ "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", "dev": true }, + "d64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d64/-/d64-1.0.0.tgz", + "integrity": "sha1-QAKofoUMv8n52XBrYPymE6MzbpA=" + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -3864,6 +4155,84 @@ "assert-plus": "^1.0.0" } }, + "datastore-core": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-0.7.0.tgz", + "integrity": "sha512-hj7YQCDW+N22k7PRQ1XIwFWv78cJ311OGKzqFlJb5Afe1ARx9T1lyDkzr19a6ejDpK+f5EcSumra0MwJ/Ee7mw==", + "requires": { + "debug": "^4.1.1", + "interface-datastore": "~0.7.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "interface-datastore": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.7.0.tgz", + "integrity": "sha512-TfwzBe7iInnakxjWDQn8GQHRDSgmVXRylBo9Z6ONjtaIXB1aJFYpvW1mt+Kbnql/xpTxD2LsQKRBS9+EiTVmhA==", + "requires": { + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "uuid": "^3.2.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "datastore-fs": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-0.9.1.tgz", + "integrity": "sha512-clhkqbYzpe/L0mKVBjXB7hxBpzDbYkMOG2aBH5jepSpmKmouJhp01yzUrqB6zRz01hEN0u2r4kosTVKJ3K4sUA==", + "requires": { + "datastore-core": "~0.7.0", + "fast-write-atomic": "~0.2.0", + "glob": "^7.1.3", + "interface-datastore": "~0.7.0", + "mkdirp": "~0.5.1" + }, + "dependencies": { + "interface-datastore": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.7.0.tgz", + "integrity": "sha512-TfwzBe7iInnakxjWDQn8GQHRDSgmVXRylBo9Z6ONjtaIXB1aJFYpvW1mt+Kbnql/xpTxD2LsQKRBS9+EiTVmhA==", + "requires": { + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "uuid": "^3.2.2" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "datastore-level": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-0.14.1.tgz", + "integrity": "sha512-gAXD11GfxMfUWkhFr3GebZjGxnHabnz6pOgxFw/6MddAE3pOfHCbPPssYdGGSDv+nl0jwhNrsncGdlQ/FvPpcg==", + "requires": { + "datastore-core": "~0.7.0", + "interface-datastore": "^0.8.0", + "level": "^5.0.1" + } + }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", @@ -4069,25 +4438,25 @@ } }, "did-jwt": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-0.1.3.tgz", - "integrity": "sha512-hZvjC4bstxo6bqFIOAlX90LdSaA5uxMdg0zSFCPm2WwIhgHFp4SfVM6f5yq1ebA5/cJzcUr+MclnTrlEiixuiQ==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-0.2.0.tgz", + "integrity": "sha512-XL8e0lq+oTadUj6QSpfRgi868prNVdLrX/Ngt+ZYdpGyc4Pptp8W0B3re95m66LM/Rotf+cXNOIaIU0TylBx4w==", "requires": { "@babel/runtime": "^7.3.1", - "base64url": "^3.0.1", + "@stablelib/utf8": "^0.10.1", "buffer": "^5.2.1", "did-resolver": "0.0.6", "elliptic": "^6.4.0", "js-sha256": "^0.9.0", "js-sha3": "^0.8.0", "tweetnacl": "^1.0.1", - "tweetnacl-util": "^0.15.0" + "uport-base64url": "3.0.2-alpha.0" }, "dependencies": { "buffer": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", - "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4" @@ -4226,6 +4595,11 @@ "inherits": "^2.0.1" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", @@ -4239,6 +4613,53 @@ "iconv-lite": "~0.4.13" } }, + "encoding-down": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", + "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "requires": { + "abstract-leveldown": "^6.2.1", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "requires": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "level-codec": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.1.tgz", + "integrity": "sha512-ajFP0kJ+nyq4i6kptSM+mAvJKLOg1X5FiFPtLG9M5gCEZyBmgDi3FkDrvlMkEzrUn1cWxtvVmrvoS4ASyO/q+Q==" + }, + "level-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", + "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "requires": { + "errno": "~0.1.1" + } + } + } + }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", @@ -4259,9 +4680,9 @@ } }, "err-code": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.0.tgz", - "integrity": "sha512-MsMOijQ4v0xlmrz1fc7lyPEy7jFhoNF7EVaRSP7mPzs20LaFOwG6qNjGRy3Ie85n9DARlcUnB1zbsBv5sJrIvw==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" }, "errno": { "version": "0.1.7", @@ -5156,9 +5577,41 @@ } } }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "ethers": { + "version": "4.0.46", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.46.tgz", + "integrity": "sha512-/dPMzzpInhtiip4hKFvsDiJKeRk64IhyA+Po7CtNXneQFSOCYXg8eBFt+jXbxUQyApgWnWOtYxWdfn9+CvvxDA==", + "requires": { + "aes-js": "3.0.0", + "bn.js": "^4.4.0", + "elliptic": "6.5.2", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + }, + "dependencies": { + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + } + } + }, + "ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", "requires": { "bn.js": "4.11.6", @@ -5181,6 +5634,11 @@ "strip-hex-prefix": "1.0.0" } }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, "eventemitter3": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", @@ -5396,6 +5854,11 @@ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" }, + "fast-write-atomic": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fast-write-atomic/-/fast-write-atomic-0.2.1.tgz", + "integrity": "sha512-WvJe06IfNYlr+6cO3uQkdKdy3Cb1LlCJSF8zRs2eT8yuhdbSlR9nIt+TgQ92RUxiRrQm+/S7RARnMfCs5iuAjw==" + }, "fetch-ponyfill": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz", @@ -5489,7 +5952,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, "requires": { "locate-path": "^3.0.0" } @@ -5618,6 +6080,24 @@ "readable-stream": "^2.0.0" } }, + "fs-extra": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", + "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + } + } + }, "fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", @@ -6273,6 +6753,11 @@ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, + "get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" + }, "get-stdin": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", @@ -6306,7 +6791,6 @@ "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6407,6 +6891,35 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" }, + "graphql-request": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-1.8.2.tgz", + "integrity": "sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg==", + "requires": { + "cross-fetch": "2.2.2" + }, + "dependencies": { + "cross-fetch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.2.tgz", + "integrity": "sha1-pH/09/xxLauo9qaVoRyUhEDUVyM=", + "requires": { + "node-fetch": "2.1.2", + "whatwg-fetch": "2.0.4" + } + }, + "node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + }, + "whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + } + } + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -6442,6 +6955,11 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, + "has-localstorage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-localstorage/-/has-localstorage-1.0.1.tgz", + "integrity": "sha1-/mJAbEdn+9bXhNrGkFkoEIuClxs=" + }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", @@ -6509,6 +7027,11 @@ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, + "hi-base32": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.0.tgz", + "integrity": "sha512-DDRmxSyoYuvjUb9EnXdoiMChBZ7ZcUVJsK5Frd3kqMhuBxvmZdnBeynAVfj7/ECbn++CekcoprvC/rprHPAtow==" + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -6585,6 +7108,44 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, + "https-did-resolver": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/https-did-resolver/-/https-did-resolver-0.1.0.tgz", + "integrity": "sha512-3vAJJ8XN1UTHf5MnaaWdP6F8R8vKYwjawZY1PQljxqRBJ2ISYstg/R8Y0ta8O6z1I+6u005KofZZm05E4kpCEQ==", + "requires": { + "did-resolver": "0.0.6", + "xmlhttprequest": "^1.8.0" + } + }, + "humble-localstorage": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/humble-localstorage/-/humble-localstorage-1.4.2.tgz", + "integrity": "sha1-0Fqw1SbE7b3b98amDfb/WAUoNGk=", + "requires": { + "has-localstorage": "^1.0.1", + "localstorage-memory": "^1.0.1" + } + }, + "hyperdiff": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/hyperdiff/-/hyperdiff-2.0.5.tgz", + "integrity": "sha512-AzYOBJ4RowO3cT7mGtlZVCnHRlYUDVnVA1gLNY7IiWbpxg3UUWjMAeoD/B+h1LRd0OyXLnVV+fhmlBVhAKO+aQ==", + "requires": { + "debug": "~3.1.0", + "lodash.clonedeep": "~4.5.0", + "lodash.pullat": "~4.6.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -6609,14 +7170,13 @@ } }, "identity-wallet": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/identity-wallet/-/identity-wallet-1.1.1.tgz", - "integrity": "sha512-Nta6LK7Z9B9+W9bQVS4Tj+axoAmGuYIPIN6ChW5qWoS+98CYUe1EDcbO5YgjCKpeJSUSKbzfJiVL2N3jdl9QbA==", + "version": "github:3box/identity-wallet-js#2f23653270d1205d4a881b41161197a17e6afc6e", + "from": "github:3box/identity-wallet-js#feat/partial-migration-externalauth", "requires": { - "3id-blockchain-utils": "^0.3.2", + "3id-blockchain-utils": "^0.3.3", "@babel/runtime": "^7.4.5", - "@ethersproject/hdnode": "^5.0.0-beta.137", - "@ethersproject/wallet": "^5.0.0-beta.136", + "@ethersproject/hdnode": "5.0.0-beta.137", + "@ethersproject/wallet": "5.0.0-beta.136", "did-jwt": "^0.1.3", "events": "^3.0.0", "ipfs-did-document": "^1.2.3", @@ -6629,12 +7189,102 @@ }, "dependencies": { "@babel/runtime": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz", - "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==", + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", + "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", "requires": { - "regenerator-runtime": "^0.13.2" + "regenerator-runtime": "^0.13.4" + } + }, + "@ethersproject/hdnode": { + "version": "5.0.0-beta.137", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.0.0-beta.137.tgz", + "integrity": "sha512-TDe57vm/tndbaSKi/NRgC0uAp4uVr60LurTAw+u6mG5ihZg9mlYgr15GxOXWTRiJfa3V3kQD8VsTpzlNMYHViw==", + "requires": { + "@ethersproject/abstract-signer": ">=5.0.0-beta.132", + "@ethersproject/basex": ">=5.0.0-beta.127", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/pbkdf2": ">=5.0.0-beta.127", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/sha2": ">=5.0.0-beta.129", + "@ethersproject/signing-key": ">=5.0.0-beta.129", + "@ethersproject/strings": ">=5.0.0-beta.130", + "@ethersproject/transactions": ">=5.0.0-beta.128", + "@ethersproject/wordlists": ">=5.0.0-beta.128" + } + }, + "@ethersproject/wallet": { + "version": "5.0.0-beta.136", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.0.0-beta.136.tgz", + "integrity": "sha512-ORK5/zCf0XCh7lcTKDXXUm18Crm4kjM3k/J6HRzs56LCHDlDlQbWRnfubq7uj6ZH6/FEIuf5F2J8YvOVpoqcSA==", + "requires": { + "@ethersproject/abstract-provider": ">=5.0.0-beta.131", + "@ethersproject/abstract-signer": ">=5.0.0-beta.132", + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/hash": ">=5.0.0-beta.128", + "@ethersproject/hdnode": ">=5.0.0-beta.130", + "@ethersproject/json-wallets": ">=5.0.0-beta.129", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/random": ">=5.0.0-beta.128", + "@ethersproject/signing-key": ">=5.0.0-beta.129", + "@ethersproject/transactions": ">=5.0.0-beta.128", + "@ethersproject/wordlists": ">=5.0.0-beta.128" + } + }, + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "did-jwt": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-0.1.3.tgz", + "integrity": "sha512-hZvjC4bstxo6bqFIOAlX90LdSaA5uxMdg0zSFCPm2WwIhgHFp4SfVM6f5yq1ebA5/cJzcUr+MclnTrlEiixuiQ==", + "requires": { + "@babel/runtime": "^7.3.1", + "base64url": "^3.0.1", + "buffer": "^5.2.1", + "did-resolver": "0.0.6", + "elliptic": "^6.4.0", + "js-sha256": "^0.9.0", + "js-sha3": "^0.8.0", + "tweetnacl": "^1.0.1", + "tweetnacl-util": "^0.15.0" + } + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" } } }, @@ -6740,6 +7390,40 @@ "through": "^2.3.6" } }, + "interface-datastore": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.8.3.tgz", + "integrity": "sha512-0boeaQbqRUV+7edgdkDDNl8/m0bzFbBEfM3tC0Prro2ZE7N9dtcIDh/cW812P/22Gjhlj1J7KIn0mPzbO4HjPQ==", + "requires": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "err-code": "^2.0.0", + "ipfs-utils": "^1.2.3", + "iso-random-stream": "^1.1.1", + "nanoid": "^3.0.2" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "err-code": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.0.tgz", + "integrity": "sha512-MsMOijQ4v0xlmrz1fc7lyPEy7jFhoNF7EVaRSP7mPzs20LaFOwG6qNjGRy3Ie85n9DARlcUnB1zbsBv5sJrIvw==" + }, + "nanoid": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.0.2.tgz", + "integrity": "sha512-WOjyy/xu3199NlQiQWlx7VbspSFlGtOxa1bRX9ebmXOnp1fje4bJfjPs1wLQ8jZbJUfD+yceJmw879ZSaVJkdQ==" + } + } + }, "interpret": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", @@ -6760,101 +7444,25729 @@ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", "dev": true }, - "ipfs-did-document": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/ipfs-did-document/-/ipfs-did-document-1.2.3.tgz", - "integrity": "sha512-LLcmDbj9m+kBS8srL1Mq3oOgSOuqTe9lyj70DhjQkd+T+4xj1plkiYanbB6w600e/XOHnGxbbOkKYOpRs0vpgw==" - }, - "ipld-dag-cbor": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.1.tgz", - "integrity": "sha512-V0ZSpC0DvnYSjC4RgyezHMZMx8g/keSi5jikElLbzCXPdRRoOemJoMBUedmIWwQaY+6f2UDbHr2qf9ZmVeL4Mw==", - "requires": { - "borc": "^2.1.0", - "cids": "~0.7.0", - "is-circular": "^1.0.2", - "multicodec": "^1.0.0", - "multihashing-async": "~0.8.0" - } + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" }, - "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, + "ip-address": { + "version": "5.9.4", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", + "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", "requires": { - "kind-of": "^3.0.2" + "jsbn": "1.1.0", + "lodash": "^4.17.15", + "sprintf-js": "1.1.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" - } + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" } } }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" - }, - "is-circular": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", - "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" - }, - "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" + "ip-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.1.0.tgz", + "integrity": "sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA==" + }, + "ipfs": { + "version": "0.40.0", + "resolved": "https://registry.npmjs.org/ipfs/-/ipfs-0.40.0.tgz", + "integrity": "sha512-JLfRTzoOtDJV7AasJdMDA+CTkNWKAeaIi1XK+wkrJkb7ruyuZjR3DI8mcvPJu38Plgh19bNAEGJ3Lwcjk/STKA==", + "requires": { + "@hapi/ammo": "^4.0.0", + "@hapi/boom": "^7.4.3", + "@hapi/hapi": "^18.3.2", + "@hapi/joi": "^15.0.0", + "abort-controller": "^3.0.0", + "array-shuffle": "^1.0.1", + "async-iterator-all": "^1.0.0", + "async-iterator-first": "^1.0.0", + "async-iterator-to-pull-stream": "^1.3.0", + "async-iterator-to-stream": "^1.1.0", + "base32.js": "~0.1.0", + "bignumber.js": "^9.0.0", + "binary-querystring": "~0.1.2", + "bl": "^4.0.0", + "bs58": "^4.0.1", + "buffer-peek-stream": "^1.0.1", + "byteman": "^1.3.5", + "callbackify": "^1.1.0", + "cid-tool": "~0.4.0", + "cids": "~0.7.1", + "class-is": "^1.1.0", + "dag-cbor-links": "^1.3.2", + "datastore-core": "~0.7.0", + "datastore-pubsub": "^0.2.1", + "debug": "^4.1.0", + "dlv": "^1.1.3", + "err-code": "^2.0.0", + "explain-error": "^1.0.4", + "file-type": "^12.0.1", + "fnv1a": "^1.0.1", + "fsm-event": "^2.1.0", + "get-folder-size": "^2.0.0", + "glob": "^7.1.3", + "hapi-pino": "^6.1.0", + "hashlru": "^2.3.0", + "human-to-milliseconds": "^2.0.0", + "interface-datastore": "~0.8.0", + "ipfs-bitswap": "^0.26.0", + "ipfs-block": "~0.8.1", + "ipfs-block-service": "~0.16.0", + "ipfs-http-client": "^39.0.2", + "ipfs-http-response": "~0.4.0", + "ipfs-mfs": "^0.13.0", + "ipfs-multipart": "^0.2.0", + "ipfs-repo": "^0.29.3", + "ipfs-unixfs": "~0.1.16", + "ipfs-unixfs-exporter": "^0.38.0", + "ipfs-unixfs-importer": "^0.40.0", + "ipfs-utils": "~0.4.0", + "ipld": "~0.25.0", + "ipld-bitcoin": "~0.3.0", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.18.0", + "ipld-ethereum": "^4.0.0", + "ipld-git": "~0.5.0", + "ipld-raw": "^4.0.0", + "ipld-zcash": "~0.4.0", + "ipns": "^0.6.1", + "is-domain-name": "^1.0.1", + "is-ipfs": "~0.6.1", + "is-pull-stream": "~0.0.0", + "is-stream": "^2.0.0", + "iso-url": "~0.4.6", + "it-pipe": "^1.0.1", + "it-to-stream": "^0.1.1", + "jsondiffpatch": "~0.3.11", + "just-safe-set": "^2.1.0", + "kind-of": "^6.0.2", + "ky": "^0.15.0", + "ky-universal": "~0.3.0", + "libp2p": "^0.26.2", + "libp2p-bootstrap": "~0.9.3", + "libp2p-crypto": "^0.16.2", + "libp2p-delegated-content-routing": "^0.3.1", + "libp2p-delegated-peer-routing": "^0.3.1", + "libp2p-floodsub": "^0.18.0", + "libp2p-gossipsub": "~0.0.5", + "libp2p-kad-dht": "~0.16.0", + "libp2p-keychain": "^0.5.1", + "libp2p-mdns": "~0.12.0", + "libp2p-record": "~0.7.0", + "libp2p-secio": "~0.11.0", + "libp2p-tcp": "^0.13.0", + "libp2p-webrtc-star": "~0.16.0", + "libp2p-websocket-star-multi": "~0.4.3", + "libp2p-websockets": "~0.12.3", + "lodash.flatten": "^4.4.0", + "mafmt": "^6.0.10", + "merge-options": "^2.0.0", + "mime-types": "^2.1.21", + "mkdirp": "~0.5.1", + "mortice": "^2.0.0", + "multiaddr": "^6.1.1", + "multiaddr-to-uri": "^5.0.0", + "multibase": "~0.6.0", + "multicodec": "~0.5.5", + "multihashes": "~0.4.14", + "multihashing-async": "^0.8.0", + "node-fetch": "^2.3.0", + "p-iteration": "^1.1.8", + "p-queue": "^6.1.0", + "peer-book": "^0.9.1", + "peer-id": "^0.12.2", + "peer-info": "~0.15.1", + "progress": "^2.0.1", + "prom-client": "^11.5.3", + "prometheus-gc-stats": "~0.6.0", + "promise-nodeify": "^3.0.1", + "promisify-es6": "^1.0.3", + "protons": "^1.0.1", + "pull-abortable": "^4.1.1", + "pull-cat": "^1.1.11", + "pull-defer": "~0.2.3", + "pull-file": "^1.1.0", + "pull-mplex": "~0.1.1", + "pull-ndjson": "^0.2.0", + "pull-pushable": "^2.2.0", + "pull-sort": "^1.0.1", + "pull-stream": "^3.6.14", + "pull-stream-to-async-iterator": "^1.0.2", + "pull-stream-to-stream": "^2.0.0", + "pull-traverse": "^1.0.3", + "readable-stream": "^3.4.0", + "receptacle": "^1.3.2", + "semver": "^6.3.0", + "stream-to-pull-stream": "^1.7.3", + "superstruct": "~0.6.2", + "tar-stream": "^2.0.0", + "temp": "~0.9.0", + "update-notifier": "^3.0.1", + "uri-to-multiaddr": "^3.0.1", + "varint": "^5.0.0", + "yargs": "^14.0.0", + "yargs-promise": "^1.1.0" }, "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, + "@babel/cli": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.7.4.tgz", + "integrity": "sha512-O7mmzaWdm+VabWQmxuM8hqNrWGGihN83KfhPUzp2lAW4kzIMwBxujXkZbD4fMwKMYY9FXTbDvXsJqU+5XHXi4A==", "requires": { - "is-buffer": "^1.1.5" + "chokidar": "^2.1.8", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.13", + "make-dir": "^2.1.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "commander": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.0.1.tgz", + "integrity": "sha512-IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } } - } - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + }, + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.4.tgz", + "integrity": "sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==", + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helpers": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "@babel/generator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", + "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", + "requires": { + "@babel/types": "^7.7.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz", + "integrity": "sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==", + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz", + "integrity": "sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-builder-react-jsx": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.7.4.tgz", + "integrity": "sha512-kvbfHJNN9dg4rkEM4xn1s8d1/h6TYNvajy9L1wx4qLn9HFg0IkTsQi4rfBe92nxrPUFcMsHoMV+8rU7MJb3fCA==", + "requires": { + "@babel/types": "^7.7.4", + "esutils": "^2.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz", + "integrity": "sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==", + "requires": { + "@babel/helper-hoist-variables": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.7.4.tgz", + "integrity": "sha512-l+OnKACG4uiDHQ/aJT8dwpR+LhCJALxL0mJ6nzjB25e5IPwqV1VOsY7ah6UB1DG+VOXAIMtuC54rFJGiHkxjgA==", + "requires": { + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-member-expression-to-functions": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz", + "integrity": "sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==", + "requires": { + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + } + }, + "@babel/helper-define-map": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz", + "integrity": "sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==", + "requires": { + "@babel/helper-function-name": "^7.7.4", + "@babel/types": "^7.7.4", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz", + "integrity": "sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==", + "requires": { + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "requires": { + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz", + "integrity": "sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==", + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz", + "integrity": "sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==", + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-module-imports": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", + "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.4.tgz", + "integrity": "sha512-ehGBu4mXrhs0FxAqN8tWkzF8GSIGAiEumu4ONZ/hD9M88uHcD+Yu2ttKfOCgwzoesJOJrtQh7trI5YPbRtMmnA==", + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-simple-access": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz", + "integrity": "sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==", + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + }, + "@babel/helper-regex": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz", + "integrity": "sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-wrap-function": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-replace-supers": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz", + "integrity": "sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz", + "integrity": "sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==", + "requires": { + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", + "requires": { + "@babel/types": "^7.7.4" + } + }, + "@babel/helper-wrap-function": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz", + "integrity": "sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==", + "requires": { + "@babel/helper-function-name": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/helpers": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz", + "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==", + "requires": { + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", + "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==" + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz", + "integrity": "sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.7.4", + "@babel/plugin-syntax-async-generators": "^7.7.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.7.4.tgz", + "integrity": "sha512-EcuXeV4Hv1X3+Q1TsuOmyyxeTRiSqurGJ26+I/FW1WbymmRRapVORm6x1Zl3iDIHyRxEs+VXWp6qnlcfcJSbbw==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.7.4.tgz", + "integrity": "sha512-GftcVDcLCwVdzKmwOBDjATd548+IE+mBo7ttgatqNDR7VG7GqIuZPtRWlMLHbhTXhcnFZiGER8iIYl1n/imtsg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-decorators": "^7.7.4" + } + }, + "@babel/plugin-proposal-do-expressions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.7.4.tgz", + "integrity": "sha512-CxJW0HmbZlprTIwwEV77hBS8Yc4Jt58fafxXqTQxXg/O6SNtBYvceBIZ091ffmhm/fEnYJPqz8QCGMmZU8bK8g==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-do-expressions": "^7.7.4" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz", + "integrity": "sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.7.4" + } + }, + "@babel/plugin-proposal-export-default-from": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.7.4.tgz", + "integrity": "sha512-1t6dh7BHYUz4zD1m4pozYYEZy/3m8dgOr9owx3r0mPPI3iGKRUKUbIxfYmcJ4hwljs/dhd0qOTr1ZDUp43ix+w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.7.4" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.7.4.tgz", + "integrity": "sha512-3whN5U7iZjKdbwRSFwBOjGBgH7apXCzwielljxVH8D/iYcGRqPPw63vlIbG0GqQoT9bO0QYPcIUVkhQG5hcHtg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-export-namespace-from": "^7.7.4" + } + }, + "@babel/plugin-proposal-function-bind": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.7.4.tgz", + "integrity": "sha512-0qJlxfYKHs/JUg+JFISl29YObUCKAOQ0ENHMYoxErBFp58XTXwQEsrVPhs2TGL3cxI21XPs2fpommO6zmCd3/A==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-function-bind": "^7.7.4" + } + }, + "@babel/plugin-proposal-function-sent": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.7.4.tgz", + "integrity": "sha512-vCiie58siJZoGJBQT0WIKORMqCe6CFasTf2X1LOfyAiWYfLFcDCVg+Y4HIiDFH8hKwkMDGKJT6nLYHM0VmQZXA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-wrap-function": "^7.7.4", + "@babel/plugin-syntax-function-sent": "^7.7.4" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz", + "integrity": "sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.7.4" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.7.4.tgz", + "integrity": "sha512-vOHiM06HgN6IUm7cmqvhqnhCmkkVUeFTAP0GWhgTl36+0/r65TG7Bkp21rviL+tWqRKlx4DWr090cwaW8ZU5TA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.7.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.7.4.tgz", + "integrity": "sha512-TbYHmr1Gl1UC7Vo2HVuj/Naci5BEGNZ0AJhzqD2Vpr6QPFWpUmBRLrIDjedzx7/CShq0bRDS2gI4FIs77VHLVQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.7.4" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.7.4.tgz", + "integrity": "sha512-CG605v7lLpVgVldSY6kxsN9ui1DxFOyepBfuX2AzU2TNriMAYApoU55mrGw9Jr4TlrTzPCG10CL8YXyi+E/iPw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-numeric-separator": "^7.7.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz", + "integrity": "sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.7.4" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz", + "integrity": "sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.7.4" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.7.4.tgz", + "integrity": "sha512-JmgaS+ygAWDR/STPe3/7y0lNlHgS+19qZ9aC06nYLwQ/XB7c0q5Xs+ksFU3EDnp9EiEsO0dnRAOKeyLHTZuW3A==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.7.4" + } + }, + "@babel/plugin-proposal-pipeline-operator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.7.4.tgz", + "integrity": "sha512-+ZczeVHN5Ny2R5kHnvxnK0U+tFiarWzX+aMKsw3uugdn4WIrUOsJ7eRX2dIRwBKUT/c8QgzT3rQGsIDlPkchBQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-pipeline-operator": "^7.7.4" + } + }, + "@babel/plugin-proposal-throw-expressions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.7.4.tgz", + "integrity": "sha512-yMcK1dM9Rv+Y5n62rKaHfRoRD4eOWIqYn4uy/Xu7C47rJKaR5JpQR905Hc/OL8EEaGNcEyuvjOtYdNAVXZKDZQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-throw-expressions": "^7.7.4" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz", + "integrity": "sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz", + "integrity": "sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.7.4.tgz", + "integrity": "sha512-0oNLWNH4k5ZbBVfAwiTU53rKFWIeTh6ZlaWOXWJc4ywxs0tjz5fc3uZ6jKAnZSxN98eXVgg7bJIuzjX+3SXY+A==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-do-expressions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.7.4.tgz", + "integrity": "sha512-jGOok7z85xzG+vMG13C/POqawE2diUkwiKB7H7IP1UYzZqdxObgJsm3YHZSvh9w0rMR+NIBeIUnDbmyDNN/QGg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz", + "integrity": "sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-export-default-from": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.7.4.tgz", + "integrity": "sha512-j888jpjATLEzOWhKawq46UrpXnCRDbdhBd5io4jgwjJ3+CHHGCRb6PNAVEgs+BXIb+dNRAmnkv36zfB992PRVw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.7.4.tgz", + "integrity": "sha512-YTc2djwMzJjiTTUJxJunRAnK0xW6OrmCSrgBc7QbWtpUo44FCkhZQtNcwZUqVf3sc4JFxhreiJ/P7YkmCTw4rg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.7.4.tgz", + "integrity": "sha512-2AMAWl5PsmM5KPkB22cvOkUyWk6MjUaqhHNU5nSPUl/ns3j5qLfw2SuYP5RbVZ0tfLvePr4zUScbICtDP2CUNw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-function-bind": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.7.4.tgz", + "integrity": "sha512-dF3QkkaFA3Z7eiD2Cv7Y5x4w2sAKQVHUV2hLqi9iPKexw+/oqpL4crnnalg/Lq31XN33cH3G41kONSCqu06i/Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-function-sent": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.7.4.tgz", + "integrity": "sha512-GmU/IB1NfhxuHbYgrFxdo4w+1c9m19rJwJGoF0JD6XsXS7gxCZIL5ID2vmMdGEQbKUsu3eWC2Y2gvI5bKi/dMA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.7.4.tgz", + "integrity": "sha512-hl6aKgm2IbVB+X9Z2xcKvGObOOS//vbohHPpNvd8iaKA3XQi3Sz/3oOyb3GLes6hY871mkbZQYK7lxriVECRAQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz", + "integrity": "sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.7.4.tgz", + "integrity": "sha512-wuy6fiMe9y7HeZBWXYCGt2RGxZOj0BImZ9EyXJVnVGBKO/Br592rbR3rtIQn0eQhAk9vqaKP5n8tVqEFBQMfLg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.7.4.tgz", + "integrity": "sha512-gNtCBpD7ENcpBz8v/ijzs2XsMrw+1eruYvg4/NVIohhDmL/qS1dIs22pcbKe0+DQWoKFuC0rVWo03VFjueafsQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.7.4.tgz", + "integrity": "sha512-XKh/yIRPiQTOeBg0QJjEus5qiSKucKAiApNtO1psqG7D17xmE+X2i5ZqBEuSvo0HRuyPaKaSN/Gy+Ha9KFQolw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.7.4.tgz", + "integrity": "sha512-vmlUUBlLuFnbpaR+1kKIdo62xQEN+THWbtAHSEilo+0rHl2dKKCn6GLUVKpI848wL/T0ZPQgAy8asRJ9yYEjog==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz", + "integrity": "sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz", + "integrity": "sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.7.4.tgz", + "integrity": "sha512-2MqYD5WjZSbJdUagnJvIdSfkb/ucOC9/1fRJxm7GAxY6YQLWlUvkfxoNbUPcPLHJyetKUDQ4+yyuUyAoc0HriA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-pipeline-operator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.7.4.tgz", + "integrity": "sha512-llA4gBPpZWeEQLll8q0FYTLQ/PyITMxqlms7c6DnSVCLtzyBr+YsPMDkwWyEzVADszZs+v0HTL3Oftw++Admlg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-throw-expressions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.7.4.tgz", + "integrity": "sha512-qtLTzzOJ1Co6tQ8pMqnsfRgeUfzExP90Tc6GISTC34O0lR6IDvymWLfVJFcJaQinz6reciQ4auALV3JM+b3D/Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz", + "integrity": "sha512-wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz", + "integrity": "sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz", + "integrity": "sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==", + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.7.4" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz", + "integrity": "sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz", + "integrity": "sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz", + "integrity": "sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-define-map": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-optimise-call-expression": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz", + "integrity": "sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz", + "integrity": "sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz", + "integrity": "sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz", + "integrity": "sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz", + "integrity": "sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.7.4.tgz", + "integrity": "sha512-w9dRNlHY5ElNimyMYy0oQowvQpwt/PRHI0QS98ZJCTZU2bvSnKXo5zEiD5u76FBPigTm8TkqzmnUTg16T7qbkA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.7.4" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz", + "integrity": "sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz", + "integrity": "sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==", + "requires": { + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz", + "integrity": "sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz", + "integrity": "sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.4.tgz", + "integrity": "sha512-/542/5LNA18YDtg1F+QHvvUSlxdvjZoD/aldQwkq+E3WCkbEjNSN9zdrOXaSlfg3IfGi22ijzecklF/A7kVZFQ==", + "requires": { + "@babel/helper-module-transforms": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.4.tgz", + "integrity": "sha512-k8iVS7Jhc367IcNF53KCwIXtKAH7czev866ThsTgy8CwlXjnKZna2VHwChglzLleYrcHz1eQEIJlGRQxB53nqA==", + "requires": { + "@babel/helper-module-transforms": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.7.4", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz", + "integrity": "sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==", + "requires": { + "@babel/helper-hoist-variables": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz", + "integrity": "sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==", + "requires": { + "@babel/helper-module-transforms": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz", + "integrity": "sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.7.4" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz", + "integrity": "sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz", + "integrity": "sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.7.4" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz", + "integrity": "sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw==", + "requires": { + "@babel/helper-call-delegate": "^7.7.4", + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz", + "integrity": "sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.7.4.tgz", + "integrity": "sha512-sBbIvqYkthai0X0vkD2xsAwluBp+LtNHH+/V4a5ydifmTtb8KOVOlrMIk/MYmIc4uTYDnjZUHQildYNo36SRJw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.7.4.tgz", + "integrity": "sha512-LixU4BS95ZTEAZdPaIuyg/k8FiiqN9laQ0dMHB4MlpydHY53uQdWCUrwjLr5o6ilS6fAgZey4Q14XBjl5tL6xw==", + "requires": { + "@babel/helper-builder-react-jsx": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.7.4" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.7.4.tgz", + "integrity": "sha512-PWYjSfqrO273mc1pKCRTIJXyqfc9vWYBax88yIhQb+bpw3XChVC7VWS4VwRVs63wFHKxizvGSd00XEr+YB9Q2A==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.7.4" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.7.4.tgz", + "integrity": "sha512-5ZU9FnPhqtHsOXxutRtXZAzoEJwDaP32QcobbMP1/qt7NYcsCNK8XgzJcJfoEr/ZnzVvUNInNjIW22Z6I8p9mg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.7.4" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.4.tgz", + "integrity": "sha512-e7MWl5UJvmPEwFJTwkBlPmqixCtr9yAASBqff4ggXTNicZiwbF8Eefzm6NVgfiBp7JdAGItecnctKTgH44q2Jw==", + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz", + "integrity": "sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.7.4.tgz", + "integrity": "sha512-O8kSkS5fP74Ad/8pfsCMGa8sBRdLxYoSReaARRNSz3FbFQj3z/QUvoUmJ28gn9BO93YfnXc3j+Xyaqe8cKDNBQ==", + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz", + "integrity": "sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz", + "integrity": "sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz", + "integrity": "sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz", + "integrity": "sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz", + "integrity": "sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz", + "integrity": "sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/preset-env": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.4.tgz", + "integrity": "sha512-Dg+ciGJjwvC1NIe/DGblMbcGq1HOtKbw8RLl4nIjlfcILKEOkWT/vRqPpumswABEBVudii6dnVwrBtzD7ibm4g==", + "requires": { + "@babel/helper-module-imports": "^7.7.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.7.4", + "@babel/plugin-proposal-dynamic-import": "^7.7.4", + "@babel/plugin-proposal-json-strings": "^7.7.4", + "@babel/plugin-proposal-object-rest-spread": "^7.7.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.7.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.7.4", + "@babel/plugin-syntax-async-generators": "^7.7.4", + "@babel/plugin-syntax-dynamic-import": "^7.7.4", + "@babel/plugin-syntax-json-strings": "^7.7.4", + "@babel/plugin-syntax-object-rest-spread": "^7.7.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.7.4", + "@babel/plugin-syntax-top-level-await": "^7.7.4", + "@babel/plugin-transform-arrow-functions": "^7.7.4", + "@babel/plugin-transform-async-to-generator": "^7.7.4", + "@babel/plugin-transform-block-scoped-functions": "^7.7.4", + "@babel/plugin-transform-block-scoping": "^7.7.4", + "@babel/plugin-transform-classes": "^7.7.4", + "@babel/plugin-transform-computed-properties": "^7.7.4", + "@babel/plugin-transform-destructuring": "^7.7.4", + "@babel/plugin-transform-dotall-regex": "^7.7.4", + "@babel/plugin-transform-duplicate-keys": "^7.7.4", + "@babel/plugin-transform-exponentiation-operator": "^7.7.4", + "@babel/plugin-transform-for-of": "^7.7.4", + "@babel/plugin-transform-function-name": "^7.7.4", + "@babel/plugin-transform-literals": "^7.7.4", + "@babel/plugin-transform-member-expression-literals": "^7.7.4", + "@babel/plugin-transform-modules-amd": "^7.7.4", + "@babel/plugin-transform-modules-commonjs": "^7.7.4", + "@babel/plugin-transform-modules-systemjs": "^7.7.4", + "@babel/plugin-transform-modules-umd": "^7.7.4", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4", + "@babel/plugin-transform-new-target": "^7.7.4", + "@babel/plugin-transform-object-super": "^7.7.4", + "@babel/plugin-transform-parameters": "^7.7.4", + "@babel/plugin-transform-property-literals": "^7.7.4", + "@babel/plugin-transform-regenerator": "^7.7.4", + "@babel/plugin-transform-reserved-words": "^7.7.4", + "@babel/plugin-transform-shorthand-properties": "^7.7.4", + "@babel/plugin-transform-spread": "^7.7.4", + "@babel/plugin-transform-sticky-regex": "^7.7.4", + "@babel/plugin-transform-template-literals": "^7.7.4", + "@babel/plugin-transform-typeof-symbol": "^7.7.4", + "@babel/plugin-transform-unicode-regex": "^7.7.4", + "@babel/types": "^7.7.4", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/preset-flow": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.7.4.tgz", + "integrity": "sha512-6LbUqcHD8BcRtXMOp5bc5nJeU8RlKh6q5U8TgZeCrf9ebBdW8Wyy5ujAUnbJfmzQ56Kkq5XtwErC/5+5RHyFYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.7.4" + } + }, + "@babel/preset-react": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.7.4.tgz", + "integrity": "sha512-j+vZtg0/8pQr1H8wKoaJyGL2IEk3rG/GIvua7Sec7meXVIvGycihlGMx5xcU00kqCJbwzHs18xTu3YfREOqQ+g==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.7.4", + "@babel/plugin-transform-react-jsx": "^7.7.4", + "@babel/plugin-transform-react-jsx-self": "^7.7.4", + "@babel/plugin-transform-react-jsx-source": "^7.7.4" + } + }, + "@babel/preset-stage-0": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/preset-stage-0/-/preset-stage-0-7.0.0.tgz", + "integrity": "sha512-FBMd0IiARPtH5aaOFUVki6evHiJQiY0pFy7fizyRF7dtwc+el3nwpzvhb9qBNzceG1OIJModG1xpE0DDFjPXwA==" + }, + "@babel/register": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.7.4.tgz", + "integrity": "sha512-/fmONZqL6ZMl9KJUYajetCrID6m0xmL4odX7v+Xvoxcv0DdbP/oO0TWIeLUCHqczQ6L6njDMqmqHFy2cp3FFsA==", + "requires": { + "find-cache-dir": "^2.0.0", + "lodash": "^4.17.13", + "make-dir": "^2.1.0", + "pirates": "^4.0.0", + "source-map-support": "^0.5.16" + } + }, + "@babel/runtime": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.4.tgz", + "integrity": "sha512-r24eVUUr0QqNZa+qrImUk8fn5SPhHq+IfYvIoIMg0do3GdK9sMdiLKP3GYVVaxpPKORgm8KRKaNTEhAjgIpLMw==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "@babel/template": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" + } + }, + "@babel/traverse": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@commitlint/cli": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-8.2.0.tgz", + "integrity": "sha512-8fJ5pmytc38yw2QWbTTJmXLfSiWPwMkHH4govo9zJ/+ERPBF2jvlxD/dQvk24ezcizjKc6LFka2edYC4OQ+Dgw==", + "requires": { + "@commitlint/format": "^8.2.0", + "@commitlint/lint": "^8.2.0", + "@commitlint/load": "^8.2.0", + "@commitlint/read": "^8.2.0", + "babel-polyfill": "6.26.0", + "chalk": "2.4.2", + "get-stdin": "7.0.0", + "lodash": "4.17.14", + "meow": "5.0.0", + "resolve-from": "5.0.0", + "resolve-global": "1.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==" + } + } + }, + "@commitlint/config-conventional": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-8.2.0.tgz", + "integrity": "sha512-HuwlHQ3DyVhpK9GHgTMhJXD8Zp8PGIQVpQGYh/iTrEU6TVxdRC61BxIDZvfWatCaiG617Z/U8maRAFrqFM4TqA==" + }, + "@commitlint/ensure": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-8.2.0.tgz", + "integrity": "sha512-XZZih/kcRrqK7lEORbSYCfqQw6byfsFbLygRGVdJMlCPGu9E2MjpwCtoj5z7y/lKfUB3MJaBhzn2muJqS1gC6A==", + "requires": { + "lodash": "4.17.14" + }, + "dependencies": { + "lodash": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==" + } + } + }, + "@commitlint/execute-rule": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-8.2.0.tgz", + "integrity": "sha512-9MBRthHaulbWTa8ReG2Oii2qc117NuvzhZdnkuKuYLhker7sUXGFcVhLanuWUKGyfyI2o9zVr/NHsNbCCsTzAA==" + }, + "@commitlint/format": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-8.2.0.tgz", + "integrity": "sha512-sA77agkDEMsEMrlGhrLtAg8vRexkOofEEv/CZX+4xlANyAz2kNwJvMg33lcL65CBhqKEnRRJRxfZ1ZqcujdKcQ==", + "requires": { + "chalk": "^2.0.1" + } + }, + "@commitlint/is-ignored": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-8.2.0.tgz", + "integrity": "sha512-ADaGnKfbfV6KD1pETp0Qf7XAyc75xTy3WJlbvPbwZ4oPdBMsXF0oXEEGMis6qABfU2IXan5/KAJgAFX3vdd0jA==", + "requires": { + "@types/semver": "^6.0.1", + "semver": "6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==" + } + } + }, + "@commitlint/lint": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-8.2.0.tgz", + "integrity": "sha512-ch9JN8aR37ufdjoWv50jLfvFz9rWMgLW5HEkMGLsM/51gjekmQYS5NJg8S2+6F5+jmralAO7VkUMI6FukXKX0A==", + "requires": { + "@commitlint/is-ignored": "^8.2.0", + "@commitlint/parse": "^8.2.0", + "@commitlint/rules": "^8.2.0", + "babel-runtime": "^6.23.0", + "lodash": "4.17.14" + }, + "dependencies": { + "lodash": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==" + } + } + }, + "@commitlint/load": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-8.2.0.tgz", + "integrity": "sha512-EV6PfAY/p83QynNd1llHxJiNxKmp43g8+7dZbyfHFbsGOdokrCnoelAVZ+WGgktXwLN/uXyfkcIAxwac015UYw==", + "requires": { + "@commitlint/execute-rule": "^8.2.0", + "@commitlint/resolve-extends": "^8.2.0", + "babel-runtime": "^6.23.0", + "chalk": "2.4.2", + "cosmiconfig": "^5.2.0", + "lodash": "4.17.14", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==" + } + } + }, + "@commitlint/message": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-8.2.0.tgz", + "integrity": "sha512-LNsSwDLIFgE3nb/Sb1PIluYNy4Q8igdf4tpJCdv5JJDf7CZCZt3ZTglj0YutZZorpRRuHJsVIB2+dI4bVH3bFw==" + }, + "@commitlint/parse": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-8.2.0.tgz", + "integrity": "sha512-vzouqroTXG6QXApkrps0gbeSYW6w5drpUk7QAeZIcaCSPsQXDM8eqqt98ZzlzLJHo5oPNXPX1AAVSTrssvHemA==", + "requires": { + "conventional-changelog-angular": "^1.3.3", + "conventional-commits-parser": "^2.1.0", + "lodash": "^4.17.11" + } + }, + "@commitlint/read": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-8.2.0.tgz", + "integrity": "sha512-1tBai1VuSQmsOTsvJr3Fi/GZqX3zdxRqYe/yN4i3cLA5S2Y4QGJ5I3l6nGZlKgm/sSelTCVKHltrfWU8s5H7SA==", + "requires": { + "@commitlint/top-level": "^8.2.0", + "@marionebl/sander": "^0.6.0", + "babel-runtime": "^6.23.0", + "git-raw-commits": "^1.3.0" + } + }, + "@commitlint/resolve-extends": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-8.2.0.tgz", + "integrity": "sha512-cwi0HUsDcD502HBP8huXfTkVuWmeo1Fiz3GKxNwMBBsJV4+bKa7QrtxbNpXhVuarX7QjWfNTvmW6KmFS7YK9uw==", + "requires": { + "@types/node": "^12.0.2", + "import-fresh": "^3.0.0", + "lodash": "4.17.14", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==" + } + } + }, + "@commitlint/rules": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-8.2.0.tgz", + "integrity": "sha512-FlqSBBP2Gxt5Ibw+bxdYpzqYR6HI8NIBpaTBhAjSEAduQtdWFMOhF0zsgkwH7lHN7opaLcnY2fXxAhbzTmJQQA==", + "requires": { + "@commitlint/ensure": "^8.2.0", + "@commitlint/message": "^8.2.0", + "@commitlint/to-lines": "^8.2.0", + "babel-runtime": "^6.23.0" + } + }, + "@commitlint/to-lines": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-8.2.0.tgz", + "integrity": "sha512-LXTYG3sMenlN5qwyTZ6czOULVcx46uMy+MEVqpvCgptqr/MZcV/C2J+S2o1DGwj1gOEFMpqrZaE3/1R2Q+N8ng==" + }, + "@commitlint/top-level": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-8.2.0.tgz", + "integrity": "sha512-Yaw4KmYNy31/HhRUuZ+fupFcDalnfpdu4JGBgGAqS9aBHdMSSWdWqtAaDaxdtWjTZeN3O0sA2gOhXwvKwiDwvw==", + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + } + } + }, + "@commitlint/travis-cli": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/travis-cli/-/travis-cli-8.2.0.tgz", + "integrity": "sha512-SXZh9qpAWwvzW2KlG5HOxnci1KMkUZOqr2wKMzgXuV+BS5jhkZaPsKvrrs85FZtUWdJuqFNHTVXKoetgWgMXpQ==", + "requires": { + "@commitlint/cli": "^8.2.0", + "babel-runtime": "6.26.0", + "execa": "0.11.0" + }, + "dependencies": { + "execa": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.11.0.tgz", + "integrity": "sha512-k5AR22vCt1DcfeiRixW46U5tMLtBg44ssdJM9PiXw3D8Bn5qyxFCSnKY/eR22y+ctFDGPqafpaXg2G4Emyua4A==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.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" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + } + } + }, + "@hapi/accept": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@hapi/accept/-/accept-3.2.3.tgz", + "integrity": "sha512-qEzsOJkCAJZxwj3iF83bSG9Lxy8Bpbrt8mRLNdvSALT6vlU2cYh6ZEHKEZPy4h/Mo31Su3j0rJgFF91+W1RWDQ==", + "requires": { + "@hapi/boom": "7.x.x", + "@hapi/hoek": "8.x.x" + } + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" + }, + "@hapi/ammo": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-4.0.0.tgz", + "integrity": "sha512-rMYIKrnpQWuE+fD3fj9svcKNkl5EEfkMkfn0lAJgQ/q1phfn86VwPsPsVzGS7V+p5OzdRKUrll/FQGI7ze4q7w==", + "requires": { + "@hapi/hoek": "8.x.x" + } + }, + "@hapi/b64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@hapi/b64/-/b64-4.2.1.tgz", + "integrity": "sha512-zqHpQuH5CBMw6hADzKfU/IGNrxq1Q+/wTYV+OiZRQN9F3tMyk+9BUMeBvFRMamduuqL8iSp62QAnJ+7ATiYLWA==", + "requires": { + "@hapi/hoek": "8.x.x" + } + }, + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + }, + "@hapi/bounce": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bounce/-/bounce-1.3.2.tgz", + "integrity": "sha512-3bnb1AlcEByFZnpDIidxQyw1Gds81z/1rSqlx4bIEE+wUN0ATj0D49B5cE1wGocy90Rp/de4tv7GjsKd5RQeew==", + "requires": { + "@hapi/boom": "7.x.x", + "@hapi/hoek": "^8.3.1" + } + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==" + }, + "@hapi/call": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@hapi/call/-/call-5.1.2.tgz", + "integrity": "sha512-10XyXbpo0fAXmOf/Q4BCgsQrrTZuwa6/FcSnuKqD06sZz5yMCmJTD8VpmolEjEfwJqXtQBZHj9g/IYcmHk3nxQ==", + "requires": { + "@hapi/boom": "7.x.x", + "@hapi/hoek": "8.x.x" + } + }, + "@hapi/catbox": { + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@hapi/catbox/-/catbox-10.2.3.tgz", + "integrity": "sha512-kN9hXO4NYyOHW09CXiuj5qW1syc/0XeVOBsNNk0Tz89wWNQE5h21WF+VsfAw3uFR8swn/Wj3YEVBnWqo82m/JQ==", + "requires": { + "@hapi/boom": "7.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/joi": "16.x.x", + "@hapi/podium": "3.x.x" + }, + "dependencies": { + "@hapi/joi": { + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz", + "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==", + "requires": { + "@hapi/address": "^2.1.2", + "@hapi/formula": "^1.2.0", + "@hapi/hoek": "^8.2.4", + "@hapi/pinpoint": "^1.0.2", + "@hapi/topo": "^3.1.3" + } + } + } + }, + "@hapi/catbox-memory": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@hapi/catbox-memory/-/catbox-memory-4.1.1.tgz", + "integrity": "sha512-T6Hdy8DExzG0jY7C8yYWZB4XHfc0v+p1EGkwxl2HoaPYAmW7I3E59M/IvmSVpis8RPcIoBp41ZpO2aZPBpM2Ww==", + "requires": { + "@hapi/boom": "7.x.x", + "@hapi/hoek": "8.x.x" + } + }, + "@hapi/content": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@hapi/content/-/content-4.1.0.tgz", + "integrity": "sha512-hv2Czsl49hnWDEfRZOFow/BmYbKyfEknmk3k83gOp6moFn5ceHB4xVcna8OwsGfy8dxO81lhpPy+JgQEaU4SWw==", + "requires": { + "@hapi/boom": "7.x.x" + } + }, + "@hapi/cryptiles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@hapi/cryptiles/-/cryptiles-4.2.1.tgz", + "integrity": "sha512-XoqgKsHK0l/VpqPs+tr6j6vE+VQ3+2bkF2stvttmc7xAOf1oSAwHcJ0tlp/6MxMysktt1IEY0Csy3khKaP9/uQ==", + "requires": { + "@hapi/boom": "7.x.x" + } + }, + "@hapi/file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@hapi/file/-/file-1.0.0.tgz", + "integrity": "sha512-Bsfp/+1Gyf70eGtnIgmScvrH8sSypO3TcK3Zf0QdHnzn/ACnAkI6KLtGACmNRPEzzIy+W7aJX5E+1fc9GwIABQ==" + }, + "@hapi/formula": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-1.2.0.tgz", + "integrity": "sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA==" + }, + "@hapi/hapi": { + "version": "18.4.0", + "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-18.4.0.tgz", + "integrity": "sha512-uk9zqknRLcNVQKgrPURm85DqkdroWP8eDRekh/IPoKvC4VjdZSn6EH2eUriOwyud/CldeBS3HDIJ/PtRj3VxDQ==", + "requires": { + "@hapi/accept": "3.x.x", + "@hapi/ammo": "3.x.x", + "@hapi/boom": "7.x.x", + "@hapi/bounce": "1.x.x", + "@hapi/call": "5.x.x", + "@hapi/catbox": "10.x.x", + "@hapi/catbox-memory": "4.x.x", + "@hapi/heavy": "6.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/joi": "15.x.x", + "@hapi/mimos": "4.x.x", + "@hapi/podium": "3.x.x", + "@hapi/shot": "4.x.x", + "@hapi/somever": "2.x.x", + "@hapi/statehood": "6.x.x", + "@hapi/subtext": "6.x.x", + "@hapi/teamwork": "3.x.x", + "@hapi/topo": "3.x.x" + }, + "dependencies": { + "@hapi/ammo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-3.1.1.tgz", + "integrity": "sha512-NYFK27VSPGyQ/KmOQedpQH4PSjE7awLntepX68vrYtRvuJO21W1kX0bK2p3C+6ltUwtCQSvmNT8a4uMVAysC6Q==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } + } + }, + "@hapi/heavy": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@hapi/heavy/-/heavy-6.2.2.tgz", + "integrity": "sha512-PY1dCCO6dsze7RlafIRhTaGeyTgVe49A/lSkxbhKGjQ7x46o/OFf7hLiRqTCDh3atcEKf6362EaB3+kTUbCsVA==", + "requires": { + "@hapi/boom": "7.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/joi": "16.x.x" + }, + "dependencies": { + "@hapi/joi": { + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz", + "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==", + "requires": { + "@hapi/address": "^2.1.2", + "@hapi/formula": "^1.2.0", + "@hapi/hoek": "^8.2.4", + "@hapi/pinpoint": "^1.0.2", + "@hapi/topo": "^3.1.3" + } + } + } + }, + "@hapi/hoek": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.0.tgz", + "integrity": "sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw==" + }, + "@hapi/inert": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@hapi/inert/-/inert-5.2.2.tgz", + "integrity": "sha512-8IaGfAEF8SwZtpdaTq0G3aDPG35ZTfWKjnMNniG2N3kE+qioMsBuImIGxna8TNQ+sYMXYK78aqmvzbQHno8qSQ==", + "requires": { + "@hapi/ammo": "3.x.x", + "@hapi/boom": "7.x.x", + "@hapi/bounce": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/joi": "16.x.x", + "lru-cache": "4.1.x" + }, + "dependencies": { + "@hapi/ammo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-3.1.1.tgz", + "integrity": "sha512-NYFK27VSPGyQ/KmOQedpQH4PSjE7awLntepX68vrYtRvuJO21W1kX0bK2p3C+6ltUwtCQSvmNT8a4uMVAysC6Q==", + "requires": { + "@hapi/hoek": "8.x.x" + } + }, + "@hapi/joi": { + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz", + "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==", + "requires": { + "@hapi/address": "^2.1.2", + "@hapi/formula": "^1.2.0", + "@hapi/hoek": "^8.2.4", + "@hapi/pinpoint": "^1.0.2", + "@hapi/topo": "^3.1.3" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "@hapi/iron": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@hapi/iron/-/iron-5.1.4.tgz", + "integrity": "sha512-+ElC+OCiwWLjlJBmm8ZEWjlfzTMQTdgPnU/TsoU5QsktspIWmWi9IU4kU83nH+X/SSya8TP8h8P11Wr5L7dkQQ==", + "requires": { + "@hapi/b64": "4.x.x", + "@hapi/boom": "7.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/cryptiles": "4.x.x", + "@hapi/hoek": "8.x.x" + } + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/mimos": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@hapi/mimos/-/mimos-4.1.1.tgz", + "integrity": "sha512-CXoi/zfcTWfKYX756eEea8rXJRIb9sR4d7VwyAH9d3BkDyNgAesZxvqIdm55npQc6S9mU3FExinMAQVlIkz0eA==", + "requires": { + "@hapi/hoek": "8.x.x", + "mime-db": "1.x.x" + } + }, + "@hapi/nigel": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@hapi/nigel/-/nigel-3.1.1.tgz", + "integrity": "sha512-R9YWx4S8yu0gcCBrMUDCiEFm1SQT895dMlYoeNBp8I6YhF1BFF1iYPueKA2Kkp9BvyHdjmvrxCOns7GMmpl+Fw==", + "requires": { + "@hapi/hoek": "8.x.x", + "@hapi/vise": "3.x.x" + } + }, + "@hapi/pez": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@hapi/pez/-/pez-4.1.1.tgz", + "integrity": "sha512-TUa2C7Xk6J69HWrm+Ad+O6dFvdVAG0BiFUYaRsmkdWjFIfwHBCaOI1dWT/juNukSb39Lj6/mDVyjN+H4nKB3xg==", + "requires": { + "@hapi/b64": "4.x.x", + "@hapi/boom": "7.x.x", + "@hapi/content": "4.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/nigel": "3.x.x" + } + }, + "@hapi/pinpoint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-1.0.2.tgz", + "integrity": "sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ==" + }, + "@hapi/podium": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-3.4.3.tgz", + "integrity": "sha512-QJlnYLEYZWlKQ9fSOtuUcpANyoVGwT68GA9P0iQQCAetBK0fI+nbRBt58+aMixoifczWZUthuGkNjqKxgPh/CQ==", + "requires": { + "@hapi/hoek": "8.x.x", + "@hapi/joi": "16.x.x" + }, + "dependencies": { + "@hapi/joi": { + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz", + "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==", + "requires": { + "@hapi/address": "^2.1.2", + "@hapi/formula": "^1.2.0", + "@hapi/hoek": "^8.2.4", + "@hapi/pinpoint": "^1.0.2", + "@hapi/topo": "^3.1.3" + } + } + } + }, + "@hapi/shot": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@hapi/shot/-/shot-4.1.2.tgz", + "integrity": "sha512-6LeHLjvsq/bQ0R+fhEyr7mqExRGguNTrxFZf5DyKe3CK6pNabiGgYO4JVFaRrLZ3JyuhkS0fo8iiRE2Ql2oA/A==", + "requires": { + "@hapi/hoek": "8.x.x", + "@hapi/joi": "16.x.x" + }, + "dependencies": { + "@hapi/joi": { + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz", + "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==", + "requires": { + "@hapi/address": "^2.1.2", + "@hapi/formula": "^1.2.0", + "@hapi/hoek": "^8.2.4", + "@hapi/pinpoint": "^1.0.2", + "@hapi/topo": "^3.1.3" + } + } + } + }, + "@hapi/somever": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@hapi/somever/-/somever-2.1.1.tgz", + "integrity": "sha512-cic5Sto4KGd9B0oQSdKTokju+rYhCbdpzbMb0EBnrH5Oc1z048hY8PaZ1lx2vBD7I/XIfTQVQetBH57fU51XRA==", + "requires": { + "@hapi/bounce": "1.x.x", + "@hapi/hoek": "8.x.x" + } + }, + "@hapi/statehood": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@hapi/statehood/-/statehood-6.1.2.tgz", + "integrity": "sha512-pYXw1x6npz/UfmtcpUhuMvdK5kuOGTKcJNfLqdNptzietK2UZH5RzNJSlv5bDHeSmordFM3kGItcuQWX2lj2nQ==", + "requires": { + "@hapi/boom": "7.x.x", + "@hapi/bounce": "1.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/cryptiles": "4.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/iron": "5.x.x", + "@hapi/joi": "16.x.x" + }, + "dependencies": { + "@hapi/joi": { + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz", + "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==", + "requires": { + "@hapi/address": "^2.1.2", + "@hapi/formula": "^1.2.0", + "@hapi/hoek": "^8.2.4", + "@hapi/pinpoint": "^1.0.2", + "@hapi/topo": "^3.1.3" + } + } + } + }, + "@hapi/subtext": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@hapi/subtext/-/subtext-6.1.2.tgz", + "integrity": "sha512-G1kqD1E2QdxpvpL26WieIyo3z0qCa/sAGSa2TJI/PYPWCR9rL0rqFvhWY774xPZ4uK1PV3TIaJcx8AruAvxclg==", + "requires": { + "@hapi/boom": "7.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/content": "4.x.x", + "@hapi/file": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/pez": "4.x.x", + "@hapi/wreck": "15.x.x" + } + }, + "@hapi/teamwork": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-3.3.1.tgz", + "integrity": "sha512-61tiqWCYvMKP7fCTXy0M4VE6uNIwA0qvgFoiDubgfj7uqJ0fdHJFQNnVPGrxhLWlwz0uBPWrQlBH7r8y9vFITQ==" + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@hapi/vise": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@hapi/vise/-/vise-3.1.1.tgz", + "integrity": "sha512-OXarbiCSadvtg+bSdVPqu31Z1JoBL+FwNYz3cYoBKQ5xq1/Cr4A3IkGpAZbAuxU5y4NL5pZFZG3d2a3ZGm/dOQ==", + "requires": { + "@hapi/hoek": "8.x.x" + } + }, + "@hapi/wreck": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-15.1.0.tgz", + "integrity": "sha512-tQczYRTTeYBmvhsek/D49En/5khcShaBEmzrAaDjMrFXKJRuF8xA8+tlq1ETLBFwGd6Do6g2OC74rt11kzawzg==", + "requires": { + "@hapi/boom": "7.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x" + } + }, + "@marionebl/sander": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@marionebl/sander/-/sander-0.6.1.tgz", + "integrity": "sha1-GViWWHTyS8Ub5Ih1/rUNZC/EH3s=", + "requires": { + "graceful-fs": "^4.1.3", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.2" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, + "@samverschueren/stream-to-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", + "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", + "requires": { + "any-observable": "^0.3.0" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@sinonjs/commons": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.6.0.tgz", + "integrity": "sha512-w4/WHG7C4WWFyE5geCieFJF6MZkbW4VAriol5KlmQXpAQdxvV0p26sqNZOW6Qyw6Y0l9K4g+cHvvczR2sEEpqg==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/formatio": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz", + "integrity": "sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ==", + "requires": { + "@sinonjs/commons": "^1", + "@sinonjs/samsam": "^3.1.0" + } + }, + "@sinonjs/samsam": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.3.tgz", + "integrity": "sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ==", + "requires": { + "@sinonjs/commons": "^1.3.0", + "array-from": "^2.1.1", + "lodash": "^4.17.15" + } + }, + "@sinonjs/text-encoding": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", + "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==" + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/bn.js": { + "version": "4.11.5", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.5.tgz", + "integrity": "sha512-AEAZcIZga0JgVMHNtl1CprA/hXX7/wPt79AgR4XqaDt7jyj3QWYw6LPoOiznPtugDmlubUnAahMs2PFxGcQrng==", + "requires": { + "@types/node": "*" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + }, + "@types/node": { + "version": "12.12.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.14.tgz", + "integrity": "sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA==" + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" + }, + "@types/semver": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-1OzrNb4RuAzIT7wHSsgZRlMBlNsJl+do6UblR7JMW4oB7bbR+uBEYtUh7gEc/jM84GGilh68lSOokyM/zNUlBA==" + }, + "@types/unist": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", + "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==" + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "abstract-leveldown": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.0.3.tgz", + "integrity": "sha512-jzewKKpZbaYUa6HTThnrl+GrJhzjEAeuc7hTVpZdzg7kupXZFoqQDFwyOwLNbmJKJlmzw8yiipMPkDiuKkT06Q==", + "requires": { + "level-concat-iterator": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "abstract-logging": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-1.0.0.tgz", + "integrity": "sha1-i33q/TEFWbwo93ck3RuzAXcnjBs=" + }, + "accept": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/accept/-/accept-2.1.4.tgz", + "integrity": "sha1-iHr1TO7lx/RDBGGXHsQAxh0JrLs=", + "requires": { + "boom": "5.x.x", + "hoek": "4.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==" + }, + "acorn-jsx": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", + "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==" + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "acorn-walk": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", + "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==" + }, + "aegir": { + "version": "20.4.1", + "resolved": "https://registry.npmjs.org/aegir/-/aegir-20.4.1.tgz", + "integrity": "sha512-N3JYlH4X3pymIhF7cklUV7NMv1G3VhzJGIuxM96G66SAjhnSrrAR1Y8y6IPSOQtKit/PpZW68g4GxYq98Q/h3Q==", + "requires": { + "@babel/cli": "^7.6.0", + "@babel/core": "^7.6.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-runtime": "^7.6.0", + "@babel/preset-env": "^7.6.0", + "@babel/register": "^7.6.0", + "@babel/runtime": "^7.6.0", + "@commitlint/cli": "^8.0.0", + "@commitlint/config-conventional": "^8.0.0", + "@commitlint/lint": "^8.0.0", + "@commitlint/load": "^8.0.0", + "@commitlint/read": "^8.0.0", + "@commitlint/travis-cli": "^8.0.0", + "@hapi/joi": "^15.1.0", + "arrify": "^2.0.1", + "async": "^2.6.1", + "babel-loader": "^8.0.5", + "babel-plugin-transform-flow-comments": "^6.22.0", + "browserify-zlib": "~0.2.0", + "bundlesize": "~0.18.0", + "chalk": "^2.4.1", + "codecov": "^3.3.0", + "conventional-changelog": "^3.1.10", + "conventional-github-releaser": "^3.1.3", + "del": "^5.1.0", + "dependency-check": "^4.1.0", + "detect-node": "^2.0.4", + "documentation": "^12.1.2", + "electron": "^6.0.9", + "electron-mocha": "^8.1.2", + "es6-promisify": "^6.0.2", + "eslint": "^6.3.0", + "eslint-config-standard": "^14.1.0", + "eslint-plugin-import": "^2.18.0", + "eslint-plugin-no-only-tests": "^2.3.1", + "eslint-plugin-node": "^10.0.0", + "eslint-plugin-promise": "^4.2.1", + "eslint-plugin-standard": "^4.0.1", + "execa": "^1.0.0", + "filesize": "^4.2.0", + "findup-sync": "^4.0.0", + "fs-extra": "^8.1.0", + "gh-pages": "^2.1.1", + "git-validate": "^2.2.4", + "globby": "^10.0.1", + "it-glob": "~0.0.5", + "json-loader": "~0.5.7", + "karma": "^4.3.0", + "karma-chrome-launcher": "^3.1.0", + "karma-cli": "^2.0.0", + "karma-edge-launcher": "~0.4.2", + "karma-firefox-launcher": "^1.2.0", + "karma-junit-reporter": "^1.2.0", + "karma-mocha": "^1.3.0", + "karma-mocha-reporter": "^2.2.5", + "karma-mocha-webworker": "^1.3.0", + "karma-sourcemap-loader": "~0.3.7", + "karma-webpack": "4.0.2", + "listr": "~0.14.2", + "listr-verbose-renderer": "~0.5.0", + "lodash": "^4.17.14", + "mocha": "^6.1.4", + "npm-package-json-lint": "^3.7.0", + "npm-which": "^3.0.1", + "nyc": "^14.1.0", + "p-map": "^3.0.0", + "pify": "^4.0.1", + "pretty-hrtime": "^1.0.3", + "prompt-promise": "^1.0.3", + "read-pkg-up": "^6.0.0", + "resolve-bin": "~0.4.0", + "rimraf": "^3.0.0", + "semver": "^6.3.0", + "simple-git": "^1.126.0", + "stats-webpack-plugin": "~0.7.0", + "stream-array": "^1.1.2", + "stream-http": "^3.1.0", + "terser-webpack-plugin": "^2.0.1", + "through": "^2.3.8", + "transform-loader": "~0.2.4", + "update-notifier": "^3.0.1", + "vinyl-fs": "^3.0.3", + "webpack": "^4.40.2", + "webpack-bundle-analyzer": "^3.5.0", + "webpack-cli": "^3.3.8", + "webpack-merge": "^4.2.2", + "yargs": "^14.0.0", + "yargs-parser": "^14.0.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "base64id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=" + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "engine.io": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", + "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", + "requires": { + "accepts": "~1.3.4", + "base64id": "1.0.0", + "cookie": "0.3.1", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.0", + "ws": "~3.3.1" + } + }, + "engine.io-client": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", + "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.1", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~3.3.1", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.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" + } + }, + "filesize": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-4.2.1.tgz", + "integrity": "sha512-bP82Hi8VRZX/TUBKfE24iiUGsB/sfm2WUrwTQyAzQrhO3V9IhcBBNBXMyzLY5orACxRyYJ3d2HeRVX+eFv4lmA==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "optional": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "it-glob": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.7.tgz", + "integrity": "sha512-XfbziJs4fi0MfdEGTLkZXeqo2EorF2baFXxFn1E2dGbgYMhFTZlZ2Yn/mx5CkpuLWVJvO1DwtTOVW2mzRyVK8w==", + "requires": { + "fs-extra": "^8.1.0", + "minimatch": "^3.0.4" + } + }, + "karma": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/karma/-/karma-4.4.1.tgz", + "integrity": "sha512-L5SIaXEYqzrh6b1wqYC42tNsFMx2PWuxky84pK9coK09MvmL7mxii3G3bZBh/0rvD27lqDd0le9jyhzvwif73A==", + "requires": { + "bluebird": "^3.3.0", + "body-parser": "^1.16.1", + "braces": "^3.0.2", + "chokidar": "^3.0.0", + "colors": "^1.1.0", + "connect": "^3.6.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.0", + "flatted": "^2.0.0", + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "http-proxy": "^1.13.0", + "isbinaryfile": "^3.0.0", + "lodash": "^4.17.14", + "log4js": "^4.0.0", + "mime": "^2.3.1", + "minimatch": "^3.0.2", + "optimist": "^0.6.1", + "qjobs": "^1.1.4", + "range-parser": "^1.2.0", + "rimraf": "^2.6.0", + "safe-buffer": "^5.0.1", + "socket.io": "2.1.1", + "source-map": "^0.6.1", + "tmp": "0.0.33", + "useragent": "2.3.0" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "requires": { + "picomatch": "^2.0.4" + } + }, + "socket.io": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", + "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", + "requires": { + "debug": "~3.1.0", + "engine.io": "~3.2.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.1.1", + "socket.io-parser": "~3.2.0" + } + }, + "socket.io-client": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", + "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "engine.io-client": "~3.2.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.2.0", + "to-array": "0.1.4" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "requires": { + "es6-promisify": "^5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "^4.0.3" + } + } + } + }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "dependencies": { + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + } + } + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==" + }, + "ammo": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/ammo/-/ammo-2.0.4.tgz", + "integrity": "sha1-v4CqshFpjqePY+9efxE91dnokX8=", + "requires": { + "boom": "5.x.x", + "hoek": "4.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "requires": { + "string-width": "^3.0.0" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "ansi-escapes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "requires": { + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", + "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==" + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "requires": { + "buffer-equal": "^1.0.0" + } + }, + "append-transform": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", + "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "requires": { + "default-require-extensions": "^2.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + } + } + }, + "args": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/args/-/args-5.0.1.tgz", + "integrity": "sha512-1kqmFCFsPffavQFGt8OxJdIcETti99kySRUPMpOhaGjL6mRJn8HFU1OxKY5bMqfZKUwTQc1mZkAjmGYaVOHFtQ==", + "requires": { + "camelcase": "5.0.0", + "chalk": "2.4.2", + "leven": "2.1.0", + "mri": "1.1.4" + }, + "dependencies": { + "camelcase": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==" + } + } + }, + "argv": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", + "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=" + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-from": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", + "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=" + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=" + }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + } + }, + "array-shuffle": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-shuffle/-/array-shuffle-1.0.1.tgz", + "integrity": "sha1-fqSIKjVrS8pfVF4LblLq9tlxVXo=" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" + }, + "asmcrypto.js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", + "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.2.0.tgz", + "integrity": "sha512-Q7hnYGGNYbcmGrCPulXfkEw7oW7qjWeM4ZTALmgpuIcZLxyqqKYWxCZg2UBm8bklrnB4m2mGyJPWfoktdORD8A==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "async-iterator-all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-iterator-all/-/async-iterator-all-1.0.0.tgz", + "integrity": "sha512-+vC2NFEmAuONF+A2MzM1tUS5pHovDH37/oQbmXW6FgnEns0S9BsR+MJGnzsFHzSN2iFQhbN7L8cFqV1W1F1kpQ==" + }, + "async-iterator-batch": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/async-iterator-batch/-/async-iterator-batch-0.0.1.tgz", + "integrity": "sha512-bzsAEv8fXhJfDR/5qxgoDD3N8TJ8re6XfLeVBJfUt0KsYdVL/D+u05yTT78qnhtkNW9/hh0+NO/AHmSqz50eOQ==" + }, + "async-iterator-first": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-iterator-first/-/async-iterator-first-1.0.0.tgz", + "integrity": "sha512-1PT9En58Uw1CZtcNUsrEUK5yXUxsKeaI5f7Y9/yEfQXeWObmbivvw+VZIyFL3T7BdUT1HvL2mKlHZdVpiJWCSQ==" + }, + "async-iterator-last": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-iterator-last/-/async-iterator-last-1.0.0.tgz", + "integrity": "sha512-girbg1o/OdnszY9vbkIphzx71Gu0DNm+5DjGe32S1/bMLotPf52XFRRMVw/LE9/4Gn9xmL3H9tWftZ+JJWV4ig==" + }, + "async-iterator-to-pull-stream": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/async-iterator-to-pull-stream/-/async-iterator-to-pull-stream-1.3.0.tgz", + "integrity": "sha512-NjyhAEz/sx32olqgKIk/2xbWEM6o8qef1yetIgb0U/R3oBgndP1kE/0CslowH3jvnA94BO4I6OXpOkTKH7Z1AA==", + "requires": { + "get-iterator": "^1.0.2", + "pull-stream-to-async-iterator": "^1.0.1" + } + }, + "async-iterator-to-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/async-iterator-to-stream/-/async-iterator-to-stream-1.1.0.tgz", + "integrity": "sha512-ddF3u7ipixenFJsYCKqVR9tNdkIzd2j7JVg8QarqkfUl7UTR7nhJgc1Q+3ebP/5DNFhV9Co9F47FJjGpdc0PjQ==", + "requires": { + "readable-stream": "^3.0.5" + } + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz", + "integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==" + }, + "axios": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", + "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + } + }, + "b64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/b64/-/b64-3.0.3.tgz", + "integrity": "sha512-Pbeh0i6OLubPJdIdCepn8ZQHwN2MWznZHbHABSTEfQ706ie+yuxNSaPdqX1xRatT6WanaS1EazMiSg0NUW2XxQ==" + }, + "babel-loader": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "requires": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "pify": "^4.0.1" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-syntax-flow": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=" + }, + "babel-plugin-transform-flow-comments": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-comments/-/babel-plugin-transform-flow-comments-6.22.0.tgz", + "integrity": "sha1-jZSREy8rSKvQZW+Wwg87vW/BdSk=", + "requires": { + "babel-plugin-syntax-flow": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "requires": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "babelify": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz", + "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==" + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "bail": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz", + "integrity": "sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "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": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.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==", + "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==", + "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==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base-x": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.7.tgz", + "integrity": "sha512-zAKJGuQPihXW22fkrfOclUUZXM2g92z5GzlSMHxhO6r6Qj+Nm0ccaGNBzDZojzwOMkpjAv4J0fOv1U4go+a4iw==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "base32-encode": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/base32-encode/-/base32-encode-1.1.1.tgz", + "integrity": "sha512-eqa0BeGghj3guezlasdHJhr3+J5ZbbQvxeprkcDMbRQrjlqOT832IUDT4Al4ofAwekFYMqkkM9KMUHs9Cu0HKA==" + }, + "base32.js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base32.js/-/base32.js-0.1.0.tgz", + "integrity": "sha1-tYLexpPC8R6JPPBk7mrFthMaIgI=" + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" + }, + "base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + }, + "dependencies": { + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + } + } + }, + "bech32": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.3.tgz", + "integrity": "sha512-yuVFUvrNcoJi0sv5phmqc6P+Fl1HjRDRNOOkHY2X/3LBy2bIGNSFx4fZ95HMaXHupuS7cZR15AsvtmCIF4UEyg==" + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "requires": { + "callsite": "1.0.0" + } + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" + }, + "binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", + "requires": { + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "binary-querystring": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/binary-querystring/-/binary-querystring-0.1.2.tgz", + "integrity": "sha512-mrot/6OS3YIUSWMyv/9uyMbCDYQWxl+fVDsrJFjPFGcVT0xDCdEg/gbN6eguaCr0UqsuXdtJ3DQ3i2z2alnulg==" + }, + "binaryen": { + "version": "77.0.0-nightly.20190407", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-77.0.0-nightly.20190407.tgz", + "integrity": "sha512-1mxYNvQ0xywMe582K7V6Vo2zzhZZxMTeGHH8aE/+/AND8f64D8Q1GThVY3RVRwGY/4p+p95ccw9Xbw2ovFXRIg==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bintrees": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz", + "integrity": "sha1-DmVcm5wkNeqraL9AJyJtK1WjRSQ=" + }, + "bip174": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bip174/-/bip174-1.0.1.tgz", + "integrity": "sha512-Mq2aFs1TdMfxBpYPg7uzjhsiXbAtoVq44TNjEWtvuZBiBgc3m7+n55orYMtTAxdg7jWbL4DtH0MKocJER4xERQ==" + }, + "bip32": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/bip32/-/bip32-2.0.4.tgz", + "integrity": "sha512-ioPytarPDIrWckWMuK4RNUtvwhvWEc2fvuhnO0WEwu732k5OLjUXv4rXi2c/KJHw9ZMNQMkYRJrBw81RujShGQ==", + "requires": { + "@types/node": "10.12.18", + "bs58check": "^2.1.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "tiny-secp256k1": "^1.1.0", + "typeforce": "^1.11.5", + "wif": "^2.0.6" + }, + "dependencies": { + "@types/node": { + "version": "10.12.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", + "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" + } + } + }, + "bip66": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", + "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "bitcoin-ops": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz", + "integrity": "sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow==" + }, + "bitcoinjs-lib": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-5.1.6.tgz", + "integrity": "sha512-NgvnA8XXUuzpuBnVs1plzZvVOYsuont4KPzaGcVIwjktYQbCk1hUkXnt4wujIOBscNsXuu+plVbPYvtMosZI/w==", + "requires": { + "@types/node": "10.12.18", + "bech32": "^1.1.2", + "bip174": "^1.0.1", + "bip32": "^2.0.4", + "bip66": "^1.1.0", + "bitcoin-ops": "^1.4.0", + "bs58check": "^2.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.3", + "merkle-lib": "^2.0.10", + "pushdata-bitcoin": "^1.0.1", + "randombytes": "^2.0.1", + "tiny-secp256k1": "^1.1.1", + "typeforce": "^1.11.3", + "varuint-bitcoin": "^1.0.4", + "wif": "^2.0.1" + }, + "dependencies": { + "@types/node": { + "version": "10.12.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", + "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" + } + } + }, + "bl": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.0.tgz", + "integrity": "sha512-QwQvAZZA1Bw1FWnhNj2X5lu+sPxxB2ITH3mqEqYyahN6JZR13ONjk+XiTnBaGEzMPUrAgOkaD68pBH1rvPRPsw==", + "requires": { + "readable-stream": "^3.4.0" + } + }, + "blakejs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", + "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" + }, + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", + "requires": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" + } + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + } + } + }, + "boom": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-7.3.0.tgz", + "integrity": "sha512-Swpoyi2t5+GhOEGw8rEsKvTxFLIDiiKoUc2gsoV6Lyr43LHBIzch3k2MvYUs8RTROrIkVJ3Al0TkaOGjnb+B6A==", + "requires": { + "hoek": "6.x.x" + } + }, + "borc": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/borc/-/borc-2.1.1.tgz", + "integrity": "sha512-vPLLC2/gS0QN4O3cnPh+8jLshkMMD4qIfs+B1TPGPh30WrtcfItaO6j4k9alsqu/hIgKi8dVdmMvTcbq4tIF7A==", + "requires": { + "bignumber.js": "^9.0.0", + "commander": "^2.15.0", + "ieee754": "^1.1.8", + "iso-url": "~0.4.4", + "json-text-sequence": "~0.1.0" + } + }, + "bourne": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/bourne/-/bourne-1.1.2.tgz", + "integrity": "sha512-b2dgVkTZhkQirNMohgC00rWfpVqEi9y5tKM1k3JvoNx05ODtfQoPPd4js9CYFQoY0IM8LAmnJulEuWv74zjUOg==" + }, + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "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==", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "brotli-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/brotli-size/-/brotli-size-0.1.0.tgz", + "integrity": "sha512-5ny7BNvpe2TSmdafF1T9dnFYp3AIrJ8qJt29K0DQJzORlK38LBim/CmlY26JtreV6SWmXza7Oa+9m61SzvxR0Q==", + "requires": { + "duplexer": "^0.1.1", + "iltorb": "^2.4.3" + } + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" + } + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.0.tgz", + "integrity": "sha512-HYnxc/oLRWvJ3TsGegR0SRL/UDnknGq2s/a8dYYEO+kOQ9m9apKoS5oiathLKZdh/e9uE+/J3j92qPlGD/vTqA==", + "requires": { + "caniuse-lite": "^1.0.30001012", + "electron-to-chromium": "^1.3.317", + "node-releases": "^1.1.41" + } + }, + "bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", + "requires": { + "base-x": "^3.0.2" + } + }, + "bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "requires": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "buffer": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", + "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" + }, + "buffer-peek-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-peek-stream/-/buffer-peek-stream-1.0.1.tgz", + "integrity": "sha1-U7R1cKE0d4fFutTKLKMCH52LPP0=" + }, + "buffer-reuse-pool": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-reuse-pool/-/buffer-reuse-pool-1.0.0.tgz", + "integrity": "sha512-rZlw21X5Bv2O1d4ZmMLXaR45UJ+1loUfxVKUG/hwSY/7IhISv6wZbi4ScHqugxTeuw6ndu7dtq4CATVUrr1MXg==" + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" + }, + "buffer-split": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-split/-/buffer-split-1.0.0.tgz", + "integrity": "sha1-RCfb/1NzG2HXpxq6R/UDOWYTeEo=", + "requires": { + "buffer-indexof": "~0.0.0" + }, + "dependencies": { + "buffer-indexof": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-0.0.2.tgz", + "integrity": "sha1-7Q82t64WamanzRdMBGeuje3wCPU=" + } + } + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "bundlesize": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/bundlesize/-/bundlesize-0.18.0.tgz", + "integrity": "sha512-GZURr25umfYxZYZUyOlOtJRbYjAn0VfbjbnS0NBcOiF8VcjmhoEhmx8Gw4va8HeQb8j7Ra0ZltY/IeHgSHFXFw==", + "requires": { + "axios": "^0.19.0", + "brotli-size": "0.1.0", + "bytes": "^3.1.0", + "ci-env": "^1.4.0", + "commander": "^2.20.0", + "cosmiconfig": "^5.2.1", + "github-build": "^1.2.0", + "glob": "^7.1.4", + "gzip-size": "^4.0.0", + "prettycli": "^1.4.3" + } + }, + "byteman": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/byteman/-/byteman-1.3.5.tgz", + "integrity": "sha512-FzWDstifFRxtHX234b93AGa1b77dA6NUFpEXe+AoG1NydGN//XDZLMXxRNUoMf7SYYhVxfpwUEUgQOziearJvA==" + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "cacache": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", + "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", + "requires": { + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "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" + } + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" + } + } + }, + "cached-path-relative": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", + "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==" + }, + "caching-transform": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz", + "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==", + "requires": { + "hasha": "^3.0.0", + "make-dir": "^2.0.0", + "package-hash": "^3.0.0", + "write-file-atomic": "^2.4.2" + } + }, + "call": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/call/-/call-4.0.2.tgz", + "integrity": "sha1-33b19R7o3Ui4VqyEAPfmnm1zmcQ=", + "requires": { + "boom": "5.x.x", + "hoek": "4.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "callbackify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/callbackify/-/callbackify-1.1.0.tgz", + "integrity": "sha1-0qNphtKKppcUUmwREgm+65l50x4=" + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + } + } + }, + "caniuse-lite": { + "version": "1.0.30001013", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001013.tgz", + "integrity": "sha512-hOAXaWKuq/UVFgYawxIOdPdyMQdYcwOCDOjnZcKn7wCgFUrhP7smuNZjGLuJlPSgE6aRA4cRJ+bGSrhtEt7ZAg==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "catbox": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/catbox/-/catbox-7.1.5.tgz", + "integrity": "sha512-4fui5lELzqZ+9cnaAP/BcqXTH6LvWLBRtFhJ0I4FfgfXiSaZcf6k9m9dqOyChiTxNYtvLk7ZMYSf7ahMq3bf5A==", + "requires": { + "boom": "5.x.x", + "hoek": "4.x.x", + "joi": "10.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + }, + "joi": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", + "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", + "requires": { + "hoek": "4.x.x", + "isemail": "2.x.x", + "items": "2.x.x", + "topo": "2.x.x" + } + } + } + }, + "catbox-memory": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/catbox-memory/-/catbox-memory-2.0.4.tgz", + "integrity": "sha1-Qz4lWQLK9UIz0ShkKcj03xToItU=", + "requires": { + "hoek": "4.x.x" + }, + "dependencies": { + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "ccount": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz", + "integrity": "sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==" + }, + "chai": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", + "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" + } + }, + "chai-as-promised": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", + "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "requires": { + "check-error": "^1.0.2" + } + }, + "chai-checkmark": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chai-checkmark/-/chai-checkmark-1.0.1.tgz", + "integrity": "sha1-n7s8mtkQHwl+8ogyjTD0In10//s=" + }, + "chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", + "requires": { + "traverse": ">=0.3.0 <0.4" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "character-entities": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.3.tgz", + "integrity": "sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==" + }, + "character-entities-html4": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.3.tgz", + "integrity": "sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==" + }, + "character-entities-legacy": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz", + "integrity": "sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==" + }, + "character-reference-invalid": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz", + "integrity": "sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==" + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==" + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-env": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/ci-env/-/ci-env-1.12.0.tgz", + "integrity": "sha512-4dS9YjX4kpaFmkJWZPuDPK3WlPKdMjx/3JH39vyHj+G4/ED2DCgHQLbh9tKBQjwAwR/sGHOqIVMTlMUZcfJPWw==" + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cid-tool": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cid-tool/-/cid-tool-0.4.0.tgz", + "integrity": "sha512-nsH5JcmhdPTLuShxwJgIgo3qdVdk7w1pnNMcjalynvG8bfVSrcZfjKLALINMUgnoOOLIkFqkuYo8/K4YIo6SJw==", + "requires": { + "cids": "~0.7.0", + "explain-error": "^1.0.4", + "multibase": "~0.6.0", + "multihashes": "~0.4.14", + "split2": "^3.1.1", + "yargs": "^15.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.0.tgz", + "integrity": "sha512-7kFQgnEaMdRtwf6uSfUnVr9gSGC7faurn+J/Mv90/W+iTtN0405/nLdopfMWwchyxhbGYl6TC4Sccn9TUkGAgg==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "split2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.1.1.tgz", + "integrity": "sha512-emNzr1s7ruq4N+1993yht631/JH+jaj0NYBosuKmLcq+JkGQ9MmTw1RB1fGaTCzUuseRIClrlSLHRNYGwWQ58Q==", + "requires": { + "readable-stream": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.0.2.tgz", + "integrity": "sha512-GH/X/hYt+x5hOat4LMnCqMd8r5Cv78heOMIJn1hr7QPPBqfeC6p89Y78+WB9yGDvfpCvgasfmWLzNzEioOUD9Q==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^16.1.0" + } + }, + "yargs-parser": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", + "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "cids": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.1.tgz", + "integrity": "sha512-qEM4j2GKE/BiT6WdUi6cfW8dairhSLTUE8tIdxJG6SvY33Mp/UPjw+xcO0n1zsllgo72BupzKF/44v+Bg8YPPg==", + "requires": { + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-is": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.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=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "clear-module": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/clear-module/-/clear-module-4.0.0.tgz", + "integrity": "sha512-JiLAmWcshGbujtuyOdDE9GRmdSV5Ud2x+4kJ79hAZSllWs2Kwaf8NY0wq9DOswypcvSL09FGkVq2JoVgaXKbsw==", + "requires": { + "parent-module": "^2.0.0", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "parent-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-2.0.0.tgz", + "integrity": "sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==", + "requires": { + "callsites": "^3.1.0" + } + } + } + }, + "cli-boxes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", + "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==" + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", + "requires": { + "slice-ansi": "0.0.4", + "string-width": "^1.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" + }, + "clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "requires": { + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" + }, + "cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "codecov": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.6.1.tgz", + "integrity": "sha512-IUJB6WG47nWK7o50etF8jBadxdMw7DmoQg05yIljstXFBGB6clOZsIj6iD4P82T2YaIU3qq+FFu8K9pxgkCJDQ==", + "requires": { + "argv": "^0.0.2", + "ignore-walk": "^3.0.1", + "js-yaml": "^3.13.1", + "teeny-request": "^3.11.3", + "urlgrey": "^0.4.4" + } + }, + "collapse-white-space": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz", + "integrity": "sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "comma-separated-tokens": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz", + "integrity": "sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ==" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "compare-func": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", + "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^3.0.0" + } + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "configstore": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", + "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "requires": { + "is-obj": "^1.0.0" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=" + }, + "content": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/content/-/content-3.0.7.tgz", + "integrity": "sha512-LXtnSnvE+Z1Cjpa3P9gh9kb396qV4MqpfwKy777BOSF8n6nw2vAi03tHNl0/XRqZUyzVzY/+nMXOZVnEapWzdg==", + "requires": { + "boom": "5.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=" + }, + "conventional-changelog": { + "version": "3.1.15", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.15.tgz", + "integrity": "sha512-CoWM+Z9bYyF00QzNpTnxkCLiuLAeRocJz3C/foFjvhsdltdtkJgMChp7GytQNjm4pT7JFBVJTpqLHTpxNtOzaA==", + "requires": { + "conventional-changelog-angular": "^5.0.6", + "conventional-changelog-atom": "^2.0.3", + "conventional-changelog-codemirror": "^2.0.3", + "conventional-changelog-conventionalcommits": "^4.2.3", + "conventional-changelog-core": "^4.1.1", + "conventional-changelog-ember": "^2.0.4", + "conventional-changelog-eslint": "^3.0.4", + "conventional-changelog-express": "^2.0.1", + "conventional-changelog-jquery": "^3.0.6", + "conventional-changelog-jshint": "^2.0.3", + "conventional-changelog-preset-loader": "^2.3.0" + }, + "dependencies": { + "conventional-changelog-angular": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.6.tgz", + "integrity": "sha512-QDEmLa+7qdhVIv8sFZfVxU1VSyVvnXPsxq8Vam49mKUcO1Z8VTLEJk9uI21uiJUsnmm0I4Hrsdc9TgkOQo9WSA==", + "requires": { + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + } + } + }, + "conventional-changelog-angular": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz", + "integrity": "sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==", + "requires": { + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + }, + "conventional-changelog-atom": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.3.tgz", + "integrity": "sha512-szZe2ut97qNO6vCCMkm1I/tWu6ol4Rr8a9Lx0y/VlpDnpY0PNp+oGpFgU55lplhx+I3Lro9Iv4/gRj0knfgjzg==", + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-codemirror": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.3.tgz", + "integrity": "sha512-t2afackdgFV2yBdHhWPqrKbpaQeVnz2hSJKdWqjasPo5EpIB6TBL0er3cOP1mnGQmuzk9JSvimNSuqjWGDtU5Q==", + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-conventionalcommits": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.3.tgz", + "integrity": "sha512-atGa+R4vvEhb8N/8v3IoW59gCBJeeFiX6uIbPu876ENAmkMwsenyn0R21kdDHJFLQdy6zW4J6b4xN8KI3b9oww==", + "requires": { + "compare-func": "^1.3.1", + "lodash": "^4.17.15", + "q": "^1.5.1" + } + }, + "conventional-changelog-core": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.1.1.tgz", + "integrity": "sha512-fBre5P6U9n914Da6Cj82vIfRU2DhTLGr1eDPXWA7AamxTpd4cd0jgdS7Aieas5Vn5WXOJNFRDNl6PrYLEonImg==", + "requires": { + "conventional-changelog-writer": "^4.0.11", + "conventional-commits-parser": "^3.0.8", + "dateformat": "^3.0.0", + "get-pkg-repo": "^1.0.0", + "git-raw-commits": "2.0.0", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^3.0.1", + "lodash": "^4.17.15", + "normalize-package-data": "^2.3.5", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^3.0.0" + }, + "dependencies": { + "conventional-commits-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz", + "integrity": "sha512-YcBSGkZbYp7d+Cr3NWUeXbPDFUN6g3SaSIzOybi8bjHL5IJ5225OSCxJJ4LgziyEJ7AaJtE9L2/EU6H7Nt/DDQ==", + "requires": { + "JSONStream": "^1.0.4", + "is-text-path": "^1.0.1", + "lodash": "^4.17.15", + "meow": "^5.0.0", + "split2": "^2.0.0", + "through2": "^3.0.0", + "trim-off-newlines": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "git-raw-commits": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", + "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", + "requires": { + "dargs": "^4.0.1", + "lodash.template": "^4.0.2", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "conventional-changelog-ember": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.4.tgz", + "integrity": "sha512-q1u73sO9uCnxN4TSw8xu6MRU8Y1h9kpwtcdJuNRwu/LSKI1IE/iuNSH5eQ6aLlQ3HTyrIpTfUuVybW4W0F17rA==", + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-eslint": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.4.tgz", + "integrity": "sha512-CPwTUENzhLGl3auunrJxiIEWncAGaby7gOFCdj2gslIuOFJ0KPJVOUhRz4Da/I53sdo/7UncUJkiLg94jEsjxg==", + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-express": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.1.tgz", + "integrity": "sha512-G6uCuCaQhLxdb4eEfAIHpcfcJ2+ao3hJkbLrw/jSK/eROeNfnxCJasaWdDAfFkxsbpzvQT4W01iSynU3OoPLIw==", + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jquery": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.6.tgz", + "integrity": "sha512-gHAABCXUNA/HjnZEm+vxAfFPJkgtrZvCDIlCKfdPVXtCIo/Q0lN5VKpx8aR5p8KdVRQFF3OuTlvv5kv6iPuRqA==", + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jscs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz", + "integrity": "sha1-BHnrRDzH1yxYvwvPDvHURKkvDlw=", + "requires": { + "q": "^1.4.1" + } + }, + "conventional-changelog-jshint": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.3.tgz", + "integrity": "sha512-Pc2PnMPcez634ckzr4EOWviwRSpZcURaK7bjyD9oK6N5fsC/a+3G7LW5m/JpcHPhA9ZxsfIbm7uqZ3ZDGsQ/sw==", + "requires": { + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + }, + "conventional-changelog-preset-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.0.tgz", + "integrity": "sha512-/rHb32J2EJnEXeK4NpDgMaAVTFZS3o1ExmjKMtYVgIC4MQn0vkNSbYpdGRotkfGGRWiqk3Ri3FBkiZGbAfIfOQ==" + }, + "conventional-changelog-writer": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.11.tgz", + "integrity": "sha512-g81GQOR392I+57Cw3IyP1f+f42ME6aEkbR+L7v1FBBWolB0xkjKTeCWVguzRrp6UiT1O6gBpJbEy2eq7AnV1rw==", + "requires": { + "compare-func": "^1.3.1", + "conventional-commits-filter": "^2.0.2", + "dateformat": "^3.0.0", + "handlebars": "^4.4.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^5.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^3.0.0" + }, + "dependencies": { + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "requires": { + "through": "2" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "conventional-commits-filter": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.2.tgz", + "integrity": "sha512-WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ==", + "requires": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + } + }, + "conventional-commits-parser": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz", + "integrity": "sha512-BoMaddIEJ6B4QVMSDu9IkVImlGOSGA1I2BQyOZHeLQ6qVOJLcLKn97+fL6dGbzWEiqDzfH4OkcveULmeq2MHFQ==", + "requires": { + "JSONStream": "^1.0.4", + "is-text-path": "^1.0.0", + "lodash": "^4.2.1", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0", + "trim-off-newlines": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + } + } + }, + "conventional-github-releaser": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/conventional-github-releaser/-/conventional-github-releaser-3.1.3.tgz", + "integrity": "sha512-Yt2h9FrpMZV9geO38aXqCvd5N3YGnXZ07Du2kWjSWnBE+QIqcp+dAat/svvWfQyyKMiB1otcZidetPJoKRauqA==", + "requires": { + "conventional-changelog": "^2.0.0", + "dateformat": "^3.0.0", + "debug": "^3.1.0", + "gh-got": "^7.0.0", + "git-semver-tags": "^2.0.0", + "lodash.merge": "^4.0.2", + "meow": "^5.0.0", + "object-assign": "^4.0.1", + "q": "^1.4.1", + "semver": "^5.0.1", + "semver-regex": "^2.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "conventional-changelog": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-2.0.3.tgz", + "integrity": "sha512-4bcII9cJHSKb2qi9e8qGF6aJHLf/AB0dokhyR+X6QILTMl77s4l163vK+reXhajvfOYbbHQvsrWybr5+PKZwNA==", + "requires": { + "conventional-changelog-angular": "^1.6.6", + "conventional-changelog-atom": "^2.0.0", + "conventional-changelog-codemirror": "^2.0.0", + "conventional-changelog-core": "^3.1.0", + "conventional-changelog-ember": "^2.0.1", + "conventional-changelog-eslint": "^3.0.0", + "conventional-changelog-express": "^2.0.0", + "conventional-changelog-jquery": "^0.1.0", + "conventional-changelog-jscs": "^0.1.0", + "conventional-changelog-jshint": "^2.0.0", + "conventional-changelog-preset-loader": "^2.0.1" + } + }, + "conventional-changelog-core": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz", + "integrity": "sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==", + "requires": { + "conventional-changelog-writer": "^4.0.6", + "conventional-commits-parser": "^3.0.3", + "dateformat": "^3.0.0", + "get-pkg-repo": "^1.0.0", + "git-raw-commits": "2.0.0", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^2.0.3", + "lodash": "^4.2.1", + "normalize-package-data": "^2.3.5", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^3.0.0" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "conventional-changelog-jquery": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz", + "integrity": "sha1-Agg5cWLjhGmG5xJztsecW1+A9RA=", + "requires": { + "q": "^1.4.1" + } + }, + "conventional-commits-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz", + "integrity": "sha512-YcBSGkZbYp7d+Cr3NWUeXbPDFUN6g3SaSIzOybi8bjHL5IJ5225OSCxJJ4LgziyEJ7AaJtE9L2/EU6H7Nt/DDQ==", + "requires": { + "JSONStream": "^1.0.4", + "is-text-path": "^1.0.1", + "lodash": "^4.17.15", + "meow": "^5.0.0", + "split2": "^2.0.0", + "through2": "^3.0.0", + "trim-off-newlines": "^1.0.0" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "git-raw-commits": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", + "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", + "requires": { + "dargs": "^4.0.1", + "lodash.template": "^4.0.2", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + } + } + }, + "git-semver-tags": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", + "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", + "requires": { + "meow": "^4.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-js": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", + "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==" + }, + "core-js-compat": { + "version": "3.4.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.4.5.tgz", + "integrity": "sha512-rYVvzvKJDKoefdAC+q6VP63vp5hMmeVONCi9pVUbU1qRrtVrmAk/nPhnRg+i+XFd775m1hpG2Yd5RY3X45ccuw==", + "requires": { + "browserslist": "^4.7.3", + "semver": "^6.3.0" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } + } + }, + "cp-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", + "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", + "requires": { + "graceful-fs": "^4.1.2", + "make-dir": "^2.0.0", + "nested-error-stacks": "^2.0.0", + "pify": "^4.0.1", + "safe-buffer": "^5.0.1" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-env": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", + "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", + "requires": { + "cross-spawn": "^6.0.5" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "cryptiles": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.4.tgz", + "integrity": "sha512-8I1sgZHfVwcSOY6mSGpVU3lw/GSIZvusg8dD2+OGehCJpOhQRLNcH0qb9upQnOH4XhgxxFJSg6E2kx95deb1Tw==", + "requires": { + "boom": "5.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "requires": { + "array-find-index": "^1.0.1" + } + }, + "custom-error-instance": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/custom-error-instance/-/custom-error-instance-2.1.1.tgz", + "integrity": "sha1-PPY5FIemYppiR+sMoM4ACBt+Nho=" + }, + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=" + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + }, + "dag-cbor-links": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dag-cbor-links/-/dag-cbor-links-1.3.2.tgz", + "integrity": "sha512-QbGzsx6uOXkMo66tuG0EzwhARIZzyK1Kt0EsrFmysO+tpv7jfVLTWakYY7WeH6RD2sTPKHGpWlxaMCROPS6M8A==", + "requires": { + "cids": "^0.7.1", + "dag-cbor-sync": "^0.6.2" + } + }, + "dag-cbor-sync": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/dag-cbor-sync/-/dag-cbor-sync-0.6.2.tgz", + "integrity": "sha512-4+ButRHEAc72WqUU4eqdlTdRt4oZfC8bRTkgw0EL/15lNsDeoxP7USnWsbjOSehxvFmX0yKHAoWm0U4lrMcuUg==", + "requires": { + "borc": "^2.0.3", + "cids": "^0.7.1", + "ipfs-block": "^0.8.0", + "is-circular": "^1.0.1", + "multihashing-async": "^0.8.0" + } + }, + "dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-queue": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/data-queue/-/data-queue-0.0.3.tgz", + "integrity": "sha512-6YOUFa/+lXklPO42RF4zIzzphG01Jp1eoWolzkQb6z5oVsSThLibZ63VmAze3KuIMTglFt551q8j0Zaswx5vGQ==" + }, + "datastore-core": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-0.7.0.tgz", + "integrity": "sha512-hj7YQCDW+N22k7PRQ1XIwFWv78cJ311OGKzqFlJb5Afe1ARx9T1lyDkzr19a6ejDpK+f5EcSumra0MwJ/Ee7mw==", + "requires": { + "debug": "^4.1.1", + "interface-datastore": "~0.7.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "interface-datastore": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.7.0.tgz", + "integrity": "sha512-TfwzBe7iInnakxjWDQn8GQHRDSgmVXRylBo9Z6ONjtaIXB1aJFYpvW1mt+Kbnql/xpTxD2LsQKRBS9+EiTVmhA==", + "requires": { + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "uuid": "^3.2.2" + } + } + } + }, + "datastore-fs": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-0.9.1.tgz", + "integrity": "sha512-clhkqbYzpe/L0mKVBjXB7hxBpzDbYkMOG2aBH5jepSpmKmouJhp01yzUrqB6zRz01hEN0u2r4kosTVKJ3K4sUA==", + "requires": { + "datastore-core": "~0.7.0", + "fast-write-atomic": "~0.2.0", + "glob": "^7.1.3", + "interface-datastore": "~0.7.0", + "mkdirp": "~0.5.1" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "interface-datastore": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.7.0.tgz", + "integrity": "sha512-TfwzBe7iInnakxjWDQn8GQHRDSgmVXRylBo9Z6ONjtaIXB1aJFYpvW1mt+Kbnql/xpTxD2LsQKRBS9+EiTVmhA==", + "requires": { + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "uuid": "^3.2.2" + } + } + } + }, + "datastore-level": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-0.14.0.tgz", + "integrity": "sha512-0jtKByFrlUoqK3/I/poGlhyTtXoUGwq33lGn8GI92lMvvNyb0T8KEfMH5W/Cv4u1T5HAPI3bpEhdzMfIyrfLwg==", + "requires": { + "datastore-core": "~0.7.0", + "interface-datastore": "^0.8.0", + "level": "^5.0.1" + } + }, + "datastore-pubsub": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/datastore-pubsub/-/datastore-pubsub-0.2.1.tgz", + "integrity": "sha512-N0uLAl2YX3DzifkN+qY5YYlfmXtoFY90sVCnt2QsG/IPUasScL+4Qqf+KZ2E7iKlyo1DrTy7QHXymC+dWV+7dQ==", + "requires": { + "debug": "^4.1.1", + "err-code": "^2.0.0", + "interface-datastore": "~0.7.0", + "multibase": "~0.6.0" + }, + "dependencies": { + "interface-datastore": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.7.0.tgz", + "integrity": "sha512-TfwzBe7iInnakxjWDQn8GQHRDSgmVXRylBo9Z6ONjtaIXB1aJFYpvW1mt+Kbnql/xpTxD2LsQKRBS9+EiTVmhA==", + "requires": { + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "uuid": "^3.2.2" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + } + } + }, + "date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" + }, + "date-format": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", + "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==" + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + } + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "requires": { + "type-detect": "^4.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "default-require-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", + "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", + "requires": { + "strip-bom": "^3.0.0" + } + }, + "defer-to-connect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.0.tgz", + "integrity": "sha512-WE2sZoctWm/v4smfCAdjYbrfS55JiMRdlY9ZubFhsYbteCK9+BvAx4YV7nPjYM6ZnX5BcoVKwfmyx9sIFTgQMQ==" + }, + "deferred-leveldown": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", + "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", + "requires": { + "abstract-leveldown": "~6.2.1", + "inherits": "^2.0.3" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.2.tgz", + "integrity": "sha512-/a+Iwj0rn//CX0EJOasNyZJd2o8xur8Ce9C57Sznti/Ilt/cb6Qd8/k98A4ZOklXgTG+iAYYUs1OTG0s1eH+zQ==", + "requires": { + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + } + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "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==", + "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==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, + "del": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "requires": { + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "delay": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-4.3.0.tgz", + "integrity": "sha512-Lwaf3zVFDMBop1yDuFZ19F9WyGcZcGacsbdlZtWjQmM50tOcMntm1njF/Nb/Vjij3KaSvCF+sEYGKrrjObu2NA==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "delimit-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", + "integrity": "sha1-m4MZR3wOX4rrPONXrjBfwl6hzSs=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "dependency-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dependency-check/-/dependency-check-4.1.0.tgz", + "integrity": "sha512-nlw+PvhVQwg0gSNNlVUiuRv0765gah9pZEXdQlIFzeSnD85Eex0uM0bkrAWrHdeTzuMGZnR9daxkup/AqqgqzA==", + "requires": { + "debug": "^4.0.0", + "detective": "^5.0.2", + "globby": "^10.0.1", + "is-relative": "^1.0.0", + "micromatch": "^4.0.2", + "minimist": "^1.2.0", + "pkg-up": "^3.1.0", + "read-package-json": "^2.0.10", + "resolve": "^1.1.7" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detab": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.2.tgz", + "integrity": "sha512-Q57yPrxScy816TTE1P/uLRXLDKjXhvYTbfxS/e6lPD+YrqghbsMlGB9nQzj/zVtSPaF0DFPSdO916EWO4sQUyQ==", + "requires": { + "repeat-string": "^1.5.4" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + } + }, + "dexie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/dexie/-/dexie-2.0.4.tgz", + "integrity": "sha512-aQ/s1U2wHxwBKRrt2Z/mwFNHMQWhESerFsMYzE+5P5OsIe5o1kgpFMWkzKTtkvkyyEni6mWr/T4HUJuY9xIHLA==" + }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=" + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + }, + "diff-match-patch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.4.tgz", + "integrity": "sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg==" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-compare": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-1.8.0.tgz", + "integrity": "sha512-Ork/J37pKE6M+Fvl98OB+iAuZ5CG7d2d8DIMmiCDEZVAbEWn2lp+ghSbc1lgkgVX91p8jMQs2DeTMJvpMeU9+A==", + "requires": { + "bluebird": "3.4.1", + "buffer-equal": "1.0.0", + "colors": "1.0.3", + "commander": "2.9.0", + "minimatch": "3.0.2" + }, + "dependencies": { + "bluebird": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.1.tgz", + "integrity": "sha1-tzHd9I4t077awudeEhWhG8uR+gc=" + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "minimatch": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz", + "integrity": "sha1-DzmKcwDqRB6cNIyD2Yq4ydv5xAo=", + "requires": { + "brace-expansion": "^1.0.0" + } + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + }, + "dependencies": { + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + } + } + }, + "dirty-chai": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/dirty-chai/-/dirty-chai-2.0.1.tgz", + "integrity": "sha512-ys79pWKvDMowIDEPC6Fig8d5THiC0DJ2gmTeGzVAoEH18J8OzLud0Jh7I9IWg3NSk8x2UocznUuFmfHCXYZx9w==" + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "dns-packet": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-4.2.0.tgz", + "integrity": "sha512-bn1AKpfkFbm0MIioOMHZ5qJzl2uypdBwI4nYNsqvhjsegBhcKJUlCrMPWLx6JEezRjxZmxhtIz/FkBEur2l8Cw==", + "requires": { + "ip": "^1.1.5", + "safe-buffer": "^5.1.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "doctrine-temporary-fork": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine-temporary-fork/-/doctrine-temporary-fork-2.1.0.tgz", + "integrity": "sha512-nliqOv5NkE4zMON4UA6AMJE6As35afs8aYXATpU4pTUdIKiARZwrJVEP1boA3Rx1ZXHVkwxkhcq4VkqvsuRLsA==", + "requires": { + "esutils": "^2.0.2" + } + }, + "documentation": { + "version": "12.1.4", + "resolved": "https://registry.npmjs.org/documentation/-/documentation-12.1.4.tgz", + "integrity": "sha512-GGS635tR8bBR/m/AuUZ6MCZmFXZA25Wk9S/TTHNe+EMkTCoDdlcft56dZCjF7voCmfnMqKRo8sXAukf/ciA5IA==", + "requires": { + "@babel/core": "^7.1.2", + "@babel/generator": "^7.1.3", + "@babel/parser": "7.1.3", + "@babel/plugin-proposal-class-properties": "^7.1.0", + "@babel/plugin-proposal-decorators": "^7.1.2", + "@babel/plugin-proposal-do-expressions": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-export-namespace-from": "^7.0.0", + "@babel/plugin-proposal-function-bind": "^7.0.0", + "@babel/plugin-proposal-function-sent": "^7.1.0", + "@babel/plugin-proposal-json-strings": "^7.0.0", + "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-proposal-pipeline-operator": "^7.0.0", + "@babel/plugin-proposal-throw-expressions": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-import-meta": "^7.0.0", + "@babel/preset-env": "^7.1.0", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-react": "^7.0.0", + "@babel/preset-stage-0": "^7.0.0", + "@babel/traverse": "^7.1.4", + "@babel/types": "^7.1.3", + "ansi-html": "^0.0.7", + "babelify": "^10.0.0", + "chalk": "^2.3.0", + "chokidar": "^2.0.4", + "concat-stream": "^1.6.0", + "diff": "^4.0.1", + "doctrine-temporary-fork": "2.1.0", + "get-port": "^4.0.0", + "git-url-parse": "^11.1.2", + "github-slugger": "1.2.0", + "glob": "^7.1.2", + "globals-docs": "^2.4.0", + "highlight.js": "^9.15.5", + "ini": "^1.3.5", + "js-yaml": "^3.10.0", + "lodash": "^4.17.10", + "mdast-util-inject": "^1.1.0", + "micromatch": "^3.1.5", + "mime": "^2.2.0", + "module-deps-sortable": "5.0.0", + "parse-filepath": "^1.0.2", + "pify": "^4.0.0", + "read-pkg-up": "^4.0.0", + "remark": "^9.0.0", + "remark-html": "^8.0.0", + "remark-reference-links": "^4.0.1", + "remark-toc": "^5.0.0", + "resolve": "^1.8.1", + "stream-array": "^1.1.2", + "strip-json-comments": "^2.0.1", + "tiny-lr": "^1.1.0", + "unist-builder": "^1.0.2", + "unist-util-visit": "^1.3.0", + "vfile": "^4.0.0", + "vfile-reporter": "^6.0.0", + "vfile-sort": "^2.1.0", + "vinyl": "^2.1.0", + "vinyl-fs": "^3.0.2", + "vue-template-compiler": "^2.5.16", + "yargs": "^12.0.2" + }, + "dependencies": { + "@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==" + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "diff": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==" + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.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 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "requires": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + }, + "dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "requires": { + "is-obj": "^1.0.0" + } + }, + "drbg.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", + "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", + "requires": { + "browserify-aes": "^1.0.6", + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4" + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "requires": { + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "edge-launcher": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/edge-launcher/-/edge-launcher-1.2.2.tgz", + "integrity": "sha1-60Cq+9Bnpup27/+rBke81VCbN7I=" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" + }, + "electron": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/electron/-/electron-6.1.5.tgz", + "integrity": "sha512-PrdJKkAS0IaSJwu4him03VYqvAKK1qyWTE/ieb4LgcbR4F4u90b91/7xna6P1GpD/FXiHqzZQcs0SvK/o08ckQ==", + "requires": { + "@types/node": "^10.12.18", + "electron-download": "^4.1.0", + "extract-zip": "^1.0.3" + }, + "dependencies": { + "@types/node": { + "version": "10.17.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.6.tgz", + "integrity": "sha512-0a2X6cgN3RdPBL2MIlR6Lt0KlM7fOFsutuXcdglcOq6WvLnYXgPQSh0Mx6tO1KCAE8MxbHSOSTWDoUxRq+l3DA==" + } + } + }, + "electron-download": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-4.1.1.tgz", + "integrity": "sha512-FjEWG9Jb/ppK/2zToP+U5dds114fM1ZOJqMAR4aXXL5CvyPE9fiqBK/9YcwC9poIFQTEJk/EM/zyRwziziRZrg==", + "requires": { + "debug": "^3.0.0", + "env-paths": "^1.0.0", + "fs-extra": "^4.0.1", + "minimist": "^1.2.0", + "nugget": "^2.0.1", + "path-exists": "^3.0.0", + "rc": "^1.2.1", + "semver": "^5.4.1", + "sumchecker": "^2.0.2" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "electron-mocha": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/electron-mocha/-/electron-mocha-8.1.2.tgz", + "integrity": "sha512-FZ9RzKtkjtsccnzjWQMNJF+RBuvdgUG1Xj+Q8q9wGanoNTt/W0YSNoEaZ5Z+GVrO11Q/PpVKHsb9x+wEehXmcQ==", + "requires": { + "ansi-colors": "^4.1.1", + "electron-window": "^0.8.0", + "fs-extra": "^8.1.0", + "log-symbols": "^3.0.0", + "mocha": "~6.2.0", + "which": "^1.3.1", + "yargs": "^14.0.0" + } + }, + "electron-to-chromium": { + "version": "1.3.321", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.321.tgz", + "integrity": "sha512-jJy/BZK2s2eAjMPXVMSaCmo7/pSY2aKkfQ+LoAb5Wk39qAhyP9r8KU74c4qTgr9cD/lPUhJgReZxxqU0n5puog==" + }, + "electron-window": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/electron-window/-/electron-window-0.8.1.tgz", + "integrity": "sha1-FsoYfrSHCwZ5J0/IKZxZYOarLF4=", + "requires": { + "is-electron-renderer": "^2.0.0" + } + }, + "elegant-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", + "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=" + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "email-addresses": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", + "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==" + }, + "emoji-regex": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", + "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "encoding-down": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", + "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "requires": { + "abstract-leveldown": "^6.2.1", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.2.tgz", + "integrity": "sha512-/a+Iwj0rn//CX0EJOasNyZJd2o8xur8Ce9C57Sznti/Ilt/cb6Qd8/k98A4ZOklXgTG+iAYYUs1OTG0s1eH+zQ==", + "requires": { + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + } + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.0.tgz", + "integrity": "sha512-XCyYVWzcHnK5cMz7G4VTu2W7zJS7SM1QkcelghyIk/FmobWBtXE7fwhBusEKvCSqc3bMh8fNFMlUkCKTFRxH2w==", + "requires": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "0.3.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "^7.1.2" + }, + "dependencies": { + "engine.io-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", + "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "ws": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.0.tgz", + "integrity": "sha512-+SqNqFbwTm/0DC18KYzIsMTnEWpLwJsiasW/O17la4iDRRIO9uaHbvKiAS3AHgTiuuWerK/brj4O6MYZkei9xg==", + "requires": { + "async-limiter": "^1.0.0" + } + } + } + }, + "engine.io-client": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.0.tgz", + "integrity": "sha512-a4J5QO2k99CM2a0b12IznnyQndoEvtA4UAldhGzKqnHf42I3Qs2W5SPnDvatZRcMaNZs4IevVicBPayxYt6FwA==", + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~6.1.0", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "engine.io-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", + "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "ws": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "engine.io-parser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", + "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" + }, + "env-paths": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz", + "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=" + }, + "epimetheus": { + "version": "1.0.92", + "resolved": "https://registry.npmjs.org/epimetheus/-/epimetheus-1.0.92.tgz", + "integrity": "sha512-rZqoUT63Xu3z5wPpTFPWkrIileJ9deOx/k/0ZPTiMSKBtPmJ9RzNrlo/M2UWvky7h8clrgc/s2uciq2mfruKrA==", + "requires": { + "prom-client": "^10.0.0" + }, + "dependencies": { + "prom-client": { + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-10.2.3.tgz", + "integrity": "sha512-Xboq5+TdUwuQtSSDRZRNnb5NprINlgQN999VqUjZxnLKydUNLeIPx6Eiahg6oJua3XBg2TGnh5Cth1s4I6+r7g==", + "requires": { + "tdigest": "^0.1.1" + } + } + } + }, + "err-code": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.0.tgz", + "integrity": "sha512-MsMOijQ4v0xlmrz1fc7lyPEy7jFhoNF7EVaRSP7mPzs20LaFOwG6qNjGRy3Ie85n9DARlcUnB1zbsBv5sJrIvw==" + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "requires": { + "prr": "~1.0.1" + } + }, + "error": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", + "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==", + "requires": { + "string-template": "~0.2.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.2.tgz", + "integrity": "sha512-jYo/J8XU2emLXl3OLwfwtuFfuF2w6DYPs+xy9ZfVyPkDcrauu6LYrw/q2TyCtrbc/KUdCiC5e9UajRhgNkVopA==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.1.0", + "string.prototype.trimright": "^2.1.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "es6-promisify": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.0.2.tgz", + "integrity": "sha512-eO6vFm0JvqGzjWIQA6QVKjxpmELfhWbDUWHm1rPfIbn55mhKPiAa5xpLmQWJrNa629ZIeQ8ZvMAi13kvrjK6Mg==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eslint": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.7.2.tgz", + "integrity": "sha512-qMlSWJaCSxDFr8fBPvJM9kJwbazrhNcBU3+DszDW1OlEwKBBRWsJc7NJFelvwQpanHCR14cOLD41x8Eqvo3Nng==", + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", + "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "requires": { + "type-fest": "^0.8.1" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==" + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "eslint-config-standard": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.0.tgz", + "integrity": "sha512-EF6XkrrGVbvv8hL/kYa/m6vnvmUT+K82pJJc4JJVMM6+Qgqh0pnwprSxdduDLB9p/7bIxD+YV5O0wfb8lmcPbA==" + }, + "eslint-import-resolver-node": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", + "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", + "requires": { + "debug": "^2.6.9", + "resolve": "^1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "eslint-module-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz", + "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==", + "requires": { + "debug": "^2.6.8", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-es": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-2.0.0.tgz", + "integrity": "sha512-f6fceVtg27BR02EYnBhgWLFQfK6bN4Ll0nQFrBHOlCsAyxeZkn0NHns5O0YZOPrV1B3ramd6cgFwaoFLcSkwEQ==", + "requires": { + "eslint-utils": "^1.4.2", + "regexpp": "^3.0.0" + }, + "dependencies": { + "regexpp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz", + "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==" + } + } + }, + "eslint-plugin-eslint-plugin": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-2.1.0.tgz", + "integrity": "sha512-kT3A/ZJftt28gbl/Cv04qezb/NQ1dwYIbi8lyf806XMxkus7DvOVCLIfTXMrorp322Pnoez7+zabXH29tADIDg==" + }, + "eslint-plugin-import": { + "version": "2.18.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", + "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", + "requires": { + "array-includes": "^3.0.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.2", + "eslint-module-utils": "^2.4.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.11.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + } + } + }, + "eslint-plugin-no-only-tests": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-2.3.1.tgz", + "integrity": "sha512-LzCzeQrlkNjEwUWEoGhfjz+Kgqe0080W6qC8I8eFwSMXIsr1zShuIQnRuSZc4Oi7k1vdUaNGDc+/GFvg6IHSHA==" + }, + "eslint-plugin-node": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-10.0.0.tgz", + "integrity": "sha512-1CSyM/QCjs6PXaT18+zuAXsjXGIGo5Rw630rSKwokSs2jrYURQc4R5JZpoanNCqwNmepg+0eZ9L7YiRUJb8jiQ==", + "requires": { + "eslint-plugin-es": "^2.0.0", + "eslint-utils": "^1.4.2", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + } + }, + "eslint-plugin-promise": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", + "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==" + }, + "eslint-plugin-react": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.17.0.tgz", + "integrity": "sha512-ODB7yg6lxhBVMeiH1c7E95FLD4E/TwmFjltiU+ethv7KPdCwgiFuOZg9zNRHyufStTDLl/dEFqI2Q1VPmCd78A==", + "requires": { + "array-includes": "^3.0.3", + "doctrine": "^2.1.0", + "eslint-plugin-eslint-plugin": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.3", + "object.entries": "^1.1.0", + "object.fromentries": "^2.0.1", + "object.values": "^1.1.0", + "prop-types": "^15.7.2", + "resolve": "^1.13.1" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-plugin-standard": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz", + "integrity": "sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==" + }, + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==" + }, + "espree": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", + "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", + "requires": { + "acorn": "^7.1.0", + "acorn-jsx": "^5.1.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "ethereum-common": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", + "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" + }, + "ethereumjs-account": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", + "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", + "requires": { + "ethereumjs-util": "^5.0.0", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "ethereumjs-block": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.1.tgz", + "integrity": "sha512-ze8I1844m5oKZL7hiHuezRcPzqdi4Iv0ssqQyuRaJ9Je0/YCYfXobJHvNLnex2ETgs5JypicdtLYrCNWdgcLvg==", + "requires": { + "async": "^2.0.1", + "ethereumjs-common": "^1.1.0", + "ethereumjs-tx": "^2.1.1", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", + "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", + "requires": { + "xtend": "~4.0.0" + } + }, + "deferred-leveldown": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", + "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", + "requires": { + "abstract-leveldown": "~2.6.0" + } + }, + "ethereumjs-tx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.1.tgz", + "integrity": "sha512-QtVriNqowCFA19X9BCRPMgdVNJ0/gMBS91TQb1DfrhsbR748g4STwxZptFAwfqehMyrF8rDwB23w87PQwru0wA==", + "requires": { + "ethereumjs-common": "^1.3.1", + "ethereumjs-util": "^6.0.0" + }, + "dependencies": { + "ethereumjs-util": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz", + "integrity": "sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ==", + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "ethjs-util": "0.1.6", + "keccak": "^2.0.0", + "rlp": "^2.2.3", + "secp256k1": "^3.0.1" + } + } + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "keccak": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", + "integrity": "sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q==", + "requires": { + "bindings": "^1.5.0", + "inherits": "^2.0.4", + "nan": "^2.14.0", + "safe-buffer": "^5.2.0" + } + }, + "level-codec": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", + "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" + }, + "level-errors": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", + "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", + "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=", + "requires": { + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "levelup": { + "version": "1.3.9", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", + "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", + "requires": { + "deferred-leveldown": "~1.2.1", + "level-codec": "~7.0.0", + "level-errors": "~1.0.3", + "level-iterator-stream": "~1.3.0", + "prr": "~1.0.1", + "semver": "~5.4.1", + "xtend": "~4.0.0" + } + }, + "merkle-patricia-tree": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", + "integrity": "sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g==", + "requires": { + "async": "^1.4.2", + "ethereumjs-util": "^5.0.0", + "level-ws": "0.0.0", + "levelup": "^1.2.1", + "memdown": "^1.0.0", + "readable-stream": "^2.0.0", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + } + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "semver": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + } + } + }, + "ethereumjs-common": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.4.0.tgz", + "integrity": "sha512-ser2SAplX/YI5W2AnzU8wmSjKRy4KQd4uxInJ36BzjS3m18E/B9QedPUIresZN1CSEQb/RgNQ2gN7C/XbpTafA==" + }, + "ethereumjs-tx": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", + "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", + "requires": { + "ethereum-common": "^0.0.18", + "ethereumjs-util": "^5.0.0" + } + }, + "ethereumjs-util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", + "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "ethjs-util": "^0.1.3", + "keccak": "^1.0.2", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1", + "secp256k1": "^3.0.1" + } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } + }, + "event-iterator": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/event-iterator/-/event-iterator-1.2.0.tgz", + "integrity": "sha512-Daq7YUl0Mv1i4QEgzGQlz0jrx7hUFNyLGbiF+Ap7NCMCjDLCCnolyj6s0TAc6HmrBziO5rNVHsPwGMp7KdRPvw==" + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==" + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "npm-run-path": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.0.tgz", + "integrity": "sha512-8eyAOAH+bYXFPSnNnKr3J+yoybe8O87Is5rtAQ8qRczJz1ajcsjg8l2oZqP+Ppx15Ii3S1vUTjQN2h4YO2tWWQ==", + "requires": { + "path-key": "^3.0.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "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": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "explain-error": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz", + "integrity": "sha1-p5PTrAytTGq1cemWj7urbLJTKSk=" + }, + "expose-loader": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-0.7.5.tgz", + "integrity": "sha512-iPowgKUZkTPX5PznYsmifVj9Bob0w2wTHVkt/eYNPSzyebkUgIedmskf/kcfEIWpiWjg3JRjnW+a17XypySMuw==" + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "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==", + "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=", + "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=", + "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==", + "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==", + "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==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "requires": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fast-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.0.0.tgz", + "integrity": "sha512-4VEXmjxLj7sbs8J//cn2qhRap50dGzF5n8fjay8mau+Jn4hxSeR3xPFwxMaQq/pDaq7+KQk0PAbC2+nWDkJrmQ==" + }, + "fast-glob": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.1.tgz", + "integrity": "sha512-nTCREpBY8w8r+boyFYAx21iL6faSsQynliPHM4Uf56SbkyohCNxpVPEH9xrF5TXKy+IsjkPUHDKiUkzBVRXn9g==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fast-redact": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-2.0.0.tgz", + "integrity": "sha512-zxpkULI9W9MNTK2sJ3BpPQrTEXFNESd2X6O1tXMFpK/XM0G5c5Rll2EVYZH2TqI3xRGK/VaJ+eEOt7pnENJpeA==" + }, + "fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" + }, + "fast-write-atomic": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fast-write-atomic/-/fast-write-atomic-0.2.1.tgz", + "integrity": "sha512-WvJe06IfNYlr+6cO3uQkdKdy3Cb1LlCJSF8zRs2eT8yuhdbSlR9nIt+TgQ92RUxiRrQm+/S7RARnMfCs5iuAjw==" + }, + "fastq": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz", + "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==", + "requires": { + "reusify": "^1.0.0" + } + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "requires": { + "pend": "~1.2.0" + } + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" + }, + "figures": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", + "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-type": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.0.tgz", + "integrity": "sha512-WTvyKq8yjtNmUtVAD8LGcTkvtCdJglM6ks2HTqEClm6+65XTqM6MoZYA1Vtra50DLRWLiM38fEs1y56f5VhnUA==" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "filename-reserved-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", + "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=" + }, + "filenamify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", + "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", + "requires": { + "filename-reserved-regex": "^1.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "filenamify-url": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", + "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=", + "requires": { + "filenamify": "^1.0.0", + "humanize-url": "^1.0.0" + } + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-parent-dir": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz", + "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "flat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", + "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "requires": { + "is-buffer": "~2.0.3" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatmap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", + "integrity": "sha1-Hxik2TgVLUlZZfnJWNkjqy3WabQ=" + }, + "flatstr": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz", + "integrity": "sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==" + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==" + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fnv1a": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fnv1a/-/fnv1a-1.0.1.tgz", + "integrity": "sha1-kV4tbQI8Q9UiStn20qPEFW9XEvU=" + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "requires": { + "for-in": "^1.0.1" + } + }, + "foreground-child": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "requires": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "formidable": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", + "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==" + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.0.0.tgz", + "integrity": "sha512-40Qz+LFXmd9tzYVnnBmZvFfvAADfUA14TXPK1s7IfElJTIZ97rA8w4Kin7Wt5JBrC3ShnnFJO/5vPjPEeJIq9A==", + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "requires": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==" + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "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": { + "version": "7.1.3", + "bundled": true, + "optional": true, + "requires": { + "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": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "optional": true, + "requires": { + "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": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "optional": true, + "requires": { + "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": { + "version": "2.6.3", + "bundled": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "optional": true + } + } + }, + "fsm": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fsm/-/fsm-1.0.2.tgz", + "integrity": "sha1-4uubKXR+gGu7kPjVRT4vnXvSN4M=", + "requires": { + "split": "~0.3.0" + } + }, + "fsm-event": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fsm-event/-/fsm-event-2.1.0.tgz", + "integrity": "sha1-04VxbtOPnJL+qyumAeKqxsC6WpI=", + "requires": { + "fsm": "^1.0.2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "gar": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/gar/-/gar-1.0.4.tgz", + "integrity": "sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==" + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "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" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "gc-stats": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gc-stats/-/gc-stats-1.4.0.tgz", + "integrity": "sha512-4FcCj9e8j8rCjvLkqRpGZBLgTC/xr9XEf5By3x77cDucWWB3pJK6FEwXZCTCbb4z8xdaOoi4owBNrvn3ciDdxA==", + "optional": true, + "requires": { + "nan": "^2.13.2", + "node-pre-gyp": "^0.13.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "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": { + "version": "7.1.3", + "bundled": true, + "optional": true, + "requires": { + "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": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "needle": { + "version": "2.3.1", + "bundled": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.13.0", + "bundled": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "optional": true, + "requires": { + "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": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "optional": true, + "requires": { + "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": { + "version": "2.6.3", + "bundled": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "optional": true + } + } + }, + "get-browser-rtc": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz", + "integrity": "sha1-u81AyEUaftTvXDc7gWmkCd0dEdk=" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-folder-size": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/get-folder-size/-/get-folder-size-2.0.1.tgz", + "integrity": "sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==", + "requires": { + "gar": "^1.0.4", + "tiny-each-async": "2.0.3" + } + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" + }, + "get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" + }, + "get-pkg-repo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", + "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", + "requires": { + "hosted-git-info": "^2.1.4", + "meow": "^3.3.0", + "normalize-package-data": "^2.3.0", + "parse-github-repo-url": "^1.3.0", + "through2": "^2.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "requires": { + "get-stdin": "^4.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + } + } + }, + "get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==" + }, + "get-stdin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", + "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "gh-got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/gh-got/-/gh-got-7.1.0.tgz", + "integrity": "sha512-KeWkkhresa7sbpzQLYzITMgez5rMigUsijhmSAHcLDORIMUbdlkdoZyaN1wQvIjmUZnyb/wkAPaXb4MQKX0mdQ==", + "requires": { + "got": "^8.0.0", + "is-plain-obj": "^1.1.0" + } + }, + "gh-pages": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.1.1.tgz", + "integrity": "sha512-yNW2SFp9xGRP/8Sk2WXuLI/Gn92oOL4HBgudn6PsqAnuWT90Y1tozJoTfX1WdrDSW5Rb90kLVOf5mm9KJ/2fDw==", + "requires": { + "async": "^2.6.1", + "commander": "^2.18.0", + "email-addresses": "^3.0.1", + "filenamify-url": "^1.0.0", + "fs-extra": "^7.0.0", + "globby": "^6.1.0", + "graceful-fs": "^4.1.11", + "rimraf": "^2.6.2" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "git-raw-commits": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.6.tgz", + "integrity": "sha512-svsK26tQ8vEKnMshTDatSIQSMDdz8CxIIqKsvPqbtV23Etmw6VNaFAitu8zwZ0VrOne7FztwPyRLxK7/DIUTQg==", + "requires": { + "dargs": "^4.0.1", + "lodash.template": "^4.0.2", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + } + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "git-semver-tags": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-3.0.1.tgz", + "integrity": "sha512-Hzd1MOHXouITfCasrpVJbRDg9uvW7LfABk3GQmXYZByerBDrfrEMP9HXpNT7RxAbieiocP6u+xq20DkvjwxnCA==", + "requires": { + "meow": "^5.0.0", + "semver": "^6.0.0" + } + }, + "git-up": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.1.tgz", + "integrity": "sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw==", + "requires": { + "is-ssh": "^1.3.0", + "parse-url": "^5.0.0" + } + }, + "git-url-parse": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.1.2.tgz", + "integrity": "sha512-gZeLVGY8QVKMIkckncX+iCq2/L8PlwncvDFKiWkBn9EtCfYDbliRTTp6qzyQ1VMdITUfq7293zDzfpjdiGASSQ==", + "requires": { + "git-up": "^4.0.0" + } + }, + "git-validate": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/git-validate/-/git-validate-2.2.4.tgz", + "integrity": "sha512-BM49gj2g/VtV+AvsaGYfIXavVyWUfqcJt2klTOr7kji/HYqpgwB6CmlevIJuPyGoBPkIUUXNSov33Ht22juh0Q==" + }, + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "requires": { + "ini": "^1.3.2" + } + }, + "github-build": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/github-build/-/github-build-1.2.1.tgz", + "integrity": "sha512-VAT4NFU8hm9Ks5yNKuuczD2zMbmouAKHtxtwvmCj34Q2DpZsjgp3LLjtrKlm/YvGSzSNGmj22ccJQQei+f/vIw==", + "requires": { + "axios": "0.19.0" + } + }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" + }, + "github-slugger": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz", + "integrity": "sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q==", + "requires": { + "emoji-regex": ">=6.0.0 <=6.1.1" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "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-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "requires": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "requires": { + "ini": "^1.3.4" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globals-docs": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/globals-docs/-/globals-docs-2.4.1.tgz", + "integrity": "sha512-qpPnUKkWnz8NESjrCvnlGklsgiQzlq+rcCxoG5uNQ+dNA7cFMCmn231slLAwS2N/PlkzZ3COL8CcS10jXmLHqg==" + }, + "globalthis": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.0.tgz", + "integrity": "sha512-vcCAZTJ3r5Qcu5l8/2oyVdoFwxKgfYnMTR2vwWeux/NAVZK3PwcMaWkdUIn4GJbmKuRK7xcvDsLuK+CKcXyodg==", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "object-keys": "^1.0.12" + } + }, + "globby": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", + "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "go-ipfs-dep": { + "version": "0.4.22", + "resolved": "https://registry.npmjs.org/go-ipfs-dep/-/go-ipfs-dep-0.4.22.tgz", + "integrity": "sha512-e1hPrnMzuowL8kF0xx3SorSTzmy2fHvKvb2X4lzGBv67M2ClgpFrGQ9MaaiocFNiMopwrWRNcxpHEaLWU8KPKA==", + "requires": { + "go-platform": "^1.0.0", + "gunzip-maybe": "^1.4.1", + "node-fetch": "^2.3.0", + "pkg-conf": "^3.1.0", + "tar-fs": "^2.0.0", + "unzip-stream": "^0.3.0" + } + }, + "go-platform": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/go-platform/-/go-platform-1.0.0.tgz", + "integrity": "sha1-sF/2uSdAB9JGsWQjXwP39qWWJsc=" + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + }, + "gunzip-maybe": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.1.tgz", + "integrity": "sha512-qtutIKMthNJJgeHQS7kZ9FqDq59/Wn0G2HYCRNjpup7yKfVI6/eqwpmroyZGFoCYaG+sW6psNVb4zoLADHpp2g==", + "requires": { + "browserify-zlib": "^0.1.4", + "is-deflate": "^1.0.0", + "is-gzip": "^1.0.0", + "peek-stream": "^1.1.0", + "pumpify": "^1.3.3", + "through2": "^2.0.3" + }, + "dependencies": { + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "requires": { + "pako": "~0.2.0" + } + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + } + } + }, + "gzip-size": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", + "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", + "requires": { + "duplexer": "^0.1.1", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "hamt-sharding": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/hamt-sharding/-/hamt-sharding-0.0.2.tgz", + "integrity": "sha512-0pUBRvsdM1G6RgXfJASUMLwk++LQMNoXx2n2iMZiSzV43lBNesSz130wkGSP2D6d/8DYIWABLL1Vqb4PpcUcvQ==", + "requires": { + "sparse-array": "^1.3.1" + } + }, + "handlebars": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", + "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + } + }, + "hapi": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/hapi/-/hapi-16.7.0.tgz", + "integrity": "sha512-UeMX1LMWmHEIgMlwZGK/3lhI7X0VRvOioVply0Y9qF+/O5woGdQzNB8ZmDnLOBjnB6bdWWHyo5DEamuCsE1vmg==", + "requires": { + "accept": "2.x.x", + "ammo": "2.x.x", + "boom": "5.x.x", + "call": "4.x.x", + "catbox": "7.x.x", + "catbox-memory": "2.x.x", + "cryptiles": "3.x.x", + "heavy": "4.x.x", + "hoek": "4.x.x", + "iron": "4.x.x", + "items": "2.x.x", + "joi": "11.x.x", + "mimos": "3.x.x", + "podium": "1.x.x", + "shot": "3.x.x", + "somever": "1.x.x", + "statehood": "5.x.x", + "subtext": "5.x.x", + "topo": "2.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + }, + "isemail": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", + "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", + "requires": { + "punycode": "2.x.x" + } + }, + "joi": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-11.4.0.tgz", + "integrity": "sha512-O7Uw+w/zEWgbL6OcHbyACKSj0PkQeUgmehdoXVSxt92QFCq4+1390Rwh5moI2K/OgC7D8RHRZqHZxT2husMJHA==", + "requires": { + "hoek": "4.x.x", + "isemail": "3.x.x", + "topo": "2.x.x" + } + } + } + }, + "hapi-pino": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/hapi-pino/-/hapi-pino-6.3.0.tgz", + "integrity": "sha512-r2CUXmrJ2Fcxg805RXVrtZCNpFyJ0RpLOSFXnRC6jBLV/5uGUMPk1Y/U+WVn5kHFzXbxrQ6JAgV8cfHah3qqOA==", + "requires": { + "@hapi/hoek": "^8.3.0", + "abstract-logging": "^1.0.0", + "pino": "^5.13.5", + "pino-pretty": "^3.2.2" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hasha": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", + "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=", + "requires": { + "is-stream": "^1.0.1" + }, + "dependencies": { + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + } + } + }, + "hashlru": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz", + "integrity": "sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==" + }, + "hast-util-is-element": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.0.3.tgz", + "integrity": "sha512-C62CVn7jbjp89yOhhy7vrkSaB7Vk906Gtcw/Ihd+Iufnq+2pwOZjdPmpzpKLWJXPJBMDX3wXg4FqmdOayPcewA==" + }, + "hast-util-sanitize": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-1.3.1.tgz", + "integrity": "sha512-AIeKHuHx0Wk45nSkGVa2/ujQYTksnDl8gmmKo/mwQi7ag7IBZ8cM3nJ2G86SajbjGP/HRpud6kMkPtcM2i0Tlw==", + "requires": { + "xtend": "^4.0.1" + } + }, + "hast-util-to-html": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz", + "integrity": "sha512-2emzwyf0xEsc4TBIPmDJmBttIw8R4SXAJiJZoiRR/s47ODYWgOqNoDbf2SJAbMbfNdFWMiCSOrI3OVnX6Qq2Mg==", + "requires": { + "ccount": "^1.0.0", + "comma-separated-tokens": "^1.0.1", + "hast-util-is-element": "^1.0.0", + "hast-util-whitespace": "^1.0.0", + "html-void-elements": "^1.0.0", + "property-information": "^4.0.0", + "space-separated-tokens": "^1.0.0", + "stringify-entities": "^1.0.1", + "unist-util-is": "^2.0.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "unist-util-is": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz", + "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==" + } + } + }, + "hast-util-whitespace": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.3.tgz", + "integrity": "sha512-AlkYiLTTwPOyxZ8axq2/bCwRUPjIPBfrHkXuCR92B38b3lSdU22R5F/Z4DL6a2kxWpekWq1w6Nj48tWat6GeRA==" + }, + "hat": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz", + "integrity": "sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=" + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "heap": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz", + "integrity": "sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=" + }, + "heavy": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/heavy/-/heavy-4.0.4.tgz", + "integrity": "sha1-NskTNsAMz+hSyqTRUwhjNc0vAOk=", + "requires": { + "boom": "5.x.x", + "hoek": "4.x.x", + "joi": "10.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + }, + "joi": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", + "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", + "requires": { + "hoek": "4.x.x", + "isemail": "2.x.x", + "items": "2.x.x", + "topo": "2.x.x" + } + } + } + }, + "hi-base32": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.0.tgz", + "integrity": "sha512-DDRmxSyoYuvjUb9EnXdoiMChBZ7ZcUVJsK5Frd3kqMhuBxvmZdnBeynAVfj7/ECbn++CekcoprvC/rprHPAtow==" + }, + "highlight.js": { + "version": "9.16.2", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.16.2.tgz", + "integrity": "sha512-feMUrVLZvjy0oC7FVJQcSQRqbBq9kwqnYE4+Kj9ZjbHh3g+BisiPgF49NyQbVLNdrL/qqZr3Ca9yOKwgn2i/tw==" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoek": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-6.1.3.tgz", + "integrity": "sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ==" + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" + }, + "hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==" + }, + "html-void-elements": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.4.tgz", + "integrity": "sha512-yMk3naGPLrfvUV9TdDbuYXngh/TpHbA6TrOw3HL9kS8yhwx7i309BReNg7CbAJXGE+UMJ6je5OqJ7lC63o6YuQ==" + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=" + }, + "http-proxy": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + }, + "human-to-milliseconds": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/human-to-milliseconds/-/human-to-milliseconds-2.0.0.tgz", + "integrity": "sha512-O9SPpvCfucmYUFz3rr/mzfRBrxhLuKCNKOQ+XoKdLpUlYzvyaZHvsnjrJ0ybsKI03Zbp1KZVZ2C3m1Qm/DJH5A==" + }, + "humanize-url": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", + "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=", + "requires": { + "normalize-url": "^1.0.0", + "strip-url-auth": "^1.0.0" + }, + "dependencies": { + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "^1.0.0" + } + } + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "idb-readable-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/idb-readable-stream/-/idb-readable-stream-0.0.4.tgz", + "integrity": "sha1-MoPaZkW/ayINxhumHfYr7l2uSs8=", + "requires": { + "xtend": "^4.0.1" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==" + }, + "ignore-walk": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "requires": { + "minimatch": "^3.0.4" + } + }, + "iltorb": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/iltorb/-/iltorb-2.4.4.tgz", + "integrity": "sha512-7Qk6O7TK3rSWVRVRkPehcNTSN+P2i7MsG9pWmw6iVw/W6NcoNj0rFKOuBDM6fbZV6NNGuUW3JBRem6Ozn4KXhg==", + "requires": { + "detect-libc": "^1.0.3", + "nan": "^2.14.0", + "npmlog": "^4.1.2", + "prebuild-install": "^5.3.2", + "which-pm-runs": "^1.0.0" + } + }, + "immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + } + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "individual": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/individual/-/individual-2.0.0.tgz", + "integrity": "sha1-gzsJfa0jKU52EXqY+zjg2a1hu5c=" + }, + "inert": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/inert/-/inert-4.2.1.tgz", + "integrity": "sha512-qmbbZYPSzU/eOUOStPQvSjrU9IR1Q3uDtsEsVwnBQeZG43xu7Nrj6yuUrX3ice/03rv5dj/KiKB+NGCbiqH+aQ==", + "requires": { + "ammo": "2.x.x", + "boom": "5.x.x", + "hoek": "4.x.x", + "items": "2.x.x", + "joi": "10.x.x", + "lru-cache": "4.1.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + }, + "joi": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", + "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", + "requires": { + "hoek": "4.x.x", + "isemail": "2.x.x", + "items": "2.x.x", + "topo": "2.x.x" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "inquirer": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz", + "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^4.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + } + } + } + } + }, + "interface-connection": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/interface-connection/-/interface-connection-0.3.3.tgz", + "integrity": "sha512-OV9Rj7AhUlssWJTO6nOazJdPFGqWDOVZ3j5aM+i0RPKyTzR87vJ949VqhMyKkCIR0GBAaNqfB7F4YA70a/QWiw==", + "requires": { + "pull-defer": "~0.2.3" + } + }, + "interface-datastore": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.8.0.tgz", + "integrity": "sha512-vnzR74I+ITzMH8xsKOYh4wQDlu87A0BPdAUsA7XlhLgB8zTy7QHxrisxxw0/7tr2Y60ezg25PXbGSejXFXS5Yg==", + "requires": { + "class-is": "^1.1.0", + "err-code": "^2.0.0", + "uuid": "^3.2.2" + } + }, + "interface-ipfs-core": { + "version": "0.119.0", + "resolved": "https://registry.npmjs.org/interface-ipfs-core/-/interface-ipfs-core-0.119.0.tgz", + "integrity": "sha512-SdyrlpFitLLJOCOdZ8A2KoPGEMc1M0WewuzW64dh9Q6DptFBXkANsyk9fvZI3Wjfqbm8Pkr1y0YhiDUZ5Y5jMw==", + "requires": { + "async": "^2.6.2", + "bl": "^3.0.0", + "bs58": "^4.0.1", + "callbackify": "^1.1.0", + "chai": "^4.2.0", + "chai-as-promised": "^7.1.1", + "cids": "~0.7.1", + "concat-stream": "^2.0.0", + "delay": "^4.3.0", + "dirty-chai": "^2.0.1", + "es6-promisify": "^6.0.1", + "hat": "0.0.3", + "ipfs-block": "~0.8.0", + "ipfs-unixfs": "~0.1.16", + "ipfs-utils": "~0.4.0", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "^0.18.1", + "is-ipfs": "~0.6.1", + "is-plain-object": "^3.0.0", + "it-pushable": "^1.2.1", + "libp2p-crypto": "~0.16.0", + "multiaddr": "^6.0.0", + "multibase": "~0.6.0", + "multihashes": "~0.4.14", + "multihashing-async": "~0.6.0", + "peer-id": "~0.12.0", + "peer-info": "~0.15.0", + "pull-stream": "^3.6.11", + "pump": "^3.0.0", + "readable-stream": "^3.1.1", + "streaming-iterables": "^4.1.0", + "through2": "^3.0.0" + }, + "dependencies": { + "bl": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz", + "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==", + "requires": { + "readable-stream": "^3.0.1" + } + }, + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "is-plain-object": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", + "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", + "requires": { + "isobject": "^4.0.0" + } + }, + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==" + }, + "multihashing-async": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", + "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==" + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "ip-address": { + "version": "5.9.4", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", + "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", + "requires": { + "jsbn": "1.1.0", + "lodash": "^4.17.15", + "sprintf-js": "1.1.2" + }, + "dependencies": { + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" + } + } + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + }, + "ipfs": { + "version": "0.38.1", + "resolved": "https://registry.npmjs.org/ipfs/-/ipfs-0.38.1.tgz", + "integrity": "sha512-acxpMc+5E7SQ/V8bBeWmtIBuOlRqoa/GVRvQj3rb0ZZ5Io40fiTmKBsJU8aJCSOa5TeZcuzc+jDpvQgp7WW+CQ==", + "requires": { + "@hapi/ammo": "^3.1.1", + "@hapi/boom": "^7.4.3", + "@hapi/hapi": "^18.3.2", + "@hapi/joi": "^15.0.1", + "array-shuffle": "^1.0.1", + "async": "^2.6.1", + "async-iterator-all": "^1.0.0", + "async-iterator-to-pull-stream": "^1.3.0", + "async-iterator-to-stream": "^1.1.0", + "base32.js": "~0.1.0", + "bignumber.js": "^9.0.0", + "binary-querystring": "~0.1.2", + "bl": "^3.0.0", + "bs58": "^4.0.1", + "buffer-peek-stream": "^1.0.1", + "byteman": "^1.3.5", + "cid-tool": "~0.3.0", + "cids": "~0.7.1", + "class-is": "^1.1.0", + "datastore-core": "~0.6.0", + "datastore-pubsub": "~0.1.1", + "debug": "^4.1.0", + "dlv": "^1.1.3", + "err-code": "^2.0.0", + "explain-error": "^1.0.4", + "file-type": "^12.0.1", + "fnv1a": "^1.0.1", + "fsm-event": "^2.1.0", + "get-folder-size": "^2.0.0", + "glob": "^7.1.3", + "hapi-pino": "^6.1.0", + "hashlru": "^2.3.0", + "human-to-milliseconds": "^2.0.0", + "interface-datastore": "~0.6.0", + "ipfs-bitswap": "~0.25.1", + "ipfs-block": "~0.8.1", + "ipfs-block-service": "~0.15.2", + "ipfs-http-client": "^37.0.1", + "ipfs-http-response": "~0.3.1", + "ipfs-mfs": "^0.12.2", + "ipfs-multipart": "^0.2.0", + "ipfs-repo": "~0.26.6", + "ipfs-unixfs": "~0.1.16", + "ipfs-unixfs-exporter": "~0.37.7", + "ipfs-unixfs-importer": "~0.39.11", + "ipfs-utils": "^0.3.0", + "ipld": "~0.24.1", + "ipld-bitcoin": "~0.3.0", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.17.4", + "ipld-ethereum": "^4.0.0", + "ipld-git": "~0.5.0", + "ipld-raw": "^4.0.0", + "ipld-zcash": "~0.3.0", + "ipns": "~0.5.2", + "is-domain-name": "^1.0.1", + "is-ipfs": "~0.6.1", + "is-pull-stream": "~0.0.0", + "is-stream": "^2.0.0", + "iso-url": "~0.4.6", + "it-pipe": "^1.0.1", + "it-to-stream": "^0.1.1", + "just-safe-set": "^2.1.0", + "kind-of": "^6.0.2", + "libp2p": "~0.26.1", + "libp2p-bootstrap": "~0.9.3", + "libp2p-crypto": "~0.16.0", + "libp2p-delegated-content-routing": "^0.2.4", + "libp2p-delegated-peer-routing": "^0.2.4", + "libp2p-floodsub": "^0.18.0", + "libp2p-gossipsub": "~0.0.5", + "libp2p-kad-dht": "~0.15.3", + "libp2p-keychain": "~0.4.2", + "libp2p-mdns": "~0.12.0", + "libp2p-record": "~0.6.3", + "libp2p-secio": "~0.11.0", + "libp2p-tcp": "~0.13.1", + "libp2p-webrtc-star": "~0.16.0", + "libp2p-websocket-star-multi": "~0.4.3", + "libp2p-websockets": "~0.12.3", + "lodash": "^4.17.15", + "mafmt": "^6.0.10", + "merge-options": "^1.0.1", + "mime-types": "^2.1.21", + "mkdirp": "~0.5.1", + "mortice": "^2.0.0", + "multiaddr": "^6.1.0", + "multiaddr-to-uri": "^5.0.0", + "multibase": "~0.6.0", + "multicodec": "~0.5.5", + "multihashes": "~0.4.14", + "multihashing-async": "~0.6.0", + "node-fetch": "^2.3.0", + "peer-book": "~0.9.0", + "peer-id": "~0.12.3", + "peer-info": "~0.15.0", + "progress": "^2.0.1", + "prom-client": "^11.5.3", + "prometheus-gc-stats": "~0.6.0", + "promise-nodeify": "^3.0.1", + "promisify-es6": "^1.0.3", + "protons": "^1.0.1", + "pull-abortable": "^4.1.1", + "pull-cat": "^1.1.11", + "pull-defer": "~0.2.3", + "pull-file": "^1.1.0", + "pull-mplex": "~0.1.1", + "pull-ndjson": "~0.1.1", + "pull-pushable": "^2.2.0", + "pull-sort": "^1.0.1", + "pull-stream": "^3.6.14", + "pull-stream-to-async-iterator": "^1.0.2", + "pull-stream-to-stream": "^1.3.4", + "pull-traverse": "^1.0.3", + "readable-stream": "^3.4.0", + "receptacle": "^1.3.2", + "semver": "^6.3.0", + "stream-to-pull-stream": "^1.7.3", + "superstruct": "~0.6.2", + "tar-stream": "^2.0.0", + "temp": "~0.9.0", + "update-notifier": "^3.0.1", + "uri-to-multiaddr": "^3.0.1", + "varint": "^5.0.0", + "yargs": "^14.0.0", + "yargs-promise": "^1.1.0" + }, + "dependencies": { + "@hapi/ammo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-3.1.1.tgz", + "integrity": "sha512-NYFK27VSPGyQ/KmOQedpQH4PSjE7awLntepX68vrYtRvuJO21W1kX0bK2p3C+6ltUwtCQSvmNT8a4uMVAysC6Q==", + "requires": { + "@hapi/hoek": "8.x.x" + } + }, + "abstract-leveldown": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.4.1.tgz", + "integrity": "sha1-s7/tuITraToSd18MVenwpCDM7mQ=", + "requires": { + "xtend": "~4.0.0" + } + }, + "bl": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz", + "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==", + "requires": { + "readable-stream": "^3.0.1" + } + }, + "cid-tool": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/cid-tool/-/cid-tool-0.3.0.tgz", + "integrity": "sha512-XVSG2zXSKuRTBsaWJOnb7c/ZzeZr3sjRRqQza9Y/5SFy9CHQqa53xWAMXj2BFqRSegn3Lt5zSJ1sLb1iPE+m8g==", + "requires": { + "cids": "~0.7.0", + "explain-error": "^1.0.4", + "multibase": "~0.6.0", + "multihashes": "~0.4.14", + "yargs": "^13.2.2" + }, + "dependencies": { + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + } + } + }, + "concat-stream": { + "version": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", + "from": "github:hugomrdias/concat-stream#feat/smaller", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^3.0.2" + } + }, + "datastore-core": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-0.6.1.tgz", + "integrity": "sha512-bPMmMEHu96EaFS+OXeyjC0C1YnnQFiybvMszduYya7xlCpKiK24YgF/YZm1STj0IjI9zub9UkNw3eIBos2z9cw==", + "requires": { + "async": "^2.6.1", + "interface-datastore": "~0.6.0", + "pull-many": "^1.0.8", + "pull-stream": "^3.6.9" + } + }, + "datastore-fs": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-0.8.1.tgz", + "integrity": "sha512-kSWQwTWa7Pf6HIBvJVQ0b8BvKqW6y22zWJ1Vp0h34R5loq48hOYQ++4ckZFWyzOvF3bJAi5X2euF01RPKqMJIQ==", + "requires": { + "async": "^2.6.1", + "datastore-core": "~0.6.0", + "fast-write-atomic": "~0.2.0", + "glob": "^7.1.3", + "graceful-fs": "^4.1.11", + "interface-datastore": "~0.6.0", + "mkdirp": "~0.5.1", + "pull-stream": "^3.6.9" + } + }, + "datastore-level": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-0.11.0.tgz", + "integrity": "sha512-kbxtHSI37EFpqy/u91VqZdzoFZMq11eRS7x9ZOtXDMToYJspyG7G8GXvq4NIB9+41+BZGIzNQuXL1M4SNoWtaA==", + "requires": { + "datastore-core": "~0.6.0", + "encoding-down": "^6.0.2", + "interface-datastore": "~0.6.0", + "level-js": "github:timkuijsten/level.js#idbunwrapper", + "leveldown": "^5.0.0", + "levelup": "^4.0.1", + "pull-stream": "^3.6.9" + } + }, + "datastore-pubsub": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/datastore-pubsub/-/datastore-pubsub-0.1.1.tgz", + "integrity": "sha512-yxAMVI51ZxuGaiEUQW0w3picNHHrUDvOIlgCdnMsa4pYgWi1R4jJAAV1tkYHTPUOXyp9UUIVnNyoeJ/CSLjlzA==", + "requires": { + "assert": "^1.4.1", + "debug": "^4.1.0", + "err-code": "^1.1.2", + "interface-datastore": "~0.6.0", + "multibase": "~0.6.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "interface-datastore": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.6.0.tgz", + "integrity": "sha512-aDbjWsEdTHd2Yc2A8QOeAEWMwlWDwumVX24bE0/AE7XxfDveWuDUKP7HQito0u1c80FZmR+y/Op14um+cG0CSw==", + "requires": { + "async": "^2.6.1", + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "uuid": "^3.2.2" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + }, + "ipfs-bitswap": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/ipfs-bitswap/-/ipfs-bitswap-0.25.1.tgz", + "integrity": "sha512-lDwndK+BF+4optcyUTXEpNsnAvYS5a+/R9Hc+OTFp64uQZ11nMqaFYUwDZTaAb9P8e/3dKBKxOd+52cguu4Spw==", + "requires": { + "async": "^2.6.1", + "bignumber.js": "^8.0.1", + "cids": "~0.7.0", + "debug": "^4.1.0", + "ipfs-block": "~0.8.0", + "just-debounce-it": "^1.1.0", + "lodash.isequalwith": "^4.4.0", + "moving-average": "^1.0.0", + "multicodec": "~0.5.0", + "multihashing-async": "~0.5.1", + "protons": "^1.0.1", + "pull-length-prefixed": "^1.3.1", + "pull-stream": "^3.6.9", + "varint-decoder": "~0.1.1" + }, + "dependencies": { + "bignumber.js": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", + "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" + }, + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, + "ipfs-block-service": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ipfs-block-service/-/ipfs-block-service-0.15.2.tgz", + "integrity": "sha512-iudmJO7UJZHonWoXyakuzy+bpV/7QVDm/g8eCqKN2BvhSjnLepaxdTyaXxJ76F2EOav1hdBP+U3Z9Mg/aCFPgg==", + "requires": { + "async": "^2.6.1" + } + }, + "ipfs-http-client": { + "version": "37.0.3", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-37.0.3.tgz", + "integrity": "sha512-yv8lVWGUWcAX5K1K5gj0uWjIBmvbS0hIhnStC4Da+RTJL09jFj9LsBYySst8F3pmU6XfqOurwihlFmK79ZChyg==", + "requires": { + "abort-controller": "^3.0.0", + "async": "^2.6.1", + "async-iterator-all": "^1.0.0", + "async-iterator-to-pull-stream": "^1.3.0", + "bignumber.js": "^9.0.0", + "bl": "^3.0.0", + "bs58": "^4.0.1", + "buffer": "^5.4.2", + "cids": "~0.7.1", + "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "debug": "^4.1.0", + "delay": "^4.3.0", + "detect-node": "^2.0.4", + "end-of-stream": "^1.4.1", + "err-code": "^2.0.0", + "explain-error": "^1.0.4", + "flatmap": "0.0.3", + "form-data": "^2.5.1", + "fs-extra": "^8.1.0", + "glob": "^7.1.3", + "ipfs-block": "~0.8.1", + "ipfs-utils": "^0.4.0", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.17.3", + "ipld-raw": "^4.0.0", + "is-ipfs": "~0.6.1", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "iso-stream-http": "~0.1.2", + "iso-url": "~0.4.6", + "it-glob": "0.0.4", + "it-to-stream": "^0.1.1", + "iterable-ndjson": "^1.1.0", + "just-kebab-case": "^1.1.0", + "just-map-keys": "^1.1.0", + "kind-of": "^6.0.2", + "ky": "^0.14.0", + "ky-universal": "^0.3.0", + "lru-cache": "^5.1.1", + "merge-options": "^1.0.1", + "multiaddr": "^6.0.6", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "once": "^1.4.0", + "peer-id": "~0.12.3", + "peer-info": "~0.15.1", + "promise-nodeify": "^3.0.1", + "promisify-es6": "^1.0.3", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "pull-stream-to-async-iterator": "^1.0.2", + "pull-to-stream": "~0.1.1", + "pump": "^3.0.0", + "qs": "^6.5.2", + "readable-stream": "^3.1.1", + "stream-to-pull-stream": "^1.7.2", + "tar-stream": "^2.0.1", + "through2": "^3.0.1" + }, + "dependencies": { + "ipfs-utils": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.4.0.tgz", + "integrity": "sha512-JLFmCcA058knmYiSB+WBw6nxcDHFS6p05weQOTFR/edufYot0UpgsJTcoMd1fHMq81n0nciJ3QQBqLcJxqGqhA==", + "requires": { + "buffer": "^5.2.1", + "err-code": "^2.0.0", + "fs-extra": "^8.1.0", + "is-buffer": "^2.0.3", + "is-electron": "^2.2.0", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "it-glob": "0.0.4", + "kind-of": "^6.0.2", + "pull-stream-to-async-iterator": "^1.0.2", + "readable-stream": "^3.4.0" + } + } + } + }, + "ipfs-http-response": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/ipfs-http-response/-/ipfs-http-response-0.3.1.tgz", + "integrity": "sha512-C2Ld9/MVnUujXPLVGLYJEgi9troi0QLyhkygsQ6c4c9VG7/BYES+t45N6uM2Be8TkAAMIWFkXSi5zfoGcHCOsA==", + "requires": { + "async": "^2.6.1", + "cids": "~0.7.1", + "debug": "^4.1.1", + "file-type": "^8.0.0", + "filesize": "^3.6.1", + "get-stream": "^3.0.0", + "ipfs-unixfs": "~0.1.16", + "mime-types": "^2.1.21", + "multihashes": "~0.4.14", + "promisify-es6": "^1.0.3", + "stream-to-blob": "^1.0.1" + }, + "dependencies": { + "file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" + } + } + }, + "ipfs-mfs": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/ipfs-mfs/-/ipfs-mfs-0.12.2.tgz", + "integrity": "sha512-o9vGKEdUI4HwQV67DQnC1AVSSs7i/yaIHrKPEb6Oe6vGeobLGuEGMReWjTcnMi5KAKUECFESEVtDuNJDr8BW5Q==", + "requires": { + "@hapi/boom": "^7.4.2", + "@hapi/joi": "^15.1.0", + "async-iterator-last": "^1.0.0", + "cids": "~0.7.1", + "debug": "^4.1.0", + "err-code": "^1.1.2", + "hamt-sharding": "~0.0.2", + "interface-datastore": "~0.6.0", + "ipfs-multipart": "~0.2.0", + "ipfs-unixfs": "~0.1.16", + "ipfs-unixfs-exporter": "~0.37.6", + "ipfs-unixfs-importer": "~0.39.9", + "ipld-dag-pb": "~0.17.2", + "joi-browser": "^13.4.0", + "mortice": "^2.0.0", + "multicodec": "~0.5.3", + "multihashes": "~0.4.14", + "once": "^1.4.0", + "promisify-es6": "^1.0.3", + "pull-stream": "^3.6.9" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + }, + "ipfs-repo": { + "version": "0.26.6", + "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.26.6.tgz", + "integrity": "sha512-fcEV2y5N5tuI45zmoRQdDIN4bFj03xvxnZkXpblws4FMvPy0tkDZEtAdsZsmMnkbae2GDzwaKWZ6Dc3TPmzAZg==", + "requires": { + "async": "^2.6.2", + "base32.js": "~0.1.0", + "bignumber.js": "^8.1.1", + "buffer": "^5.2.1", + "cids": "~0.7.0", + "datastore-core": "~0.6.0", + "datastore-fs": "~0.8.0", + "datastore-level": "~0.11.0", + "debug": "^4.1.0", + "dlv": "^1.1.2", + "interface-datastore": "~0.6.0", + "ipfs-block": "~0.8.1", + "just-safe-set": "^2.1.0", + "multiaddr": "^6.0.6", + "proper-lockfile": "^4.0.0", + "pull-stream": "^3.6.9", + "sort-keys": "^2.0.0" + }, + "dependencies": { + "bignumber.js": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", + "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" + } + } + }, + "ipfs-unixfs-exporter": { + "version": "0.37.7", + "resolved": "https://registry.npmjs.org/ipfs-unixfs-exporter/-/ipfs-unixfs-exporter-0.37.7.tgz", + "integrity": "sha512-SZgaIy9MTFelKFnjzS6VAMKwVdukXej0vOKc+7IXVMoS2MRQ8nBOMnClqPD+2XXU49Z2T8fnZWKHzHs84zeuuw==", + "requires": { + "async-iterator-last": "^1.0.0", + "cids": "~0.7.1", + "err-code": "^1.1.2", + "hamt-sharding": "~0.0.2", + "ipfs-unixfs": "~0.1.16", + "ipfs-unixfs-importer": "~0.39.11" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + }, + "ipfs-unixfs-importer": { + "version": "0.39.11", + "resolved": "https://registry.npmjs.org/ipfs-unixfs-importer/-/ipfs-unixfs-importer-0.39.11.tgz", + "integrity": "sha512-2eG6zCbMF3HPQE6TmBoq62XTMgVBqE4ja2gxpoIWOjOwVN6g/1LcX1vEqfPTLyFTG1lN3oad5xCblQLriXDUIQ==", + "requires": { + "async-iterator-all": "^1.0.0", + "async-iterator-batch": "~0.0.1", + "async-iterator-first": "^1.0.0", + "bl": "^3.0.0", + "deep-extend": "~0.6.0", + "err-code": "^1.1.2", + "hamt-sharding": "~0.0.2", + "ipfs-unixfs": "~0.1.16", + "ipld-dag-pb": "~0.17.2", + "multicodec": "~0.5.1", + "multihashing-async": "~0.7.0", + "rabin-wasm": "~0.0.4", + "superstruct": "~0.6.1" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + } + } + }, + "ipfs-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.3.0.tgz", + "integrity": "sha512-5xrOYv27lA8gV13K6Zm8gIUvNtqwmHCqztxnVE4S6aTdfMNkXQJJhRvlsi7RN/auHMORPxc3qSRMukgEUO3C2Q==", + "requires": { + "buffer": "^5.2.1", + "err-code": "^2.0.0", + "fs-extra": "^8.1.0", + "is-buffer": "^2.0.3", + "is-electron": "^2.2.0", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "it-glob": "0.0.4", + "kind-of": "^6.0.2", + "pull-stream-to-async-iterator": "^1.0.2", + "readable-stream": "^3.4.0" + } + }, + "ipld": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/ipld/-/ipld-0.24.1.tgz", + "integrity": "sha512-Skc2yO0tzlYYFiSui/hUveA97/rpjSC5XU+AMrP1/ufdlqPdXRg9I+99pKsTCyoW7I/i1TOVh7y4B7c+J/AqjQ==", + "requires": { + "cids": "~0.7.0", + "ipfs-block": "~0.8.1", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.17.0", + "ipld-raw": "^4.0.0", + "merge-options": "^1.0.1", + "multicodec": "~0.5.1", + "promisify-es6": "^1.0.3", + "typical": "^5.0.0" + } + }, + "ipld-dag-pb": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", + "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", + "requires": { + "cids": "~0.7.0", + "class-is": "^1.1.0", + "multicodec": "~0.5.1", + "multihashing-async": "~0.7.0", + "protons": "^1.0.1", + "stable": "~0.1.8" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + } + } + }, + "ipld-zcash": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ipld-zcash/-/ipld-zcash-0.3.0.tgz", + "integrity": "sha512-9BTVBi3dhF1ZzFrWUqewrrBj0U1seG87/m4PJ1K44DylsX13r6eZP+yva6U+22pmhqGTS20yOZaS7clnAQWYOg==", + "requires": { + "cids": "~0.7.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.12", + "multihashing-async": "~0.7.0", + "zcash-bitcore-lib": "~0.13.20-rc3" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + } + } + }, + "ipns": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/ipns/-/ipns-0.5.2.tgz", + "integrity": "sha512-SIC8J7+ptHRfkMB66yL+DVjrrFFSTOgtG67BVIVMOVQ0ctAONTDCjmvGCPNBuL2V3RYaee6gtuGjmJMAn46rJA==", + "requires": { + "base32-encode": "^1.1.0", + "debug": "^4.1.1", + "interface-datastore": "~0.6.0", + "libp2p-crypto": "~0.16.0", + "multihashes": "~0.4.14", + "peer-id": "~0.12.2", + "protons": "^1.0.1", + "timestamp-nano": "^1.0.0" + } + }, + "ky": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/ky/-/ky-0.14.0.tgz", + "integrity": "sha512-NSjg+WCElQPdlF3BFZnjh8s5QlMIP+vIGoyukrRU+n+23VBUX87bQYOoG5h3HX5tO7kKQYXvg+QZVt8n0uWmhg==" + }, + "level-js": { + "version": "github:timkuijsten/level.js#18e03adab34c49523be7d3d58fafb0c632f61303", + "from": "github:timkuijsten/level.js#idbunwrapper", + "requires": { + "abstract-leveldown": "~2.4.1", + "idb-readable-stream": "0.0.4", + "ltgt": "^2.1.2", + "xtend": "^4.0.1" + } + }, + "libp2p-delegated-content-routing": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/libp2p-delegated-content-routing/-/libp2p-delegated-content-routing-0.2.4.tgz", + "integrity": "sha512-VgupHN9DhoNIJmnoe5H1Qb+AeG+Z7A4Yc8p/8jNNuRq61Jn7uzs03k1WWFRt/+Xnb9FlnHrBo1vrp8NqXdq9NQ==", + "requires": { + "async": "^2.6.2", + "ipfs-http-client": "^33.0.2", + "multiaddr": "^6.1.0", + "p-queue": "^6.1.0", + "peer-id": "^0.12.2", + "peer-info": "^0.15.1" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "ipfs-http-client": { + "version": "33.1.1", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-33.1.1.tgz", + "integrity": "sha512-iwtLL3lOIzxXJFwLnOEtFUv1cYTuWJ0NauD7rpMEd/y4C7z6fuN6TSF4h547lxMh7sJWv+6Z0PmOA5N8FzUHJw==", + "requires": { + "async": "^2.6.1", + "bignumber.js": "^9.0.0", + "bl": "^3.0.0", + "bs58": "^4.0.1", + "buffer": "^5.2.1", + "cids": "~0.7.1", + "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "end-of-stream": "^1.4.1", + "err-code": "^1.1.2", + "flatmap": "0.0.3", + "glob": "^7.1.3", + "ipfs-block": "~0.8.1", + "ipfs-utils": "~0.0.3", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.17.3", + "ipld-raw": "^4.0.0", + "is-ipfs": "~0.6.1", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "iso-stream-http": "~0.1.2", + "iso-url": "~0.4.6", + "just-kebab-case": "^1.1.0", + "just-map-keys": "^1.1.0", + "kind-of": "^6.0.2", + "lru-cache": "^5.1.1", + "multiaddr": "^6.0.6", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "once": "^1.4.0", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", + "promisify-es6": "^1.0.3", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "pull-to-stream": "~0.1.1", + "pump": "^3.0.0", + "qs": "^6.5.2", + "readable-stream": "^3.1.1", + "stream-to-pull-stream": "^1.7.2", + "tar-stream": "^2.0.1", + "through2": "^3.0.1" + } + }, + "ipfs-utils": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", + "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", + "requires": { + "buffer": "^5.2.1", + "is-buffer": "^2.0.3", + "is-electron": "^2.2.0", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "kind-of": "^6.0.2", + "readable-stream": "^3.4.0" + } + } + } + }, + "libp2p-delegated-peer-routing": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/libp2p-delegated-peer-routing/-/libp2p-delegated-peer-routing-0.2.4.tgz", + "integrity": "sha512-uL6QumPoXG5LhFPQaDtcW4k83LlTJEDNqqv3DnM9RG3/d+N6/yHBNqQpRmvgR4gBeaDOEpdAyK3FSa9IWNpEFA==", + "requires": { + "ipfs-http-client": "^33.0.1", + "p-queue": "^6.1.0", + "peer-id": "^0.12.2", + "peer-info": "^0.15.1" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "ipfs-http-client": { + "version": "33.1.1", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-33.1.1.tgz", + "integrity": "sha512-iwtLL3lOIzxXJFwLnOEtFUv1cYTuWJ0NauD7rpMEd/y4C7z6fuN6TSF4h547lxMh7sJWv+6Z0PmOA5N8FzUHJw==", + "requires": { + "async": "^2.6.1", + "bignumber.js": "^9.0.0", + "bl": "^3.0.0", + "bs58": "^4.0.1", + "buffer": "^5.2.1", + "cids": "~0.7.1", + "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "end-of-stream": "^1.4.1", + "err-code": "^1.1.2", + "flatmap": "0.0.3", + "glob": "^7.1.3", + "ipfs-block": "~0.8.1", + "ipfs-utils": "~0.0.3", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.17.3", + "ipld-raw": "^4.0.0", + "is-ipfs": "~0.6.1", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "iso-stream-http": "~0.1.2", + "iso-url": "~0.4.6", + "just-kebab-case": "^1.1.0", + "just-map-keys": "^1.1.0", + "kind-of": "^6.0.2", + "lru-cache": "^5.1.1", + "multiaddr": "^6.0.6", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "once": "^1.4.0", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", + "promisify-es6": "^1.0.3", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "pull-to-stream": "~0.1.1", + "pump": "^3.0.0", + "qs": "^6.5.2", + "readable-stream": "^3.1.1", + "stream-to-pull-stream": "^1.7.2", + "tar-stream": "^2.0.1", + "through2": "^3.0.1" + } + }, + "ipfs-utils": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", + "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", + "requires": { + "buffer": "^5.2.1", + "is-buffer": "^2.0.3", + "is-electron": "^2.2.0", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "kind-of": "^6.0.2", + "readable-stream": "^3.4.0" + } + } + } + }, + "libp2p-kad-dht": { + "version": "0.15.4", + "resolved": "https://registry.npmjs.org/libp2p-kad-dht/-/libp2p-kad-dht-0.15.4.tgz", + "integrity": "sha512-0hMYGpk2xra0j+yqYuPauhLjpIsvy4ZDcPhY692juVhiTls4WKfQs3XMlC0s2Q0VhUrDsaS3cgpFZTyJYgn++Q==", + "requires": { + "abort-controller": "^3.0.0", + "async": "^2.6.2", + "base32.js": "~0.1.0", + "callbackify": "^1.1.0", + "chai-checkmark": "^1.0.1", + "cids": "~0.7.0", + "debug": "^4.1.1", + "err-code": "^1.1.2", + "hashlru": "^2.3.0", + "heap": "~0.2.6", + "interface-datastore": "~0.6.0", + "k-bucket": "^5.0.0", + "libp2p-crypto": "~0.16.1", + "libp2p-record": "~0.6.2", + "merge-options": "^1.0.1", + "multihashes": "~0.4.14", + "multihashing-async": "~0.5.2", + "p-queue": "^6.0.0", + "p-times": "^2.1.0", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", + "priorityqueue": "~0.2.1", + "promise-to-callback": "^1.0.0", + "promisify-es6": "^1.0.3", + "protons": "^1.0.1", + "pull-length-prefixed": "^1.3.2", + "pull-stream": "^3.6.9", + "pull-stream-to-async-iterator": "^1.0.1", + "varint": "^5.0.0", + "xor-distance": "^2.0.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, + "libp2p-keychain": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/libp2p-keychain/-/libp2p-keychain-0.4.2.tgz", + "integrity": "sha512-/rhjUQM9DDL4gfP7bdkqfnXYl4JlDrsnCMrPGmWmtnnLk9LdaIcJ+93IOKpB7B2LE7Td+1+JZRys2JjTBs21nQ==", + "requires": { + "async": "^2.6.2", + "err-code": "^1.1.2", + "interface-datastore": "~0.6.0", + "libp2p-crypto": "~0.16.1", + "merge-options": "^1.0.1", + "node-forge": "~0.7.6", + "pull-stream": "^3.6.9", + "sanitize-filename": "^1.6.1" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + }, + "libp2p-record": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/libp2p-record/-/libp2p-record-0.6.3.tgz", + "integrity": "sha512-FUJ69hb20SETlKmXkdlG7AJPPZmaRrzNBR2d4aTRVYcR2LPWzamGg6UeDEP5DAHXUqMhtEP38oEKcrLn07kaOw==", + "requires": { + "async": "^2.6.2", + "buffer-split": "^1.0.0", + "err-code": "^1.1.2", + "multihashes": "~0.4.14", + "multihashing-async": "~0.6.0", + "protons": "^1.0.1" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + }, + "merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "requires": { + "is-plain-obj": "^1.1" + } + }, + "multihashing-async": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", + "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + }, + "ndjson": { + "version": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", + "from": "github:hugomrdias/ndjson#feat/readable-stream3", + "requires": { + "json-stringify-safe": "^5.0.1", + "minimist": "^1.2.0", + "split2": "^3.1.0", + "through2": "^3.0.0" + } + }, + "pull-ndjson": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pull-ndjson/-/pull-ndjson-0.1.1.tgz", + "integrity": "sha1-gx4GutmqbFxevBKol+Og4V1J4H4=", + "requires": { + "pull-split": "^0.2.0", + "pull-stream": "^3.4.5", + "pull-stringify": "^1.2.2" + } + }, + "pull-stream-to-stream": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/pull-stream-to-stream/-/pull-stream-to-stream-1.3.4.tgz", + "integrity": "sha1-P4HYIWvRjSv9GhmBkEcRgOJzg5k=" + }, + "pull-stringify": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/pull-stringify/-/pull-stringify-1.2.2.tgz", + "integrity": "sha1-Whw04Adfry8vbUYATjbczTO9fHw=" + }, + "split2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.1.1.tgz", + "integrity": "sha512-emNzr1s7ruq4N+1993yht631/JH+jaj0NYBosuKmLcq+JkGQ9MmTw1RB1fGaTCzUuseRIClrlSLHRNYGwWQ58Q==", + "requires": { + "readable-stream": "^3.0.0" + } + }, + "stream-to-blob": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-to-blob/-/stream-to-blob-1.0.2.tgz", + "integrity": "sha512-ryeEu3DGMt/095uTShIYGzLbbhZ+tHQtgp5HWEhXALSoc4U1iLSvpReZUdysahnJ3tki80wBBgryqqBzFZ0KaA==", + "requires": { + "once": "^1.3.3" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "ipfs-bitswap": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/ipfs-bitswap/-/ipfs-bitswap-0.26.0.tgz", + "integrity": "sha512-EIO4gf61uhzdU+rVWAZB4pa862G+yoP0LkMi7mPMkz8e5UYwQBv7tJYZ84/MyCoi5Ce6+uBdJ4THdLitwCj0Ig==", + "requires": { + "bignumber.js": "^9.0.0", + "callbackify": "^1.1.0", + "cids": "~0.7.0", + "debug": "^4.1.0", + "ipfs-block": "~0.8.0", + "just-debounce-it": "^1.1.0", + "lodash.isequalwith": "^4.4.0", + "moving-average": "^1.0.0", + "multicodec": "~0.5.0", + "multihashing-async": "^0.8.0", + "protons": "^1.0.1", + "pull-length-prefixed": "^1.3.1", + "pull-stream": "^3.6.9", + "varint-decoder": "~0.1.1" + } + }, + "ipfs-block": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", + "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", + "requires": { + "cids": "~0.7.0", + "class-is": "^1.1.0" + } + }, + "ipfs-block-service": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/ipfs-block-service/-/ipfs-block-service-0.16.0.tgz", + "integrity": "sha512-cSITuhI8Bizrmks8rC6SmFcSbtUf9bIUPbpHetwb7T3raSseODx80Wy51JKXFkMyLAuWYHOfDie0J/kf5csGKw==", + "requires": { + "streaming-iterables": "^4.1.0" + } + }, + "ipfs-http-client": { + "version": "39.0.2", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-39.0.2.tgz", + "integrity": "sha512-logfyeSMD2XJCqhKv8hVnSOb/NH2KDECoLeAkwIjWMYK9Yd7eqci0ZDLP4qed0wZ91GFJ09qgCO+6J8ApKrAaQ==", + "requires": { + "abort-controller": "^3.0.0", + "async": "^2.6.1", + "async-iterator-all": "^1.0.0", + "async-iterator-to-pull-stream": "^1.3.0", + "bignumber.js": "^9.0.0", + "bl": "^4.0.0", + "bs58": "^4.0.1", + "buffer": "^5.4.2", + "callbackify": "^1.1.0", + "cids": "~0.7.1", + "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "debug": "^4.1.0", + "delay": "^4.3.0", + "detect-node": "^2.0.4", + "end-of-stream": "^1.4.1", + "err-code": "^2.0.0", + "event-iterator": "^1.2.0", + "explain-error": "^1.0.4", + "flatmap": "0.0.3", + "form-data": "^2.5.1", + "fs-extra": "^8.1.0", + "glob": "^7.1.3", + "ipfs-block": "~0.8.1", + "ipfs-utils": "^0.4.0", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "^0.18.1", + "ipld-raw": "^4.0.0", + "is-ipfs": "~0.6.1", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "iso-stream-http": "~0.1.2", + "iso-url": "~0.4.6", + "it-glob": "0.0.6", + "it-to-stream": "^0.1.1", + "iterable-ndjson": "^1.1.0", + "just-kebab-case": "^1.1.0", + "just-map-keys": "^1.1.0", + "kind-of": "^6.0.2", + "ky": "^0.15.0", + "ky-universal": "^0.3.0", + "lru-cache": "^5.1.1", + "merge-options": "^2.0.0", + "multiaddr": "^6.0.6", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "once": "^1.4.0", + "peer-id": "~0.12.3", + "peer-info": "~0.15.1", + "promise-nodeify": "^3.0.1", + "promisify-es6": "^1.0.3", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "pull-stream-to-async-iterator": "^1.0.2", + "pull-to-stream": "~0.1.1", + "pump": "^3.0.0", + "qs": "^6.5.2", + "readable-stream": "^3.1.1", + "stream-to-pull-stream": "^1.7.2", + "tar-stream": "^2.0.1", + "through2": "^3.0.1" + }, + "dependencies": { + "concat-stream": { + "version": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", + "from": "github:hugomrdias/concat-stream#feat/smaller", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^3.0.2" + } + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "it-glob": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.6.tgz", + "integrity": "sha512-B2FsVvjP/iDzHIph3g9oSeqwOwTfcxuuiKSC7U78/AIWKbBzM8tyVZAEIgOjMOQDNMqCBUD2MNedt0gSIOJU8w==", + "requires": { + "fs-extra": "^8.1.0", + "minimatch": "^3.0.4" + } + }, + "ndjson": { + "version": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", + "from": "github:hugomrdias/ndjson#feat/readable-stream3", + "requires": { + "json-stringify-safe": "^5.0.1", + "minimist": "^1.2.0", + "split2": "^3.1.0", + "through2": "^3.0.0" + } + }, + "split2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.1.1.tgz", + "integrity": "sha512-emNzr1s7ruq4N+1993yht631/JH+jaj0NYBosuKmLcq+JkGQ9MmTw1RB1fGaTCzUuseRIClrlSLHRNYGwWQ58Q==", + "requires": { + "readable-stream": "^3.0.0" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "ipfs-http-response": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/ipfs-http-response/-/ipfs-http-response-0.4.0.tgz", + "integrity": "sha512-9IgrP9NzE8oOMRN0uiQNvDg8V7YbUGQucBY2cXtuANTUcs9DZjkhSFz+ypbQw/UBZMZTjTmB1eG+YODy9VZByQ==", + "requires": { + "cids": "~0.7.1", + "debug": "^4.1.1", + "file-type": "^8.0.0", + "filesize": "^3.6.1", + "get-stream": "^3.0.0", + "ipfs-unixfs": "~0.1.16", + "mime-types": "^2.1.21", + "multihashes": "~0.4.14", + "p-try-each": "^1.0.1", + "stream-to-blob": "^2.0.0" + }, + "dependencies": { + "file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" + } + } + }, + "ipfs-interop": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ipfs-interop/-/ipfs-interop-0.1.1.tgz", + "integrity": "sha512-Bk2ra6/Z/uYlqHCdZcqR0l8luEwvZ688I4AhrNZI3QAADUrb9JKW4GR9ZWHD9Feyf+RnfzZekA/ZAc1myyaX/w==", + "requires": { + "aegir": "^20.0.0", + "async": "^2.6.2", + "base64url": "^3.0.0", + "bl": "^3.0.0", + "bs58": "^4.0.1", + "chai": "^4.2.0", + "cids": "~0.7.1", + "cross-env": "^5.2.0", + "detect-node": "^2.0.4", + "dir-compare": "^1.7.1", + "dirty-chai": "^2.0.1", + "eslint-plugin-react": "^7.12.4", + "expose-loader": "~0.7.5", + "form-data": "^2.3.3", + "go-ipfs-dep": "~0.4.20", + "hat": "~0.0.3", + "ipfs-http-client": "^33.1.0", + "ipfs-repo": "~0.26.6", + "ipfs-unixfs": "~0.1.16", + "ipfsd-ctl": "~0.42.4", + "ipns": "~0.5.1", + "is-ci": "^2.0.0", + "is-os": "^1.0.1", + "left-pad": "^1.3.0", + "libp2p-websocket-star-rendezvous": "~0.3.0", + "lodash": "^4.17.11", + "merge-options": "^1.0.1", + "mocha": "^5.2.0", + "multihashes": "~0.4.14", + "ncp": "^2.0.0", + "pretty-bytes": "^5.1.0", + "promisify-es6": "^1.0.3", + "random-fs": "^1.0.3", + "readable-stream-buffer-stream": "~0.0.2", + "rimraf": "^2.6.3", + "stream-to-promise": "^2.2.0", + "transform-loader": "~0.2.4" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.4.1.tgz", + "integrity": "sha1-s7/tuITraToSd18MVenwpCDM7mQ=", + "requires": { + "xtend": "~4.0.0" + } + }, + "bl": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz", + "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==", + "requires": { + "readable-stream": "^3.0.1" + } + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + }, + "concat-stream": { + "version": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", + "from": "github:hugomrdias/concat-stream#feat/smaller", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^3.0.2" + } + }, + "datastore-core": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-0.6.1.tgz", + "integrity": "sha512-bPMmMEHu96EaFS+OXeyjC0C1YnnQFiybvMszduYya7xlCpKiK24YgF/YZm1STj0IjI9zub9UkNw3eIBos2z9cw==", + "requires": { + "async": "^2.6.1", + "interface-datastore": "~0.6.0", + "pull-many": "^1.0.8", + "pull-stream": "^3.6.9" + } + }, + "datastore-fs": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-0.8.1.tgz", + "integrity": "sha512-kSWQwTWa7Pf6HIBvJVQ0b8BvKqW6y22zWJ1Vp0h34R5loq48hOYQ++4ckZFWyzOvF3bJAi5X2euF01RPKqMJIQ==", + "requires": { + "async": "^2.6.1", + "datastore-core": "~0.6.0", + "fast-write-atomic": "~0.2.0", + "glob": "^7.1.3", + "graceful-fs": "^4.1.11", + "interface-datastore": "~0.6.0", + "mkdirp": "~0.5.1", + "pull-stream": "^3.6.9" + } + }, + "datastore-level": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-0.11.0.tgz", + "integrity": "sha512-kbxtHSI37EFpqy/u91VqZdzoFZMq11eRS7x9ZOtXDMToYJspyG7G8GXvq4NIB9+41+BZGIzNQuXL1M4SNoWtaA==", + "requires": { + "datastore-core": "~0.6.0", + "encoding-down": "^6.0.2", + "interface-datastore": "~0.6.0", + "level-js": "github:timkuijsten/level.js#idbunwrapper", + "leveldown": "^5.0.0", + "levelup": "^4.0.1", + "pull-stream": "^3.6.9" + } + }, + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.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" + }, + "dependencies": { + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + } + } + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + }, + "interface-datastore": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.6.0.tgz", + "integrity": "sha512-aDbjWsEdTHd2Yc2A8QOeAEWMwlWDwumVX24bE0/AE7XxfDveWuDUKP7HQito0u1c80FZmR+y/Op14um+cG0CSw==", + "requires": { + "async": "^2.6.1", + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "uuid": "^3.2.2" + } + }, + "ipfs-http-client": { + "version": "33.1.1", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-33.1.1.tgz", + "integrity": "sha512-iwtLL3lOIzxXJFwLnOEtFUv1cYTuWJ0NauD7rpMEd/y4C7z6fuN6TSF4h547lxMh7sJWv+6Z0PmOA5N8FzUHJw==", + "requires": { + "async": "^2.6.1", + "bignumber.js": "^9.0.0", + "bl": "^3.0.0", + "bs58": "^4.0.1", + "buffer": "^5.2.1", + "cids": "~0.7.1", + "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "end-of-stream": "^1.4.1", + "err-code": "^1.1.2", + "flatmap": "0.0.3", + "glob": "^7.1.3", + "ipfs-block": "~0.8.1", + "ipfs-utils": "~0.0.3", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.17.3", + "ipld-raw": "^4.0.0", + "is-ipfs": "~0.6.1", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "iso-stream-http": "~0.1.2", + "iso-url": "~0.4.6", + "just-kebab-case": "^1.1.0", + "just-map-keys": "^1.1.0", + "kind-of": "^6.0.2", + "lru-cache": "^5.1.1", + "multiaddr": "^6.0.6", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "once": "^1.4.0", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", + "promisify-es6": "^1.0.3", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "pull-to-stream": "~0.1.1", + "pump": "^3.0.0", + "qs": "^6.5.2", + "readable-stream": "^3.1.1", + "stream-to-pull-stream": "^1.7.2", + "tar-stream": "^2.0.1", + "through2": "^3.0.1" + } + }, + "ipfs-repo": { + "version": "0.26.6", + "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.26.6.tgz", + "integrity": "sha512-fcEV2y5N5tuI45zmoRQdDIN4bFj03xvxnZkXpblws4FMvPy0tkDZEtAdsZsmMnkbae2GDzwaKWZ6Dc3TPmzAZg==", + "requires": { + "async": "^2.6.2", + "base32.js": "~0.1.0", + "bignumber.js": "^8.1.1", + "buffer": "^5.2.1", + "cids": "~0.7.0", + "datastore-core": "~0.6.0", + "datastore-fs": "~0.8.0", + "datastore-level": "~0.11.0", + "debug": "^4.1.0", + "dlv": "^1.1.2", + "interface-datastore": "~0.6.0", + "ipfs-block": "~0.8.1", + "just-safe-set": "^2.1.0", + "multiaddr": "^6.0.6", + "proper-lockfile": "^4.0.0", + "pull-stream": "^3.6.9", + "sort-keys": "^2.0.0" + }, + "dependencies": { + "bignumber.js": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", + "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" + } + } + }, + "ipfs-utils": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", + "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", + "requires": { + "buffer": "^5.2.1", + "is-buffer": "^2.0.3", + "is-electron": "^2.2.0", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "kind-of": "^6.0.2", + "readable-stream": "^3.4.0" + } + }, + "ipfsd-ctl": { + "version": "0.42.4", + "resolved": "https://registry.npmjs.org/ipfsd-ctl/-/ipfsd-ctl-0.42.4.tgz", + "integrity": "sha512-TX8gZqHzdt4WLCt3NhWRpG0aK1LfzRxtTCkYjTcm2GxFr7+oiUfdEvmvx5SRyagpEv8GAblCCNXVjJ39maDiBg==", + "requires": { + "async": "^2.6.2", + "base-x": "^3.0.5", + "boom": "^7.3.0", + "debug": "^4.1.1", + "detect-node": "^2.0.4", + "dexie": "^2.0.4", + "execa": "^1.0.0", + "hapi": "^16.6.2", + "hat": "~0.0.3", + "ipfs-http-client": "^32.0.1", + "joi": "^14.3.1", + "libp2p-crypto": "~0.16.1", + "lodash.clone": "^4.5.0", + "lodash.defaults": "^4.2.0", + "lodash.defaultsdeep": "^4.6.0", + "multiaddr": "^6.0.6", + "once": "^1.4.0", + "protons": "^1.0.1", + "rimraf": "^2.6.3", + "safe-json-parse": "^4.0.0", + "safe-json-stringify": "^1.2.0", + "superagent": "^4.0.0-beta.5" + }, + "dependencies": { + "bignumber.js": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", + "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" + }, + "ipfs-http-client": { + "version": "32.0.1", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-32.0.1.tgz", + "integrity": "sha512-uDJjjAg9zvuiAucBE/o0I+xHu9Q9ZoLvj0cTyk+Jf+0duom1iIt2iEEN1HW+PNnZu12zYQWV3sB+tI5TN2lo7A==", + "requires": { + "async": "^2.6.1", + "bignumber.js": "^8.0.2", + "bl": "^3.0.0", + "bs58": "^4.0.1", + "buffer": "^5.2.1", + "cids": "~0.7.1", + "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "end-of-stream": "^1.4.1", + "err-code": "^1.1.2", + "flatmap": "0.0.3", + "glob": "^7.1.3", + "ipfs-block": "~0.8.1", + "ipfs-utils": "~0.0.3", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.17.3", + "is-ipfs": "~0.6.1", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "iso-stream-http": "~0.1.2", + "iso-url": "~0.4.6", + "just-kebab-case": "^1.1.0", + "just-map-keys": "^1.1.0", + "kind-of": "^6.0.2", + "lru-cache": "^5.1.1", + "multiaddr": "^6.0.6", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "once": "^1.4.0", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", + "promisify-es6": "^1.0.3", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "pull-to-stream": "~0.1.1", + "pump": "^3.0.0", + "qs": "^6.5.2", + "readable-stream": "^3.1.1", + "stream-to-pull-stream": "^1.7.2", + "tar-stream": "^2.0.1", + "through2": "^3.0.1" + } + } + } + }, + "ipld-dag-pb": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", + "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", + "requires": { + "cids": "~0.7.0", + "class-is": "^1.1.0", + "multicodec": "~0.5.1", + "multihashing-async": "~0.7.0", + "protons": "^1.0.1", + "stable": "~0.1.8" + } + }, + "ipns": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/ipns/-/ipns-0.5.2.tgz", + "integrity": "sha512-SIC8J7+ptHRfkMB66yL+DVjrrFFSTOgtG67BVIVMOVQ0ctAONTDCjmvGCPNBuL2V3RYaee6gtuGjmJMAn46rJA==", + "requires": { + "base32-encode": "^1.1.0", + "debug": "^4.1.1", + "interface-datastore": "~0.6.0", + "libp2p-crypto": "~0.16.0", + "multihashes": "~0.4.14", + "peer-id": "~0.12.2", + "protons": "^1.0.1", + "timestamp-nano": "^1.0.0" + } + }, + "level-js": { + "version": "github:timkuijsten/level.js#18e03adab34c49523be7d3d58fafb0c632f61303", + "from": "github:timkuijsten/level.js#idbunwrapper", + "requires": { + "abstract-leveldown": "~2.4.1", + "idb-readable-stream": "0.0.4", + "ltgt": "^2.1.2", + "xtend": "^4.0.1" + } + }, + "merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "requires": { + "is-plain-obj": "^1.1" + } + }, + "mocha": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "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" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + }, + "ndjson": { + "version": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", + "from": "github:hugomrdias/ndjson#feat/readable-stream3", + "requires": { + "json-stringify-safe": "^5.0.1", + "minimist": "^1.2.0", + "split2": "^3.1.0", + "through2": "^3.0.0" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "safe-json-parse": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-4.0.0.tgz", + "integrity": "sha1-fA9XjPzNEtM6ccDgVBPi7KFx6qw=", + "requires": { + "rust-result": "^1.0.0" + } + }, + "split2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.1.1.tgz", + "integrity": "sha512-emNzr1s7ruq4N+1993yht631/JH+jaj0NYBosuKmLcq+JkGQ9MmTw1RB1fGaTCzUuseRIClrlSLHRNYGwWQ58Q==", + "requires": { + "readable-stream": "^3.0.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "ipfs-mfs": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/ipfs-mfs/-/ipfs-mfs-0.13.2.tgz", + "integrity": "sha512-7ZbQREWPzRxGhTu3zTXW8XVpE77bfYIp7GLtb2XS9FgmEXDYqpyXeN91iEdKmLHjhXolP6656WAhhaJ+m1NCeg==", + "requires": { + "@hapi/boom": "^7.4.2", + "@hapi/joi": "^15.1.0", + "async-iterator-last": "^1.0.0", + "cids": "~0.7.1", + "debug": "^4.1.0", + "err-code": "^2.0.0", + "hamt-sharding": "~0.0.2", + "interface-datastore": "~0.7.0", + "ipfs-multipart": "~0.2.0", + "ipfs-unixfs": "~0.1.16", + "ipfs-unixfs-exporter": "~0.38.0", + "ipfs-unixfs-importer": "~0.40.0", + "ipld-dag-pb": "~0.18.0", + "joi-browser": "^13.4.0", + "mortice": "^2.0.0", + "multicodec": "~0.5.3", + "multihashes": "~0.4.14", + "once": "^1.4.0", + "pull-stream": "^3.6.9" + }, + "dependencies": { + "interface-datastore": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.7.0.tgz", + "integrity": "sha512-TfwzBe7iInnakxjWDQn8GQHRDSgmVXRylBo9Z6ONjtaIXB1aJFYpvW1mt+Kbnql/xpTxD2LsQKRBS9+EiTVmhA==", + "requires": { + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "uuid": "^3.2.2" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + } + } + }, + "ipfs-multipart": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ipfs-multipart/-/ipfs-multipart-0.2.0.tgz", + "integrity": "sha512-pDCr7xtOW7KCqgeGmejfWjm5xPH516Kx4OU/PdbtIZu68/cFPW4jftJy9idQHdf0C/NnKHnqntMY93rbc+qrQg==", + "requires": { + "@hapi/content": "^4.1.0", + "it-multipart": "~0.0.2" + } + }, + "ipfs-repo": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.29.3.tgz", + "integrity": "sha512-kELIrYgE94xrYmyoVvwMgIldqsnQR4d/eulYudswhaQTl7UIRHxyurg1EreofrDHChAx9Hq4PLT7zYEVjGNWNQ==", + "requires": { + "base32.js": "~0.1.0", + "bignumber.js": "^9.0.0", + "bytes": "^3.1.0", + "cids": "~0.7.0", + "datastore-core": "~0.7.0", + "datastore-fs": "~0.9.0", + "datastore-level": "~0.14.0", + "debug": "^4.1.0", + "err-code": "^1.1.2", + "interface-datastore": "~0.7.0", + "ipfs-block": "~0.8.1", + "ipfs-repo-migrations": "~0.1.0", + "just-safe-get": "^1.3.0", + "just-safe-set": "^2.1.0", + "lodash.has": "^4.5.2", + "p-queue": "^6.0.0", + "pretty-bytes": "^5.3.0", + "proper-lockfile": "^4.0.0", + "sort-keys": "^3.0.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "interface-datastore": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.7.0.tgz", + "integrity": "sha512-TfwzBe7iInnakxjWDQn8GQHRDSgmVXRylBo9Z6ONjtaIXB1aJFYpvW1mt+Kbnql/xpTxD2LsQKRBS9+EiTVmhA==", + "requires": { + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "uuid": "^3.2.2" + } + }, + "is-plain-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.0.0.tgz", + "integrity": "sha512-EYisGhpgSCwspmIuRHGjROWTon2Xp8Z7U03Wubk/bTL5TTRC5R1rGVgyjzBrk9+ULdH6cRD06KRcw/xfqhVYKQ==" + }, + "sort-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-3.0.0.tgz", + "integrity": "sha512-77XUKMiZN5LvQXZ9sgWfJza19AvYIDwaDGwGiULM+B5XYru8Z90Oh06JvqDlJczvjjYvssrV0aK1GI6+YXvn5A==", + "requires": { + "is-plain-obj": "^2.0.0" + } + } + } + }, + "ipfs-repo-migrations": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ipfs-repo-migrations/-/ipfs-repo-migrations-0.1.1.tgz", + "integrity": "sha512-Id8K32l7bEqMt0YxfDUAAiMFkfFr9pslOT0xg3EqTrPc0AeXQ5sZu6y69p5TI7N+A28PhrGgMU40R7IQ8Mb7sg==", + "requires": { + "chalk": "^2.4.2", + "datastore-fs": "~0.9.1", + "datastore-level": "~0.12.1", + "debug": "^4.1.0", + "interface-datastore": "~0.8.0", + "proper-lockfile": "^4.1.1", + "yargs": "^14.2.0", + "yargs-promise": "^1.1.0" + }, + "dependencies": { + "datastore-level": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-0.12.1.tgz", + "integrity": "sha512-PxUIrH/0ijuaJLypOx1XjOIvsZCZcN1qZ3HKyqXFhU8Wpkn01/Q/9nL/MM1tKK1EwOTFmgXKUtFbO27gf6LpcQ==", + "requires": { + "datastore-core": "~0.7.0", + "interface-datastore": "~0.7.0", + "level": "^5.0.1" + }, + "dependencies": { + "interface-datastore": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.7.0.tgz", + "integrity": "sha512-TfwzBe7iInnakxjWDQn8GQHRDSgmVXRylBo9Z6ONjtaIXB1aJFYpvW1mt+Kbnql/xpTxD2LsQKRBS9+EiTVmhA==", + "requires": { + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "uuid": "^3.2.2" + } + } + } + }, + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + }, + "ipfs-unixfs": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-0.1.16.tgz", + "integrity": "sha512-TX9Dyu77MxpLzGh/LcQne95TofOyvOeW0oOi72aBMMcV1ItP3684e6NTG9KY1qzdrC+ZUR8kT7y18J058n8KXg==", + "requires": { + "protons": "^1.0.1" + } + }, + "ipfs-unixfs-exporter": { + "version": "0.38.0", + "resolved": "https://registry.npmjs.org/ipfs-unixfs-exporter/-/ipfs-unixfs-exporter-0.38.0.tgz", + "integrity": "sha512-STkCzDHvmg7ZkgXDXIRNRfyrw2IbMtJ2gTJ7yg+B64olstSimZD5+H/mty8+9YX6GGKuTr3cyTaAjd+ZFBbrJw==", + "requires": { + "async-iterator-last": "^1.0.0", + "cids": "~0.7.1", + "err-code": "^2.0.0", + "hamt-sharding": "~0.0.2", + "ipfs-unixfs": "~0.1.16", + "ipfs-unixfs-importer": "~0.40.0" + } + }, + "ipfs-unixfs-importer": { + "version": "0.40.0", + "resolved": "https://registry.npmjs.org/ipfs-unixfs-importer/-/ipfs-unixfs-importer-0.40.0.tgz", + "integrity": "sha512-Q5pESj7vTQDCJQdeeDcHzmkB/uOCwDXwKgxY+3wawGCiD8vgZYO3jeMwXODjRKpv9F/B6h1erqrwijzc6DeBKA==", + "requires": { + "async-iterator-all": "^1.0.0", + "async-iterator-batch": "~0.0.1", + "async-iterator-first": "^1.0.0", + "bl": "^3.0.0", + "deep-extend": "~0.6.0", + "err-code": "^2.0.0", + "hamt-sharding": "~0.0.2", + "ipfs-unixfs": "~0.1.16", + "ipld-dag-pb": "^0.18.0", + "multicodec": "~0.5.1", + "multihashing-async": "~0.7.0", + "rabin-wasm": "~0.0.8", + "superstruct": "~0.6.1" + }, + "dependencies": { + "bl": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz", + "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==", + "requires": { + "readable-stream": "^3.0.1" + } + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + } + } + }, + "ipfs-utils": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.4.0.tgz", + "integrity": "sha512-JLFmCcA058knmYiSB+WBw6nxcDHFS6p05weQOTFR/edufYot0UpgsJTcoMd1fHMq81n0nciJ3QQBqLcJxqGqhA==", + "requires": { + "buffer": "^5.2.1", + "err-code": "^2.0.0", + "fs-extra": "^8.1.0", + "is-buffer": "^2.0.3", + "is-electron": "^2.2.0", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "it-glob": "0.0.4", + "kind-of": "^6.0.2", + "pull-stream-to-async-iterator": "^1.0.2", + "readable-stream": "^3.4.0" + } + }, + "ipfsd-ctl": { + "version": "0.47.4", + "resolved": "https://registry.npmjs.org/ipfsd-ctl/-/ipfsd-ctl-0.47.4.tgz", + "integrity": "sha512-JTuQ3ybKelEVoQrqNu3RDgW8HcItJDrjF7mlHQejixVssn+1nE9A08yYx0ea40hiKfniL7ojYoHek0mzrzGAHA==", + "requires": { + "@hapi/boom": "^7.4.7", + "@hapi/hapi": "^18.3.2", + "@hapi/joi": "^15.1.1", + "debug": "^4.1.1", + "execa": "^2.0.4", + "fs-extra": "^8.1.0", + "hat": "~0.0.3", + "ipfs-http-client": "^38.2.0", + "ipfs-utils": "^0.4.0", + "merge-options": "^1.0.1", + "multiaddr": "^6.1.1", + "safe-json-stringify": "^1.2.0", + "superagent": "^5.0.5" + }, + "dependencies": { + "bl": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz", + "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==", + "requires": { + "readable-stream": "^3.0.1" + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "concat-stream": { + "version": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", + "from": "github:hugomrdias/concat-stream#feat/smaller", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^3.0.2" + } + }, + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz", + "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^3.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "ipfs-http-client": { + "version": "38.2.1", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-38.2.1.tgz", + "integrity": "sha512-lo7CBG7sLeH+yqo2hW5kEUjXtCdy7KsCJ0B+aOrReB9TTbVgSVm2QG61iN/rIceWqqVyFEnaJZzN20f+Qhl7Ew==", + "requires": { + "abort-controller": "^3.0.0", + "async": "^2.6.1", + "async-iterator-all": "^1.0.0", + "async-iterator-to-pull-stream": "^1.3.0", + "bignumber.js": "^9.0.0", + "bl": "^3.0.0", + "bs58": "^4.0.1", + "buffer": "^5.4.2", + "callbackify": "^1.1.0", + "cids": "~0.7.1", + "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "debug": "^4.1.0", + "delay": "^4.3.0", + "detect-node": "^2.0.4", + "end-of-stream": "^1.4.1", + "err-code": "^2.0.0", + "explain-error": "^1.0.4", + "flatmap": "0.0.3", + "form-data": "^2.5.1", + "fs-extra": "^8.1.0", + "glob": "^7.1.3", + "ipfs-block": "~0.8.1", + "ipfs-utils": "^0.4.0", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "^0.18.1", + "ipld-raw": "^4.0.0", + "is-ipfs": "~0.6.1", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "iso-stream-http": "~0.1.2", + "iso-url": "~0.4.6", + "it-glob": "0.0.4", + "it-to-stream": "^0.1.1", + "iterable-ndjson": "^1.1.0", + "just-kebab-case": "^1.1.0", + "just-map-keys": "^1.1.0", + "kind-of": "^6.0.2", + "ky": "^0.14.0", + "ky-universal": "^0.3.0", + "lru-cache": "^5.1.1", + "merge-options": "^2.0.0", + "multiaddr": "^6.0.6", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "once": "^1.4.0", + "peer-id": "~0.12.3", + "peer-info": "~0.15.1", + "promise-nodeify": "^3.0.1", + "promisify-es6": "^1.0.3", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "pull-stream-to-async-iterator": "^1.0.2", + "pull-to-stream": "~0.1.1", + "pump": "^3.0.0", + "qs": "^6.5.2", + "readable-stream": "^3.1.1", + "stream-to-pull-stream": "^1.7.2", + "tar-stream": "^2.0.1", + "through2": "^3.0.1" + }, + "dependencies": { + "merge-options": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-2.0.0.tgz", + "integrity": "sha512-S7xYIeWHl2ZUKF7SDeBhGg6rfv5bKxVBdk95s/I7wVF8d+hjLSztJ/B271cnUiF6CAFduEQ5Zn3HYwAjT16DlQ==", + "requires": { + "is-plain-obj": "^2.0.0" + } + } + } + }, + "is-plain-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.0.0.tgz", + "integrity": "sha512-EYisGhpgSCwspmIuRHGjROWTon2Xp8Z7U03Wubk/bTL5TTRC5R1rGVgyjzBrk9+ULdH6cRD06KRcw/xfqhVYKQ==" + }, + "ky": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/ky/-/ky-0.14.0.tgz", + "integrity": "sha512-NSjg+WCElQPdlF3BFZnjh8s5QlMIP+vIGoyukrRU+n+23VBUX87bQYOoG5h3HX5tO7kKQYXvg+QZVt8n0uWmhg==" + }, + "merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "requires": { + "is-plain-obj": "^1.1" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + } + } + }, + "ndjson": { + "version": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", + "from": "github:hugomrdias/ndjson#feat/readable-stream3", + "requires": { + "json-stringify-safe": "^5.0.1", + "minimist": "^1.2.0", + "split2": "^3.1.0", + "through2": "^3.0.0" + } + }, + "npm-run-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", + "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", + "requires": { + "path-key": "^3.0.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "split2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.1.1.tgz", + "integrity": "sha512-emNzr1s7ruq4N+1993yht631/JH+jaj0NYBosuKmLcq+JkGQ9MmTw1RB1fGaTCzUuseRIClrlSLHRNYGwWQ58Q==", + "requires": { + "readable-stream": "^3.0.0" + } + }, + "superagent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-5.1.2.tgz", + "integrity": "sha512-VwPCbi9H02qDtTbdY+e3+cK5XR0YHsJy9hmeCOXLQ8ezjq8+S1Bs4MdNRmpmf2QjDBetD7drG7/nEta7E3E6Sg==", + "requires": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.2", + "debug": "^4.1.1", + "fast-safe-stringify": "^2.0.7", + "form-data": "^3.0.0", + "formidable": "^1.2.1", + "methods": "^1.1.2", + "mime": "^2.4.4", + "qs": "^6.9.1", + "readable-stream": "^3.4.0", + "semver": "^6.3.0" + }, + "dependencies": { + "form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "ipld": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/ipld/-/ipld-0.25.2.tgz", + "integrity": "sha512-bzvmZXrVQHJPEnOrjIMlOCZy5NVJvB6k6vm+mVCqOXIsN8l1M70+NBkSyhHVzfKsNxxadqP7sEw82N/sStzX5g==", + "requires": { + "cids": "~0.7.1", + "ipfs-block": "~0.8.1", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.18.1", + "ipld-raw": "^4.0.0", + "merge-options": "^2.0.0", + "multicodec": "~0.5.5", + "typical": "^5.2.0" + } + }, + "ipld-bitcoin": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ipld-bitcoin/-/ipld-bitcoin-0.3.0.tgz", + "integrity": "sha512-NkfX/AE5E7S/cgS1iNieE5YUVS34hWb81G4eN/37BFuTIZvNRZfsY8pZujc5iFCuBWS/9CK2CooAIJgRc4KBcw==", + "requires": { + "bitcoinjs-lib": "^5.0.0", + "cids": "~0.7.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "multihashing-async": "~0.7.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + } + } + }, + "ipld-dag-cbor": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.0.tgz", + "integrity": "sha512-wc9nrDtV4Le76UUhG4LXX57NVi5d7JS2kLid2nOYZAcr0SFhiXZL2ZyV3bfmNohO50KvgPEessSaBBSm9bflGA==", + "requires": { + "borc": "^2.1.0", + "cids": "~0.7.0", + "is-circular": "^1.0.2", + "multicodec": "~0.5.0", + "multihashing-async": "~0.7.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + } + } + }, + "ipld-dag-pb": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.18.1.tgz", + "integrity": "sha512-YU2k7kfhV9uliVCAdIyJkYnTLNMdc4FyM2q2dZjfvegdzJFw5Ts8IHnMU77CCLIyD2cc/3xvf9dLIzMIBZpV1A==", + "requires": { + "cids": "~0.7.1", + "class-is": "^1.1.0", + "multicodec": "~0.5.5", + "multihashing-async": "~0.7.0", + "protons": "^1.0.1", + "stable": "~0.1.8" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + } + } + }, + "ipld-ethereum": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ipld-ethereum/-/ipld-ethereum-4.0.0.tgz", + "integrity": "sha512-gdej+G31m7HsOczD//YArQl7k5nR27v7dV46OGRtyUFMhXnUPI+L+NqeRYbdUTUMOf21zDa5HDfbbxiz67wvVQ==", + "requires": { + "cids": "~0.7.0", + "ethereumjs-account": "^2.0.4", + "ethereumjs-block": "^2.1.0", + "ethereumjs-tx": "^1.3.3", + "merkle-patricia-tree": "^3.0.0", + "multicodec": "~0.5.0", + "multihashes": "~0.4.12", + "multihashing-async": "~0.7.0", + "rlp": "^2.0.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + } + } + }, + "ipld-git": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/ipld-git/-/ipld-git-0.5.0.tgz", + "integrity": "sha512-vJPTl5iWEJnmKiAFgeD6A7gXEi1xSy3VDKqnhhsml7+TZNrpqTx7mpJIJxWAxLYDClLpkeWQsTacC6VCxQ3hPw==", + "requires": { + "cids": "~0.7.0", + "multicodec": "~0.5.0", + "multihashes": "~0.4.14", + "multihashing-async": "~0.7.0", + "smart-buffer": "^4.0.2", + "strftime": "~0.10.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + } + } + }, + "ipld-raw": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ipld-raw/-/ipld-raw-4.0.0.tgz", + "integrity": "sha512-yNQG5zQqm/RH8aNQxcvcsAdHJW4q+LJ3cPfFzHOtujEa/PRlT5YCOVpAFh61HfpsWFm2GJrb2G+HHgtDDlFSMw==", + "requires": { + "cids": "~0.7.0", + "multicodec": "~0.5.0", + "multihashing-async": "~0.7.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + } + } + }, + "ipld-zcash": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/ipld-zcash/-/ipld-zcash-0.4.0.tgz", + "integrity": "sha512-UJ/LL7Yn/IfHwbUj91fFHJfUOeGLwfYUfsU38UwAppbBQEZpJy+MewaotK6XAHNkv/kVJYzIo5JKIno/kl4ovQ==", + "requires": { + "cids": "~0.7.1", + "multicodec": "~0.5.5", + "multihashes": "~0.4.15", + "multihashing-async": "~0.8.0", + "zcash-block": "^2.0.0" + } + }, + "ipns": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/ipns/-/ipns-0.6.1.tgz", + "integrity": "sha512-xE1+vTFsraAH4za7GEAkLJAdDxmTMQrWSSHQf8/2Y8SqATj6Kn0yR6IdPmvSG7AQsV6Xax6+1QeGOafYf4nRqg==", + "requires": { + "base32-encode": "^1.1.0", + "debug": "^4.1.1", + "err-code": "^2.0.0", + "interface-datastore": "~0.7.0", + "left-pad": "^1.3.0", + "libp2p-crypto": "^0.16.2", + "multihashes": "~0.4.14", + "peer-id": "^0.12.2", + "promisify-es6": "^1.0.3", + "protons": "^1.0.1", + "timestamp-nano": "^1.0.0" + }, + "dependencies": { + "interface-datastore": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.7.0.tgz", + "integrity": "sha512-TfwzBe7iInnakxjWDQn8GQHRDSgmVXRylBo9Z6ONjtaIXB1aJFYpvW1mt+Kbnql/xpTxD2LsQKRBS9+EiTVmhA==", + "requires": { + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "uuid": "^3.2.2" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + } + } + }, + "iron": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/iron/-/iron-4.0.5.tgz", + "integrity": "sha1-TwQszri5c480a1mqc0yDqJvDFCg=", + "requires": { + "boom": "5.x.x", + "cryptiles": "3.x.x", + "hoek": "4.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "irregular-plurals": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz", + "integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==" + }, + "is": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/is/-/is-3.3.0.tgz", + "integrity": "sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==" + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-alphabetical": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz", + "integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==" + }, + "is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", + "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=" + }, + "is-alphanumerical": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz", + "integrity": "sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==", + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-circular": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", + "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" + }, + "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=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + }, + "is-decimal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz", + "integrity": "sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==" + }, + "is-deflate": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz", + "integrity": "sha1-yGKQHDwWH7CdrHzcfnhPgOmPLxQ=" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-domain-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-domain-name/-/is-domain-name-1.0.1.tgz", + "integrity": "sha1-9uszsUpJdUHcpYM1E31EZuDCDaE=" + }, + "is-electron": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz", + "integrity": "sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==" + }, + "is-electron-renderer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-electron-renderer/-/is-electron-renderer-2.0.1.tgz", + "integrity": "sha1-pGnQVvl1aXxYyYxgI+sKp5r4laI=" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fn/-/is-fn-1.0.0.tgz", + "integrity": "sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-gzip": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", + "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=" + }, + "is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" + }, + "is-hexadecimal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz", + "integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==" + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", + "integrity": "sha1-aO6gfooKCpTC0IDdZ0xzGrKkYas=", + "requires": { + "ip-regex": "^2.0.0" + } + }, + "is-ipfs": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.1.tgz", + "integrity": "sha512-WhqQylam6pODS2RyqT/u0PR5KWtBZNCgPjgargFOVQjzw/3+6d0midXenzU65klM4LH13IUiCC6ObhDUdXZ7Nw==", + "requires": { + "bs58": "^4.0.1", + "cids": "~0.7.0", + "mafmt": "^6.0.7", + "multiaddr": "^6.0.4", + "multibase": "~0.6.0", + "multihashes": "~0.4.13" + } + }, + "is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=" + }, + "is-npm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-3.0.0.tgz", + "integrity": "sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-observable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", + "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", + "requires": { + "symbol-observable": "^1.1.0" + } + }, + "is-os": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-os/-/is-os-1.0.1.tgz", + "integrity": "sha512-BpwimpGbxOHXRlBavBKEQpTCV0DXdAB2ljraSSFiE8QyhLOS7p4AvaBGnIErGczLC/o2MWL4Q/oLXj0LhInvkw==" + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", + "integrity": "sha1-MVc3YcBX4zwukaq56W2gjO++duU=" + }, + "is-pull-stream": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", + "integrity": "sha1-o7w9HG0wVRUcRr3m85nv7SFEDKk=" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "^1.0.1" + } + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" + }, + "is-ssh": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.1.tgz", + "integrity": "sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg==", + "requires": { + "protocols": "^1.1.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=" + }, + "is-whitespace-character": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz", + "integrity": "sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-word-character": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz", + "integrity": "sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==" + }, + "is-wsl": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", + "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==" + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isbinaryfile": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", + "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "requires": { + "buffer-alloc": "^1.2.0" + } + }, + "isemail": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz", + "integrity": "sha1-A1PT2aYpUQgMJiwqoKQrjqjp4qY=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "iso-random-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.1.tgz", + "integrity": "sha512-YEt/7xOwTdu4KXIgtdgGFkiLUsBaddbnkmHyaFdjJYIcD7V4gpQHPvYC5tyh3kA0PQ01y9lWm1ruVdf8Mqzovg==", + "requires": { + "buffer": "^5.4.3", + "readable-stream": "^3.4.0" + } + }, + "iso-stream-http": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/iso-stream-http/-/iso-stream-http-0.1.2.tgz", + "integrity": "sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "iso-url": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.6.tgz", + "integrity": "sha512-YQO7+aIe6l1aSJUKOx+Vrv08DlhZeLFIVfehG2L29KLSEb9RszqPXilxJRVpp57px36BddKR5ZsebacO5qG0tg==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==" + }, + "istanbul-lib-hook": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", + "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", + "requires": { + "append-transform": "^1.0.0" + } + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + } + }, + "istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "requires": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "istanbul-reports": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz", + "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==", + "requires": { + "handlebars": "^4.1.2" + } + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "it-glob": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.4.tgz", + "integrity": "sha512-sTMM62VQWRqlMpgbd+x1uTviQY7a8vMLXYmw+KPiV9vmAYuyIr9Sp1QRQ5B/faybf4O9RzMGyQb7eFpqLwsBhQ==", + "requires": { + "fs-extra": "^8.1.0", + "minimatch": "^3.0.4" + } + }, + "it-multipart": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/it-multipart/-/it-multipart-0.0.2.tgz", + "integrity": "sha512-Mlvf1Tt+gLyk5EkE9njjfDCuvf5+3rx1vDt271MT7Ye08/3yJL/h+M/EWhPBPLebmNrkfXUQOGl8ud4T9PzuWA==", + "requires": { + "buffer-indexof": "^1.1.1", + "parse-headers": "^2.0.2" + } + }, + "it-pipe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/it-pipe/-/it-pipe-1.1.0.tgz", + "integrity": "sha512-lF0/3qTVeth13TOnHVs0BTFaziwQF7m5Gg+E6JV0BXcLKutC92YjSi7bASgkPOXaLEb+YvNZrPorGMBIJvZfxg==" + }, + "it-pushable": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-1.4.0.tgz", + "integrity": "sha512-W7251Tj88YBqUIEDWCwd3F8JettSbze+bBp5B3ASzz5tYWaLUI1VDNGbjllH1T6RJ71a5jUSTSt5vHjvuzwoFw==", + "requires": { + "fast-fifo": "^1.0.0" + } + }, + "it-to-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-0.1.1.tgz", + "integrity": "sha512-QQx/58JBvT189imr6fD234F8aVf8EdyQHJR0MxXAOShEWK1NWyahPYIQt/tQG7PId0ZG/6/3tUiVCfw2cq+e1w==", + "requires": { + "buffer": "^5.2.1", + "fast-fifo": "^1.0.0", + "get-iterator": "^1.0.2", + "p-defer": "^3.0.0", + "p-fifo": "^1.0.0", + "readable-stream": "^3.4.0" + } + }, + "items": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/items/-/items-2.1.2.tgz", + "integrity": "sha512-kezcEqgB97BGeZZYtX/MA8AG410ptURstvnz5RAgyFZ8wQFPMxHY8GpTq+/ZHKT3frSlIthUq7EvLt9xn3TvXg==" + }, + "iterable-ndjson": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz", + "integrity": "sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg==", + "requires": { + "string_decoder": "^1.2.0" + }, + "dependencies": { + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jmespath": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", + "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" + }, + "joi": { + "version": "14.3.1", + "resolved": "https://registry.npmjs.org/joi/-/joi-14.3.1.tgz", + "integrity": "sha512-LQDdM+pkOrpAn4Lp+neNIFV3axv1Vna3j38bisbQhETPMANYRbFJFUyOZcOClYvM/hppMhGWuKSFEK9vjrB+bQ==", + "requires": { + "hoek": "6.x.x", + "isemail": "3.x.x", + "topo": "3.x.x" + }, + "dependencies": { + "isemail": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", + "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", + "requires": { + "punycode": "2.x.x" + } + }, + "topo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/topo/-/topo-3.0.3.tgz", + "integrity": "sha512-IgpPtvD4kjrJ7CRA3ov2FhWQADwv+Tdqbsf1ZnPUSAtCJ9e1Z44MmoSGDXGk4IppoZA7jd/QRkNddlLJWlUZsQ==", + "requires": { + "hoek": "6.x.x" + } + } + } + }, + "joi-browser": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/joi-browser/-/joi-browser-13.4.0.tgz", + "integrity": "sha512-TfzJd2JaJ/lg/gU+q5j9rLAjnfUNF9DUmXTP9w+GfmG79LjFOXFeM7hIFuXCBcZCivUDFwd9l1btTV9rhHumtQ==" + }, + "joycon": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-2.2.5.tgz", + "integrity": "sha512-YqvUxoOcVPnCp0VU1/56f+iKSdvIRJYPznH22BdXV3xMk75SFXhWeJkZ8C9XxUWt1b5x2X1SxuFygW1U0FmkEQ==" + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==" + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json-text-sequence": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", + "integrity": "sha1-py8hfcSvxGKf/1/rME3BvVGi89I=", + "requires": { + "delimit-stream": "0.1.0" + } + }, + "json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonbird": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/jsonbird/-/jsonbird-2.2.2.tgz", + "integrity": "sha512-48n9HTL6Vxhr6WqX78ROH5NddK//ZnSdu1ZnPyyOl9IzF2PyRmwC8nCKPiRFo1wx7/Byq5YezCqokq9T/McLhw==", + "requires": { + "jsonparse": "^1.2.0", + "readable-stream": "^2.1.4", + "shortid": "^2.2.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "jsondiffpatch": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.3.11.tgz", + "integrity": "sha512-Xi3Iygdt/BGhml6bdUFhgDki1TgOsp3hG3iiH3KtzP+CahtGcdPfKRLlnZbSw+3b1umZkhmKrqXUgUcKenyhtA==", + "requires": { + "chalk": "^2.3.0", + "diff-match-patch": "^1.0.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz", + "integrity": "sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA==", + "requires": { + "array-includes": "^3.0.3", + "object.assign": "^4.1.0" + } + }, + "just-debounce-it": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce-it/-/just-debounce-it-1.1.0.tgz", + "integrity": "sha512-87Nnc0qZKgBZuhFZjYVjSraic0x7zwjhaTMrCKlj0QYKH6lh0KbFzVnfu6LHan03NO7J8ygjeBeD0epejn5Zcg==" + }, + "just-extend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.0.2.tgz", + "integrity": "sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==" + }, + "just-kebab-case": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-kebab-case/-/just-kebab-case-1.1.0.tgz", + "integrity": "sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA==" + }, + "just-map-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-map-keys/-/just-map-keys-1.1.0.tgz", + "integrity": "sha512-oNKi+4y7fr8lXnhKYpBbCkiwHRVkAnx0VDkCeTDtKKMzGr1Lz1Yym+RSieKUTKim68emC5Yxrb4YmiF9STDO+g==" + }, + "just-safe-get": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/just-safe-get/-/just-safe-get-1.3.3.tgz", + "integrity": "sha512-tZgS+PJWvyuC2matNIkC/zhHKQ26cHdoSHosgRxpYxCjxdVt94zskANwIU1r3K4yHhT6SNKLhhnh7j2jsOmQfA==" + }, + "just-safe-set": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/just-safe-set/-/just-safe-set-2.1.0.tgz", + "integrity": "sha512-wSTg/2bQpzyivBYbWPqQgafdfxW0tr3hX9qYGDRS2ws+AXwc7tvn8ABqkp8iPQHChjj4F5JvL3t0FQLbcNuKig==" + }, + "k-bucket": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-5.0.0.tgz", + "integrity": "sha512-r/q+wV/Kde62/tk+rqyttEJn6h0jR7x+incdMVSYTqK73zVxVrzJa70kJL49cIKen8XjIgUZKSvk8ktnrQbK4w==", + "requires": { + "randombytes": "^2.0.3" + } + }, + "karma-chrome-launcher": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", + "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", + "requires": { + "which": "^1.2.1" + } + }, + "karma-cli": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/karma-cli/-/karma-cli-2.0.0.tgz", + "integrity": "sha512-1Kb28UILg1ZsfqQmeELbPzuEb5C6GZJfVIk0qOr8LNYQuYWmAaqP16WpbpKEjhejDrDYyYOwwJXSZO6u7q5Pvw==", + "requires": { + "resolve": "^1.3.3" + } + }, + "karma-edge-launcher": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/karma-edge-launcher/-/karma-edge-launcher-0.4.2.tgz", + "integrity": "sha512-YAJZb1fmRcxNhMIWYsjLuxwODBjh2cSHgTW/jkVmdpGguJjLbs9ZgIK/tEJsMQcBLUkO+yO4LBbqYxqgGW2HIw==", + "requires": { + "edge-launcher": "1.2.2" + } + }, + "karma-firefox-launcher": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.2.0.tgz", + "integrity": "sha512-j9Zp8M8+VLq1nI/5xZGfzeaEPtGQ/vk3G+Y8vpmFWLvKLNZ2TDjD6cu2dUu7lDbu1HXNgatsAX4jgCZTkR9qhQ==", + "requires": { + "is-wsl": "^2.1.0" + } + }, + "karma-junit-reporter": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-1.2.0.tgz", + "integrity": "sha1-T5xAzt+xo5X4rvh2q/lhiZF8Y5Y=", + "requires": { + "path-is-absolute": "^1.0.0", + "xmlbuilder": "8.2.2" + } + }, + "karma-mocha": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.3.0.tgz", + "integrity": "sha1-7qrH/8DiAetjxGdEDStpx883eL8=", + "requires": { + "minimist": "1.2.0" + } + }, + "karma-mocha-reporter": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz", + "integrity": "sha1-FRIAlejtgZGG5HoLAS8810GJVWA=", + "requires": { + "chalk": "^2.1.0", + "log-symbols": "^2.1.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "requires": { + "chalk": "^2.0.1" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "karma-mocha-webworker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/karma-mocha-webworker/-/karma-mocha-webworker-1.3.0.tgz", + "integrity": "sha1-taQwG1m6hqCO5bXwrvHtuGO+yyY=", + "requires": { + "jsonbird": "^2.0.0", + "minimatch": "^3.0.3" + } + }, + "karma-sourcemap-loader": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz", + "integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=", + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "karma-webpack": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-4.0.2.tgz", + "integrity": "sha512-970/okAsdUOmiMOCY8sb17A2I8neS25Ad9uhyK3GHgmRSIFJbDcNEFE8dqqUhNe9OHiCC9k3DMrSmtd/0ymP1A==", + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.1", + "schema-utils": "^1.0.0", + "source-map": "^0.7.3", + "webpack-dev-middleware": "^3.7.0" + }, + "dependencies": { + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "requires": { + "kind-of": "^6.0.2" + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "keccak": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", + "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "requires": { + "bindings": "^1.2.1", + "inherits": "^2.0.3", + "nan": "^2.2.1", + "safe-buffer": "^5.1.0" + } + }, + "keypair": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.1.tgz", + "integrity": "sha1-dgNxknCvtlZO04oiCHoG/Jqk6hs=" + }, + "keypress": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/keypress/-/keypress-0.2.1.tgz", + "integrity": "sha1-HoBFQlABjbrUw/6USX1uZ7YmnHc=" + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "ky": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/ky/-/ky-0.15.0.tgz", + "integrity": "sha512-6IlJRPFHq4ZKRRa9lyh6YqHqlmddAkfyXI9CYvZpLQtg7fQvwncPHyHrmtXAHKCqHOilINPMT88eW6FTA3HwkA==" + }, + "ky-universal": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.3.0.tgz", + "integrity": "sha512-CM4Bgb2zZZpsprcjI6DNYTaH3oGHXL2u7BU4DK+lfCuC4snkt9/WRpMYeKbBbXscvKkeqBwzzjFX2WwmKY5K/A==", + "requires": { + "abort-controller": "^3.0.0", + "node-fetch": "^2.6.0" + } + }, + "latency-monitor": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/latency-monitor/-/latency-monitor-0.2.1.tgz", + "integrity": "sha1-QEPV8j3obiv872ztSjtbki4d1+0=", + "requires": { + "debug": "^2.6.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "requires": { + "package-json": "^6.3.0" + } + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "requires": { + "readable-stream": "^2.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "requires": { + "flush-write-stream": "^1.0.2" + } + }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==" + }, + "length-prefixed-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/length-prefixed-stream/-/length-prefixed-stream-2.0.0.tgz", + "integrity": "sha512-dvjTuWTKWe0oEznQcG6a9osfiYknCs7DEFJMP88n9Y581IFhYh1sZIgAFcuDOojKB0G7ftPreKhh4D0kh/VPjQ==", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "varint": "^5.0.0" + } + }, + "level": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/level/-/level-5.0.1.tgz", + "integrity": "sha512-wcak5OQeA4rURGacqS62R/xNHjCYnJSQDBOlm4KNUGJVE9bWv2B04TclqReYejN+oD65PzD4FsqeWoI5wNC5Lg==", + "requires": { + "level-js": "^4.0.0", + "level-packager": "^5.0.0", + "leveldown": "^5.0.0", + "opencollective-postinstall": "^2.0.0" + } + }, + "level-codec": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.1.tgz", + "integrity": "sha512-ajFP0kJ+nyq4i6kptSM+mAvJKLOg1X5FiFPtLG9M5gCEZyBmgDi3FkDrvlMkEzrUn1cWxtvVmrvoS4ASyO/q+Q==" + }, + "level-concat-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", + "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==" + }, + "level-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", + "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", + "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.4.0", + "xtend": "^4.0.2" + } + }, + "level-js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-js/-/level-js-4.0.2.tgz", + "integrity": "sha512-PeGjZsyMG4O89KHiez1zoMJxStnkM+oBIqgACjoo5PJqFiSUUm3GNod/KcbqN5ktyZa8jkG7I1T0P2u6HN9lIg==", + "requires": { + "abstract-leveldown": "~6.0.1", + "immediate": "~3.2.3", + "inherits": "^2.0.3", + "ltgt": "^2.1.2", + "typedarray-to-buffer": "~3.1.5" + } + }, + "level-mem": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-3.0.1.tgz", + "integrity": "sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg==", + "requires": { + "level-packager": "~4.0.0", + "memdown": "~3.0.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", + "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", + "requires": { + "xtend": "~4.0.0" + } + }, + "deferred-leveldown": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz", + "integrity": "sha512-5fMC8ek8alH16QiV0lTCis610D1Zt1+LA4MS4d63JgS32lrCjTFDUFz2ao09/j2I4Bqb5jL4FZYwu7Jz0XO1ww==", + "requires": { + "abstract-leveldown": "~5.0.0", + "inherits": "^2.0.3" + } + }, + "encoding-down": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-5.0.4.tgz", + "integrity": "sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw==", + "requires": { + "abstract-leveldown": "^5.0.0", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "level-iterator-stream": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz", + "integrity": "sha512-nEIQvxEED9yRThxvOrq8Aqziy4EGzrxSZK+QzEFAVuJvQ8glfyZ96GB6BoI4sBbLfjMXm2w4vu3Tkcm9obcY0g==", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "xtend": "^4.0.0" + } + }, + "level-packager": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-4.0.1.tgz", + "integrity": "sha512-svCRKfYLn9/4CoFfi+d8krOtrp6RoX8+xm0Na5cgXMqSyRru0AnDYdLl+YI8u1FyS6gGZ94ILLZDE5dh2but3Q==", + "requires": { + "encoding-down": "~5.0.0", + "levelup": "^3.0.0" + } + }, + "levelup": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-3.1.1.tgz", + "integrity": "sha512-9N10xRkUU4dShSRRFTBdNaBxofz+PGaIZO962ckboJZiNmLuhVT6FZ6ZKAsICKfUBO76ySaYU6fJWX/jnj3Lcg==", + "requires": { + "deferred-leveldown": "~4.0.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~3.0.0", + "xtend": "~4.0.0" + } + }, + "memdown": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/memdown/-/memdown-3.0.0.tgz", + "integrity": "sha512-tbV02LfZMWLcHcq4tw++NuqMO+FZX8tNJEiD2aNRm48ZZusVg5N8NART+dmBkepJVye986oixErf7jfXboMGMA==", + "requires": { + "abstract-leveldown": "~5.0.0", + "functional-red-black-tree": "~1.0.1", + "immediate": "~3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "level-packager": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", + "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", + "requires": { + "encoding-down": "^6.3.0", + "levelup": "^4.3.2" + } + }, + "level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "requires": { + "xtend": "^4.0.2" + } + }, + "level-ws": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", + "integrity": "sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos=", + "requires": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "leveldown": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-5.4.1.tgz", + "integrity": "sha512-3lMPc7eU3yj5g+qF1qlALInzIYnkySIosR1AsUKFjL9D8fYbTLuENBAeDRZXIG4qeWOAyqRItOoLu2v2avWiMA==", + "requires": { + "abstract-leveldown": "~6.2.1", + "napi-macros": "~2.0.0", + "node-gyp-build": "~4.1.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.2.tgz", + "integrity": "sha512-/a+Iwj0rn//CX0EJOasNyZJd2o8xur8Ce9C57Sznti/Ilt/cb6Qd8/k98A4ZOklXgTG+iAYYUs1OTG0s1eH+zQ==", + "requires": { + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + } + } + }, + "levelup": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.3.2.tgz", + "integrity": "sha512-cRTjU4ktWo59wf13PHEiOayHC3n0dOh4i5+FHr4tv4MX9+l7mqETicNq3Aj07HKlLdk0z5muVoDL2RD+ovgiyA==", + "requires": { + "deferred-leveldown": "~5.3.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~4.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "libp2p": { + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.26.2.tgz", + "integrity": "sha512-AaPSpROjrg17QBMood6tdxLj3yWH5qR/pnQ4gurz3byvYvD6Tw3yt7PQRdSyjOh6Oh+EX06yTrNCnoDTdgliKg==", + "requires": { + "async": "^2.6.2", + "bignumber.js": "^9.0.0", + "class-is": "^1.1.0", + "debug": "^4.1.1", + "err-code": "^1.1.2", + "fsm-event": "^2.1.0", + "hashlru": "^2.3.0", + "interface-connection": "~0.3.3", + "latency-monitor": "~0.2.1", + "libp2p-crypto": "~0.16.1", + "libp2p-websockets": "^0.12.2", + "mafmt": "^6.0.7", + "merge-options": "^1.0.1", + "moving-average": "^1.0.0", + "multiaddr": "^6.1.0", + "multistream-select": "~0.14.6", + "once": "^1.4.0", + "peer-book": "^0.9.1", + "peer-id": "^0.12.2", + "peer-info": "~0.15.1", + "promisify-es6": "^1.0.3", + "protons": "^1.0.1", + "pull-cat": "^1.1.11", + "pull-defer": "~0.2.3", + "pull-handshake": "^1.1.4", + "pull-reader": "^1.3.1", + "pull-stream": "^3.6.9", + "retimer": "^2.0.0", + "superstruct": "^0.6.0", + "xsalsa20": "^1.0.2" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "requires": { + "is-plain-obj": "^1.1" + } + } + } + }, + "libp2p-bootstrap": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/libp2p-bootstrap/-/libp2p-bootstrap-0.9.7.tgz", + "integrity": "sha512-GuuYoTh0UBBlph0WuuiewtDZqfYsXmhSdX+JLMzGY6uMuK5aLr7gCa++2zVyBoOIgn0yTq2F6n4vKaWoK9Hi0w==", + "requires": { + "async": "^2.6.1", + "debug": "^4.1.1", + "mafmt": "^6.0.4", + "multiaddr": "^6.0.3", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1" + } + }, + "libp2p-crypto": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.3.tgz", + "integrity": "sha512-ro7/5Tu+f8p2+qDS1JrROnO++nNaAaBFs+VVXVHLuTMnbnMASu1eUtSlWPk1uOwikAlBFTvfqe5J1bK6Bpq6Pg==", + "requires": { + "asmcrypto.js": "^2.3.2", + "asn1.js": "^5.0.1", + "async": "^2.6.1", + "bn.js": "^4.11.8", + "browserify-aes": "^1.2.0", + "bs58": "^4.0.1", + "iso-random-stream": "^1.1.0", + "keypair": "^1.0.1", + "libp2p-crypto-secp256k1": "~0.3.0", + "multihashing-async": "~0.5.1", + "node-forge": "~0.9.1", + "pem-jwk": "^2.0.0", + "protons": "^1.0.1", + "rsa-pem-to-jwk": "^1.1.3", + "tweetnacl": "^1.0.0", + "ursa-optional": "~0.10.0" + }, + "dependencies": { + "libp2p-crypto-secp256k1": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", + "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", + "requires": { + "async": "^2.6.2", + "bs58": "^4.0.1", + "multihashing-async": "~0.6.0", + "nodeify": "^1.0.1", + "safe-buffer": "^5.1.2", + "secp256k1": "^3.6.2" + }, + "dependencies": { + "multihashing-async": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", + "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + }, + "node-forge": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.1.tgz", + "integrity": "sha512-G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ==" + }, + "pem-jwk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", + "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", + "requires": { + "asn1.js": "^5.0.1" + } + } + } + }, + "libp2p-crypto-secp256k1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.2.3.tgz", + "integrity": "sha512-DFrK89VdboacqM3vqWV8yt8FH9Ni181JJAOU2tRkJfUN9tNEV7VfZEg390NJxEQQbLsyH4HZ7on3QTpPHMHQZQ==", + "requires": { + "async": "^2.6.1", + "multihashing-async": "~0.5.1", + "nodeify": "^1.0.1", + "safe-buffer": "^5.1.2", + "secp256k1": "^3.6.1" + }, + "dependencies": { + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, + "libp2p-delegated-content-routing": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/libp2p-delegated-content-routing/-/libp2p-delegated-content-routing-0.3.1.tgz", + "integrity": "sha512-GgEj1FHzNFH6nL0fQ5sFZWcskfWkwVLL+GtY5wZbe9izXftyg5QDVdoKSlYWQUrEjaaAJE+T4KjvtK83T/C7Yg==", + "requires": { + "debug": "^4.1.1", + "ipfs-http-client": "^33.1.0", + "multiaddr": "^6.1.0", + "p-queue": "^6.1.0" + }, + "dependencies": { + "bl": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz", + "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==", + "requires": { + "readable-stream": "^3.0.1" + } + }, + "concat-stream": { + "version": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", + "from": "github:hugomrdias/concat-stream#feat/smaller", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^3.0.2" + } + }, + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "ipfs-http-client": { + "version": "33.1.1", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-33.1.1.tgz", + "integrity": "sha512-iwtLL3lOIzxXJFwLnOEtFUv1cYTuWJ0NauD7rpMEd/y4C7z6fuN6TSF4h547lxMh7sJWv+6Z0PmOA5N8FzUHJw==", + "requires": { + "async": "^2.6.1", + "bignumber.js": "^9.0.0", + "bl": "^3.0.0", + "bs58": "^4.0.1", + "buffer": "^5.2.1", + "cids": "~0.7.1", + "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "end-of-stream": "^1.4.1", + "err-code": "^1.1.2", + "flatmap": "0.0.3", + "glob": "^7.1.3", + "ipfs-block": "~0.8.1", + "ipfs-utils": "~0.0.3", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.17.3", + "ipld-raw": "^4.0.0", + "is-ipfs": "~0.6.1", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "iso-stream-http": "~0.1.2", + "iso-url": "~0.4.6", + "just-kebab-case": "^1.1.0", + "just-map-keys": "^1.1.0", + "kind-of": "^6.0.2", + "lru-cache": "^5.1.1", + "multiaddr": "^6.0.6", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "once": "^1.4.0", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", + "promisify-es6": "^1.0.3", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "pull-to-stream": "~0.1.1", + "pump": "^3.0.0", + "qs": "^6.5.2", + "readable-stream": "^3.1.1", + "stream-to-pull-stream": "^1.7.2", + "tar-stream": "^2.0.1", + "through2": "^3.0.1" + } + }, + "ipfs-utils": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", + "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", + "requires": { + "buffer": "^5.2.1", + "is-buffer": "^2.0.3", + "is-electron": "^2.2.0", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "kind-of": "^6.0.2", + "readable-stream": "^3.4.0" + } + }, + "ipld-dag-pb": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", + "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", + "requires": { + "cids": "~0.7.0", + "class-is": "^1.1.0", + "multicodec": "~0.5.1", + "multihashing-async": "~0.7.0", + "protons": "^1.0.1", + "stable": "~0.1.8" + } + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + }, + "ndjson": { + "version": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", + "from": "github:hugomrdias/ndjson#feat/readable-stream3", + "requires": { + "json-stringify-safe": "^5.0.1", + "minimist": "^1.2.0", + "split2": "^3.1.0", + "through2": "^3.0.0" + } + }, + "split2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.1.1.tgz", + "integrity": "sha512-emNzr1s7ruq4N+1993yht631/JH+jaj0NYBosuKmLcq+JkGQ9MmTw1RB1fGaTCzUuseRIClrlSLHRNYGwWQ58Q==", + "requires": { + "readable-stream": "^3.0.0" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "libp2p-delegated-peer-routing": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/libp2p-delegated-peer-routing/-/libp2p-delegated-peer-routing-0.3.1.tgz", + "integrity": "sha512-WAN2rBsuiS1xqrAaZthKX9vVtXar0nH7ACAWoTNsk2BaAhhds0Shri48NB5jN//kxLo+vC7+WVn4Rgdg3Dp2sA==", + "requires": { + "debug": "^4.1.1", + "ipfs-http-client": "^33.1.0", + "p-queue": "^6.1.0", + "peer-id": "~0.12.2" + }, + "dependencies": { + "bl": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz", + "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==", + "requires": { + "readable-stream": "^3.0.1" + } + }, + "concat-stream": { + "version": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", + "from": "github:hugomrdias/concat-stream#feat/smaller", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^3.0.2" + } + }, + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "ipfs-http-client": { + "version": "33.1.1", + "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-33.1.1.tgz", + "integrity": "sha512-iwtLL3lOIzxXJFwLnOEtFUv1cYTuWJ0NauD7rpMEd/y4C7z6fuN6TSF4h547lxMh7sJWv+6Z0PmOA5N8FzUHJw==", + "requires": { + "async": "^2.6.1", + "bignumber.js": "^9.0.0", + "bl": "^3.0.0", + "bs58": "^4.0.1", + "buffer": "^5.2.1", + "cids": "~0.7.1", + "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "end-of-stream": "^1.4.1", + "err-code": "^1.1.2", + "flatmap": "0.0.3", + "glob": "^7.1.3", + "ipfs-block": "~0.8.1", + "ipfs-utils": "~0.0.3", + "ipld-dag-cbor": "~0.15.0", + "ipld-dag-pb": "~0.17.3", + "ipld-raw": "^4.0.0", + "is-ipfs": "~0.6.1", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "iso-stream-http": "~0.1.2", + "iso-url": "~0.4.6", + "just-kebab-case": "^1.1.0", + "just-map-keys": "^1.1.0", + "kind-of": "^6.0.2", + "lru-cache": "^5.1.1", + "multiaddr": "^6.0.6", + "multibase": "~0.6.0", + "multicodec": "~0.5.1", + "multihashes": "~0.4.14", + "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "once": "^1.4.0", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", + "promisify-es6": "^1.0.3", + "pull-defer": "~0.2.3", + "pull-stream": "^3.6.9", + "pull-to-stream": "~0.1.1", + "pump": "^3.0.0", + "qs": "^6.5.2", + "readable-stream": "^3.1.1", + "stream-to-pull-stream": "^1.7.2", + "tar-stream": "^2.0.1", + "through2": "^3.0.1" + } + }, + "ipfs-utils": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-0.0.4.tgz", + "integrity": "sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig==", + "requires": { + "buffer": "^5.2.1", + "is-buffer": "^2.0.3", + "is-electron": "^2.2.0", + "is-pull-stream": "0.0.0", + "is-stream": "^2.0.0", + "kind-of": "^6.0.2", + "readable-stream": "^3.4.0" + } + }, + "ipld-dag-pb": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", + "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", + "requires": { + "cids": "~0.7.0", + "class-is": "^1.1.0", + "multicodec": "~0.5.1", + "multihashing-async": "~0.7.0", + "protons": "^1.0.1", + "stable": "~0.1.8" + } + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + }, + "ndjson": { + "version": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", + "from": "github:hugomrdias/ndjson#feat/readable-stream3", + "requires": { + "json-stringify-safe": "^5.0.1", + "minimist": "^1.2.0", + "split2": "^3.1.0", + "through2": "^3.0.0" + } + }, + "split2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.1.1.tgz", + "integrity": "sha512-emNzr1s7ruq4N+1993yht631/JH+jaj0NYBosuKmLcq+JkGQ9MmTw1RB1fGaTCzUuseRIClrlSLHRNYGwWQ58Q==", + "requires": { + "readable-stream": "^3.0.0" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "libp2p-floodsub": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/libp2p-floodsub/-/libp2p-floodsub-0.18.0.tgz", + "integrity": "sha512-4OihLP5A4LsxNPlfb0mq6vkjAaNu4YxuyYeoj2nNgrRSzr4H8Dz0YtA+DzEDXIgP2RBANSzS+KG9oDeUXDHa/Q==", + "requires": { + "async": "^2.6.2", + "bs58": "^4.0.1", + "debug": "^4.1.1", + "length-prefixed-stream": "^2.0.0", + "libp2p-crypto": "~0.16.1", + "libp2p-pubsub": "~0.2.0", + "protons": "^1.0.1", + "pull-length-prefixed": "^1.3.2", + "pull-pushable": "^2.2.0", + "pull-stream": "^3.6.9" + } + }, + "libp2p-gossipsub": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/libp2p-gossipsub/-/libp2p-gossipsub-0.0.5.tgz", + "integrity": "sha512-7IM9hcSkc7pBWEju/a5ZGcUrEHclgVoUU7XPrMsMB7s5QNXziSbLjJvIBlgU7WOxoTmgmZldEtHPkrsPEb1C9A==", + "requires": { + "async": "^2.6.2", + "err-code": "^1.1.2", + "libp2p-floodsub": "~0.17.1", + "libp2p-pubsub": "~0.2.0", + "multistream-select": "~0.14.6", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", + "protons": "^1.0.1", + "pull-length-prefixed": "^1.3.3", + "pull-stream": "^3.6.13" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "libp2p-floodsub": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/libp2p-floodsub/-/libp2p-floodsub-0.17.2.tgz", + "integrity": "sha512-xOljtBcNTerBwRYFnXlJVmTwdYla9YTvBux6HaBE0GvVjPHqOI7gO5WJQ1Nul/7h5qLX5tJqZ4OY5CVn+mcuUQ==", + "requires": { + "async": "^2.6.2", + "bs58": "^4.0.1", + "debug": "^4.1.1", + "length-prefixed-stream": "^2.0.0", + "libp2p-crypto": "~0.16.1", + "libp2p-pubsub": "~0.2.0", + "protons": "^1.0.1", + "pull-length-prefixed": "^1.3.2", + "pull-pushable": "^2.2.0", + "pull-stream": "^3.6.9" + } + } + } + }, + "libp2p-kad-dht": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/libp2p-kad-dht/-/libp2p-kad-dht-0.16.1.tgz", + "integrity": "sha512-SK5BYsaVUb+qKLz7JA5ewFjz45pSzkehf6xsXpfagiQ5apRjqBxDNuyTrEFNpMyLk+skPAsYVJrE/DbBp6j8jA==", + "requires": { + "abort-controller": "^3.0.0", + "async": "^2.6.2", + "base32.js": "~0.1.0", + "chai-checkmark": "^1.0.1", + "cids": "~0.7.0", + "debug": "^4.1.1", + "err-code": "^1.1.2", + "hashlru": "^2.3.0", + "heap": "~0.2.6", + "interface-datastore": "~0.7.0", + "k-bucket": "^5.0.0", + "libp2p-crypto": "~0.16.1", + "libp2p-record": "~0.6.2", + "multihashes": "~0.4.14", + "multihashing-async": "~0.5.2", + "p-queue": "^6.0.0", + "p-times": "^2.1.0", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", + "promise-to-callback": "^1.0.0", + "promisify-es6": "^1.0.3", + "protons": "^1.0.1", + "pull-length-prefixed": "^1.3.2", + "pull-stream": "^3.6.9", + "varint": "^5.0.0", + "xor-distance": "^2.0.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "interface-datastore": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.7.0.tgz", + "integrity": "sha512-TfwzBe7iInnakxjWDQn8GQHRDSgmVXRylBo9Z6ONjtaIXB1aJFYpvW1mt+Kbnql/xpTxD2LsQKRBS9+EiTVmhA==", + "requires": { + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "uuid": "^3.2.2" + } + }, + "libp2p-record": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/libp2p-record/-/libp2p-record-0.6.3.tgz", + "integrity": "sha512-FUJ69hb20SETlKmXkdlG7AJPPZmaRrzNBR2d4aTRVYcR2LPWzamGg6UeDEP5DAHXUqMhtEP38oEKcrLn07kaOw==", + "requires": { + "async": "^2.6.2", + "buffer-split": "^1.0.0", + "err-code": "^1.1.2", + "multihashes": "~0.4.14", + "multihashing-async": "~0.6.0", + "protons": "^1.0.1" + }, + "dependencies": { + "multihashing-async": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", + "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, + "libp2p-keychain": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/libp2p-keychain/-/libp2p-keychain-0.5.1.tgz", + "integrity": "sha512-LAucv00IaGT53Mc2CYTttQHQCCyKvQMblkKI7GInHQJ89Na37YcV5JoQKmJbxMO7sOxj3v2uCkxHYSbVjsjxXw==", + "requires": { + "err-code": "^2.0.0", + "interface-datastore": "^0.7.0", + "libp2p-crypto": "^0.16.2", + "merge-options": "^1.0.1", + "node-forge": "^0.8.5", + "sanitize-filename": "^1.6.1" + }, + "dependencies": { + "interface-datastore": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.7.0.tgz", + "integrity": "sha512-TfwzBe7iInnakxjWDQn8GQHRDSgmVXRylBo9Z6ONjtaIXB1aJFYpvW1mt+Kbnql/xpTxD2LsQKRBS9+EiTVmhA==", + "requires": { + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "uuid": "^3.2.2" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + }, + "merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "requires": { + "is-plain-obj": "^1.1" + } + }, + "node-forge": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.8.5.tgz", + "integrity": "sha512-vFMQIWt+J/7FLNyKouZ9TazT74PRV3wgv9UT4cRjC8BffxFbKXkgIWR42URCPSnHm/QDz6BOlb2Q0U4+VQT67Q==" + } + } + }, + "libp2p-mdns": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/libp2p-mdns/-/libp2p-mdns-0.12.3.tgz", + "integrity": "sha512-jJvmRc2hd8inWRpWBGwJnu4t4Qxg/5LCMwivwTp3Rqf/NRHdqAuArT5VroFdgIiay9pQ9LjrA2zXIpT2ZLDusA==", + "requires": { + "async": "^2.6.2", + "debug": "^4.1.1", + "libp2p-tcp": "~0.13.0", + "multiaddr": "^6.0.6", + "multicast-dns": "^7.2.0", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1" + } + }, + "libp2p-pubsub": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.2.1.tgz", + "integrity": "sha512-6LFl7b/39LLWKK9v/Oz9F7+c0WX8t2W2Qf2nwyMMCtJDGxC3csvXdhWwUDzBwXx704BJhVgpsVVJ4fXQn5gahg==", + "requires": { + "async": "^2.6.2", + "bs58": "^4.0.1", + "debug": "^4.1.1", + "err-code": "^1.1.2", + "length-prefixed-stream": "^2.0.0", + "libp2p-crypto": "~0.16.1", + "protons": "^1.0.1", + "pull-length-prefixed": "^1.3.1", + "pull-pushable": "^2.2.0", + "pull-stream": "^3.6.9", + "sinon": "^7.3.2", + "time-cache": "~0.3.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + }, + "libp2p-record": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/libp2p-record/-/libp2p-record-0.7.0.tgz", + "integrity": "sha512-v/YPZz9Cax7C+CnCK8Cv4PSKMyLLi6Ur8yEsasLYV0uA2XztD+4/NOoHpo/VyGmYyKh65JVRoYQ/bisxDfJ3zg==", + "requires": { + "buffer-split": "^1.0.0", + "err-code": "^1.1.2", + "multihashes": "~0.4.15", + "multihashing-async": "~0.7.0", + "protons": "^1.0.1" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + }, + "multihashing-async": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js-revisited": "^3.0.0" + } + } + } + }, + "libp2p-secio": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/libp2p-secio/-/libp2p-secio-0.11.1.tgz", + "integrity": "sha512-PMVlLutZcCpaNMQZbsbADUR6BWAFuB7ap8fc006YFj3uRQpq8HEVW6DsYlNVG6QQm9JMdvaitfgLTaDFqw5bVg==", + "requires": { + "async": "^2.6.1", + "debug": "^4.1.1", + "interface-connection": "~0.3.2", + "libp2p-crypto": "~0.16.0", + "multihashing-async": "~0.5.2", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", + "protons": "^1.0.1", + "pull-defer": "~0.2.3", + "pull-handshake": "^1.1.4", + "pull-length-prefixed": "^1.3.1", + "pull-stream": "^3.6.9" + }, + "dependencies": { + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, + "libp2p-tcp": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/libp2p-tcp/-/libp2p-tcp-0.13.2.tgz", + "integrity": "sha512-TvHLCn25m+UIH+hXTuy8xJDU/Kxj8EEEgWzhWUImsrb/YsYFywjbuv8YCAYtTUMIzyT2DnTtM+xzPxccg/sytw==", + "requires": { + "class-is": "^1.1.0", + "debug": "^4.1.1", + "interface-connection": "~0.3.3", + "ip-address": "^6.1.0", + "lodash.includes": "^4.3.0", + "lodash.isfunction": "^3.0.9", + "mafmt": "^6.0.7", + "multiaddr": "^6.1.0", + "once": "^1.4.0", + "stream-to-pull-stream": "^1.7.3" + }, + "dependencies": { + "ip-address": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-6.1.0.tgz", + "integrity": "sha512-u9YYtb1p2fWSbzpKmZ/b3QXWA+diRYPxc2c4y5lFB/MMk5WZ7wNZv8S3CFcIGVJ5XtlaCAl/FQy/D3eQ2XtdOA==", + "requires": { + "jsbn": "1.1.0", + "lodash": "^4.17.15", + "sprintf-js": "1.1.2" + } + }, + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" + } + } + }, + "libp2p-webrtc-star": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/libp2p-webrtc-star/-/libp2p-webrtc-star-0.16.1.tgz", + "integrity": "sha512-TLQ/Qhfx367kETt2pz2ejzVMB01PQjkBqxP+p+PD84N+JuFg3HVQw8jwXdiXexg/gKNMH+WwqVeWiKv/mVrCNA==", + "requires": { + "@hapi/hapi": "^18.3.1", + "@hapi/inert": "^5.2.0", + "async": "^2.6.2", + "class-is": "^1.1.0", + "debug": "^4.1.1", + "epimetheus": "^1.0.92", + "interface-connection": "~0.3.3", + "mafmt": "^6.0.7", + "minimist": "^1.2.0", + "multiaddr": "^6.0.6", + "once": "^1.4.0", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", + "pull-stream": "^3.6.9", + "simple-peer": "^9.3.0", + "socket.io": "^2.1.1", + "socket.io-client": "^2.1.1", + "stream-to-pull-stream": "^1.7.3", + "webrtcsupport": "github:ipfs/webrtcsupport" + }, + "dependencies": { + "webrtcsupport": { + "version": "github:ipfs/webrtcsupport#0669f576582c53a3a42aa5ac014fcc5966809615", + "from": "github:ipfs/webrtcsupport" + } + } + }, + "libp2p-websocket-star": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/libp2p-websocket-star/-/libp2p-websocket-star-0.10.2.tgz", + "integrity": "sha512-ccjMqy7lrKV6vbTdsm9XOZ+eWt01ZCS3hI2s+I+ZpglnPQNg8z+dGs+8rdl8/hU44Sq3EbmUw0gCxPB/2ZbPlg==", + "requires": { + "async": "^2.6.1", + "class-is": "^1.1.0", + "debug": "^4.1.1", + "interface-connection": "~0.3.2", + "libp2p-crypto": "~0.16.0", + "mafmt": "^6.0.4", + "multiaddr": "^6.0.3", + "nanoid": "^2.0.0", + "once": "^1.4.0", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1", + "pull-stream": "^3.6.9", + "socket.io-client": "^2.1.1", + "socket.io-pull-stream": "~0.1.5" + } + }, + "libp2p-websocket-star-multi": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/libp2p-websocket-star-multi/-/libp2p-websocket-star-multi-0.4.4.tgz", + "integrity": "sha512-+Cj9ghJkqlFTa34tWx0Mi0FZ7LGH4l2rCrgmINZsU/Szq+NbIPb5LFiaJEzyB6vGAOMjC+2J3Ei7luIvrgXzKg==", + "requires": { + "async": "^2.6.2", + "debug": "^4.1.1", + "libp2p-websocket-star": "~0.10.2", + "mafmt": "^6.0.7", + "multiaddr": "^6.0.6", + "once": "^1.4.0" + } + }, + "libp2p-websocket-star-rendezvous": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/libp2p-websocket-star-rendezvous/-/libp2p-websocket-star-rendezvous-0.3.0.tgz", + "integrity": "sha512-HoiaiYftqCqHvRwFeZGaEqnR5by8qTXyfiWPFqwL9M8lgtmPAbN1sqHD9YR8JfnusyfpfEgzdW4JjlV3FLKceg==", + "requires": { + "async": "^2.6.1", + "data-queue": "0.0.3", + "debug": "^4.1.0", + "epimetheus": "^1.0.92", + "hapi": "^16.6.2", + "inert": "^4.2.1", + "libp2p-crypto": "~0.14.1", + "mafmt": "^6.0.2", + "merge-recursive": "0.0.3", + "minimist": "^1.2.0", + "multiaddr": "^5.0.2", + "once": "^1.4.0", + "peer-id": "~0.12.0", + "peer-info": "~0.14.1", + "prom-client": "^11.1.3", + "socket.io": "^2.1.1", + "socket.io-client": "^2.1.1", + "socket.io-pull-stream": "~0.1.5", + "uuid": "^3.3.2" + }, + "dependencies": { + "libp2p-crypto": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.14.1.tgz", + "integrity": "sha512-JP3bfEzNik76fFIWOeU909+v76tjj5BMukbPCc61bgh1ixftcHkr4bH79duz+oSxRpGA+orCLxvkhgALV+pfwg==", + "requires": { + "asn1.js": "^5.0.1", + "async": "^2.6.1", + "browserify-aes": "^1.2.0", + "bs58": "^4.0.1", + "keypair": "^1.0.1", + "libp2p-crypto-secp256k1": "~0.2.2", + "multihashing-async": "~0.5.1", + "node-forge": "~0.7.6", + "pem-jwk": "^1.5.1", + "protons": "^1.0.1", + "rsa-pem-to-jwk": "^1.1.3", + "tweetnacl": "^1.0.0", + "ursa-optional": "~0.9.9", + "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#master" + } + }, + "multiaddr": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-5.0.2.tgz", + "integrity": "sha512-dXz1chaUHV6L6okujDLS7uRA6NmCbitpikOJA0vMMnrwVyai5kC3ot2CSLrSfj3B8XIgNzpe/j5auSYrnbGGzA==", + "requires": { + "bs58": "^4.0.1", + "class-is": "^1.1.0", + "ip": "^1.1.5", + "ip-address": "^5.8.9", + "lodash.filter": "^4.6.0", + "lodash.map": "^4.6.0", + "varint": "^5.0.0", + "xtend": "^4.0.1" + } + }, + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + }, + "peer-info": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.14.1.tgz", + "integrity": "sha512-I9K+q7sisU0gg5ej6ekbhgolwlcm1tc2wDtLmumptoLYx0DkIT8WVHtgoTnupYwRRqcYADtwddFdiXfb8QFqzg==", + "requires": { + "lodash.uniqby": "^4.7.0", + "mafmt": "^6.0.0", + "multiaddr": "^4.0.0", + "peer-id": "~0.10.7" + }, + "dependencies": { + "js-sha3": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.7.0.tgz", + "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" + }, + "libp2p-crypto": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.12.1.tgz", + "integrity": "sha512-1/z8rxZ0DcQNreZhEsl7PnLr7DWOioSvYbKBLGkRwNRiNh1JJLgh0PdTySBb44wkrOGT+TxcGRd7iq3/X6Wxwg==", + "requires": { + "asn1.js": "^5.0.0", + "async": "^2.6.0", + "browserify-aes": "^1.1.1", + "bs58": "^4.0.1", + "keypair": "^1.0.1", + "libp2p-crypto-secp256k1": "~0.2.2", + "multihashing-async": "~0.4.7", + "node-forge": "^0.7.1", + "pem-jwk": "^1.5.1", + "protons": "^1.0.1", + "rsa-pem-to-jwk": "^1.1.3", + "tweetnacl": "^1.0.0", + "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#master" + } + }, + "multiaddr": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-4.0.0.tgz", + "integrity": "sha512-zUatrOCfBd/tJNOSoJ10d2EI2FDXB9PyPZhqUMdXE9mOyR3C+HLuOjga2Ga/eChwvEHIpTYRMoIKF2Nv7af2qQ==", + "requires": { + "bs58": "^4.0.1", + "class-is": "^1.1.0", + "ip": "^1.1.5", + "ip-address": "^5.8.9", + "lodash.filter": "^4.6.0", + "lodash.map": "^4.6.0", + "varint": "^5.0.0", + "xtend": "^4.0.1" + } + }, + "multihashing-async": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.4.8.tgz", + "integrity": "sha512-LCc4lfxmTJOHKIjZjFNgvmfB6nXS/ErLInT9uwU8udFrRm2PH+aTPk3mfCREKmCiSHOlCWiv2O8rlnBx+OjlMw==", + "requires": { + "async": "^2.6.0", + "blakejs": "^1.1.0", + "js-sha3": "^0.7.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + }, + "peer-id": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.10.7.tgz", + "integrity": "sha512-VEpMFcL9q0NQijmR0jsj38OGbY4yzaWMEareVkDahopmlNT+Cpsot8btPgsgBBApP9NiZj2Enwvh8rZN30ocQw==", + "requires": { + "async": "^2.6.0", + "libp2p-crypto": "~0.12.1", + "lodash": "^4.17.5", + "multihashes": "~0.4.13" + } + } + } + }, + "ursa-optional": { + "version": "0.9.10", + "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.9.10.tgz", + "integrity": "sha512-RvEbhnxlggX4MXon7KQulTFiJQtLJZpSb9ZSa7ZTkOW0AzqiVTaLjI4vxaSzJBDH9dwZ3ltZadFiBaZslp6haA==", + "requires": { + "bindings": "^1.3.0", + "nan": "^2.11.1" + } + }, + "webcrypto-shim": { + "version": "github:dignifiedquire/webcrypto-shim#190bc9ec341375df6025b17ae12ddb2428ea49c8", + "from": "github:dignifiedquire/webcrypto-shim#master" + } + } + }, + "libp2p-websockets": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/libp2p-websockets/-/libp2p-websockets-0.12.4.tgz", + "integrity": "sha512-wXrdFgBibvuD+b+s1KIvhlbzh/qCXSDBmzkoKUugftxV6tC5AhotbHW1JlcI726+U+z4k8ha3nEZd9PY64NLqQ==", + "requires": { + "class-is": "^1.1.0", + "debug": "^4.1.1", + "interface-connection": "~0.3.3", + "mafmt": "^6.0.7", + "multiaddr-to-uri": "^5.0.0", + "pull-ws": "github:hugomrdias/pull-ws#fix/bundle-size" + }, + "dependencies": { + "pull-ws": { + "version": "github:hugomrdias/pull-ws#8e2ce0bb3b1cd6804828316e937fff8e0bef6225", + "from": "github:hugomrdias/pull-ws#fix/bundle-size", + "requires": { + "iso-url": "^0.4.4", + "relative-url": "^1.0.2", + "safe-buffer": "^5.1.1", + "ws": "^1.1.0" + } + }, + "ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" + }, + "ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "requires": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + } + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, + "listr": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", + "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", + "requires": { + "@samverschueren/stream-to-observable": "^0.3.0", + "is-observable": "^1.1.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.5.0", + "listr-verbose-renderer": "^0.5.0", + "p-map": "^2.0.0", + "rxjs": "^6.3.3" + }, + "dependencies": { + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + } + } + }, + "listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=" + }, + "listr-update-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", + "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", + "requires": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "elegant-spinner": "^1.0.1", + "figures": "^1.7.0", + "indent-string": "^3.0.0", + "log-symbols": "^1.0.2", + "log-update": "^2.3.0", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "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" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "requires": { + "chalk": "^1.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "listr-verbose-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", + "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", + "requires": { + "chalk": "^2.4.1", + "cli-cursor": "^2.1.0", + "date-fns": "^1.27.2", + "figures": "^2.0.0" + }, + "dependencies": { + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + } + } + }, + "livereload-js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", + "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==" + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==" + }, + "lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=" + }, + "lodash.has": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", + "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.isequalwith": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isequalwith/-/lodash.isequalwith-4.4.0.tgz", + "integrity": "sha1-Jmcm3dUo+FTyH06pigZWBuD7xrA=" + }, + "lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==" + }, + "lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=" + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=" + }, + "log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "requires": { + "chalk": "^2.4.2" + } + }, + "log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", + "requires": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + } + } + } + }, + "log4js": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.5.1.tgz", + "integrity": "sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw==", + "requires": { + "date-format": "^2.0.0", + "debug": "^4.1.1", + "flatted": "^2.0.0", + "rfdc": "^1.1.4", + "streamroller": "^1.0.6" + } + }, + "lolex": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.2.0.tgz", + "integrity": "sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "longest-streak": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.3.tgz", + "integrity": "sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==" + }, + "looper": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", + "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k=" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lorem-ipsum": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/lorem-ipsum/-/lorem-ipsum-1.0.6.tgz", + "integrity": "sha512-Rx4XH8X4KSDCKAVvWGYlhAfNqdUP5ZdT4rRyf0jjrvWgtViZimDIlopWNfn/y3lGM5K4uuiAoY28TaD+7YKFrQ==", + "requires": { + "minimist": "~1.2.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" + }, + "mafmt": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", + "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", + "requires": { + "multiaddr": "^6.1.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "requires": { + "p-defer": "^1.0.0" + }, + "dependencies": { + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-escapes": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz", + "integrity": "sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==" + }, + "markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==" + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdast-util-compact": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", + "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "mdast-util-definitions": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.5.tgz", + "integrity": "sha512-CJXEdoLfiISCDc2JB6QLb79pYfI6+GcIH+W2ox9nMc7od0Pz+bovcHsiq29xAQY6ayqe/9CsK2VzkSJdg1pFYA==", + "requires": { + "unist-util-visit": "^1.0.0" + } + }, + "mdast-util-inject": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz", + "integrity": "sha1-2wa4tYW+lZotzS+H9HK6m3VvNnU=", + "requires": { + "mdast-util-to-string": "^1.0.0" + } + }, + "mdast-util-to-hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz", + "integrity": "sha512-/eIbly2YmyVgpJNo+bFLLMCI1XgolO/Ffowhf+pHDq3X4/V6FntC9sGQCDLM147eTS+uSXv5dRzJyFn+o0tazA==", + "requires": { + "collapse-white-space": "^1.0.0", + "detab": "^2.0.0", + "mdast-util-definitions": "^1.2.0", + "mdurl": "^1.0.1", + "trim": "0.0.1", + "trim-lines": "^1.0.0", + "unist-builder": "^1.0.1", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.0", + "xtend": "^4.0.1" + } + }, + "mdast-util-to-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.7.tgz", + "integrity": "sha512-P+gdtssCoHOX+eJUrrC30Sixqao86ZPlVjR5NEAoy0U79Pfxb1Y0Gntei0+GrnQD4T04X9xA8tcugp90cSmNow==" + }, + "mdast-util-toc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz", + "integrity": "sha512-Za0hqL1PqWrvxGtA/3NH9D5nhGAUS9grMM4obEAz5+zsk1RIw/vWUchkaoDLNdrwk05A0CSC5eEXng36/1qE5w==", + "requires": { + "github-slugger": "^1.2.1", + "mdast-util-to-string": "^1.0.5", + "unist-util-is": "^2.1.2", + "unist-util-visit": "^1.1.0" + }, + "dependencies": { + "github-slugger": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.1.tgz", + "integrity": "sha512-SsZUjg/P03KPzQBt7OxJPasGw6NRO5uOgiZ5RGXVud5iSIZ0eNZeNp5rTwCxtavrRUa/A77j8mePVc5lEvk0KQ==", + "requires": { + "emoji-regex": ">=6.0.0 <=6.1.1" + } + }, + "unist-util-is": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz", + "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==" + } + } + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" + } + } + }, + "memdown": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", + "integrity": "sha1-tOThkhdGZP+65BNhqlAPMRnv4hU=", + "requires": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", + "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", + "requires": { + "xtend": "~4.0.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", + "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0", + "yargs-parser": "^10.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merge-options": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-2.0.0.tgz", + "integrity": "sha512-S7xYIeWHl2ZUKF7SDeBhGg6rfv5bKxVBdk95s/I7wVF8d+hjLSztJ/B271cnUiF6CAFduEQ5Zn3HYwAjT16DlQ==", + "requires": { + "is-plain-obj": "^2.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.0.0.tgz", + "integrity": "sha512-EYisGhpgSCwspmIuRHGjROWTon2Xp8Z7U03Wubk/bTL5TTRC5R1rGVgyjzBrk9+ULdH6cRD06KRcw/xfqhVYKQ==" + } + } + }, + "merge-recursive": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/merge-recursive/-/merge-recursive-0.0.3.tgz", + "integrity": "sha1-3nkB78rsyQbYyrKtHpxHD1o9roQ=" + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "requires": { + "source-map": "^0.6.1" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==" + }, + "merkle-lib": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/merkle-lib/-/merkle-lib-2.0.10.tgz", + "integrity": "sha1-grjbrnXieneFOItz+ddyXQ9vMyY=" + }, + "merkle-patricia-tree": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-3.0.0.tgz", + "integrity": "sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ==", + "requires": { + "async": "^2.6.1", + "ethereumjs-util": "^5.2.0", + "level-mem": "^3.0.1", + "level-ws": "^1.0.0", + "readable-stream": "^3.0.6", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + }, + "dependencies": { + "level-ws": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-1.0.0.tgz", + "integrity": "sha512-RXEfCmkd6WWFlArh3X8ONvQPm8jNpfA0s/36M4QzLqrLEIt1iJE9WBHLZ5vZJK6haMjJPJGJCQWfjMNnRcq/9Q==", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.8", + "xtend": "^4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + } + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "mime-db": { + "version": "1.42.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", + "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==" + }, + "mime-types": { + "version": "2.1.25", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", + "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", + "requires": { + "mime-db": "1.42.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "mimos": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/mimos/-/mimos-3.0.3.tgz", + "integrity": "sha1-uRCQcq03jCty9qAQHEPd+ys2ZB8=", + "requires": { + "hoek": "4.x.x", + "mime-db": "1.x.x" + }, + "dependencies": { + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + }, + "dependencies": { + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + } + } + }, + "minipass": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", + "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz", + "integrity": "sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==", + "requires": { + "minipass": "^3.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "requires": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=" + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "mocha": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz", + "integrity": "sha512-FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==", + "requires": { + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "2.2.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "ms": "2.1.1", + "node-environment-flags": "1.0.5", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.0", + "yargs-parser": "13.1.1", + "yargs-unparser": "1.6.0" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==" + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "requires": { + "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" + } + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "requires": { + "chalk": "^2.0.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==" + }, + "supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==" + }, + "module-deps-sortable": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/module-deps-sortable/-/module-deps-sortable-5.0.0.tgz", + "integrity": "sha512-bnGGeghQmz/t/6771/KC4FmxpVm126iR6AAzzq4N6hVZQVl4+ZZBv+VF3PJmDyxXtVtgcgTSSP7NL+jq1QAHrg==", + "requires": { + "JSONStream": "^1.0.3", + "browser-resolve": "^1.7.0", + "cached-path-relative": "^1.0.0", + "concat-stream": "~1.5.0", + "defined": "^1.0.0", + "detective": "^4.0.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2", + "resolve": "^1.1.3", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + }, + "concat-stream": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", + "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + } + } + }, + "detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "requires": { + "acorn": "^5.2.1", + "defined": "^1.0.0" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + }, + "dependencies": { + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "mortice": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mortice/-/mortice-2.0.0.tgz", + "integrity": "sha512-rXcjRgv2MRhpwGHErxKcDcp5IoA9CPvPFLXmmseQYIuQ2fSVu8tsMKi/eYUXzp/HH1s6y3IID/GwRqlSglDdRA==", + "requires": { + "globalthis": "^1.0.0", + "observable-webworkers": "^1.0.0", + "p-queue": "^6.0.0", + "promise-timeout": "^1.3.0", + "shortid": "^2.2.8" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "moving-average": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/moving-average/-/moving-average-1.0.0.tgz", + "integrity": "sha512-97cgMz0U2zciiDp4xRl/n+MYgrm9l7UiYbtsBLPr0rhw6KH3m4LyK2w4d96V6+UwKo+ph7KtQSoL2qgnqZVgvA==" + }, + "mri": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz", + "integrity": "sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multiaddr": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", + "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", + "requires": { + "bs58": "^4.0.1", + "class-is": "^1.1.0", + "hi-base32": "~0.5.0", + "ip": "^1.1.5", + "is-ip": "^2.0.0", + "varint": "^5.0.0" + } + }, + "multiaddr-to-uri": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-5.0.0.tgz", + "integrity": "sha512-aVc52fdGXso3DwvVKUTjMddhLyuFBXcpGSbsIju0lKiYKFBUEREXSLpcqTOZlO8w1G1TivVmDe4CBUKQ/xMm5A==", + "requires": { + "multiaddr": "^6.1.0" + } + }, + "multibase": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.0.tgz", + "integrity": "sha512-R9bNLQhbD7MsitPm1NeY7w9sDgu6d7cuj25snAWH7k5PSNPSwIQQBpcpj8jx1W96dLbdigZqmUWOdQRMnAmgjA==", + "requires": { + "base-x": "3.0.4" + }, + "dependencies": { + "base-x": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.4.tgz", + "integrity": "sha512-UYOadoSIkEI/VrRGSG6qp93rp2WdokiAiNYDfGW5qURAY8GiAQkvMbwNNSDYiVJopqv4gCna7xqf4rrNGp+5AA==", + "requires": { + "safe-buffer": "^5.0.1" + } + } + } + }, + "multicast-dns": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.0.tgz", + "integrity": "sha512-Tu2QORGOFANB124NWQ/JTRhMf/ODouVLEuvu5Dz8YWEU55zQgRgFGnBHfIh5PbfNDAuaRl7yLB+pgWhSqVxi2Q==", + "requires": { + "dns-packet": "^4.0.0", + "thunky": "^1.0.2" + } + }, + "multicodec": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.5.tgz", + "integrity": "sha512-1kOifvwAqp9IdiiTKmpK2tS+LY6GHZdKpk3S2EvW4T32vlwDyA3hJoZtGauzqdedUPVNGChnTksEotVOCVlC+Q==", + "requires": { + "varint": "^5.0.0" + } + }, + "multihashes": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.15.tgz", + "integrity": "sha512-G/Smj1GWqw1RQP3dRuRRPe3oyLqvPqUaEDIaoi7JF7Loxl4WAWvhJNk84oyDEodSucv0MmSW/ZT0RKUrsIFD3g==", + "requires": { + "bs58": "^4.0.1", + "varint": "^5.0.0" + } + }, + "multihashing": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/multihashing/-/multihashing-0.3.3.tgz", + "integrity": "sha512-jXVWf5uqnZUhc1mLFPWOssuOpkj/A/vVLKrtEscD1PzSLobXYocBy9Gqa/Aw4229/heGnl0RBHU3cD53MbHUig==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.14", + "webcrypto": "~0.1.1" + } + }, + "multihashing-async": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.0.tgz", + "integrity": "sha512-t0iDSl1kkI65vaKmv9/bBM9/E/ogywB18+A9hI7QzcQjolue1tcaNWKdoFuniF6QQtNOJFplO4nQtLfQeK3lLw==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.4.3", + "err-code": "^2.0.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.15", + "murmurhash3js-revisited": "^3.0.0" + } + }, + "multistream-select": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/multistream-select/-/multistream-select-0.14.6.tgz", + "integrity": "sha512-oRxaStv2thLDZi3eojRgolS9DHbH5WENV2NwN6VwubEwsuwSEALbmSyxQ7PSzB7rSjgX2LGpuMzZ9O+ZptbEyA==", + "requires": { + "async": "^2.6.3", + "debug": "^4.1.1", + "err-code": "^1.1.2", + "interface-connection": "~0.3.3", + "once": "^1.4.0", + "pull-handshake": "^1.1.4", + "pull-length-prefixed": "^1.3.3", + "pull-stream": "^3.6.13", + "semver": "^6.2.0", + "varint": "^5.0.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" + } + } + }, + "murmurhash3js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", + "integrity": "sha1-Ppg+W0fCoG9DpxMXTn5DXKBEuZg=" + }, + "murmurhash3js-revisited": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", + "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + }, + "nanoid": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.7.tgz", + "integrity": "sha512-fmS3qwDldm4bE01HCIRqNk+f255CNjnAoeV3Zzzv0KemObHKqYgirVaZA9DtKcjogicWjYcHkJs4D5A8CjnuVQ==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "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" + } + }, + "napi-build-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.1.tgz", + "integrity": "sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA==" + }, + "napi-macros": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" + }, + "native-or-another": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/native-or-another/-/native-or-another-2.0.0.tgz", + "integrity": "sha1-F6Vn+Svuqc1xrP+Wp2gac17KO/8=", + "requires": { + "native-or-bluebird": "^1.1.2" + } + }, + "native-or-bluebird": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.2.0.tgz", + "integrity": "sha1-OcR7/Xgl0fuf+tMiEK4l2q3xAck=" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" + }, + "nested-error-stacks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", + "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "nigel": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/nigel/-/nigel-2.0.2.tgz", + "integrity": "sha1-k6GGb7DFLYc5CqdeKxYfS1x15bE=", + "requires": { + "hoek": "4.x.x", + "vise": "2.x.x" + }, + "dependencies": { + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "nise": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.5.2.tgz", + "integrity": "sha512-/6RhOUlicRCbE9s+94qCUsyE+pKlVJ5AhIv+jEE7ESKwnbXqulKZ1FYU+XAtHHWE9TinYvAxDUJAb912PwPoWA==", + "requires": { + "@sinonjs/formatio": "^3.2.1", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "lolex": "^4.1.0", + "path-to-regexp": "^1.7.0" + } + }, + "node-abi": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.13.0.tgz", + "integrity": "sha512-9HrZGFVTR5SOu3PZAnAY2hLO36aW1wmA+FDsVkr85BTST32TLCA1H/AEcatVRAsWLyXS3bqUDYCAjq5/QGuSTA==", + "requires": { + "semver": "^5.4.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "node-environment-flags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", + "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", + "requires": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, + "node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==" + }, + "node-gyp-build": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz", + "integrity": "sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==" + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + } + } + } + } + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" + }, + "node-releases": { + "version": "1.1.41", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.41.tgz", + "integrity": "sha512-+IctMa7wIs8Cfsa8iYzeaLTFwv5Y4r5jZud+4AnfymzeEXKBCavFX0KBgzVaPVqf0ywa6PrO8/b+bPqdwjGBSg==", + "requires": { + "semver": "^6.3.0" + } + }, + "nodeify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", + "integrity": "sha1-ZKtpp7268DzhB7TwM1yHwLnpGx0=", + "requires": { + "is-promise": "~1.0.0", + "promise": "~1.3.0" + } + }, + "noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + } + }, + "now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "requires": { + "once": "^1.3.2" + } + }, + "npm-package-json-lint": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/npm-package-json-lint/-/npm-package-json-lint-3.7.0.tgz", + "integrity": "sha512-eWi1pZ/ZhPHAOMLC1+njBJj81yCu2Ek4VxhwpPHABvSVHS0dkaL6aKhSj/TX8Rtm/0rIg3edgMLt3kSRtWkFaA==", + "requires": { + "ajv": "^6.10.0", + "chalk": "^2.4.2", + "glob": "^7.1.4", + "ignore": "^5.1.2", + "is-path-inside": "^2.1.0", + "is-plain-obj": "^1.1.0", + "is-resolvable": "^1.1.0", + "log-symbols": "^2.2.0", + "meow": "^5.0.0", + "plur": "^3.1.1", + "semver": "^5.6.0", + "strip-json-comments": "^2.0.1", + "validator": "^10.11.0" + }, + "dependencies": { + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "requires": { + "chalk": "^2.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "npm-path": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/npm-path/-/npm-path-2.0.4.tgz", + "integrity": "sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==", + "requires": { + "which": "^1.2.10" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + } + } + }, + "npm-which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-which/-/npm-which-3.0.1.tgz", + "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=", + "requires": { + "commander": "^2.9.0", + "npm-path": "^2.0.2", + "which": "^1.2.10" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nugget": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz", + "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", + "requires": { + "debug": "^2.1.3", + "minimist": "^1.1.0", + "pretty-bytes": "^1.0.2", + "progress-stream": "^1.1.0", + "request": "^2.45.0", + "single-line-log": "^1.1.2", + "throttleit": "0.0.2" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pretty-bytes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", + "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.1.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "requires": { + "get-stdin": "^4.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + } + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nyc": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz", + "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==", + "requires": { + "archy": "^1.0.0", + "caching-transform": "^3.0.2", + "convert-source-map": "^1.6.0", + "cp-file": "^6.2.0", + "find-cache-dir": "^2.1.0", + "find-up": "^3.0.0", + "foreground-child": "^1.5.6", + "glob": "^7.1.3", + "istanbul-lib-coverage": "^2.0.5", + "istanbul-lib-hook": "^2.0.7", + "istanbul-lib-instrument": "^3.3.0", + "istanbul-lib-report": "^2.0.8", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^2.2.4", + "js-yaml": "^3.13.1", + "make-dir": "^2.1.0", + "merge-source-map": "^1.1.0", + "resolve-from": "^4.0.0", + "rimraf": "^2.6.3", + "signal-exit": "^3.0.2", + "spawn-wrap": "^1.4.2", + "test-exclude": "^5.2.3", + "uuid": "^3.3.2", + "yargs": "^13.2.2", + "yargs-parser": "^13.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "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=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-schemata": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/object-schemata/-/object-schemata-1.0.10.tgz", + "integrity": "sha1-J2ORLU3tvq4h/AgaFst8sDjVTAE=", + "requires": { + "custom-error-instance": "^2.1.1", + "is": "^3.1.0" + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.entries": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", + "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.fromentries": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.1.tgz", + "integrity": "sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92/dhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.15.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "observable-webworkers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/observable-webworkers/-/observable-webworkers-1.0.0.tgz", + "integrity": "sha512-+cECwCR8IEh8UY5nefQVLO9Cydqpk1izO+o7BABmKjXfJZyEOzBWY3ss5jbOPM6KmEa9aQExvAtTW6tVTOsNAQ==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==" + }, + "opener": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==" + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + } + } + }, + "optional": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz", + "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==", + "optional": true + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "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", + "word-wrap": "~1.2.3" + } + }, + "options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=" + }, + "ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "requires": { + "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.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" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" + }, + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + }, + "p-event": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.1.0.tgz", + "integrity": "sha512-4vAd06GCsgflX4wHN1JqrMzBh/8QZ4j+rzp0cd2scXRwuBEv+QR3wrVA5aLhWDLw4y2WgDKvzWF3CCLmVM1UgA==", + "requires": { + "p-timeout": "^2.0.1" + } + }, + "p-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", + "requires": { + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" + }, + "p-iteration": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/p-iteration/-/p-iteration-1.1.8.tgz", + "integrity": "sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ==" + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-queue": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.2.1.tgz", + "integrity": "sha512-wV8yC/rkuWpgu9LGKJIb48OynYSrE6lVl2Bx6r8WjbyVKrFAzzQ/QevAvwnDjlD+mLt8xy0LTDOU1freOvMTCg==", + "requires": { + "eventemitter3": "^4.0.0", + "p-timeout": "^3.1.0" + }, + "dependencies": { + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "requires": { + "p-finally": "^1.0.0" + } + } + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-times": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-times/-/p-times-2.1.0.tgz", + "integrity": "sha512-y23lF7HegeUyBTAxHNl6qYvwTy6S4d+BQcs+4CwgxXzc1v1Hsf7pyAqbDHMiYnjdL5Vcmr/oHc9l+nAu0Q+Hhg==", + "requires": { + "p-map": "^2.0.0" + }, + "dependencies": { + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + } + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "p-try-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/p-try-each/-/p-try-each-1.0.1.tgz", + "integrity": "sha512-WyUjRAvK4CG9DUW21ZsNYcBj6guN7pgZAOFR8mUtyNXyPC5WUo3L48nxI5TsGEZ+VJhZXzyeH/Sxi2lxYcPp3A==" + }, + "package-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz", + "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==", + "requires": { + "graceful-fs": "^4.1.15", + "hasha": "^3.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + } + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "dependencies": { + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + } + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "http-cache-semantics": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", + "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==" + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + } + } + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + } + } + }, + "parse-entities": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", + "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-github-repo-url": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", + "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=" + }, + "parse-headers": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", + "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" + }, + "parse-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.1.tgz", + "integrity": "sha512-d7yhga0Oc+PwNXDvQ0Jv1BuWkLVPXcAoQ/WREgd6vNNoKYaW52KI+RdOFjI63wjkmps9yUE8VS4veP+AgpQ/hA==", + "requires": { + "is-ssh": "^1.3.0", + "protocols": "^1.4.0" + } + }, + "parse-url": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-5.0.1.tgz", + "integrity": "sha512-flNUPP27r3vJpROi0/R3/2efgKkyXqnXwyP1KQ2U0SfFRgdizOdWfvrrvJg1LuOoxs7GQhmxJlq23IpQ/BkByg==", + "requires": { + "is-ssh": "^1.3.0", + "normalize-url": "^3.3.0", + "parse-path": "^4.0.0", + "protocols": "^1.4.0" + }, + "dependencies": { + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + } + } + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + } + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=" + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "peek-stream": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", + "integrity": "sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==", + "requires": { + "buffer-from": "^1.0.0", + "duplexify": "^3.5.0", + "through2": "^2.0.3" + } + }, + "peer-book": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/peer-book/-/peer-book-0.9.2.tgz", + "integrity": "sha512-AW7DrC7HVe3jKYTKRvceX6poLiNOg6K9dW5aJejpxK849KuhI1H6nzefEx6v5GLAnXLA7bOoJjGx/ke+MCJ3vQ==", + "requires": { + "bs58": "^4.0.1", + "peer-id": "~0.12.2", + "peer-info": "~0.15.1" + } + }, + "peer-id": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.12.5.tgz", + "integrity": "sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw==", + "requires": { + "async": "^2.6.3", + "class-is": "^1.1.0", + "libp2p-crypto": "~0.16.1", + "multihashes": "~0.4.15" + } + }, + "peer-info": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.15.1.tgz", + "integrity": "sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA==", + "requires": { + "mafmt": "^6.0.2", + "multiaddr": "^6.0.3", + "peer-id": "~0.12.2", + "unique-by": "^1.0.0" + } + }, + "pem-jwk": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-1.5.1.tgz", + "integrity": "sha1-eoY3/S9nqCflfAxC4cI8P9Us+wE=", + "requires": { + "asn1.js": "1.0.3" + }, + "dependencies": { + "asn1.js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-1.0.3.tgz", + "integrity": "sha1-KBuj7B8kSP52X5Kk7s+IP+E2S1Q=", + "requires": { + "bn.js": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "bn.js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-1.3.0.tgz", + "integrity": "sha1-DbTL+W+PI7dC9by50ap6mZSgXoM=", + "optional": true + } + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pez": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/pez/-/pez-2.1.5.tgz", + "integrity": "sha1-XsLMYlAMw+tCNtSkFM9aF7XrUAc=", + "requires": { + "b64": "3.x.x", + "boom": "5.x.x", + "content": "3.x.x", + "hoek": "4.x.x", + "nigel": "2.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "picomatch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz", + "integrity": "sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pino": { + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-5.14.0.tgz", + "integrity": "sha512-Vj1f2wAojTGesogT0hsA/ua8ALltCOBCcA1nkEoDfnTsVWpgBu5UVSY7OdjiGmrMOKHBm24nd3nKXzyPUYJ3ig==", + "requires": { + "fast-redact": "^2.0.0", + "fast-safe-stringify": "^2.0.7", + "flatstr": "^1.0.12", + "pino-std-serializers": "^2.4.2", + "quick-format-unescaped": "^3.0.3", + "sonic-boom": "^0.7.5" + } + }, + "pino-pretty": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-3.4.0.tgz", + "integrity": "sha512-0oEHicFdUCh2tFHQnTX7b9jph+S/UibLMuhBF0yFkt+7JGZGQejNkui27B9qPUofwmqKAf3FfLYvponPyNsQJw==", + "requires": { + "@hapi/bourne": "^1.3.2", + "args": "^5.0.1", + "chalk": "^2.4.2", + "dateformat": "^3.0.3", + "fast-safe-stringify": "^2.0.7", + "jmespath": "^0.15.0", + "joycon": "^2.2.5", + "pump": "^3.0.0", + "readable-stream": "^3.4.0", + "split2": "^3.1.1", + "strip-json-comments": "^3.0.1" + }, + "dependencies": { + "split2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.1.1.tgz", + "integrity": "sha512-emNzr1s7ruq4N+1993yht631/JH+jaj0NYBosuKmLcq+JkGQ9MmTw1RB1fGaTCzUuseRIClrlSLHRNYGwWQ58Q==", + "requires": { + "readable-stream": "^3.0.0" + } + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==" + } + } + }, + "pino-std-serializers": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-2.4.2.tgz", + "integrity": "sha512-WaL504dO8eGs+vrK+j4BuQQq6GLKeCCcHaMB2ItygzVURcL1CycwNEUHTD/lHFHs/NL5qAz2UKrjYWXKSf4aMQ==" + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-conf": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", + "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", + "requires": { + "find-up": "^3.0.0", + "load-json-file": "^5.2.0" + }, + "dependencies": { + "load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "requires": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.0" + } + } + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + } + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "requires": { + "find-up": "^3.0.0" + } + }, + "plur": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz", + "integrity": "sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==", + "requires": { + "irregular-plurals": "^2.0.0" + } + }, + "podium": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/podium/-/podium-1.3.0.tgz", + "integrity": "sha512-ZIujqk1pv8bRZNVxwwwq0BhXilZ2udycQT3Kp8ah3f3TcTmVg7ILJsv/oLf47gRa2qeiP584lNq+pfvS9U3aow==", + "requires": { + "hoek": "4.x.x", + "items": "2.x.x", + "joi": "10.x.x" + }, + "dependencies": { + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + }, + "joi": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", + "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", + "requires": { + "hoek": "4.x.x", + "isemail": "2.x.x", + "items": "2.x.x", + "topo": "2.x.x" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "prebuild-install": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.3.tgz", + "integrity": "sha512-GV+nsUXuPW2p8Zy7SarF/2W/oiK8bFQgJcncoJ0d7kRpekEA0ftChjfEaF9/Y+QJEc/wFR7RAEa8lYByuUIe2g==", + "requires": { + "detect-libc": "^1.0.3", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "napi-build-utils": "^1.0.1", + "node-abi": "^2.7.0", + "noop-logger": "^0.1.1", + "npmlog": "^4.0.1", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^3.0.3", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0", + "which-pm-runs": "^1.0.0" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "pretty-bytes": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz", + "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==" + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" + }, + "prettycli": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/prettycli/-/prettycli-1.4.3.tgz", + "integrity": "sha512-KLiwAXXfSWXZqGmZlnKPuGMTFp+0QbcySplL1ft9gfteT/BNsG64Xo8u2Qr9r+qnsIZWBQ66Zs8tg+8s2fmzvw==", + "requires": { + "chalk": "2.1.0" + }, + "dependencies": { + "chalk": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "requires": { + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" + } + } + } + }, + "priorityqueue": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/priorityqueue/-/priorityqueue-0.2.1.tgz", + "integrity": "sha512-Dr6ZkRFGZHoAri6iNp5KvspOrFPfhxJ5AExXqLy5ChgdwALd3nC+q5/QG+gmjmf9W63joDXc+Zp0h05Ug/RtYg==" + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "progress-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", + "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", + "requires": { + "speedometer": "~0.1.2", + "through2": "~0.2.3" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "through2": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", + "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", + "requires": { + "readable-stream": "~1.1.9", + "xtend": "~2.1.1" + } + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "prom-client": { + "version": "11.5.3", + "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-11.5.3.tgz", + "integrity": "sha512-iz22FmTbtkyL2vt0MdDFY+kWof+S9UB/NACxSn2aJcewtw+EERsen0urSkZ2WrHseNdydsvcxCTAnPcSMZZv4Q==", + "requires": { + "tdigest": "^0.1.1" + } + }, + "prometheus-gc-stats": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/prometheus-gc-stats/-/prometheus-gc-stats-0.6.2.tgz", + "integrity": "sha512-ABSVHkAuYrMLj1WHmlLfS0hu9Vc2ELKuecwiMWPNQom+ZNiAdcILTn5yGK7sZg2ttoWc2u++W5NjdJ3IjdYJZw==", + "optional": true, + "requires": { + "gc-stats": "^1.2.1", + "optional": "^0.1.3" + } + }, + "promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", + "integrity": "sha1-5cyaTIJ45GZP/twBx9qEhCsEAXU=", + "requires": { + "is-promise": "~1" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "promise-nodeify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/promise-nodeify/-/promise-nodeify-3.0.1.tgz", + "integrity": "sha512-ghsSuzZXJX8iO7WVec2z7GI+Xk/EyiD+JZK7AZKhUqYfpLa/Zs4ylUD+CwwnKlG6G3HnkUPMAi6PO7zeqGKssg==" + }, + "promise-timeout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/promise-timeout/-/promise-timeout-1.3.0.tgz", + "integrity": "sha512-5yANTE0tmi5++POym6OgtFmwfDvOXABD9oj/jLQr5GPEyuNEb7jH4wbbANJceJid49jwhi1RddxnhnEAb/doqg==" + }, + "promise-to-callback": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/promise-to-callback/-/promise-to-callback-1.0.0.tgz", + "integrity": "sha1-XSp0kBC/tn2WNZj805YHRqaP7vc=", + "requires": { + "is-fn": "^1.0.0", + "set-immediate-shim": "^1.0.1" + } + }, + "promisify-es6": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/promisify-es6/-/promisify-es6-1.0.3.tgz", + "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==" + }, + "prompt-promise": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/prompt-promise/-/prompt-promise-1.0.3.tgz", + "integrity": "sha1-eM5Py5oUoQjEkXTy2AjEQNG94mU=", + "requires": { + "keypress": "~0.2.1", + "native-or-another": "~2.0.0" + } + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "proper-lockfile": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.1.tgz", + "integrity": "sha512-1w6rxXodisVpn7QYvLk706mzprPTAPCYAqxMvctmPN3ekuRk/kuGkGc82pangZiAt4R3lwSuUzheTTn0/Yb7Zg==", + "requires": { + "graceful-fs": "^4.1.11", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "property-information": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-4.2.0.tgz", + "integrity": "sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ==", + "requires": { + "xtend": "^4.0.1" + } + }, + "protocol-buffers-schema": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.3.2.tgz", + "integrity": "sha512-Xdayp8sB/mU+sUV4G7ws8xtYMGdQnxbeIfLjyO9TZZRJdztBGhlmbI5x1qcY4TG5hBkIKGnc28i7nXxaugu88w==" + }, + "protocols": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.7.tgz", + "integrity": "sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg==" + }, + "protons": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/protons/-/protons-1.0.1.tgz", + "integrity": "sha512-+0ZKnfVs+4c43tbAQ5j0Mck8wPcLnlxUYzKQoB4iDW4ocdXGnN4P+0dDbgX1FTpoY9+7P2Tn2scJyHHqj+S/lQ==", + "requires": { + "protocol-buffers-schema": "^3.3.1", + "safe-buffer": "^5.1.1", + "signed-varint": "^2.0.1", + "varint": "^5.0.0" + } + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.5.0.tgz", + "integrity": "sha512-4vqUjKi2huMu1OJiLhi3jN6jeeKvMZdI1tYgi/njW5zV52jNLgSAZSdN16m9bJFe61/cT8ulmw4qFitV9QRsEA==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pull-abortable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/pull-abortable/-/pull-abortable-4.1.1.tgz", + "integrity": "sha1-s61a77QRayWRbSbbiTk6yY0NzqE=" + }, + "pull-cat": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/pull-cat/-/pull-cat-1.1.11.tgz", + "integrity": "sha1-tkLdElXaN2pwa220+pYvX9t0wxs=" + }, + "pull-defer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", + "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" + }, + "pull-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pull-file/-/pull-file-1.1.0.tgz", + "integrity": "sha1-HdmHYF1jV6DSPB5Lgm95FaIVEpw=", + "requires": { + "pull-utf8-decoder": "^1.0.2" + } + }, + "pull-handshake": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/pull-handshake/-/pull-handshake-1.1.4.tgz", + "integrity": "sha1-YACg/QGIhM39c3JU+Mxgqypjd5E=", + "requires": { + "pull-cat": "^1.1.9", + "pull-pair": "~1.1.0", + "pull-pushable": "^2.0.0", + "pull-reader": "^1.2.3" + } + }, + "pull-length-prefixed": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/pull-length-prefixed/-/pull-length-prefixed-1.3.3.tgz", + "integrity": "sha512-tAvRbeHMrA3pqZVth8A0VAYeTG9+mpBpyzFPTwH65Jf6K5GYB3WFkvLSP/rgXFy+tJ+vqf6tol7gme13r0Z10g==", + "requires": { + "pull-pushable": "^2.2.0", + "pull-reader": "^1.3.1", + "safe-buffer": "^5.1.2", + "varint": "^5.0.0" + } + }, + "pull-many": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/pull-many/-/pull-many-1.0.9.tgz", + "integrity": "sha512-+jUydDVlj/HsvtDqxWMSsiRq3B0HVo7RhBV4C0p2nZRS3mFTUEu9SPEBN+B5PMaW8KTnblYhTIaKg7oXgGnj4Q==", + "requires": { + "pull-stream": "^3.4.5" + } + }, + "pull-mplex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/pull-mplex/-/pull-mplex-0.1.2.tgz", + "integrity": "sha512-LXqunL03yLDP3qHKvBb2iLwqnpFfL5y7Fpo4hUoxdlmXuB+3RkNUG/CIUBjBDGhUxY5xXmpivdrojXIBJ7Ktzw==", + "requires": { + "async": "^2.6.1", + "buffer-reuse-pool": "^1.0.0", + "debug": "^4.1.1", + "interface-connection": "~0.3.3", + "looper": "^4.0.0", + "pull-offset-limit": "^1.1.1", + "pull-pair": "^1.1.0", + "pull-pushable": "^2.2.0", + "pull-stream": "^3.6.9", + "pull-through": "^1.0.18", + "varint": "^5.0.0" + }, + "dependencies": { + "looper": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/looper/-/looper-4.0.0.tgz", + "integrity": "sha1-dwat7VmpntygbmtUu4bI7BnJUVU=" + } + } + }, + "pull-ndjson": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/pull-ndjson/-/pull-ndjson-0.2.0.tgz", + "integrity": "sha512-4EjvTyMCAnDKJ+eu3UNyZ6K2M23IrhZpPkfzifBbG1OBHY+BfsyNCPhd8Hl8Pv6bJO04Re3v4D2POAjOW1tQwg==", + "requires": { + "pull-split": "^0.2.0", + "pull-stream": "^3.4.5", + "pull-stringify": "^2.0.0" + } + }, + "pull-offset-limit": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pull-offset-limit/-/pull-offset-limit-1.1.1.tgz", + "integrity": "sha1-SBk9I3p+KeoT4+/E1I5KPB1saXE=", + "requires": { + "pull-abortable": "^4.1.0", + "pull-stream": "^3.5.0" + } + }, + "pull-pair": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pull-pair/-/pull-pair-1.1.0.tgz", + "integrity": "sha1-fuQnJj/fTaglOXrAoF4atLdL120=" + }, + "pull-pushable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.2.0.tgz", + "integrity": "sha1-Xy867UethpGfAbEqLpnW8b13ZYE=" + }, + "pull-reader": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pull-reader/-/pull-reader-1.3.1.tgz", + "integrity": "sha512-CBkejkE5nX50SiSEzu0Qoz4POTJMS/mw8G6aj3h3M/RJoKgggLxyF0IyTZ0mmpXFlXRcLmLmIEW4xeYn7AeDYw==" + }, + "pull-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pull-sort/-/pull-sort-1.0.2.tgz", + "integrity": "sha512-jGcAHMP+0Le+bEIhSODlbNNd3jW+S6XrXOlhVzfcKU5HQZjP92OzQSgHHSlwvWRsiTWi+UGgbFpL/5gGgmFoVQ==", + "requires": { + "pull-defer": "^0.2.3", + "pull-stream": "^3.6.9" + } + }, + "pull-split": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/pull-split/-/pull-split-0.2.1.tgz", + "integrity": "sha512-lloBKx+ijuRNvxvhM/SMJQ0r9/0WBGcpCPv8I6MZuYl4D1heUF/eYQObnqVehhtTMYuMwboK7RdhMa4Wg3YB7w==", + "requires": { + "pull-through": "~1.0.6" + } + }, + "pull-stream": { + "version": "3.6.14", + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", + "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" + }, + "pull-stream-to-async-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pull-stream-to-async-iterator/-/pull-stream-to-async-iterator-1.0.2.tgz", + "integrity": "sha512-c3KRs2EneuxP7b6pG9fvQTIjatf33RbIErhbQ75s5r2MI6E8R74NZC1nJgXc8kcmqiQxmr+TWY+WwK2mWaUnlA==", + "requires": { + "pull-stream": "^3.6.9" + } + }, + "pull-stream-to-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pull-stream-to-stream/-/pull-stream-to-stream-2.0.0.tgz", + "integrity": "sha512-lhgwUn2hQalava39zAzrRhjvVOpR99mfx5tCYRMD8Is85kBvXhQ39zIonVA+2TzdOFjmTQYbPWbEH0HAG+0t0Q==" + }, + "pull-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pull-stringify/-/pull-stringify-2.0.0.tgz", + "integrity": "sha1-Irox2pWvCIjg+1WSOLH6kVpqW2Q=", + "requires": { + "defined": "^1.0.0" + } + }, + "pull-through": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/pull-through/-/pull-through-1.0.18.tgz", + "integrity": "sha1-jdYjFCY+Wc9Qlur7sSeitu8xBzU=", + "requires": { + "looper": "~3.0.0" + } + }, + "pull-to-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pull-to-stream/-/pull-to-stream-0.1.1.tgz", + "integrity": "sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w==", + "requires": { + "readable-stream": "^3.1.1" + } + }, + "pull-traverse": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pull-traverse/-/pull-traverse-1.0.3.tgz", + "integrity": "sha1-dPtde+f6a9enjpeTPhmbeUWGaTg=" + }, + "pull-utf8-decoder": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pull-utf8-decoder/-/pull-utf8-decoder-1.0.2.tgz", + "integrity": "sha1-p6+iOE0eZBWl1gIFQSbMjeO8vOc=" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "pushdata-bitcoin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz", + "integrity": "sha1-FZMdPNlnreUiBvUjqnMxrvfUOvc=", + "requires": { + "bitcoin-ops": "^1.3.0" + } + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==" + }, + "qs": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==" + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "queue-microtask": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.1.2.tgz", + "integrity": "sha512-F9wwNePtXrzZenAB3ax0Y8TSKGvuB7Qw16J30hspEUTbfUM+H827XyN3rlpwhVmtm5wuZtbKIHjOnwDn7MUxWQ==" + }, + "quick-format-unescaped": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-3.0.3.tgz", + "integrity": "sha512-dy1yjycmn9blucmJLXOfZDx1ikZJUi6E8bBZLnhPG5gBrVhHXx2xVyqqgKBubVNEXmx51dBACMHpoMQK/N/AXQ==" + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=" + }, + "rabin-wasm": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/rabin-wasm/-/rabin-wasm-0.0.8.tgz", + "integrity": "sha512-TpIki3NG/X7nPnYHtYdF4Vp5NLrHvztiM5oL8+9NoeX/ClUfUyy7Y7DMrESZl1ropCpZJAjFMv/ZHYrkLu3bCQ==", + "requires": { + "assemblyscript": "github:assemblyscript/assemblyscript#v0.6", + "bl": "^1.0.0", + "debug": "^4.1.1", + "minimist": "^1.2.0", + "node-fetch": "^2.6.0", + "readable-stream": "^2.0.4" + }, + "dependencies": { + "assemblyscript": { + "version": "github:assemblyscript/assemblyscript#3ed76a97f05335504166fce1653da75f4face28f", + "from": "github:assemblyscript/assemblyscript#v0.6", + "requires": { + "@protobufjs/utf8": "^1.1.0", + "binaryen": "77.0.0-nightly.20190407", + "glob": "^7.1.3", + "long": "^4.0.0", + "opencollective-postinstall": "^2.0.0", + "source-map-support": "^0.5.11" + } + }, + "bl": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + } + } + }, + "random-fs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/random-fs/-/random-fs-1.0.3.tgz", + "integrity": "sha1-8dMsUWaymTdj0dhCns4IW80YuU8=", + "requires": { + "bluebird": "^3.1.1", + "commander": "^2.9.0", + "lorem-ipsum": "^1.0.3", + "object-schemata": "^1.0.0", + "random-word": "^1.0.2", + "randomstring": "^1.1.3" + } + }, + "random-word": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/random-word/-/random-word-1.0.2.tgz", + "integrity": "sha1-sBMECqkyXF1nqXx7x2TxQ7GGj9s=", + "requires": { + "meow": "^3.1.0", + "unique-random-array": "^1.0.0", + "word-list": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "requires": { + "get-stdin": "^4.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "randomstring": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/randomstring/-/randomstring-1.1.5.tgz", + "integrity": "sha1-bfBij3XL1ZMpMNn+OrTpVqGFGMM=", + "requires": { + "array-uniq": "1.0.2" + }, + "dependencies": { + "array-uniq": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz", + "integrity": "sha1-X8w3OSB3VyPP1k1lxkvvU7+eum0=" + } + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", + "requires": { + "bytes": "1", + "string_decoder": "0.10" + }, + "dependencies": { + "bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=" + } + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "react-is": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", + "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==" + }, + "read-package-json": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.0.tgz", + "integrity": "sha512-KLhu8M1ZZNkMcrq1+0UJbR8Dii8KZUqB0Sha4mOx/bknfKI/fyrQVrG/YIt2UOtG667sD8+ee4EXMM91W9dC+A==", + "requires": { + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + } + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-6.0.0.tgz", + "integrity": "sha512-odtTvLl+EXo1eTsMnoUHRmg/XmXdTkwXVxy4VFE9Kp6cCq7b3l7QMdBndND3eAFzrbSAXC/WCUOQQ9rLjifKZw==", + "requires": { + "find-up": "^4.0.0", + "read-pkg": "^5.1.1", + "type-fest": "^0.5.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "type-fest": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", + "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==" + } + } + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "readable-stream-buffer-stream": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/readable-stream-buffer-stream/-/readable-stream-buffer-stream-0.0.2.tgz", + "integrity": "sha512-0sMLKsnGRLujkfzUSDlTTCwmG192vnMh7gHwM3vsS6iJFhcnbhWOao5aKsPbfsuziZsw1IdvcvwvpcE85EXXJg==" + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "receptacle": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", + "requires": { + "ms": "^2.1.1" + } + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" + }, + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "requires": { + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" + }, + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + } + }, + "registry-auth-token": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.0.0.tgz", + "integrity": "sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw==", + "requires": { + "rc": "^1.2.8", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "requires": { + "rc": "^1.2.8" + } + }, + "regjsgen": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==" + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } + } + }, + "relative-url": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/relative-url/-/relative-url-1.0.2.tgz", + "integrity": "sha1-0hxSpy1gYQGLzun5yfwQa/fWUoc=" + }, + "release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "requires": { + "es6-error": "^4.0.1" + } + }, + "remark": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz", + "integrity": "sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==", + "requires": { + "remark-parse": "^5.0.0", + "remark-stringify": "^5.0.0", + "unified": "^6.0.0" + } + }, + "remark-html": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-8.0.0.tgz", + "integrity": "sha512-3V2391GL3hxKhrkzYOyfPpxJ6taIKLCfuLVqumeWQOk3H9nTtSQ8St8kMYkBVIEAquXN1chT83qJ/2lAW+dpEg==", + "requires": { + "hast-util-sanitize": "^1.0.0", + "hast-util-to-html": "^4.0.0", + "mdast-util-to-hast": "^3.0.0", + "xtend": "^4.0.1" + } + }, + "remark-parse": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz", + "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==", + "requires": { + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^1.1.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^1.0.0", + "vfile-location": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "remark-reference-links": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/remark-reference-links/-/remark-reference-links-4.0.4.tgz", + "integrity": "sha512-+2X8hwSQqxG4tvjYZNrTcEC+bXp8shQvwRGG6J/rnFTvBoU4G0BBviZoqKGZizLh/DG+0gSYhiDDWCqyxXW1iQ==", + "requires": { + "unist-util-visit": "^1.0.0" + } + }, + "remark-slug": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.1.2.tgz", + "integrity": "sha512-DWX+Kd9iKycqyD+/B+gEFO3jjnt7Yg1O05lygYSNTe5i5PIxxxPjp5qPBDxPIzp5wreF7+1ROCwRgjEcqmzr3A==", + "requires": { + "github-slugger": "^1.0.0", + "mdast-util-to-string": "^1.0.0", + "unist-util-visit": "^1.0.0" + } + }, + "remark-stringify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz", + "integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==", + "requires": { + "ccount": "^1.0.0", + "is-alphanumeric": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "longest-streak": "^2.0.1", + "markdown-escapes": "^1.0.0", + "markdown-table": "^1.1.0", + "mdast-util-compact": "^1.0.0", + "parse-entities": "^1.0.2", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "stringify-entities": "^1.0.1", + "unherit": "^1.0.4", + "xtend": "^4.0.1" + } + }, + "remark-toc": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/remark-toc/-/remark-toc-5.1.1.tgz", + "integrity": "sha512-vCPW4YOsm2CfyuScdktM9KDnJXVHJsd/ZeRtst+dnBU3B3KKvt8bc+bs5syJjyptAHfqo7H+5Uhz+2blWBfwow==", + "requires": { + "mdast-util-toc": "^3.0.0", + "remark-slug": "^5.0.0" + } + }, + "remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "requires": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + } + } + }, + "remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "requires": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "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" + }, + "dependencies": { + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resolve": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz", + "integrity": "sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-bin": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/resolve-bin/-/resolve-bin-0.4.0.tgz", + "integrity": "sha1-RxMiSYkRAa+xmZH+k3ywpfBy5dk=", + "requires": { + "find-parent-dir": "~0.3.0" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "requires": { + "global-dirs": "^0.1.1" + } + }, + "resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "requires": { + "value-or-function": "^3.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retimer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-2.0.0.tgz", + "integrity": "sha512-KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg==" + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rfdc": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", + "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==" + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rlp": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.4.tgz", + "integrity": "sha512-fdq2yYCWpAQBhwkZv+Z8o/Z4sPmYm1CUq6P7n6lVTOdb949CnqA0sndXal5C1NleSVSZm6q5F3iEbauyVln/iw==", + "requires": { + "bn.js": "^4.11.1" + } + }, + "rsa-pem-to-jwk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", + "integrity": "sha1-JF52vbfnI0z+58oDLTG1TDj6uY4=", + "requires": { + "object-assign": "^2.0.0", + "rsa-unpack": "0.0.6" + }, + "dependencies": { + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" + } + } + }, + "rsa-unpack": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", + "integrity": "sha1-9Q69VqYoN45jHylxYQJs6atO3bo=", + "requires": { + "optimist": "~0.3.5" + }, + "dependencies": { + "optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "requires": { + "wordwrap": "~0.0.2" + } + } + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "requires": { + "is-promise": "^2.1.0" + }, + "dependencies": { + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + } + } + }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "requires": { + "aproba": "^1.1.1" + } + }, + "rust-result": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rust-result/-/rust-result-1.0.0.tgz", + "integrity": "sha1-NMdbLm3Dn+WHXlveyFteD5FTb3I=", + "requires": { + "individual": "^2.0.0" + } + }, + "rxjs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + }, + "safe-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=" + }, + "safe-json-stringify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "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==" + }, + "sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "requires": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "secp256k1": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.7.1.tgz", + "integrity": "sha512-1cf8sbnRreXrQFdH6qsg2H71Xw91fCCS9Yp021GnUNJzWJS/py96fS4lHbnTnouLp08Xj6jBoBB6V78Tdbdu5g==", + "requires": { + "bindings": "^1.5.0", + "bip66": "^1.1.5", + "bn.js": "^4.11.8", + "create-hash": "^1.2.0", + "drbg.js": "^1.0.1", + "elliptic": "^6.4.1", + "nan": "^2.14.0", + "safe-buffer": "^5.1.2" + } + }, + "semaphore": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", + "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "requires": { + "semver": "^5.0.3" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "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==" + } + } + }, + "serialize-javascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.0.tgz", + "integrity": "sha512-a/mxFfU00QT88umAJQsNWOnUKckhNCqOl028N48e7wFmo2/EHpTo9Wso+iJJCMrQnmFvcjto5RJdAHEvVhcyUQ==" + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^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=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shortid": { + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.15.tgz", + "integrity": "sha512-5EaCy2mx2Jgc/Fdn9uuDuNIIfWBpzY4XIlhoqtXF6qsf+/+SGZ+FxDdX/ZsMZiWupIWNqAEmiNY4RC+LSmCeOw==", + "requires": { + "nanoid": "^2.1.0" + } + }, + "shot": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/shot/-/shot-3.4.2.tgz", + "integrity": "sha1-Hlw/bysmZJrcQvfrNQIUpaApHWc=", + "requires": { + "hoek": "4.x.x", + "joi": "10.x.x" + }, + "dependencies": { + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + }, + "joi": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", + "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", + "requires": { + "hoek": "4.x.x", + "isemail": "2.x.x", + "items": "2.x.x", + "topo": "2.x.x" + } + } + } + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "signed-varint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", + "integrity": "sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk=", + "requires": { + "varint": "~5.0.0" + } + }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" + }, + "simple-get": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", + "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", + "requires": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + }, + "dependencies": { + "decompress-response": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "requires": { + "mimic-response": "^2.0.0" + } + }, + "mimic-response": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.0.0.tgz", + "integrity": "sha512-8ilDoEapqA4uQ3TwS0jakGONKXVJqpy+RpM+3b7pLdOjghCrEiGp9SRkFbUHAmZW9vdnrENWHjaweIoTIJExSQ==" + } + } + }, + "simple-git": { + "version": "1.126.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.126.0.tgz", + "integrity": "sha512-47mqHxgZnN8XRa9HbpWprzUv3Ooqz9RY/LSZgvA7jCkW8jcwLahMz7LKugY91KZehfG0sCVPtgXiU72hd6b1Bw==", + "requires": { + "debug": "^4.0.1" + } + }, + "simple-peer": { + "version": "9.6.2", + "resolved": "https://registry.npmjs.org/simple-peer/-/simple-peer-9.6.2.tgz", + "integrity": "sha512-EOKoImCaqtNvXIntxT1CBBK/3pVi7tMAoJ3shdyd9qk3zLm3QPiRLb/sPC1G2xvKJkJc5fkQjCXqRZ0AknwTig==", + "requires": { + "debug": "^4.0.1", + "get-browser-rtc": "^1.0.0", + "queue-microtask": "^1.1.0", + "randombytes": "^2.0.3", + "readable-stream": "^3.4.0" + } + }, + "single-line-log": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", + "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", + "requires": { + "string-width": "^1.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "sinon": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-7.5.0.tgz", + "integrity": "sha512-AoD0oJWerp0/rY9czP/D6hDTTUYGpObhZjMpd7Cl/A6+j0xBE+ayL/ldfggkBXUs0IkvIiM1ljM8+WkOc5k78Q==", + "requires": { + "@sinonjs/commons": "^1.4.0", + "@sinonjs/formatio": "^3.2.1", + "@sinonjs/samsam": "^3.3.3", + "diff": "^3.5.0", + "lolex": "^4.2.0", + "nise": "^1.5.2", + "supports-color": "^5.5.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "smart-buffer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "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": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.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==", + "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==", + "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==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "socket.io": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", + "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", + "requires": { + "debug": "~4.1.0", + "engine.io": "~3.4.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.3.0", + "socket.io-parser": "~3.4.0" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "socket.io-parser": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.0.tgz", + "integrity": "sha512-/G/VOI+3DBp0+DJKW4KesGnQkQPFmUCbA/oO2QGT6CWxU7hLGWqU3tyuzeSK/dqcyeHsQg1vTe9jiZI8GU9SCQ==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "isarray": "2.0.1" + } + } + } + }, + "socket.io-adapter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", + "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" + }, + "socket.io-client": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", + "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "socket.io-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", + "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + } + } + }, + "socket.io-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", + "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "socket.io-pull-stream": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/socket.io-pull-stream/-/socket.io-pull-stream-0.1.5.tgz", + "integrity": "sha512-lcC2se3iAS33xYGnTDSzYW9P4RPVEgcqACCH7Mawy+2go0Wmx3y72PXGv7KI6Vz1YFcOz7np58FqOnZ/iUCbdg==", + "requires": { + "data-queue": "0.0.3", + "debug": "^3.1.0", + "pull-stream": "^3.6.2", + "uuid": "^3.2.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "somever": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/somever/-/somever-1.0.1.tgz", + "integrity": "sha512-PCDMBcega4n7wuBUKmkiXidF3cOwtHHGg2qJYl0Rkw7StZqORoCgqce7HUuWNta/NAiQhwLDezNnTANxEWPCGA==", + "requires": { + "hoek": "4.x.x" + }, + "dependencies": { + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "sonic-boom": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-0.7.6.tgz", + "integrity": "sha512-k9E2QQ4zxuVRLDW+ZW6ISzJs3wlEorVdmM7ApDgor7wsGKSDG5YGHsGmgLY4XYh4DMlr/2ap2BWAE7yTFJtWnQ==", + "requires": { + "flatstr": "^1.0.12" + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "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" + } + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "space-separated-tokens": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz", + "integrity": "sha512-UyhMSmeIqZrQn2UdjYpxEkwY9JUrn8pP+7L4f91zRzOQuI8MF1FGLfYU9DKCYeLdo7LXMxwrX5zKFy7eeeVHuA==" + }, + "sparse-array": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/sparse-array/-/sparse-array-1.3.2.tgz", + "integrity": "sha512-ZT711fePGn3+kQyLuv1fpd3rNSkNF8vd5Kv2D+qnOANeyKs3fx6bUMGWRPvgTTcYV64QMqZKZwcuaQSP3AZ0tg==" + }, + "spawn-wrap": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz", + "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==", + "requires": { + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" + }, + "speedometer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz", + "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=" + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "requires": { + "through": "2" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "requires": { + "through2": "^2.0.2" + } + }, + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "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" + }, + "dependencies": { + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + } + } + }, + "ssri": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", + "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", + "requires": { + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "state-toggle": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz", + "integrity": "sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==" + }, + "statehood": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/statehood/-/statehood-5.0.4.tgz", + "integrity": "sha512-6/feFLqqHylvA/dHwJA0DgXvbEcKgbhRUeljsuu6+cIr8PO88nax7Wc+celZlPTncqT2arsxXL8P329Q1yfe9Q==", + "requires": { + "boom": "5.x.x", + "bourne": "1.x.x", + "cryptiles": "3.x.x", + "hoek": "4.x.x", + "iron": "4.x.x", + "items": "2.x.x", + "joi": "12.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + }, + "isemail": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", + "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", + "requires": { + "punycode": "2.x.x" + } + }, + "joi": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-12.0.0.tgz", + "integrity": "sha512-z0FNlV4NGgjQN1fdtHYXf5kmgludM65fG/JlXzU6+rwkt9U5UWuXVYnXa2FpK0u6+qBuCmrm5byPNuiiddAHvQ==", + "requires": { + "hoek": "4.x.x", + "isemail": "3.x.x", + "topo": "2.x.x" + } + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stats-webpack-plugin": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/stats-webpack-plugin/-/stats-webpack-plugin-0.7.0.tgz", + "integrity": "sha512-NT0YGhwuQ0EOX+uPhhUcI6/+1Sq/pMzNuSCBVT4GbFl/ac6I/JZefBcjlECNfAb1t3GOx5dEj1Z7x0cAxeeVLQ==", + "requires": { + "lodash": "^4.17.4" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stream-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/stream-array/-/stream-array-1.1.2.tgz", + "integrity": "sha1-nl9zRfITfDDuO0mLkRToC1K7frU=", + "requires": { + "readable-stream": "~2.1.0" + }, + "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + } + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "requires": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.0.tgz", + "integrity": "sha512-cuB6RgO7BqC4FBYzmnvhob5Do3wIdIsXAgGycHJnW+981gHqoYcYz9lqjJrk8WXRddbwPuqPYRl+bag6mYv4lw==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^3.0.6", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + }, + "stream-to-array": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/stream-to-array/-/stream-to-array-2.3.0.tgz", + "integrity": "sha1-u/azn19D7DC8cbq8s3VXrOzzQ1M=", + "requires": { + "any-promise": "^1.1.0" + } + }, + "stream-to-blob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-to-blob/-/stream-to-blob-2.0.0.tgz", + "integrity": "sha512-E+YitTtIHo7RQ4Cmgl+EzlMpqvLroTynRgt4t0pI4y5oz/piqlBQB8NFXLIWcjGOsKw+THnImrdpWcOCVxK25Q==" + }, + "stream-to-promise": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-to-promise/-/stream-to-promise-2.2.0.tgz", + "integrity": "sha1-se2y4cjLESidG1A8CNPyrvUeZQ8=", + "requires": { + "any-promise": "~1.3.0", + "end-of-stream": "~1.1.0", + "stream-to-array": "~2.3.0" + }, + "dependencies": { + "end-of-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", + "integrity": "sha1-6TUyWLqpEIll78QcsO+K3i88+wc=", + "requires": { + "once": "~1.3.0" + } + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "requires": { + "wrappy": "1" + } + } + } + }, + "stream-to-pull-stream": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", + "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", + "requires": { + "looper": "^3.0.0", + "pull-stream": "^3.2.3" + } + }, + "streaming-iterables": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/streaming-iterables/-/streaming-iterables-4.1.1.tgz", + "integrity": "sha512-1KDZL6lgbFEfkFZ4k4eX5GscE9jAhJO+9YP6wrhgLO6VADNQr4pYpbOLV5VLBdlR/fCoEO2aXBjEeb+1aIGXGw==" + }, + "streamroller": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.6.tgz", + "integrity": "sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg==", + "requires": { + "async": "^2.6.2", + "date-format": "^2.0.0", + "debug": "^3.2.6", + "fs-extra": "^7.0.1", + "lodash": "^4.17.14" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "strftime": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/strftime/-/strftime-0.10.0.tgz", + "integrity": "sha1-s/D6QZKVICpaKJ9ta+n0kJphcZM=" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "string.prototype.trimleft": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "stringify-entities": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz", + "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==", + "requires": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=" + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "strip-url-auth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", + "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=" + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "requires": { + "minimist": "^1.1.0" + } + }, + "subtext": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/subtext/-/subtext-5.0.1.tgz", + "integrity": "sha512-zH/jaUKJ/bkrTpEe3zuTFIRnqAwv5xcGpXA2JaxEc30KRAT4k78jZnRqM45snjBSZAuvpI8chRUh1VZprcUVfw==", + "requires": { + "boom": "5.x.x", + "bourne": "1.x.x", + "content": "3.x.x", + "hoek": "4.x.x", + "pez": "2.x.x", + "wreck": "12.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "sumchecker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz", + "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=", + "requires": { + "debug": "^2.2.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "superagent": { + "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-4.0.0-beta.5.tgz", + "integrity": "sha512-v4FTm6kg6zJOfLcot9kCTcWy/wjD/hvtUXWcv0Pd8TlUqxKDctif2rtDPRb4gW6Df9MMXU1BHB+1z5U2VFVsYg==", + "requires": { + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.2", + "debug": "^4.0.0", + "form-data": "^2.3.2", + "formidable": "^1.2.0", + "methods": "^1.1.1", + "mime": "^2.0.3", + "qs": "^6.5.1", + "readable-stream": "^3.0.3" + }, + "dependencies": { + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + } + } + }, + "superstruct": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.6.2.tgz", + "integrity": "sha512-lvA97MFAJng3rfjcafT/zGTSWm6Tbpk++DP6It4Qg7oNaeM+2tdJMuVgGje21/bIpBEs6iQql1PJH6dKTjl4Ig==", + "requires": { + "clone-deep": "^2.0.1", + "kind-of": "^6.0.1" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "^2.0.0" + }, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + } + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + }, + "tar-fs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz", + "integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==", + "requires": { + "chownr": "^1.1.1", + "mkdirp": "^0.5.1", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + } + }, + "tar-stream": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.0.tgz", + "integrity": "sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==", + "requires": { + "bl": "^3.0.0", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "bl": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz", + "integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==", + "requires": { + "readable-stream": "^3.0.1" + } + } + } + }, + "tdigest": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.1.tgz", + "integrity": "sha1-Ljyyw56kSeVdHmzZEReszKRYgCE=", + "requires": { + "bintrees": "1.0.1" + } + }, + "teeny-request": { + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-3.11.3.tgz", + "integrity": "sha512-CKncqSF7sH6p4rzCgkb/z/Pcos5efl0DmolzvlqRQUNcpRIruOhY9+T1FsIlyEbfWd7MsFpodROOwHYh2BaXzw==", + "requires": { + "https-proxy-agent": "^2.2.1", + "node-fetch": "^2.2.0", + "uuid": "^3.3.2" + } + }, + "temp": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.1.tgz", + "integrity": "sha512-WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA==", + "requires": { + "rimraf": "~2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" + }, + "temp-write": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz", + "integrity": "sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw==", + "requires": { + "graceful-fs": "^4.1.15", + "is-stream": "^2.0.0", + "make-dir": "^3.0.0", + "temp-dir": "^1.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "requires": { + "semver": "^6.0.0" + } + } + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "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" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "terser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.4.1.tgz", + "integrity": "sha512-e05giplw+8sIYh50qXYHZmr0b76O5dOSm9JwSDebGFLri4ItYzxsnumiAK+yuI56R+H7uIjT9KbVEKNkrprzHw==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + }, + "terser-webpack-plugin": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.2.1.tgz", + "integrity": "sha512-jwdauV5Al7zopR6OAYvIIRcxXCSvLjZjr7uZE8l2tIWb/ryrGN48sJftqGf5k9z09tWhajx53ldp0XPI080YnA==", + "requires": { + "cacache": "^13.0.1", + "find-cache-dir": "^3.0.0", + "jest-worker": "^24.9.0", + "schema-utils": "^2.5.0", + "serialize-javascript": "^2.1.0", + "source-map": "^0.6.1", + "terser": "^4.3.9", + "webpack-sources": "^1.4.3" + }, + "dependencies": { + "find-cache-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.1.0.tgz", + "integrity": "sha512-zw+EFiNBNPgI2NTrKkDd1xd7q0cs6wr/iWnr/oUkI0yF9K9GqQ+riIt4aiyFaaqpaWbxPrJXHI+QvmNUQbX+0Q==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.0", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "requires": { + "semver": "^6.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + } + }, + "schema-utils": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.1.tgz", + "integrity": "sha512-0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg==", + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + } + } + }, + "test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "requires": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + }, + "dependencies": { + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + } + } + }, + "text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==" + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "throttleit": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", + "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "time-cache": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/time-cache/-/time-cache-0.3.0.tgz", + "integrity": "sha1-7Q388P2kXNyV+9YB/agw6/G9XYs=", + "requires": { + "lodash.throttle": "^4.1.1" + } + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timestamp-nano": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/timestamp-nano/-/timestamp-nano-1.0.0.tgz", + "integrity": "sha512-NO/1CZigzlCWQiWdIGv8ebXt6Uk77zdLz2NE7KcZRU5Egj2+947lzUpk30xQUQlq5dRY25j7ZulG4RfA2DHYfA==" + }, + "tiny-each-async": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tiny-each-async/-/tiny-each-async-2.0.3.tgz", + "integrity": "sha1-jru/1tYpXxNwAD+7NxYq/loKUdE=" + }, + "tiny-lr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", + "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", + "requires": { + "body": "^5.1.0", + "debug": "^3.1.0", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.3.0", + "object-assign": "^4.1.0", + "qs": "^6.4.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "tiny-secp256k1": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-1.1.3.tgz", + "integrity": "sha512-ZpobrhOtHP98VYEN51IYQH1YcrbFpnxFhI6ceWa3OEbJn7eHvSd8YFjGPxbedGCy7PNYU1v/+BRsdvyr5uRd4g==", + "requires": { + "bindings": "^1.3.0", + "bn.js": "^4.11.8", + "create-hmac": "^1.1.7", + "elliptic": "^6.4.0", + "nan": "^2.13.2" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "requires": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "requires": { + "through2": "^2.0.3" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "topo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz", + "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=", + "requires": { + "hoek": "4.x.x" + }, + "dependencies": { + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "tough-cookie": { + "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==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "transform-loader": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/transform-loader/-/transform-loader-0.2.4.tgz", + "integrity": "sha1-5ch4d7qW1R0/IlNoWHtG4ibRzsk=", + "requires": { + "loader-utils": "^1.0.2" + } + }, + "traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=" + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" + }, + "trim-lines": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.2.tgz", + "integrity": "sha512-3GOuyNeTqk3FAqc3jOJtw7FTjYl94XBR5aD9QnDbK/T4CA9sW/J0l9RoaRPE9wyPP7NF331qnHnvJFBJ+IDkmQ==" + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=" + }, + "trim-off-newlines": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", + "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=" + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "trim-trailing-lines": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz", + "integrity": "sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==" + }, + "trough": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.4.tgz", + "integrity": "sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==" + }, + "truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "requires": { + "utf8-byte-length": "^1.0.1" + } + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.1.tgz", + "integrity": "sha512-kcoMoKTPYnoeS50tzoqjPY3Uv9axeuuFAZY9M/9zFnhoVvRfxz9K29IMPD7jGmt2c8SW7i3gT9WqDl2+nV7p4A==" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typeforce": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/typeforce/-/typeforce-1.18.0.tgz", + "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==" + }, + "typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==" + }, + "uglify-js": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.1.tgz", + "integrity": "sha512-pnOF7jY82wdIhATVn87uUY/FHU+MDUdPLkmGFvGoclQmeu229eTkbG5gjGGBi3R7UuYYSEeYXY/TTY5j2aym2g==", + "optional": true, + "requires": { + "commander": "~2.20.3", + "source-map": "~0.6.1" + } + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" + }, + "unherit": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz", + "integrity": "sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==", + "requires": { + "inherits": "^2.0.1", + "xtend": "^4.0.1" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==" + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==" + }, + "unified": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz", + "integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^1.1.0", + "trough": "^1.0.0", + "vfile": "^2.0.0", + "x-is-string": "^0.1.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "vfile": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz", + "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==", + "requires": { + "is-buffer": "^1.1.4", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^1.0.0", + "vfile-message": "^1.0.0" + } + } + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-by": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-by/-/unique-by-1.0.0.tgz", + "integrity": "sha1-UiDIa6e8Vy+3E610ZRRwy2RCEr0=" + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-random": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-random/-/unique-random-1.0.0.tgz", + "integrity": "sha1-zj4iTIJCzTOg53sNcYDXfmti0MQ=" + }, + "unique-random-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unique-random-array/-/unique-random-array-1.0.1.tgz", + "integrity": "sha512-z9J/SV8CUIhIRROcHe9YUoAT6XthUJt0oUyLGgobiXJprDP9O9dsErNevvSaAv5BkhwFEVPn6nIEOKeNE6Ck1Q==", + "requires": { + "unique-random": "^1.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "requires": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "unist-builder": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.4.tgz", + "integrity": "sha512-v6xbUPP7ILrT15fHGrNyHc1Xda8H3xVhP7/HAIotHOhVPjH5dCXA097C3Rry1Q2O+HbOLCao4hfPB+EYEjHgVg==", + "requires": { + "object-assign": "^4.1.0" + } + }, + "unist-util-generated": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.5.tgz", + "integrity": "sha512-1TC+NxQa4N9pNdayCYA1EGUOCAO0Le3fVp7Jzns6lnua/mYgwHo0tz5WUAfrdpNch1RZLHc61VZ1SDgrtNXLSw==" + }, + "unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", + "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" + }, + "unist-util-position": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.4.tgz", + "integrity": "sha512-tWvIbV8goayTjobxDIr4zVTyG+Q7ragMSMeKC3xnPl9xzIc0+she8mxXLM3JVNDDsfARPbCd3XdzkyLdo7fF3g==" + }, + "unist-util-remove-position": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", + "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "unist-util-stringify-position": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", + "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==" + }, + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + }, + "unist-util-visit-parents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", + "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", + "requires": { + "unist-util-is": "^3.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "unzip-stream": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unzip-stream/-/unzip-stream-0.3.0.tgz", + "integrity": "sha512-NG1h/MdGIX3HzyqMjyj1laBCmlPYhcO4xEy7gEqqzGiSLw7XqDQCnY4nYSn5XSaH8mQ6TFkaujrO8d/PIZN85A==", + "requires": { + "binary": "^0.3.0", + "mkdirp": "^0.5.1" + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "update-notifier": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.1.tgz", + "integrity": "sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==", + "requires": { + "boxen": "^3.0.0", + "chalk": "^2.0.1", + "configstore": "^4.0.0", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.1.0", + "is-npm": "^3.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "uri-to-multiaddr": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/uri-to-multiaddr/-/uri-to-multiaddr-3.0.1.tgz", + "integrity": "sha512-77slJiNB/IxM35zgflBEgp8T8ywpyYAbEh8Ezdnq7kAuA6TRg6wfvNTi4Uixfh6CsPv9K2fAkI5+E4C2dw3tXA==", + "requires": { + "is-ip": "^2.0.0", + "multiaddr": "^6.0.3" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, + "urlgrey": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", + "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=" + }, + "ursa-optional": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.1.tgz", + "integrity": "sha512-/pgpBXVJut57dHNrdGF+1/qXi+5B7JrlmZDWPSyoivEcbwFWRZJBJGkWb6ivknMBA3bnFA7lqsb6iHiFfp79QQ==", + "requires": { + "bindings": "^1.5.0", + "nan": "^2.14.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "useragent": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", + "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", + "requires": { + "lru-cache": "4.1.x", + "tmp": "0.0.x" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=" + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validator": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz", + "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==" + }, + "value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=" + }, + "varint": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.0.tgz", + "integrity": "sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=" + }, + "varint-decoder": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/varint-decoder/-/varint-decoder-0.1.1.tgz", + "integrity": "sha1-YT1i8HHX51dqIO/RbvTB4zWg3f0=", + "requires": { + "varint": "^5.0.0" + } + }, + "varuint-bitcoin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz", + "integrity": "sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw==", + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vfile": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.0.2.tgz", + "integrity": "sha512-yhoTU5cDMSsaeaMfJ5g0bUKYkYmZhAh9fn9TZicxqn+Cw4Z439il2v3oT9S0yjlpqlI74aFOQCt3nOV+pxzlkw==", + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "dependencies": { + "unist-util-stringify-position": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz", + "integrity": "sha512-nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA==", + "requires": { + "@types/unist": "^2.0.2" + } + }, + "vfile-message": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.2.tgz", + "integrity": "sha512-gNV2Y2fDvDOOqq8bEe7cF3DXU6QgV4uA9zMR2P8tix11l1r7zju3zry3wZ8sx+BEfuO6WQ7z2QzfWTvqHQiwsA==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + } + } + }, + "vfile-location": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", + "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==" + }, + "vfile-message": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", + "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", + "requires": { + "unist-util-stringify-position": "^1.1.1" + } + }, + "vfile-reporter": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-6.0.0.tgz", + "integrity": "sha512-8Is0XxFxWJUhPJdOg3CyZTqd3ICCWg6r304PuBl818ZG91h4FMS3Q+lrOPS+cs5/DZK3H0+AkJdH0J8JEwKtDA==", + "requires": { + "repeat-string": "^1.5.0", + "string-width": "^4.0.0", + "supports-color": "^6.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-sort": "^2.1.2", + "vfile-statistics": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "unist-util-stringify-position": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz", + "integrity": "sha512-nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA==", + "requires": { + "@types/unist": "^2.0.2" + } + } + } + }, + "vfile-sort": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.2.1.tgz", + "integrity": "sha512-5dt7xEhC44h0uRQKhbM2JAe0z/naHphIZlMOygtMBM9Nn0pZdaX5fshhwWit9wvsuP8t/wp43nTDRRErO1WK8g==" + }, + "vfile-statistics": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.3.tgz", + "integrity": "sha512-CstaK/ebTz1W3Qp41Bt9Lj/2DmumFsCwC2sKahDNSPh0mPh7/UyMLCoU8ZBX34CRU0d61B4W41yIFsV0NKMZeA==" + }, + "vinyl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", + "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "requires": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "requires": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "vise": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/vise/-/vise-2.0.2.tgz", + "integrity": "sha1-awjo+0y3bjpQzW3Q7DczjoEaDTk=", + "requires": { + "hoek": "4.x.x" + }, + "dependencies": { + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" + }, + "vue-template-compiler": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz", + "integrity": "sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==", + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "webcrypto": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/webcrypto/-/webcrypto-0.1.1.tgz", + "integrity": "sha512-BAvoatS38TbHdyt42ECLroi27NmDh5iea5l5rHC6nZTZjlbJlndrT0FoIiEq7fmPHpmNtP0lMFKVMEKZQFIrGA==", + "requires": { + "crypto-browserify": "^3.10.0", + "detect-node": "^2.0.3" + } + }, + "webpack": { + "version": "4.41.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz", + "integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.1", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==" + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==" + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "terser-webpack-plugin": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.6.0.tgz", + "integrity": "sha512-orUfvVYEfBMDXgEKAKVvab5iQ2wXneIEorGNsyuOyVYpjYrI7CUOhhXNDd3huMwQ3vNNWWlGP+hzflMFYNzi2g==", + "requires": { + "acorn": "^6.0.7", + "acorn-walk": "^6.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.15", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "dependencies": { + "acorn": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==" + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "webpack-cli": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.10.tgz", + "integrity": "sha512-u1dgND9+MXaEt74sJR4PR7qkPxXUSQ0RXYq8x1L6Jg1MYVEmGPrH6Ah6C4arD4r0J1P5HKjRqpab36k0eIzPqg==", + "requires": { + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" + }, + "dependencies": { + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==" + }, + "yargs": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + } + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "requires": { + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=" + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "wif": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz", + "integrity": "sha1-CNP1IFbGZnkplyb63g1DKudLRwQ=", + "requires": { + "bs58check": "<3.0.0" + } + }, + "word-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/word-list/-/word-list-1.0.1.tgz", + "integrity": "sha1-hMT+O5GHrNMQ9TyRtAwW+FnQE7s=" + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "wreck": { + "version": "12.5.1", + "resolved": "https://registry.npmjs.org/wreck/-/wreck-12.5.1.tgz", + "integrity": "sha512-l5DUGrc+yDyIflpty1x9XuMj1ehVjC/dTbF3/BasOO77xk0EdEa4M/DuOY8W88MQDAD0fEDqyjc8bkIMHd2E9A==", + "requires": { + "boom": "5.x.x", + "hoek": "4.x.x" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "requires": { + "hoek": "4.x.x" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" + } + } + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "x-is-string": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", + "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=" + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" + }, + "xmlbuilder": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", + "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=" + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" + }, + "xor-distance": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xor-distance/-/xor-distance-2.0.0.tgz", + "integrity": "sha512-AsAqZfPAuWx7qB/0kyRDUEvoU3QKsHWzHU9smFlkaiprEpGfJ/NBbLze2Uq0rdkxCxkNM9uOLvz/KoNBCbZiLQ==" + }, + "xsalsa20": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.1.0.tgz", + "integrity": "sha512-zd3ytX2cm+tcSndRU+krm0eL4TMMpZE7evs5hLRAoOy6gviqLfe3qOlkjF3i5SeAkQUCeJk0lJZrEU56kHRfWw==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yargs": { + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.2.tgz", + "integrity": "sha512-/4ld+4VV5RnrynMhPZJ/ZpOCGSCeghMykZ3BhdFBDa9Wy/RH6uEGNWDJog+aUlq+9OM1CFTgtYRW5Is1Po9NOA==", + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.0" + }, + "dependencies": { + "yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "yargs-parser": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-14.0.0.tgz", + "integrity": "sha512-zn/Mnx+tbFjkCFUodEpjXckNS65NfpB5oyqOkDDEG/8uxlfLZJu2IoBLQFjukUkn9rBbGkVYNzrDh6qy4NUd3g==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yargs-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/yargs-promise/-/yargs-promise-1.1.0.tgz", + "integrity": "sha1-l+u1GY33NLs7EXRRM65bUBsWqx8=" + }, + "yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "requires": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + }, + "dependencies": { + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "requires": { + "fd-slicer": "~1.0.1" + } + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + }, + "zcash-bitcore-lib": { + "version": "0.13.20-rc3", + "resolved": "https://registry.npmjs.org/zcash-bitcore-lib/-/zcash-bitcore-lib-0.13.20-rc3.tgz", + "integrity": "sha1-gToPVtz4t2vBQplRvqbRI2xQcAg=", + "requires": { + "bn.js": "=2.0.4", + "bs58": "=2.0.0", + "buffer-compare": "=1.0.0", + "elliptic": "=3.0.3", + "inherits": "=2.0.1", + "lodash": "=3.10.1" + }, + "dependencies": { + "bn.js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-2.0.4.tgz", + "integrity": "sha1-Igp81nf38b+pNif/QZN3b+eBlIA=" + }, + "bs58": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-2.0.0.tgz", + "integrity": "sha1-crcTvtIjoKxRi72g484/SBfznrU=" + }, + "buffer-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-compare/-/buffer-compare-1.0.0.tgz", + "integrity": "sha1-rKp6lm6Y7un64Usxw5pfFY+zxKI=" + }, + "elliptic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-3.0.3.tgz", + "integrity": "sha1-hlybQgv75VAGuflp+XoNLESWZZU=", + "requires": { + "bn.js": "^2.0.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "inherits": "^2.0.1" + }, + "dependencies": { + "brorand": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.0.5.tgz", + "integrity": "sha1-B7VMowKGq9Fxig4qgwgD79yb+gQ=" + }, + "hash.js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz", + "integrity": "sha1-EzL/ABVsCg/92CNgE9B7d6BFFXM=", + "requires": { + "inherits": "^2.0.1" + } + } + } + }, + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + } + } + }, + "zcash-block": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/zcash-block/-/zcash-block-2.0.0.tgz", + "integrity": "sha512-I6pv5b+eGE8CJFmltR+ILHnGcnBO8olV78VicQIaWulMhkomlwDmaMeMshJRLPcnd0FBs58QQVcVNBOT9ojH6Q==", + "requires": { + "multihashing": "~0.3.3" + } + } + } + }, + "ipfs-block": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.7.1.tgz", + "integrity": "sha512-ABZS9J/+OaDwc10zu6pIVdxWnOD/rkPEravk7FRVuRep7/zKSjffNhO/WuHN7Ex+MOBMz7mty0e+i6xjGnRsRQ==", + "requires": { + "cids": "^0.5.3", + "class-is": "^1.1.0" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "cids": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.5.8.tgz", + "integrity": "sha512-Ye8TZP3YQfy0j+i5k+LPHdTY3JOvTwN1pxds44p6BRUv8PTMOAF/Vt4Bc+oiIQ0Sktn0iftkUHgqKNHIMwhshA==", + "requires": { + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "~0.5.0", + "multihashes": "~0.4.14" + } + }, + "multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "multicodec": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", + "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "requires": { + "varint": "^5.0.0" + } + } + } + }, + "ipfs-did-document": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/ipfs-did-document/-/ipfs-did-document-1.2.3.tgz", + "integrity": "sha512-LLcmDbj9m+kBS8srL1Mq3oOgSOuqTe9lyj70DhjQkd+T+4xj1plkiYanbB6w600e/XOHnGxbbOkKYOpRs0vpgw==" + }, + "ipfs-log": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/ipfs-log/-/ipfs-log-4.5.5.tgz", + "integrity": "sha512-AmwwYZxcUxL2+qh9DL0Wz4gEB78vIJQ1hifQYF0TDVxi1Doh/moEQvodNplrQ4lwPoDRwXCRcl7twtbJdrlXkQ==", + "requires": { + "json-stringify-deterministic": "^1.0.1", + "multihashing-async": "^0.7.0", + "orbit-db-identity-provider": "~0.3.0", + "orbit-db-io": "~0.2.0", + "p-do-whilst": "^1.1.0", + "p-each-series": "^2.1.0", + "p-map": "^1.1.1", + "p-whilst": "^1.0.0" + } + }, + "ipfs-mini": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ipfs-mini/-/ipfs-mini-1.1.5.tgz", + "integrity": "sha512-BzsoCa3V/gxN2eEHnyqggOdreAwnvbddj4jUvp6Q7jXuzXx9q5XakXe8mG8qV0bn4bMKdH/7BUDbiWBCEMuYBg==", + "requires": { + "xmlhttprequest": "^1.8.0" + } + }, + "ipfs-postmsg-proxy": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/ipfs-postmsg-proxy/-/ipfs-postmsg-proxy-3.1.1.tgz", + "integrity": "sha512-SfBUODRZcGxdESOHx/wqQ+JoS149N1nFCWnjK5N9JZ3K4sDam0e6+JTLrty2laphcjpsHPbFAtE47HMueh56iQ==", + "requires": { + "big.js": "^5.1.2", + "callbackify": "^1.1.0", + "cids": "^0.5.3", + "ipfs-block": "^0.7.1", + "ipld-dag-pb": "^0.14.4", + "is-pull-stream": "0.0.0", + "is-stream": "^1.1.0", + "multiaddr": "^5.0.0", + "peer-id": "^0.11.0", + "peer-info": "^0.14.1", + "postmsg-rpc": "^2.4.0", + "prepost": "^1.1.0", + "pull-abortable": "^4.1.1", + "pull-defer": "^0.2.2", + "pull-postmsg-stream": "^1.2.0", + "pull-stream": "^3.6.8", + "pull-stream-to-stream": "^1.3.4", + "shortid": "^2.2.8", + "stream-to-pull-stream": "^1.7.2" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "cids": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.5.8.tgz", + "integrity": "sha512-Ye8TZP3YQfy0j+i5k+LPHdTY3JOvTwN1pxds44p6BRUv8PTMOAF/Vt4Bc+oiIQ0Sktn0iftkUHgqKNHIMwhshA==", + "requires": { + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "~0.5.0", + "multihashes": "~0.4.14" + } + }, + "ipld-dag-pb": { + "version": "0.14.11", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.14.11.tgz", + "integrity": "sha512-ja4FH6elDprVuJBkNObFlq7+9h1Q3aoQx5SSG/v3I9e7j19nwyuMhLJYwBhdv29LiqpyD2cEqNrJLm8lWn0lJg==", + "requires": { + "async": "^2.6.1", + "bs58": "^4.0.1", + "cids": "~0.5.4", + "class-is": "^1.1.0", + "is-ipfs": "~0.4.2", + "multihashing-async": "~0.5.1", + "protons": "^1.0.1", + "pull-stream": "^3.6.9", + "pull-traverse": "^1.0.3", + "stable": "~0.1.8" + } + }, + "is-ipfs": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.4.8.tgz", + "integrity": "sha512-xIKUeA24IFMfkmeAPEOZL448X7a08c/KzAGQp1e/QxC9bx/NNEdT/ohob3SW6eJO2UwJNjsbfMeNZ2B+Dk2Fdg==", + "requires": { + "bs58": "4.0.1", + "cids": "~0.5.6", + "multibase": "~0.6.0", + "multihashes": "~0.4.13" + } + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "multiaddr": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-5.0.2.tgz", + "integrity": "sha512-dXz1chaUHV6L6okujDLS7uRA6NmCbitpikOJA0vMMnrwVyai5kC3ot2CSLrSfj3B8XIgNzpe/j5auSYrnbGGzA==", + "requires": { + "bs58": "^4.0.1", + "class-is": "^1.1.0", + "ip": "^1.1.5", + "ip-address": "^5.8.9", + "lodash.filter": "^4.6.0", + "lodash.map": "^4.6.0", + "varint": "^5.0.0", + "xtend": "^4.0.1" + } + }, + "multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "multicodec": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", + "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "requires": { + "varint": "^5.0.0" + } + }, + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, + "ipfs-pubsub-1on1": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/ipfs-pubsub-1on1/-/ipfs-pubsub-1on1-0.0.6.tgz", + "integrity": "sha512-Sr44DX7mdhk6znR1+DlfUIB1qiu07T5SeOMJ9Okr62U+9MGl4YQaP8vOGrmLysIEKBryZQrku2vjfNj0nxBd1g==", + "requires": { + "safe-buffer": "~5.1.2" + } + }, + "ipfs-pubsub-peer-monitor": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/ipfs-pubsub-peer-monitor/-/ipfs-pubsub-peer-monitor-0.0.9.tgz", + "integrity": "sha512-EJpfNzM9HnS95qnoi0WajNT3i8AoLIkItSdQabNfopuiL/8Ky81MRy17S1wCIRrZEq2EpogG2DfZMJdvcp2I8g==", + "requires": { + "p-forever": "^1.0.1" + } + }, + "ipfs-pubsub-room": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/ipfs-pubsub-room/-/ipfs-pubsub-room-1.4.1.tgz", + "integrity": "sha512-LYj2V1pBLsgc6BqjwNwFUCxBjeY7ZN3k1TRWHGX+rDQXPAAxYCfI59Y7rwuQdBPnAT30mDDzrgfGiBvD2lWU+Q==", + "requires": { + "hyperdiff": "^2.0.5", + "lodash.clonedeep": "^4.5.0", + "pull-pushable": "^2.2.0", + "pull-stream": "^3.6.9" + } + }, + "ipfs-repo": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.30.1.tgz", + "integrity": "sha512-t/RG/agHGRJ1yyzrwaFRDUyTZgJcdhSGFoeRIrCJuxxApjrXQZMee58SZL9al+jArRu+5sbZqcepLwwdIV95PA==", + "requires": { + "base32.js": "~0.1.0", + "bignumber.js": "^9.0.0", + "bytes": "^3.1.0", + "cids": "~0.7.0", + "datastore-core": "~0.7.0", + "datastore-fs": "~0.9.0", + "datastore-level": "~0.14.0", + "debug": "^4.1.0", + "err-code": "^2.0.0", + "interface-datastore": "^0.8.0", + "ipfs-block": "~0.8.1", + "ipfs-repo-migrations": "~0.1.0", + "just-safe-get": "^2.0.0", + "just-safe-set": "^2.1.0", + "lodash.has": "^4.5.2", + "p-queue": "^6.0.0", + "proper-lockfile": "^4.0.0", + "sort-keys": "^4.0.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "err-code": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.0.tgz", + "integrity": "sha512-MsMOijQ4v0xlmrz1fc7lyPEy7jFhoNF7EVaRSP7mPzs20LaFOwG6qNjGRy3Ie85n9DARlcUnB1zbsBv5sJrIvw==" + }, + "ipfs-block": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.8.1.tgz", + "integrity": "sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ==", + "requires": { + "cids": "~0.7.0", + "class-is": "^1.1.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "ipfs-repo-migrations": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ipfs-repo-migrations/-/ipfs-repo-migrations-0.1.1.tgz", + "integrity": "sha512-Id8K32l7bEqMt0YxfDUAAiMFkfFr9pslOT0xg3EqTrPc0AeXQ5sZu6y69p5TI7N+A28PhrGgMU40R7IQ8Mb7sg==", + "requires": { + "chalk": "^2.4.2", + "datastore-fs": "~0.9.1", + "datastore-level": "~0.12.1", + "debug": "^4.1.0", + "interface-datastore": "~0.8.0", + "proper-lockfile": "^4.1.1", + "yargs": "^14.2.0", + "yargs-promise": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "datastore-level": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-0.12.1.tgz", + "integrity": "sha512-PxUIrH/0ijuaJLypOx1XjOIvsZCZcN1qZ3HKyqXFhU8Wpkn01/Q/9nL/MM1tKK1EwOTFmgXKUtFbO27gf6LpcQ==", + "requires": { + "datastore-core": "~0.7.0", + "interface-datastore": "~0.7.0", + "level": "^5.0.1" + }, + "dependencies": { + "interface-datastore": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.7.0.tgz", + "integrity": "sha512-TfwzBe7iInnakxjWDQn8GQHRDSgmVXRylBo9Z6ONjtaIXB1aJFYpvW1mt+Kbnql/xpTxD2LsQKRBS9+EiTVmhA==", + "requires": { + "class-is": "^1.1.0", + "err-code": "^1.1.2", + "uuid": "^3.2.2" + } + } + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "yargs-parser": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", + "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "ipfs-utils": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-1.2.4.tgz", + "integrity": "sha512-xUP7SmOAb50OHL8D2KasRHRBOtRdyHHerfCEJBmS9+qpe6wzpbhftdsZJ2UD2v7HXgi7IH9eTps5uPXKUd2aVg==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^5.4.2", + "err-code": "^2.0.0", + "fs-extra": "^9.0.0", + "is-electron": "^2.2.0", + "iso-url": "^0.4.7", + "it-glob": "0.0.7", + "merge-options": "^2.0.0", + "nanoid": "^2.1.11", + "node-fetch": "^2.6.0", + "stream-to-it": "^0.2.0" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "err-code": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.0.tgz", + "integrity": "sha512-MsMOijQ4v0xlmrz1fc7lyPEy7jFhoNF7EVaRSP7mPzs20LaFOwG6qNjGRy3Ie85n9DARlcUnB1zbsBv5sJrIvw==" + } + } + }, + "ipld-dag-cbor": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ipld-dag-cbor/-/ipld-dag-cbor-0.15.2.tgz", + "integrity": "sha512-Ioni4s959P/CtkWQOt1TXrj4zqc3MoPxvHrEmybCn5JFdG3dpBNJR1oBVvP6uUrmF5bBtUGKNbX1pSI5SEOaHg==", + "requires": { + "borc": "^2.1.2", + "buffer": "^5.5.0", + "cids": "~0.8.0", + "is-circular": "^1.0.2", + "multicodec": "^1.0.0", + "multihashing-async": "~0.8.0" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "cids": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.0.tgz", + "integrity": "sha512-HdKURxtSOnww3H28CJU2TauIklEBsOn+ouGl2EOnSfVCVkH6+sWTj7to2D/BmuWvwzEy2+ZIKdcIwsXHJBQVew==", + "requires": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.7.0", + "multicodec": "^1.0.1", + "multihashes": "~0.4.17" + } + }, + "err-code": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.0.tgz", + "integrity": "sha512-MsMOijQ4v0xlmrz1fc7lyPEy7jFhoNF7EVaRSP7mPzs20LaFOwG6qNjGRy3Ie85n9DARlcUnB1zbsBv5sJrIvw==" + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "multihashing-async": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.1.tgz", + "integrity": "sha512-qu3eIXHebc9a4OU4n/60BdZLFpX+/dGBs3DbzXCxX1aU0rFF19KQAiGl+sRL9wvKIJdeF2+w16RRJrpyTHpkkA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.4.3", + "err-code": "^2.0.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.15", + "murmurhash3js-revisited": "^3.0.0" + } + } + } + }, + "ipld-dag-pb": { + "version": "0.18.3", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.18.3.tgz", + "integrity": "sha512-lE/7m5DesBqJCCIom/ohJmQViaMOKWBleB0u3yjWGJoWxqhzoQAFL0tLRNFYardUnVvqxgP+tpvoAJMGaFNNOA==", + "requires": { + "cids": "~0.7.3", + "class-is": "^1.1.0", + "multicodec": "^1.0.0", + "multihashing-async": "~0.8.0", + "protons": "^1.1.0", + "stable": "~0.1.8" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "err-code": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.0.tgz", + "integrity": "sha512-MsMOijQ4v0xlmrz1fc7lyPEy7jFhoNF7EVaRSP7mPzs20LaFOwG6qNjGRy3Ie85n9DARlcUnB1zbsBv5sJrIvw==" + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "multihashing-async": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.1.tgz", + "integrity": "sha512-qu3eIXHebc9a4OU4n/60BdZLFpX+/dGBs3DbzXCxX1aU0rFF19KQAiGl+sRL9wvKIJdeF2+w16RRJrpyTHpkkA==", + "requires": { + "blakejs": "^1.1.0", + "buffer": "^5.4.3", + "err-code": "^2.0.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.15", + "murmurhash3js-revisited": "^3.0.0" + } + }, + "protons": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/protons/-/protons-1.1.0.tgz", + "integrity": "sha512-rxf3et88VGRJkXIcDK1nemQM9OpnKsRVuZW+vkJLRmytA6530hQ+k/r2DpclNJCYF+xUl2MXsvRsK+MJgcbfEg==", + "requires": { + "protocol-buffers-schema": "^3.3.1", + "safe-buffer": "^5.1.1", + "signed-varint": "^2.0.1", + "varint": "^5.0.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-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + }, + "is-circular": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-circular/-/is-circular-1.0.2.tgz", + "integrity": "sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==" + }, + "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-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" }, "is-descriptor": { @@ -6876,6 +33188,11 @@ } } }, + "is-electron": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz", + "integrity": "sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==" + }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -6901,8 +33218,7 @@ "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, "is-function": { "version": "1.0.1", @@ -6923,6 +33239,52 @@ "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" }, + "is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "requires": { + "ip-regex": "^4.0.0" + } + }, + "is-ipfs": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/is-ipfs/-/is-ipfs-0.6.3.tgz", + "integrity": "sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==", + "requires": { + "bs58": "^4.0.1", + "cids": "~0.7.0", + "mafmt": "^7.0.0", + "multiaddr": "^7.2.1", + "multibase": "~0.6.0", + "multihashes": "~0.4.13" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + }, + "is-node": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-node/-/is-node-1.0.2.tgz", + "integrity": "sha1-19ACdF733ru3R36YiVarCk/MtlM=" + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -6963,6 +33325,11 @@ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, + "is-pull-stream": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/is-pull-stream/-/is-pull-stream-0.0.0.tgz", + "integrity": "sha1-o7w9HG0wVRUcRr3m85nv7SFEDKk=" + }, "is-reference": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.4.tgz", @@ -7026,10 +33393,40 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "iso-random-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.1.tgz", + "integrity": "sha512-YEt/7xOwTdu4KXIgtdgGFkiLUsBaddbnkmHyaFdjJYIcD7V4gpQHPvYC5tyh3kA0PQ01y9lWm1ruVdf8Mqzovg==", + "requires": { + "buffer": "^5.4.3", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "iso-url": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.6.tgz", - "integrity": "sha512-YQO7+aIe6l1aSJUKOx+Vrv08DlhZeLFIVfehG2L29KLSEb9RszqPXilxJRVpp57px36BddKR5ZsebacO5qG0tg==" + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", + "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==" }, "isobject": { "version": "3.0.1", @@ -7042,6 +33439,45 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "it-glob": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.7.tgz", + "integrity": "sha512-XfbziJs4fi0MfdEGTLkZXeqo2EorF2baFXxFn1E2dGbgYMhFTZlZ2Yn/mx5CkpuLWVJvO1DwtTOVW2mzRyVK8w==", + "requires": { + "fs-extra": "^8.1.0", + "minimatch": "^3.0.4" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, "js-base64": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz", @@ -7158,6 +33594,11 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "json-stringify-deterministic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-deterministic/-/json-stringify-deterministic-1.0.1.tgz", + "integrity": "sha512-9Fg0OY3uyzozpvJ8TVbUk09PjzhT7O2Q5kEe30g6OrKhbA/Is92igcx0XDDX7E3yAwnIlUcYLRl+ZkVrBYVP7A==" + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -7188,6 +33629,15 @@ } } }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", @@ -7213,6 +33663,16 @@ "array-includes": "^3.0.3" } }, + "just-safe-get": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/just-safe-get/-/just-safe-get-2.0.0.tgz", + "integrity": "sha512-OBUeNXA7efFIGh0hSLW4nxrOtFWfmjoc3T8B5oixm3b+D7SZN10VKwORUEk4oDeBaR/sqkDMxXb0gE0DRYreEA==" + }, + "just-safe-set": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/just-safe-set/-/just-safe-set-2.1.0.tgz", + "integrity": "sha512-wSTg/2bQpzyivBYbWPqQgafdfxW0tr3hX9qYGDRS2ws+AXwc7tvn8ABqkp8iPQHChjj4F5JvL3t0FQLbcNuKig==" + }, "keccak": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/keccak/-/keccak-2.1.0.tgz", @@ -7272,6 +33732,11 @@ "sha3": "^1.2.2" } }, + "keypair": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.1.tgz", + "integrity": "sha1-dgNxknCvtlZO04oiCHoG/Jqk6hs=" + }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", @@ -7287,11 +33752,27 @@ "invert-kv": "^2.0.0" } }, + "level": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/level/-/level-5.0.1.tgz", + "integrity": "sha512-wcak5OQeA4rURGacqS62R/xNHjCYnJSQDBOlm4KNUGJVE9bWv2B04TclqReYejN+oD65PzD4FsqeWoI5wNC5Lg==", + "requires": { + "level-js": "^4.0.0", + "level-packager": "^5.0.0", + "leveldown": "^5.0.0", + "opencollective-postinstall": "^2.0.0" + } + }, "level-codec": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" }, + "level-concat-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", + "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==" + }, "level-errors": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", @@ -7334,6 +33815,137 @@ } } }, + "level-js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-js/-/level-js-4.0.2.tgz", + "integrity": "sha512-PeGjZsyMG4O89KHiez1zoMJxStnkM+oBIqgACjoo5PJqFiSUUm3GNod/KcbqN5ktyZa8jkG7I1T0P2u6HN9lIg==", + "requires": { + "abstract-leveldown": "~6.0.1", + "immediate": "~3.2.3", + "inherits": "^2.0.3", + "ltgt": "^2.1.2", + "typedarray-to-buffer": "~3.1.5" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.0.3.tgz", + "integrity": "sha512-jzewKKpZbaYUa6HTThnrl+GrJhzjEAeuc7hTVpZdzg7kupXZFoqQDFwyOwLNbmJKJlmzw8yiipMPkDiuKkT06Q==", + "requires": { + "level-concat-iterator": "~2.0.0", + "xtend": "~4.0.0" + } + } + } + }, + "level-packager": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", + "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", + "requires": { + "encoding-down": "^6.3.0", + "levelup": "^4.3.2" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "requires": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "deferred-leveldown": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", + "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", + "requires": { + "abstract-leveldown": "~6.2.1", + "inherits": "^2.0.3" + } + }, + "level-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", + "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", + "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.4.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + } + } + }, + "levelup": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.3.2.tgz", + "integrity": "sha512-cRTjU4ktWo59wf13PHEiOayHC3n0dOh4i5+FHr4tv4MX9+l7mqETicNq3Aj07HKlLdk0z5muVoDL2RD+ovgiyA==", + "requires": { + "deferred-leveldown": "~5.3.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~4.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "requires": { + "xtend": "^4.0.2" + }, + "dependencies": { + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + } + } + }, "level-ws": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", @@ -7379,6 +33991,27 @@ } } }, + "leveldown": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-5.1.1.tgz", + "integrity": "sha512-4n2R/vEA/sssh5TKtFwM9gshW2tirNoURLqekLRUUzuF+eUBLFAufO8UW7bz8lBbG2jw8tQDF3LC+LcUCc12kg==", + "requires": { + "abstract-leveldown": "~6.0.3", + "napi-macros": "~1.8.1", + "node-gyp-build": "~4.1.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.0.3.tgz", + "integrity": "sha512-jzewKKpZbaYUa6HTThnrl+GrJhzjEAeuc7hTVpZdzg7kupXZFoqQDFwyOwLNbmJKJlmzw8yiipMPkDiuKkT06Q==", + "requires": { + "level-concat-iterator": "~2.0.0", + "xtend": "~4.0.0" + } + } + } + }, "levelup": { "version": "1.3.9", "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", @@ -7410,6 +34043,117 @@ "type-check": "~0.3.2" } }, + "libp2p-crypto": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.16.3.tgz", + "integrity": "sha512-ro7/5Tu+f8p2+qDS1JrROnO++nNaAaBFs+VVXVHLuTMnbnMASu1eUtSlWPk1uOwikAlBFTvfqe5J1bK6Bpq6Pg==", + "requires": { + "asmcrypto.js": "^2.3.2", + "asn1.js": "^5.0.1", + "async": "^2.6.1", + "bn.js": "^4.11.8", + "browserify-aes": "^1.2.0", + "bs58": "^4.0.1", + "iso-random-stream": "^1.1.0", + "keypair": "^1.0.1", + "libp2p-crypto-secp256k1": "~0.3.0", + "multihashing-async": "~0.5.1", + "node-forge": "~0.9.1", + "pem-jwk": "^2.0.0", + "protons": "^1.0.1", + "rsa-pem-to-jwk": "^1.1.3", + "tweetnacl": "^1.0.0", + "ursa-optional": "~0.10.0" + }, + "dependencies": { + "asn1.js": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.3.0.tgz", + "integrity": "sha512-WHnQJFcOrIWT1RLOkFFBQkFVvyt9BPOOrH+Dp152Zk4R993rSzXUGPmkybIcUFhHE2d/iHH+nCaOWVCDbO8fgA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, + "libp2p-crypto-secp256k1": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz", + "integrity": "sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA==", + "requires": { + "async": "^2.6.2", + "bs58": "^4.0.1", + "multihashing-async": "~0.6.0", + "nodeify": "^1.0.1", + "safe-buffer": "^5.1.2", + "secp256k1": "^3.6.2" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "multihashing-async": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.6.0.tgz", + "integrity": "sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, "load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", @@ -7461,11 +34205,49 @@ } } }, + "localstorage-down": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/localstorage-down/-/localstorage-down-0.6.7.tgz", + "integrity": "sha1-0Hmak7MebF+lGI7AYkLrHM6dbRU=", + "requires": { + "abstract-leveldown": "0.12.3", + "argsarray": "0.0.1", + "buffer-from": "^0.1.1", + "d64": "^1.0.0", + "humble-localstorage": "^1.4.2", + "inherits": "^2.0.1", + "tiny-queue": "0.2.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.3.tgz", + "integrity": "sha1-EWsexcdxDvei1XBnaLvbREC+EHA=", + "requires": { + "xtend": "~3.0.0" + } + }, + "buffer-from": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz", + "integrity": "sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==" + }, + "xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=" + } + } + }, + "localstorage-memory": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/localstorage-memory/-/localstorage-memory-1.0.3.tgz", + "integrity": "sha512-t9P8WB6DcVttbw/W4PIE8HOqum8Qlvx5SjR6oInwR9Uia0EEmyUeBh7S+weKByW+l/f45Bj4L/dgZikGFDM6ng==" + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -7476,11 +34258,51 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, + "lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + }, "lodash.flatmap": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz", "integrity": "sha1-74y/QI9uSCaGYzRTBcaswLd4cC4=" }, + "lodash.has": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", + "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=" + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "lodash.pullat": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.pullat/-/lodash.pullat-4.6.0.tgz", + "integrity": "sha1-vfrPDiCf0n+WXnEfplp3SoTTAmE=" + }, + "lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=" + }, + "logplease": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/logplease/-/logplease-1.2.15.tgz", + "integrity": "sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA==" + }, + "looper": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", + "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k=" + }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -7498,6 +34320,14 @@ "signal-exit": "^3.0.0" } }, + "lru": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lru/-/lru-3.1.0.tgz", + "integrity": "sha1-6n+4VG2DczOWoTCR12z+tMBoN9U=", + "requires": { + "inherits": "^2.0.1" + } + }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -7512,6 +34342,14 @@ "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" }, + "mafmt": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-7.1.0.tgz", + "integrity": "sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==", + "requires": { + "multiaddr": "^7.3.0" + } + }, "magic-string": { "version": "0.25.7", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", @@ -7753,6 +34591,21 @@ } } }, + "merge-options": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-2.0.0.tgz", + "integrity": "sha512-S7xYIeWHl2ZUKF7SDeBhGg6rfv5bKxVBdk95s/I7wVF8d+hjLSztJ/B271cnUiF6CAFduEQ5Zn3HYwAjT16DlQ==", + "requires": { + "is-plain-obj": "^2.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + } + } + }, "merkle-patricia-tree": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz", @@ -7940,48 +34793,120 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "multiaddr": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.4.3.tgz", + "integrity": "sha512-gFjXmjcCMyrx5KF1QOohUQm6a3E2XF4kydvClS8DmRJkY3qJaDPNNe0OC7mWvVUE0nnE8HjyToQfABnpKClXRA==", + "requires": { + "buffer": "^5.5.0", + "cids": "~0.8.0", + "class-is": "^1.1.0", + "is-ip": "^3.1.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "cids": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.0.tgz", + "integrity": "sha512-HdKURxtSOnww3H28CJU2TauIklEBsOn+ouGl2EOnSfVCVkH6+sWTj7to2D/BmuWvwzEy2+ZIKdcIwsXHJBQVew==", + "requires": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.7.0", + "multicodec": "^1.0.1", + "multihashes": "~0.4.17" + } + } + } + }, "multibase": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.0.tgz", - "integrity": "sha512-R9bNLQhbD7MsitPm1NeY7w9sDgu6d7cuj25snAWH7k5PSNPSwIQQBpcpj8jx1W96dLbdigZqmUWOdQRMnAmgjA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", "requires": { - "base-x": "3.0.4" + "base-x": "^3.0.8", + "buffer": "^5.5.0" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + } } }, "multicodec": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.0.tgz", - "integrity": "sha512-CBiLdYcMnVnkN/2kL4AaUH3betYXQGKV5CCmN2CfgHUt5xROtsj91w780ltX6Wy7frgc6en8md3h2UQl6jDXAg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.1.tgz", + "integrity": "sha512-yrrU/K8zHyAH2B0slNVeq3AiwluflHpgQ3TAzwNJcuO2AoPyXgBT2EDkdbP1D8B/yFOY+S2hDYmFlI1vhVFkQw==", "requires": { + "buffer": "^5.5.0", "varint": "^5.0.0" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + } } }, "multihashes": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.15.tgz", - "integrity": "sha512-G/Smj1GWqw1RQP3dRuRRPe3oyLqvPqUaEDIaoi7JF7Loxl4WAWvhJNk84oyDEodSucv0MmSW/ZT0RKUrsIFD3g==", + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.19.tgz", + "integrity": "sha512-ej74GAfA20imjj00RO5h34aY3pGUFyzn9FJZFWwdeUHlHTkKmv90FrNpvYT4jYf1XXCy5O/5EjVnxTaESgOM6A==", "requires": { - "bs58": "^4.0.1", + "buffer": "^5.5.0", + "multibase": "^0.7.0", "varint": "^5.0.0" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + } } }, "multihashing-async": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.8.0.tgz", - "integrity": "sha512-t0iDSl1kkI65vaKmv9/bBM9/E/ogywB18+A9hI7QzcQjolue1tcaNWKdoFuniF6QQtNOJFplO4nQtLfQeK3lLw==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.7.0.tgz", + "integrity": "sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA==", "requires": { "blakejs": "^1.1.0", - "buffer": "^5.4.3", - "err-code": "^2.0.0", + "buffer": "^5.2.1", + "err-code": "^1.1.2", "js-sha3": "~0.8.0", - "multihashes": "~0.4.15", + "multihashes": "~0.4.13", "murmurhash3js-revisited": "^3.0.0" }, "dependencies": { "buffer": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", - "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4" @@ -7994,6 +34919,21 @@ } } }, + "muport-did-resolver": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/muport-did-resolver/-/muport-did-resolver-0.3.1.tgz", + "integrity": "sha512-xS2MmjLGrXR+7bN5iiLwn+yXLVTIB8mTHVefuDKtJ7BmrwVpTdLJOsVGETsPnIM1lps8JK7WPjjGpmA/NLIMfQ==", + "requires": { + "@babel/runtime": "^7.1.2", + "did-resolver": "0.0.6", + "node-fetch": "^2.6.0" + } + }, + "murmurhash3js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/murmurhash3js/-/murmurhash3js-3.0.1.tgz", + "integrity": "sha1-Ppg+W0fCoG9DpxMXTn5DXKBEuZg=" + }, "murmurhash3js-revisited": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", @@ -8034,6 +34974,11 @@ "to-regex": "^3.0.1" } }, + "napi-macros": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-1.8.2.tgz", + "integrity": "sha512-Tr0DNY4RzTaBG2W2m3l7ZtFuJChTH6VZhXVhkGGjF/4cZTt+i8GcM9ozD+30Lmr4mDoZ5Xx34t2o4GJqYWDGcg==" + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -8057,6 +35002,11 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, + "node-forge": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.1.tgz", + "integrity": "sha512-G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ==" + }, "node-gyp": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", @@ -8085,6 +35035,11 @@ } } }, + "node-gyp-build": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz", + "integrity": "sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==" + }, "node-libs-browser": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", @@ -8391,6 +35346,22 @@ } } }, + "nodeify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", + "integrity": "sha1-ZKtpp7268DzhB7TwM1yHwLnpGx0=", + "requires": { + "is-promise": "~1.0.0", + "promise": "~1.3.0" + }, + "dependencies": { + "is-promise": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", + "integrity": "sha1-MVc3YcBX4zwukaq56W2gjO++duU=" + } + } + }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -8580,6 +35551,11 @@ "mimic-fn": "^1.0.0" } }, + "opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==" + }, "opener": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", @@ -8618,6 +35594,299 @@ "wordwrap": "~1.0.0" } }, + "orbit-db": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/orbit-db/-/orbit-db-0.23.1.tgz", + "integrity": "sha512-5v4yfQjZbkd4BghUv9sr29OCoFhqPJLta1sbsB10BuUi5AtgweC7b9HSCxM6f/ygXGlTh/ODcs8bUXsIeKI3tw==", + "requires": { + "cids": "^0.7.1", + "ipfs-pubsub-1on1": "~0.0.6", + "is-node": "^1.0.2", + "localstorage-down": "^0.6.7", + "logplease": "^1.2.14", + "multihashes": "^0.4.12", + "orbit-db-access-controllers": "~0.2.2", + "orbit-db-cache": "~0.3.0", + "orbit-db-counterstore": "~1.7.0", + "orbit-db-docstore": "~1.7.0", + "orbit-db-eventstore": "~1.7.0", + "orbit-db-feedstore": "~1.7.0", + "orbit-db-identity-provider": "~0.3.0", + "orbit-db-io": "~0.2.0", + "orbit-db-keystore": "~0.3.0", + "orbit-db-kvstore": "~1.7.0", + "orbit-db-pubsub": "~0.5.5", + "orbit-db-storage-adapter": "~0.5.3", + "orbit-db-store": "~3.0.0" + } + }, + "orbit-db-access-controllers": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/orbit-db-access-controllers/-/orbit-db-access-controllers-0.2.4.tgz", + "integrity": "sha512-VQqrKSJSOwY1rNRjCKIOQ0WE7ALadhF9Clelzh5+zXP+JXWY2wIqE4c2DI9Op1smva11gNxLPYrhj83tmdV/IQ==", + "requires": { + "orbit-db-io": "~0.1.0", + "p-map-series": "^1.0.0" + }, + "dependencies": { + "ipld-dag-pb": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz", + "integrity": "sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA==", + "requires": { + "cids": "~0.7.0", + "class-is": "^1.1.0", + "multicodec": "~0.5.1", + "multihashing-async": "~0.7.0", + "protons": "^1.0.1", + "stable": "~0.1.8" + } + }, + "multicodec": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", + "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "requires": { + "varint": "^5.0.0" + } + }, + "orbit-db-io": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/orbit-db-io/-/orbit-db-io-0.1.1.tgz", + "integrity": "sha512-akXMNe6Zjj4XOOO3fW08jvNFL7ttn4pyaKhsooNVt1TNhi2f9cdsumz9NJskl2/go2U4IJcnXRPQGqIBdVulFw==", + "requires": { + "cids": "^0.7.1", + "ipld-dag-pb": "^0.17.4" + } + } + } + }, + "orbit-db-cache": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/orbit-db-cache/-/orbit-db-cache-0.3.0.tgz", + "integrity": "sha512-jUsS+D3jXCwvFy92rqvsEroBMRD1SVyBwRJO248F/0/xIJ7zg+DGmhgukivUDvCrx3cpAXqYqh3Ob+kS+K9QBA==", + "requires": { + "logplease": "~1.2.15" + } + }, + "orbit-db-counterstore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/orbit-db-counterstore/-/orbit-db-counterstore-1.7.0.tgz", + "integrity": "sha512-KB2RN3W0AlrVgoiWD5XCodjnVL7MZlfbDQzsLuukZOPtWpp8TbTieU4TFge6WZSHboScL6VI6GQrzHpj15kHIA==", + "requires": { + "crdts": "~0.1.2", + "orbit-db-store": "~3.0.0" + } + }, + "orbit-db-docstore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/orbit-db-docstore/-/orbit-db-docstore-1.7.0.tgz", + "integrity": "sha512-nWDchMRFgeQCp2OQaQI4nuAu8iOKN+W9oXrhL963ERxDmbxIuQ7pecsDY5u0oOUpXHvz2LASAWRZAXk1XWwoYw==", + "requires": { + "orbit-db-store": "~3.0.0", + "p-map": "~1.1.1" + }, + "dependencies": { + "p-map": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.1.1.tgz", + "integrity": "sha1-BfXkrpegaDcbwqXMhr+9vBnErno=" + } + } + }, + "orbit-db-eventstore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/orbit-db-eventstore/-/orbit-db-eventstore-1.7.0.tgz", + "integrity": "sha512-eKEzRKjFAwKuaig9/n9qisp6h68mOFei/TtQF1O/+bqFQYPgaRtSLbaJBRQ9mTmr5UcnI+v0jlel8YOIxoCU5g==", + "requires": { + "orbit-db-store": "~3.0.0" + } + }, + "orbit-db-feedstore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/orbit-db-feedstore/-/orbit-db-feedstore-1.7.0.tgz", + "integrity": "sha512-6GNOFjPiiH1QUs1omg2fcSFaUKp3SjtzJAxSLwS9ng9cSgUBr5lvOI3wJgqXF3dpjEZt/zQYhPeREtEcnllI+Q==", + "requires": { + "orbit-db-eventstore": "~1.7.0" + } + }, + "orbit-db-identity-provider": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/orbit-db-identity-provider/-/orbit-db-identity-provider-0.3.0.tgz", + "integrity": "sha512-RQJTdtHQWRCOTiGIRMiMJ0xvx7W6bAIekEnQolTA8ex1/TLpXCkTl18z89fGFbmcqaoOuLPN7qbd8grX48kloA==", + "requires": { + "ethers": "^4.0.20", + "orbit-db-keystore": "~0.3.4" + } + }, + "orbit-db-io": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/orbit-db-io/-/orbit-db-io-0.2.0.tgz", + "integrity": "sha512-wOunD4ZRgtTsAXJEu9NNEeJ8s98tZTtFlrLiI/ThuDKBy4AwpIvr+vMkzMD0DMSUTurRtK+xz7AfkP0nd9bcxQ==", + "requires": { + "cids": "^0.7.1", + "ipld-dag-pb": "^0.18.1" + } + }, + "orbit-db-keystore": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/orbit-db-keystore/-/orbit-db-keystore-0.3.4.tgz", + "integrity": "sha512-TcTGxHrBBOe1lv5K/I21UDGJghzMMhO7gbFURzFtEnV+ar0P09kP1q4WzML8B96SJnROMP2aTO8VY3jeLLK8Lg==", + "requires": { + "elliptic": "^6.4.1", + "level": "~5.0.1", + "leveldown": "~5.1.1", + "levelup": "~4.1.0", + "libp2p-crypto": "^0.16.0", + "libp2p-crypto-secp256k1": "^0.3.0", + "lru": "^3.1.0", + "mkdirp": "^0.5.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.0.3.tgz", + "integrity": "sha512-jzewKKpZbaYUa6HTThnrl+GrJhzjEAeuc7hTVpZdzg7kupXZFoqQDFwyOwLNbmJKJlmzw8yiipMPkDiuKkT06Q==", + "requires": { + "level-concat-iterator": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "deferred-leveldown": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.1.0.tgz", + "integrity": "sha512-PvDY+BT2ONu2XVRgxHb77hYelLtMYxKSGuWuJJdVRXh9ntqx9GYTFJno/SKAz5xcd+yjQwyQeIZrUPjPvA52mg==", + "requires": { + "abstract-leveldown": "~6.0.0", + "inherits": "^2.0.3" + } + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "level-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", + "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", + "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.4.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + } + } + }, + "levelup": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.1.0.tgz", + "integrity": "sha512-+Qhe2/jb5affN7BeFgWUUWVdYoGXO2nFS3QLEZKZynnQyP9xqA+7wgOz3fD8SST2UKpHQuZgjyJjTcB2nMl2dQ==", + "requires": { + "deferred-leveldown": "~5.1.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~4.0.0", + "xtend": "~4.0.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "orbit-db-kvstore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/orbit-db-kvstore/-/orbit-db-kvstore-1.7.0.tgz", + "integrity": "sha512-xMM4FwNct6NwFvwuU24ZYgPrj1nKhDmWPWKfxRrqpNVCDLLlPINCj5o1eLQocQx2TwT9XNCafIk6Kkr4QKrXrQ==", + "requires": { + "orbit-db-store": "~3.0.0" + } + }, + "orbit-db-pubsub": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/orbit-db-pubsub/-/orbit-db-pubsub-0.5.7.tgz", + "integrity": "sha512-NVB1iTsohVs0juIxtPS72ijJDs5Gx/v/RFi1G3z8DJ5Aplyaonfa8KghApUDW9Gd3k3NVKifPyZHEN1nHQDRPA==", + "requires": { + "ipfs-pubsub-peer-monitor": "~0.0.5", + "logplease": "~1.2.14", + "p-series": "^1.1.0" + } + }, + "orbit-db-storage-adapter": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/orbit-db-storage-adapter/-/orbit-db-storage-adapter-0.5.3.tgz", + "integrity": "sha512-K/YDVcKkhzEnqK1WFtjcADTtNZdskBJyaTCUY+m0dCuf39VHsXO4kRq5htpT1wJ6yI9dlG6TysVh+duA3o+Xig==", + "requires": { + "level": "^5.0.1", + "mkdirp": "^0.5.1" + } + }, + "orbit-db-store": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/orbit-db-store/-/orbit-db-store-3.0.0.tgz", + "integrity": "sha512-Tx5Ndt2ValKcwAe8IbeaqrbFDDGia3TrSQXTjL370WiH9YQ4pyaAqNNSeeI3Uz/4slxkUCefm6w0GME6RWYQjA==", + "requires": { + "ipfs-log": "~4.5.0", + "logplease": "^1.2.14", + "orbit-db-io": "~0.2.0", + "p-each-series": "^1.0.0", + "p-map": "^3.0.0", + "readable-stream": "~2.3.5" + }, + "dependencies": { + "p-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + } + } + }, "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", @@ -8672,11 +35941,25 @@ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", "dev": true }, + "p-do-whilst": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-do-whilst/-/p-do-whilst-1.1.0.tgz", + "integrity": "sha512-ntAQbyZJAqCBoTrW3M8XEn1+45wkWgoG6EKRKGCrSvMs0wBY2a3W3mY0I5OErEweFrQsTLAhIv3KN6yyujQnzQ==" + }, + "p-each-series": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz", + "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==" + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-forever": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/p-forever/-/p-forever-1.0.1.tgz", + "integrity": "sha512-9IVAxJdPk88BFMvPjzE+WTZLmAt/FBa47mYY49E2elBki4yJJmQ57XHu3o3Dm1GMde+Xf2d+PzElJIogAPwkug==" }, "p-is-promise": { "version": "2.0.0", @@ -8688,7 +35971,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "dev": true, "requires": { "p-try": "^2.0.0" } @@ -8697,16 +35979,70 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, "requires": { "p-limit": "^2.0.0" } }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" + }, + "p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-queue": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.3.0.tgz", + "integrity": "sha512-fg5dJlFpd5+3CgG3/0ogpVZUeJbjiyXFg0nu53hrOYsybqSiDyxyOpad0Rm6tAiGjgztAwkyvhlYHC53OiAJOA==", + "requires": { + "eventemitter3": "^4.0.0", + "p-timeout": "^3.1.0" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==" + } + } + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=" + }, + "p-series": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-series/-/p-series-1.1.0.tgz", + "integrity": "sha512-356covArc9UCfj2twY/sxCJKGMzzO+pJJtucizsPC6aS1xKSTBc9PQrQhvFR3+7F+fa2KBKdJjdIcv6NEWDcIQ==", + "requires": { + "@sindresorhus/is": "^0.7.0", + "p-reduce": "^1.0.0" + } + }, + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "requires": { + "p-finally": "^1.0.0" + } + }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "p-whilst": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-whilst/-/p-whilst-1.0.0.tgz", + "integrity": "sha1-VGaOrX+TR5n8APHlIw/Wrd645+Y=" }, "pako": { "version": "1.0.10", @@ -8804,34 +36140,399 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "peer-id": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.11.0.tgz", + "integrity": "sha512-C/lRJk4CWIgOdKvfO572NvHbPcUwe49I6G0toIhDB5tCohqv/qzy0uBcAK9Ww8TvYI6U4J3C8ACShV9fWjNU4w==", + "requires": { + "async": "^2.6.1", + "libp2p-crypto": "~0.13.0", + "lodash": "^4.17.10", + "multihashes": "~0.4.13" + }, + "dependencies": { + "asn1.js": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.3.0.tgz", + "integrity": "sha512-WHnQJFcOrIWT1RLOkFFBQkFVvyt9BPOOrH+Dp152Zk4R993rSzXUGPmkybIcUFhHE2d/iHH+nCaOWVCDbO8fgA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + } + } + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "libp2p-crypto": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.13.0.tgz", + "integrity": "sha512-i3r1TBec/xYmC5bcpPiIs3OyUAU3iy53OdRdxqawKoWTQPjYB+TyQ4w+otT66Y0sMcw70O0wH3GFAfPmQgFn+g==", + "requires": { + "asn1.js": "^5.0.0", + "async": "^2.6.0", + "browserify-aes": "^1.2.0", + "bs58": "^4.0.1", + "keypair": "^1.0.1", + "libp2p-crypto-secp256k1": "~0.2.2", + "multihashing-async": "~0.4.8", + "node-forge": "^0.7.5", + "pem-jwk": "^1.5.1", + "protons": "^1.0.1", + "rsa-pem-to-jwk": "^1.1.3", + "tweetnacl": "^1.0.0", + "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#master" + } + }, + "libp2p-crypto-secp256k1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.2.3.tgz", + "integrity": "sha512-DFrK89VdboacqM3vqWV8yt8FH9Ni181JJAOU2tRkJfUN9tNEV7VfZEg390NJxEQQbLsyH4HZ7on3QTpPHMHQZQ==", + "requires": { + "async": "^2.6.1", + "multihashing-async": "~0.5.1", + "nodeify": "^1.0.1", + "safe-buffer": "^5.1.2", + "secp256k1": "^3.6.1" + }, + "dependencies": { + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, + "multihashing-async": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.4.8.tgz", + "integrity": "sha512-LCc4lfxmTJOHKIjZjFNgvmfB6nXS/ErLInT9uwU8udFrRm2PH+aTPk3mfCREKmCiSHOlCWiv2O8rlnBx+OjlMw==", + "requires": { + "async": "^2.6.0", + "blakejs": "^1.1.0", + "js-sha3": "^0.7.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + }, + "dependencies": { + "js-sha3": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.7.0.tgz", + "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" + } + } + }, + "node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==" + }, + "pem-jwk": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-1.5.1.tgz", + "integrity": "sha1-eoY3/S9nqCflfAxC4cI8P9Us+wE=", + "requires": { + "asn1.js": "1.0.3" + }, + "dependencies": { + "asn1.js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-1.0.3.tgz", + "integrity": "sha1-KBuj7B8kSP52X5Kk7s+IP+E2S1Q=", + "requires": { + "bn.js": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "bn.js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-1.3.0.tgz", + "integrity": "sha1-DbTL+W+PI7dC9by50ap6mZSgXoM=", + "optional": true + } + } + } + } + }, + "peer-info": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.14.1.tgz", + "integrity": "sha512-I9K+q7sisU0gg5ej6ekbhgolwlcm1tc2wDtLmumptoLYx0DkIT8WVHtgoTnupYwRRqcYADtwddFdiXfb8QFqzg==", "requires": { - "pify": "^2.0.0" + "lodash.uniqby": "^4.7.0", + "mafmt": "^6.0.0", + "multiaddr": "^4.0.0", + "peer-id": "~0.10.7" }, "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "asn1.js": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.3.0.tgz", + "integrity": "sha512-WHnQJFcOrIWT1RLOkFFBQkFVvyt9BPOOrH+Dp152Zk4R993rSzXUGPmkybIcUFhHE2d/iHH+nCaOWVCDbO8fgA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + } + } + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "is-ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-2.0.0.tgz", + "integrity": "sha1-aO6gfooKCpTC0IDdZ0xzGrKkYas=", + "requires": { + "ip-regex": "^2.0.0" + } + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "libp2p-crypto": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.12.1.tgz", + "integrity": "sha512-1/z8rxZ0DcQNreZhEsl7PnLr7DWOioSvYbKBLGkRwNRiNh1JJLgh0PdTySBb44wkrOGT+TxcGRd7iq3/X6Wxwg==", + "requires": { + "asn1.js": "^5.0.0", + "async": "^2.6.0", + "browserify-aes": "^1.1.1", + "bs58": "^4.0.1", + "keypair": "^1.0.1", + "libp2p-crypto-secp256k1": "~0.2.2", + "multihashing-async": "~0.4.7", + "node-forge": "^0.7.1", + "pem-jwk": "^1.5.1", + "protons": "^1.0.1", + "rsa-pem-to-jwk": "^1.1.3", + "tweetnacl": "^1.0.0", + "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#master" + } + }, + "libp2p-crypto-secp256k1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.2.3.tgz", + "integrity": "sha512-DFrK89VdboacqM3vqWV8yt8FH9Ni181JJAOU2tRkJfUN9tNEV7VfZEg390NJxEQQbLsyH4HZ7on3QTpPHMHQZQ==", + "requires": { + "async": "^2.6.1", + "multihashing-async": "~0.5.1", + "nodeify": "^1.0.1", + "safe-buffer": "^5.1.2", + "secp256k1": "^3.6.1" + }, + "dependencies": { + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "^1.1.0", + "js-sha3": "~0.8.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + } + } + } + }, + "mafmt": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-6.0.10.tgz", + "integrity": "sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw==", + "requires": { + "multiaddr": "^6.1.0" + }, + "dependencies": { + "multiaddr": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-6.1.1.tgz", + "integrity": "sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ==", + "requires": { + "bs58": "^4.0.1", + "class-is": "^1.1.0", + "hi-base32": "~0.5.0", + "ip": "^1.1.5", + "is-ip": "^2.0.0", + "varint": "^5.0.0" + } + } + } + }, + "multiaddr": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-4.0.0.tgz", + "integrity": "sha512-zUatrOCfBd/tJNOSoJ10d2EI2FDXB9PyPZhqUMdXE9mOyR3C+HLuOjga2Ga/eChwvEHIpTYRMoIKF2Nv7af2qQ==", + "requires": { + "bs58": "^4.0.1", + "class-is": "^1.1.0", + "ip": "^1.1.5", + "ip-address": "^5.8.9", + "lodash.filter": "^4.6.0", + "lodash.map": "^4.6.0", + "varint": "^5.0.0", + "xtend": "^4.0.1" + } + }, + "multihashing-async": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.4.8.tgz", + "integrity": "sha512-LCc4lfxmTJOHKIjZjFNgvmfB6nXS/ErLInT9uwU8udFrRm2PH+aTPk3mfCREKmCiSHOlCWiv2O8rlnBx+OjlMw==", + "requires": { + "async": "^2.6.0", + "blakejs": "^1.1.0", + "js-sha3": "^0.7.0", + "multihashes": "~0.4.13", + "murmurhash3js": "^3.0.1", + "nodeify": "^1.0.1" + }, + "dependencies": { + "js-sha3": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.7.0.tgz", + "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==" + } + } + }, + "node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==" + }, + "peer-id": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.10.7.tgz", + "integrity": "sha512-VEpMFcL9q0NQijmR0jsj38OGbY4yzaWMEareVkDahopmlNT+Cpsot8btPgsgBBApP9NiZj2Enwvh8rZN30ocQw==", + "requires": { + "async": "^2.6.0", + "libp2p-crypto": "~0.12.1", + "lodash": "^4.17.5", + "multihashes": "~0.4.13" + } + }, + "pem-jwk": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-1.5.1.tgz", + "integrity": "sha1-eoY3/S9nqCflfAxC4cI8P9Us+wE=", + "requires": { + "asn1.js": "1.0.3" + }, + "dependencies": { + "asn1.js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-1.0.3.tgz", + "integrity": "sha1-KBuj7B8kSP52X5Kk7s+IP+E2S1Q=", + "requires": { + "bn.js": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "bn.js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-1.3.0.tgz", + "integrity": "sha1-DbTL+W+PI7dC9by50ap6mZSgXoM=", + "optional": true + } + } } } }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "dev": true, + "pem-jwk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", + "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "asn1.js": "^5.0.1" + }, + "dependencies": { + "asn1.js": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.3.0.tgz", + "integrity": "sha512-WHnQJFcOrIWT1RLOkFFBQkFVvyt9BPOOrH+Dp152Zk4R993rSzXUGPmkybIcUFhHE2d/iHH+nCaOWVCDbO8fgA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + } } }, "penpal": { @@ -9101,6 +36802,11 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, + "prepost": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/prepost/-/prepost-1.1.0.tgz", + "integrity": "sha512-HhwOYePY0JXrbqAHm0fGWdSBFqGAMCJvdTaKGxO7uO6S0cbdxXeTnMWDkgAJDS+6kXATaV3n0C0EGI6tR+nqQA==" + }, "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", @@ -9123,6 +36829,21 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, + "promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", + "integrity": "sha1-5cyaTIJ45GZP/twBx9qEhCsEAXU=", + "requires": { + "is-promise": "~1" + }, + "dependencies": { + "is-promise": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", + "integrity": "sha1-MVc3YcBX4zwukaq56W2gjO++duU=" + } + } + }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -9148,6 +36869,43 @@ "react-is": "^16.8.1" } }, + "proper-lockfile": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.1.tgz", + "integrity": "sha512-1w6rxXodisVpn7QYvLk706mzprPTAPCYAqxMvctmPN3ekuRk/kuGkGc82pangZiAt4R3lwSuUzheTTn0/Yb7Zg==", + "requires": { + "graceful-fs": "^4.1.11", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "protocol-buffers-schema": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.4.0.tgz", + "integrity": "sha512-G/2kcamPF2S49W5yaMGdIpkG6+5wZF0fzBteLKgEHjbNzqjZQ85aAs1iJGto31EJaSTkNvHs5IXuHSaTLWBAiA==" + }, + "protons": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/protons/-/protons-1.0.2.tgz", + "integrity": "sha512-PexfP8Vh9pLMa5jUWJZLqofoQYmLUTrqLYAtqNoxwgm2ixxqLQz2BHJ7XEPCS4ZhTx/n5MXWpcT6P91oM+mgOQ==", + "requires": { + "buffer": "^5.5.0", + "protocol-buffers-schema": "^3.3.1", + "signed-varint": "^2.0.1", + "varint": "^5.0.0" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + } + } + }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -9178,6 +36936,45 @@ "safe-buffer": "^5.1.2" } }, + "pull-abortable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/pull-abortable/-/pull-abortable-4.1.1.tgz", + "integrity": "sha1-s61a77QRayWRbSbbiTk6yY0NzqE=" + }, + "pull-defer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", + "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" + }, + "pull-postmsg-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pull-postmsg-stream/-/pull-postmsg-stream-1.2.0.tgz", + "integrity": "sha512-wpuu5iEFYRr0tJvnzvo3Q8b0Nopzy5FqnCYjrhL/YY5goTNre+paB4qHghMvbB7JSjo717f5XCGRTzTL2sXv7w==", + "requires": { + "postmsg-rpc": "^2.4.0", + "prepost": "^1.1.0" + } + }, + "pull-pushable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.2.0.tgz", + "integrity": "sha1-Xy867UethpGfAbEqLpnW8b13ZYE=" + }, + "pull-stream": { + "version": "3.6.14", + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz", + "integrity": "sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==" + }, + "pull-stream-to-stream": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/pull-stream-to-stream/-/pull-stream-to-stream-1.3.4.tgz", + "integrity": "sha1-P4HYIWvRjSv9GhmBkEcRgOJzg5k=" + }, + "pull-traverse": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pull-traverse/-/pull-traverse-1.0.3.tgz", + "integrity": "sha1-dPtde+f6a9enjpeTPhmbeUWGaTg=" + }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -9624,8 +37421,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { "version": "1.0.1", @@ -9719,6 +37515,11 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -9775,6 +37576,45 @@ "estree-walker": "^0.6.1" } }, + "rsa-pem-to-jwk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz", + "integrity": "sha1-JF52vbfnI0z+58oDLTG1TDj6uY4=", + "requires": { + "object-assign": "^2.0.0", + "rsa-unpack": "0.0.6" + }, + "dependencies": { + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" + } + } + }, + "rsa-unpack": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/rsa-unpack/-/rsa-unpack-0.0.6.tgz", + "integrity": "sha1-9Q69VqYoN45jHylxYQJs6atO3bo=", + "requires": { + "optimist": "~0.3.5" + }, + "dependencies": { + "optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "requires": { + "wordwrap": "~0.0.2" + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + } + } + }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", @@ -10206,8 +38046,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-immediate-shim": { "version": "1.0.1", @@ -10296,6 +38135,14 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, + "signed-varint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", + "integrity": "sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk=", + "requires": { + "varint": "~5.0.0" + } + }, "simple-concat": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", @@ -10311,6 +38158,12 @@ "simple-concat": "^1.0.0" } }, + "simple-html-tokenizer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/simple-html-tokenizer/-/simple-html-tokenizer-0.1.1.tgz", + "integrity": "sha1-BcLuxXn//+FFoDCsJs/qYbmA+r4=", + "dev": true + }, "slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", @@ -10433,6 +38286,21 @@ } } }, + "sort-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.0.0.tgz", + "integrity": "sha512-hlJLzrn/VN49uyNkZ8+9b+0q9DjmmYcYOnbMQtpkLrYpPwRApDPZfmqbUfJnAA3sb/nRib+nDot7Zi/1ER1fuA==", + "requires": { + "is-plain-obj": "^2.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + } + } + }, "source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", @@ -10561,6 +38429,11 @@ "figgy-pudding": "^3.5.1" } }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, "standard": { "version": "12.0.1", "resolved": "https://registry.npmjs.org/standard/-/standard-12.0.1.tgz", @@ -10672,6 +38545,31 @@ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true }, + "stream-to-it": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.0.tgz", + "integrity": "sha512-bK/N8LPMc4FgNxXwIRBbJDWg2GYUfnVGH++hTM5SjCHzyPPWYp2ml+wnqaO86+y0SywZDxPAZSNAPP3Wii/QzQ==", + "requires": { + "get-iterator": "^1.0.2", + "p-defer": "^3.0.0" + }, + "dependencies": { + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + } + } + }, + "stream-to-pull-stream": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz", + "integrity": "sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==", + "requires": { + "looper": "^3.0.0", + "pull-stream": "^3.2.3" + } + }, "strict-uri-encode": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", @@ -11101,6 +38999,17 @@ "has-flag": "^3.0.0" } }, + "svg-inline-loader": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/svg-inline-loader/-/svg-inline-loader-0.8.2.tgz", + "integrity": "sha512-kbrcEh5n5JkypaSC152eGfGcnT4lkR0eSfvefaUJkLqgGjRQJyKDvvEE/CCv5aTSdfXuc+N98w16iAojhShI3g==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "object-assign": "^4.0.1", + "simple-html-tokenizer": "^0.1.1" + } + }, "symbol-observable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", @@ -11278,6 +39187,11 @@ "setimmediate": "^1.0.4" } }, + "tiny-queue": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/tiny-queue/-/tiny-queue-0.2.0.tgz", + "integrity": "sha1-xJ/LXIdVW+G0pd9+uHEB1beLydw=" + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -11397,14 +39311,14 @@ } }, "tweetnacl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.1.tgz", - "integrity": "sha512-kcoMoKTPYnoeS50tzoqjPY3Uv9axeuuFAZY9M/9zFnhoVvRfxz9K29IMPD7jGmt2c8SW7i3gT9WqDl2+nV7p4A==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" }, "tweetnacl-util": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.0.tgz", - "integrity": "sha1-RXbBzuXi1j0gf+5S8boCgZSAvHU=" + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" }, "type-check": { "version": "0.3.2", @@ -11420,6 +39334,14 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, "underscore": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", @@ -11521,6 +39443,11 @@ "imurmurhash": "^0.1.4" } }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", @@ -11567,6 +39494,25 @@ "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", "dev": true }, + "uport-base64url": { + "version": "3.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/uport-base64url/-/uport-base64url-3.0.2-alpha.0.tgz", + "integrity": "sha512-pRu0xm1K39IUzuMQEmFWdqP+H8jOzblwTXf0r9wFBCa6ZLLQsNuDeUwB2Ld+9zlBSvQQv+XEzG7cQukSCueZqw==", + "requires": { + "buffer": "^5.2.1" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + } + } + }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -11698,6 +39644,22 @@ "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" }, + "ursa-optional": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.1.tgz", + "integrity": "sha512-/pgpBXVJut57dHNrdGF+1/qXi+5B7JrlmZDWPSyoivEcbwFWRZJBJGkWb6ivknMBA3bnFA7lqsb6iHiFfp79QQ==", + "requires": { + "bindings": "^1.5.0", + "nan": "^2.14.0" + }, + "dependencies": { + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + } + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -11935,6 +39897,10 @@ } } }, + "webcrypto-shim": { + "version": "github:dignifiedquire/webcrypto-shim#190bc9ec341375df6025b17ae12ddb2428ea49c8", + "from": "github:dignifiedquire/webcrypto-shim#master" + }, "webpack": { "version": "4.29.6", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.29.6.tgz", @@ -12021,8 +39987,7 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "wide-align": { "version": "1.1.3", @@ -12165,8 +40130,7 @@ "y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" }, "yallist": { "version": "3.0.3", @@ -12203,6 +40167,11 @@ "camelcase": "^5.0.0", "decamelize": "^1.2.0" } + }, + "yargs-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/yargs-promise/-/yargs-promise-1.1.0.tgz", + "integrity": "sha1-l+u1GY33NLs7EXRRM65bUBsWqx8=" } } } diff --git a/package.json b/package.json index af0223e..0ff1d4f 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "sass-loader": "^8.0.2", "standard": "^12.0.1", "style-loader": "^0.23.1", + "svg-inline-loader": "^0.8.2", "url-loader": "^4.0.0", "webpack": "^4.20.2", "webpack-cli": "^3.1.2" diff --git a/public/620d35feec8ed065224f02f6728fb21a.ttf b/public/620d35feec8ed065224f02f6728fb21a.ttf deleted file mode 100644 index 0a052f7ba1d48e674a208b0e2c944516a1bfc2d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92844 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 diff --git a/public/font/04426e78aa0f60c97b1ed334f0a9f89b.woff b/public/font/04426e78aa0f60c97b1ed334f0a9f89b.woff deleted file mode 100644 index 15d3585f87de07ef15f7f9025b3d4eaf28ba513b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45984 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
%g#8JzO?kJ_sy1$#yWDdxR@okrR&AHQ_tgk zLU+%x==RP|*10`=-9CJ(!CyO(wy#~Y)8iq3_+`VsuJ^<;@pwiTu`L}OXRl&l1v=Ob zJKVLTC%Ti7PN$G$ytC-UlsbG4%PITIvc~9Xsj8=?1LlL(6XwjX?zSUm?%VbLM`vxN zsQtOgH|DPBfd@O|(bz~rza;-YSXI>Gzjhz)=^Q57&=IhZPS23*{XNtkYM*MKLYtcJ zF~%L-^BlOg__gn^PriYxSfuZ-P#jogJpJOg;%QP7Oll{soXyzS1FdmN6MP3HFC+BaoypYr<&^NYO2 zKuxK@WPRRpkisaho}fX32Azn5Nohpt3ESpU%Ud(Hos@pTa!dx|1yELF<}F#n4H@JH z_^_q!BxOKw(8Y>w&6L3?hbWGC6wt5qIk{=+?~NkUWF=NY18#p!988W|PCinYuq|#! zZ6=40TgZzLYvuNnvPQ^SGcgaVQ<4fI$_);QbE6=AQ)i?;4Ju?!Z&KC@Mx=(#=?4LA z3Me3U*s%%4$tqGqV!k%4nK`33T9tjBSgDJ8uNFN45=`*zuw023NH0oWT7+aOSp-B@ zsDyTSA?q~}UZ=Q>p%e;NSzBIc1DOyv=EL=VC_BQVc5gH(8-(lgO3-lEbs30G?}Pg-tMlPUFrA)69pv#?~t-9SIMqRx;Zoi3c)g}`y>U#+UzhBx^>7F3J9ejTTKa>Ovog9VIMlcC@gi&ZpaI1 zP9E`FF<^#C*V2ZK5mKOxdITvWT<2($paW?Z4kIx{g-N^!YF*hM;XL$&H*WY$r^uz>EEM6( zd}bj6*sdMQ)|+^7>YnI4op3u^gdNsM4SzMMUCX4N#coN$ z9f>Zpkf>dzF$dq8PE_PDg4n)9l(a;WD05O}dK65zc^w?n4fN%fl-z^<{QNrUM^K&K z+9LM?=LI2$5R8%Bau6^Z!MIwH)KNhuEXN?&7sb4$WdR%mpcC+tnAcTG9)L<2C!8Fz zCJ2XsvJ+F?Ma0O<;PSu9}TgVHQOUYbpKI;Bk#o`PN>JO!O5JO#Z< zZJI!PjoKvOyVNED4z)=@fpA6uOc4$N(}Y7nk#Go@QFIxA&M3MFI;-d+=$xX9p!13@ zf-We!2zp)7MbP&YT?Bm}GTvWR;2SC?43THlXUOx5>}2NL=X z4rtly7^nnSpX@`3*3wha6NgKc)9rWn+++5ZBCa(;3E diff --git a/public/index.html b/public/index.html index 40bb143..055ab4e 100644 --- a/public/index.html +++ b/public/index.html @@ -1,24 +1,27 @@ - - - - 3Box Account - - - - - - -
- - - + + + + + 3Box Account + + + + + + + +
+ + + + \ No newline at end of file diff --git a/src/threeIdConnectService.js b/src/threeIdConnectService.js index 2ea70a4..8ed8489 100644 --- a/src/threeIdConnectService.js +++ b/src/threeIdConnectService.js @@ -181,7 +181,7 @@ class ThreeIdConnectService { resolve(res) loop = false } catch (e) { - this.errorCb(e, 'Try again. Use the same account you used for this app.') + this.errorCb(e, 'There was an error. Use the same account you used for this app.') this._removeConsents(message, domain) } } diff --git a/webpack.config.js b/webpack.config.js index 0c577b2..0c28682 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -41,9 +41,13 @@ module.exports = { ] }, { - test: /\.(png|woff|woff2|eot|ttf|svg)$/, + test: /\.(png|woff|woff2|eot|ttf)$/, loader: 'url-loader' - } + }, + { + test: /\.svg$/, + loader: 'svg-inline-loader' + }, ] }, node: { From feefd195b12441f76bd3a27f41e601e244b03482 Mon Sep 17 00:00:00 2001 From: Kenzo Date: Fri, 10 Apr 2020 14:51:28 -0400 Subject: [PATCH 18/19] replace media queries with js --- .circleci/config.yml | 6 +- iframe/html/3IDConnect/assets/MarcherBold.ttf | Bin 92844 -> 0 bytes .../html/3IDConnect/assets/MarcherBold.woff | Bin 44739 -> 0 bytes .../html/3IDConnect/assets/MarcherBold.woff2 | Bin 34515 -> 0 bytes iframe/html/3IDConnect/helper.js | 0 iframe/html/3IDConnect/providerSelect.js | 6 +- iframe/html/3IDConnect/requestCard.js | 2 +- iframe/html/3IDConnect/template.js | 6 +- iframe/index.js | 14 +- iframe/style.scss | 74 ++++--- package-lock.json | 201 +++++++----------- 11 files changed, 145 insertions(+), 164 deletions(-) delete mode 100755 iframe/html/3IDConnect/assets/MarcherBold.ttf delete mode 100755 iframe/html/3IDConnect/assets/MarcherBold.woff delete mode 100755 iframe/html/3IDConnect/assets/MarcherBold.woff2 create mode 100644 iframe/html/3IDConnect/helper.js diff --git a/.circleci/config.yml b/.circleci/config.yml index 16309a6..f61e1f1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -58,7 +58,7 @@ jobs: arguments: '--acl public-read --cache 604800' from: public overwrite: true - to: 's3://3id-account-develop' + to: 's3://3id-connect-dev' deploy-prod: working_directory: ~/3id-connect @@ -71,7 +71,7 @@ jobs: arguments: '--acl public-read --cache 604800' from: public overwrite: true - to: 's3://3id-account-prod' + to: 's3://3id-connect-prod' workflows: build-deploy: @@ -84,6 +84,8 @@ workflows: # branches: # only: develop - deploy-prod: + requires: + - test-and-build filters: branches: only: master diff --git a/iframe/html/3IDConnect/assets/MarcherBold.ttf b/iframe/html/3IDConnect/assets/MarcherBold.ttf deleted file mode 100755 index 0a052f7ba1d48e674a208b0e2c944516a1bfc2d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92844 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 diff --git a/iframe/html/3IDConnect/assets/MarcherBold.woff b/iframe/html/3IDConnect/assets/MarcherBold.woff deleted file mode 100755 index f3f5a03575aeb244299bd1f9ef227907eb67fb91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44739 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

GFYFVhR&Ow~;Z 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 ` +const providerSelect = (data, isMobile) => `

-
+
${getProviderDisplayImage(data.request.opts.address)} @@ -15,7 +15,7 @@ const providerSelect = (data) => `
-
+
${assets.MetaMask} diff --git a/iframe/html/3IDConnect/requestCard.js b/iframe/html/3IDConnect/requestCard.js index c61d172..05bc693 100644 --- a/iframe/html/3IDConnect/requestCard.js +++ b/iframe/html/3IDConnect/requestCard.js @@ -1,6 +1,6 @@ const template = require('./template.js').default const providerSelect = require('./providerSelect.js').default -const requestCard = (data) => template(data, providerSelect(data)) +const requestCard = (data, isMobile) => template(data, providerSelect(data, isMobile), isMobile) export default requestCard diff --git a/iframe/html/3IDConnect/template.js b/iframe/html/3IDConnect/template.js index 02e96c7..b1104ab 100644 --- a/iframe/html/3IDConnect/template.js +++ b/iframe/html/3IDConnect/template.js @@ -4,8 +4,8 @@ const assets = require('./assets/assets.js') const capitalizeFirst = string => string.charAt(0).toUpperCase() + string.slice(1) const spaceString = (spaces) => spaces.join(', ') -const template = (data, content) => ` -
+const template = (data, content, isMobile) => ` + -
+
{ document.getElementById("siteFavicon").style.display = 'none'; } +const checkIsMobile = () => { + let isMobile; + if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { + isMobile = true; + } else { + isMobile = false; + } + console.log('isMobile', isMobile) + return isMobile; +}; + // Given a request will render UI module templates const render = async (request) => { const errorMessage = store.get('error') @@ -58,7 +70,7 @@ const render = async (request) => { } if (errorMessage) data.error = errorMessage if (request.type === 'authenticate' && request.spaces.length === 0) data.request.spaces = ['3Box'] - root.innerHTML = requestCard(data) + root.innerHTML = requestCard(data, checkIsMobile()) } /** diff --git a/iframe/style.scss b/iframe/style.scss index 1a0fd45..0915ca5 100644 --- a/iframe/style.scss +++ b/iframe/style.scss @@ -65,11 +65,27 @@ button { background-color: white; } +.cardMobile { + width: 100vw !important; + height: 100vh !important; + border: none !important; + justify-content: flex-start !important; +} + .content { width: 100%; padding-top: 45px; } +.contentMobile { + width: 100% !important; + height: 80% !important; + padding-top: 125px !important; + display: flex !important; + flex-direction: column !important; + justify-content: space-between !important; +} + .controls { width: 100%; height: 52px; @@ -227,6 +243,10 @@ button { padding: 6px; } +.walletSelectMobile { + margin-bottom: 86px; +} + .walletSelect_content { margin-left: 8px; width: 100%; @@ -360,6 +380,10 @@ button { } } +.providerBoxMobile { + top: -110px !important; +} + .providerImage { display: flex; justify-content: center; @@ -438,28 +462,28 @@ button { #requestHeader {} -@media only screen and (max-width: 600px) { - .card { - width: 100vw; - height: 100vh; - border: none; - justify-content: flex-start; - } - - .providerBox { - top: -110px; - } - - .content { - width: 100%; - height: 80%; - padding-top: 125px; - display: flex; - flex-direction: column; - justify-content: space-between; - } - - .walletSelect { - margin-bottom: 86px; - } -} \ No newline at end of file +// @media only screen and (max-width: 600px) { +// // .card { +// // width: 100vw; +// // height: 100vh; +// // border: none; +// // justify-content: flex-start; +// // } + +// // .providerBox { +// // top: -110px; +// // } + +// // .content { +// // width: 100%; +// // height: 80%; +// // padding-top: 125px; +// // display: flex; +// // flex-direction: column; +// // justify-content: space-between; +// // } + +// // .walletSelect { +// // margin-bottom: 86px; +// // } +// } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 2f8387a..fce079c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4625,9 +4625,9 @@ }, "dependencies": { "abstract-leveldown": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", + "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", "requires": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -5278,7 +5278,7 @@ "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", "integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=", "requires": { - "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", + "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#1cfbb13862f90f0b391d8a699544d5fe4dfb8c7b", "ethereumjs-util": "^5.1.1" } }, @@ -6141,8 +6141,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -6163,14 +6162,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6185,20 +6182,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -6315,8 +6309,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -6328,7 +6321,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6343,7 +6335,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6351,14 +6342,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -6377,7 +6366,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -6458,8 +6446,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -6471,7 +6458,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -6557,8 +6543,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -6594,7 +6579,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -6614,7 +6598,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -6658,14 +6641,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -7170,8 +7151,8 @@ } }, "identity-wallet": { - "version": "github:3box/identity-wallet-js#2f23653270d1205d4a881b41161197a17e6afc6e", - "from": "github:3box/identity-wallet-js#feat/partial-migration-externalauth", + "version": "github:3box/identity-wallet-js#0736ee4e3f306d0e5ae01e1b442bd3f0c03ebdf6", + "from": "github:3box/identity-wallet-js#develop", "requires": { "3id-blockchain-utils": "^0.3.3", "@babel/runtime": "^7.4.5", @@ -7418,9 +7399,9 @@ "integrity": "sha512-MsMOijQ4v0xlmrz1fc7lyPEy7jFhoNF7EVaRSP7mPzs20LaFOwG6qNjGRy3Ie85n9DARlcUnB1zbsBv5sJrIvw==" }, "nanoid": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.0.2.tgz", - "integrity": "sha512-WOjyy/xu3199NlQiQWlx7VbspSFlGtOxa1bRX9ebmXOnp1fje4bJfjPs1wLQ8jZbJUfD+yceJmw879ZSaVJkdQ==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.3.tgz", + "integrity": "sha512-Zw8rTOUfh6FlKgkEbHiB1buOF2zOPOQyGirABUWn+9Z7m9PpyoLVkh6Ksc53vBjndINQ2+9LfRPaHxb/u45EGg==" } } }, @@ -16341,8 +16322,7 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true, - "optional": true + "bundled": true }, "aproba": { "version": "1.2.0", @@ -16360,13 +16340,11 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, - "optional": true + "bundled": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -16379,18 +16357,15 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "concat-map": { "version": "0.0.1", - "bundled": true, - "optional": true + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "core-util-is": { "version": "1.0.2", @@ -16493,8 +16468,7 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, - "optional": true + "bundled": true }, "ini": { "version": "1.3.5", @@ -16504,7 +16478,6 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -16517,20 +16490,17 @@ "minimatch": { "version": "3.0.4", "bundled": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true, - "optional": true + "bundled": true }, "minipass": { "version": "2.3.5", "bundled": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -16547,7 +16517,6 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -16620,8 +16589,7 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, - "optional": true + "bundled": true }, "object-assign": { "version": "4.1.1", @@ -16631,7 +16599,6 @@ "once": { "version": "1.4.0", "bundled": true, - "optional": true, "requires": { "wrappy": "1" } @@ -16707,8 +16674,7 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, - "optional": true + "bundled": true }, "safer-buffer": { "version": "2.1.2", @@ -16738,7 +16704,6 @@ "string-width": { "version": "1.0.2", "bundled": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -16756,7 +16721,6 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -16795,13 +16759,11 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, - "optional": true + "bundled": true }, "yallist": { "version": "3.0.3", - "bundled": true, - "optional": true + "bundled": true } } }, @@ -16888,8 +16850,7 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true, - "optional": true + "bundled": true }, "aproba": { "version": "1.2.0", @@ -16907,13 +16868,11 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, - "optional": true + "bundled": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -16926,18 +16885,15 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "concat-map": { "version": "0.0.1", - "bundled": true, - "optional": true + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "core-util-is": { "version": "1.0.2", @@ -17040,8 +16996,7 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, - "optional": true + "bundled": true }, "ini": { "version": "1.3.5", @@ -17051,7 +17006,6 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -17064,20 +17018,17 @@ "minimatch": { "version": "3.0.4", "bundled": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true, - "optional": true + "bundled": true }, "minipass": { "version": "2.3.5", "bundled": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -17094,7 +17045,6 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -17167,8 +17117,7 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, - "optional": true + "bundled": true }, "object-assign": { "version": "4.1.1", @@ -17178,7 +17127,6 @@ "once": { "version": "1.4.0", "bundled": true, - "optional": true, "requires": { "wrappy": "1" } @@ -17254,8 +17202,7 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, - "optional": true + "bundled": true }, "safer-buffer": { "version": "2.1.2", @@ -17285,7 +17232,6 @@ "string-width": { "version": "1.0.2", "bundled": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -17303,7 +17249,6 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -17342,13 +17287,11 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, - "optional": true + "bundled": true }, "yallist": { "version": "3.0.3", - "bundled": true, - "optional": true + "bundled": true } } }, @@ -19225,7 +19168,7 @@ "datastore-core": "~0.6.0", "encoding-down": "^6.0.2", "interface-datastore": "~0.6.0", - "level-js": "github:timkuijsten/level.js#idbunwrapper", + "level-js": "github:timkuijsten/level.js#18e03adab34c49523be7d3d58fafb0c632f61303", "leveldown": "^5.0.0", "levelup": "^4.0.1", "pull-stream": "^3.6.9" @@ -19342,7 +19285,7 @@ "bs58": "^4.0.1", "buffer": "^5.4.2", "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "concat-stream": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", "debug": "^4.1.0", "delay": "^4.3.0", "detect-node": "^2.0.4", @@ -19377,7 +19320,7 @@ "multibase": "~0.6.0", "multicodec": "~0.5.1", "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "ndjson": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", "once": "^1.4.0", "peer-id": "~0.12.3", "peer-info": "~0.15.1", @@ -19723,7 +19666,7 @@ "bs58": "^4.0.1", "buffer": "^5.2.1", "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "concat-stream": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", "debug": "^4.1.0", "detect-node": "^2.0.4", "end-of-stream": "^1.4.1", @@ -19748,7 +19691,7 @@ "multibase": "~0.6.0", "multicodec": "~0.5.1", "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "ndjson": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", "once": "^1.4.0", "peer-id": "~0.12.2", "peer-info": "~0.15.1", @@ -19807,7 +19750,7 @@ "bs58": "^4.0.1", "buffer": "^5.2.1", "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "concat-stream": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", "debug": "^4.1.0", "detect-node": "^2.0.4", "end-of-stream": "^1.4.1", @@ -19832,7 +19775,7 @@ "multibase": "~0.6.0", "multicodec": "~0.5.1", "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "ndjson": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", "once": "^1.4.0", "peer-id": "~0.12.2", "peer-info": "~0.15.1", @@ -20100,7 +20043,7 @@ "buffer": "^5.4.2", "callbackify": "^1.1.0", "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "concat-stream": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", "debug": "^4.1.0", "delay": "^4.3.0", "detect-node": "^2.0.4", @@ -20136,7 +20079,7 @@ "multibase": "~0.6.0", "multicodec": "~0.5.1", "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "ndjson": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", "once": "^1.4.0", "peer-id": "~0.12.3", "peer-info": "~0.15.1", @@ -20340,7 +20283,7 @@ "datastore-core": "~0.6.0", "encoding-down": "^6.0.2", "interface-datastore": "~0.6.0", - "level-js": "github:timkuijsten/level.js#idbunwrapper", + "level-js": "github:timkuijsten/level.js#18e03adab34c49523be7d3d58fafb0c632f61303", "leveldown": "^5.0.0", "levelup": "^4.0.1", "pull-stream": "^3.6.9" @@ -20419,7 +20362,7 @@ "bs58": "^4.0.1", "buffer": "^5.2.1", "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "concat-stream": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", "debug": "^4.1.0", "detect-node": "^2.0.4", "end-of-stream": "^1.4.1", @@ -20444,7 +20387,7 @@ "multibase": "~0.6.0", "multicodec": "~0.5.1", "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "ndjson": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", "once": "^1.4.0", "peer-id": "~0.12.2", "peer-info": "~0.15.1", @@ -20550,7 +20493,7 @@ "bs58": "^4.0.1", "buffer": "^5.2.1", "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "concat-stream": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", "debug": "^4.1.0", "detect-node": "^2.0.4", "end-of-stream": "^1.4.1", @@ -20574,7 +20517,7 @@ "multibase": "~0.6.0", "multicodec": "~0.5.1", "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "ndjson": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", "once": "^1.4.0", "peer-id": "~0.12.2", "peer-info": "~0.15.1", @@ -21092,7 +21035,7 @@ "buffer": "^5.4.2", "callbackify": "^1.1.0", "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "concat-stream": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", "debug": "^4.1.0", "delay": "^4.3.0", "detect-node": "^2.0.4", @@ -21127,7 +21070,7 @@ "multibase": "~0.6.0", "multicodec": "~0.5.1", "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "ndjson": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", "once": "^1.4.0", "peer-id": "~0.12.3", "peer-info": "~0.15.1", @@ -23253,7 +23196,7 @@ "bs58": "^4.0.1", "buffer": "^5.2.1", "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "concat-stream": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", "debug": "^4.1.0", "detect-node": "^2.0.4", "end-of-stream": "^1.4.1", @@ -23278,7 +23221,7 @@ "multibase": "~0.6.0", "multicodec": "~0.5.1", "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "ndjson": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", "once": "^1.4.0", "peer-id": "~0.12.2", "peer-info": "~0.15.1", @@ -23405,7 +23348,7 @@ "bs58": "^4.0.1", "buffer": "^5.2.1", "cids": "~0.7.1", - "concat-stream": "github:hugomrdias/concat-stream#feat/smaller", + "concat-stream": "github:hugomrdias/concat-stream#057bc7b5d6d8df26c8cf00a3f151b6721a0a8034", "debug": "^4.1.0", "detect-node": "^2.0.4", "end-of-stream": "^1.4.1", @@ -23430,7 +23373,7 @@ "multibase": "~0.6.0", "multicodec": "~0.5.1", "multihashes": "~0.4.14", - "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", + "ndjson": "github:hugomrdias/ndjson#4db16da6b42e5b39bf300c3a7cde62abb3fa3a11", "once": "^1.4.0", "peer-id": "~0.12.2", "peer-info": "~0.15.1", @@ -23868,7 +23811,7 @@ "socket.io": "^2.1.1", "socket.io-client": "^2.1.1", "stream-to-pull-stream": "^1.7.3", - "webrtcsupport": "github:ipfs/webrtcsupport" + "webrtcsupport": "github:ipfs/webrtcsupport#0669f576582c53a3a42aa5ac014fcc5966809615" }, "dependencies": { "webrtcsupport": { @@ -23955,7 +23898,7 @@ "rsa-pem-to-jwk": "^1.1.3", "tweetnacl": "^1.0.0", "ursa-optional": "~0.9.9", - "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#master" + "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#190bc9ec341375df6025b17ae12ddb2428ea49c8" } }, "multiaddr": { @@ -24018,7 +23961,7 @@ "protons": "^1.0.1", "rsa-pem-to-jwk": "^1.1.3", "tweetnacl": "^1.0.0", - "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#master" + "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#190bc9ec341375df6025b17ae12ddb2428ea49c8" } }, "multiaddr": { @@ -24087,7 +24030,7 @@ "interface-connection": "~0.3.3", "mafmt": "^6.0.7", "multiaddr-to-uri": "^5.0.0", - "pull-ws": "github:hugomrdias/pull-ws#fix/bundle-size" + "pull-ws": "github:hugomrdias/pull-ws#8e2ce0bb3b1cd6804828316e937fff8e0bef6225" }, "dependencies": { "pull-ws": { @@ -27933,7 +27876,7 @@ "resolved": "https://registry.npmjs.org/rabin-wasm/-/rabin-wasm-0.0.8.tgz", "integrity": "sha512-TpIki3NG/X7nPnYHtYdF4Vp5NLrHvztiM5oL8+9NoeX/ClUfUyy7Y7DMrESZl1ropCpZJAjFMv/ZHYrkLu3bCQ==", "requires": { - "assemblyscript": "github:assemblyscript/assemblyscript#v0.6", + "assemblyscript": "github:assemblyscript/assemblyscript#3ed76a97f05335504166fce1653da75f4face28f", "bl": "^1.0.0", "debug": "^4.1.1", "minimist": "^1.2.0", @@ -33908,9 +33851,9 @@ } }, "levelup": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.3.2.tgz", - "integrity": "sha512-cRTjU4ktWo59wf13PHEiOayHC3n0dOh4i5+FHr4tv4MX9+l7mqETicNq3Aj07HKlLdk0z5muVoDL2RD+ovgiyA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", + "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", "requires": { "deferred-leveldown": "~5.3.0", "level-errors": "~2.0.0", @@ -36229,7 +36172,7 @@ "protons": "^1.0.1", "rsa-pem-to-jwk": "^1.1.3", "tweetnacl": "^1.0.0", - "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#master" + "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#190bc9ec341375df6025b17ae12ddb2428ea49c8" } }, "libp2p-crypto-secp256k1": { @@ -36383,7 +36326,7 @@ "protons": "^1.0.1", "rsa-pem-to-jwk": "^1.1.3", "tweetnacl": "^1.0.0", - "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#master" + "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#190bc9ec341375df6025b17ae12ddb2428ea49c8" } }, "libp2p-crypto-secp256k1": { From 20bc6f9385449b4bd02ba0418cf99bce09780682 Mon Sep 17 00:00:00 2001 From: Zach Ferland Date: Mon, 13 Apr 2020 21:03:43 -0400 Subject: [PATCH 19/19] feat: iframe url --- .circleci/config.yml | 6 ++++++ src/threeIdConnect.js | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f61e1f1..c1d9fb5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -59,6 +59,9 @@ jobs: from: public overwrite: true to: 's3://3id-connect-dev' + - run: + name: "Invalidate CloudFront Cache" + command: aws cloudfront create-invalidation --distribution-id E3SV2UNQUEOU2O --paths /* deploy-prod: working_directory: ~/3id-connect @@ -72,6 +75,9 @@ jobs: from: public overwrite: true to: 's3://3id-connect-prod' + - run: + name: "Invalidate CloudFront Cache" + command: aws cloudfront create-invalidation --distribution-id E1CFVBE8FYHOZ0 --paths /* workflows: build-deploy: diff --git a/src/threeIdConnect.js b/src/threeIdConnect.js index 2c89c0d..034bf4a 100644 --- a/src/threeIdConnect.js +++ b/src/threeIdConnect.js @@ -1,8 +1,7 @@ const ThreeIdProviderProxy = require('./threeIdProviderProxy.js').default import { expose } from 'postmsg-rpc' -// TODO CHANGE -const IDENTITY_WALLET_IFRAME_URL = 'http://127.0.0.1:30001/' +const IDENTITY_WALLET_IFRAME_URL = 'https://connect.3box.io/' const HIDE_IFRAME_STYLE = 'width:0; height:0; border:0; border:none !important' const DISPLAY_IFRAME_STYLE = 'border:none border:0; z-index: 999999; position: fixed;'