From c8c918c0a07d7240c1a012dac2a3aa023943de50 Mon Sep 17 00:00:00 2001 From: ifedapoolarewaju Date: Mon, 8 Jun 2020 09:58:23 +0100 Subject: [PATCH 1/5] docs,website: first draft of tutorial on adding custom providers --- examples/custom-provider/babel.config.js | 14 + .../client/MyCustomProvider.js | 70 +- examples/custom-provider/package-lock.json | 3954 +++++++++++++++++ .../custom-provider/server/customprovider.js | 106 +- .../custom-provider/server/fixtures/image.jpg | Bin 9812 -> 0 bytes examples/custom-provider/server/index.js | 23 +- packages/@uppy/provider-views/README.md | 4 + .../@uppy/provider-views/types/index.d.ts | 22 + .../src/_posts/2020-03-custom-providers.md | 564 +++ website/src/docs/companion.md | 48 +- .../custom-providers/dashboard-preview.png | Bin 0 -> 83119 bytes .../unsplash-api-dashboard.png | Bin 0 -> 224783 bytes .../blog/custom-providers/unsplashicon.png | Bin 0 -> 39925 bytes 13 files changed, 4708 insertions(+), 97 deletions(-) create mode 100644 examples/custom-provider/babel.config.js create mode 100644 examples/custom-provider/package-lock.json delete mode 100644 examples/custom-provider/server/fixtures/image.jpg create mode 100644 website/src/_posts/2020-03-custom-providers.md create mode 100644 website/src/images/blog/custom-providers/dashboard-preview.png create mode 100644 website/src/images/blog/custom-providers/unsplash-api-dashboard.png create mode 100644 website/src/images/blog/custom-providers/unsplashicon.png diff --git a/examples/custom-provider/babel.config.js b/examples/custom-provider/babel.config.js new file mode 100644 index 0000000000..58a80f20c6 --- /dev/null +++ b/examples/custom-provider/babel.config.js @@ -0,0 +1,14 @@ +module.exports = (api) => { + api.env('test') + return { + presets: [ + ['@babel/preset-env', { + modules: false, + loose: true + }] + ], + plugins: [ + ['@babel/plugin-transform-react-jsx', { pragma: 'h' }] + ].filter(Boolean) + } +} diff --git a/examples/custom-provider/client/MyCustomProvider.js b/examples/custom-provider/client/MyCustomProvider.js index 4cb2f3dbff..5ca0d5d0cc 100644 --- a/examples/custom-provider/client/MyCustomProvider.js +++ b/examples/custom-provider/client/MyCustomProvider.js @@ -10,20 +10,20 @@ module.exports = class MyCustomProvider extends Plugin { this.id = this.opts.id || 'MyCustomProvider' Provider.initPlugin(this, opts) - this.title = 'MyCustomProvider' + this.title = 'MyUnsplash' this.icon = () => ( - + ) - // writing out the key explicitly for readability the key used to store - // the provider instance must be equal to this.id. - this[this.id] = new Provider(uppy, { + this.provider = new Provider(uppy, { companionUrl: this.opts.companionUrl, - provider: 'mycustomprovider' + companionHeaders: this.opts.companionHeaders || this.opts.serverHeaders, + provider: 'myunsplash', + pluginId: this.id }) this.files = [] - this.onAuth = this.onAuth.bind(this) + this.onFirstRender = this.onFirstRender.bind(this) this.render = this.render.bind(this) // merge default options with the ones set by user @@ -31,7 +31,9 @@ module.exports = class MyCustomProvider extends Plugin { } install () { - this.view = new ProviderViews(this) + this.view = new ProviderViews(this, { + provider: this.provider + }) // Set default state this.setPluginState({ authenticated: false, @@ -54,56 +56,8 @@ module.exports = class MyCustomProvider extends Plugin { this.unmount() } - onAuth (authenticated) { - this.setPluginState({ authenticated }) - if (authenticated) { - this.view.getFolder() - } - } - - isFolder (item) { - return false - } - - getItemData (item) { - return item - } - - getItemIcon (item) { - return 'https://uppy.io/images/logos/uppy-dog-head-arrow.svg' - } - - getItemSubList (item) { - return item.entries - } - - getItemName (item) { - return item.name - } - - getMimeType (item) { - // mime types aren't supported. - return null - } - - getItemId (item) { - return item.name - } - - getItemRequestPath (item) { - return encodeURIComponent(item.name) - } - - getItemModifiedDate (item) { - return Date.now() - } - - getItemThumbnailUrl (item) { - return 'https://uppy.io/images/logos/uppy-dog-head-arrow.svg' - } - - getUsername () { - return 'Cool Dog' + onFirstRender () { + return this.view.getFolder() } render (state) { diff --git a/examples/custom-provider/package-lock.json b/examples/custom-provider/package-lock.json new file mode 100644 index 0000000000..1ca3c0e1c5 --- /dev/null +++ b/examples/custom-provider/package-lock.json @@ -0,0 +1,3954 @@ +{ + "name": "@uppy-example/custom-provider", + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/core": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", + "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.0", + "@babel/helper-module-transforms": "^7.9.0", + "@babel/helpers": "^7.9.0", + "@babel/parser": "^7.9.0", + "@babel/template": "^7.8.6", + "@babel/traverse": "^7.9.0", + "@babel/types": "^7.9.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", + "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", + "requires": { + "@babel/types": "^7.10.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz", + "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==", + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-module-imports": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz", + "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==", + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-module-transforms": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz", + "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==", + "requires": { + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-simple-access": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz", + "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==", + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-replace-supers": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz", + "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-simple-access": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz", + "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==", + "requires": { + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz", + "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==" + }, + "@babel/helpers": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz", + "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==", + "requires": { + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==" + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/traverse": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", + "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "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" + } + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz", + "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==" + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", + "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==" + }, + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=" + }, + "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" + } + }, + "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" + } + } + } + }, + "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-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "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" + } + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "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-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==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "babelify": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz", + "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==" + }, + "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" + } + } + } + }, + "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==" + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bn.js": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", + "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==" + }, + "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=" + } + } + }, + "bole": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bole/-/bole-2.0.0.tgz", + "integrity": "sha1-2KocaQRnv7T+Ebh0rLLoOH44JhU=", + "requires": { + "core-util-is": ">=1.0.1 <1.1.0-0", + "individual": ">=3.0.0 <3.1.0-0", + "json-stringify-safe": ">=5.0.0 <5.1.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=" + }, + "browser-pack": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "requires": { + "JSONStream": "^1.0.3", + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" + } + }, + "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=" + } + } + }, + "browserify": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.1.tgz", + "integrity": "sha512-EQX0h59Pp+0GtSRb5rL6OTfrttlzv+uyaUVlK6GX3w11SQ0jKPKyjC/54RhPR2ib2KmfcELM06e8FxcI5XNU2A==", + "requires": { + "JSONStream": "^1.0.3", + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^1.11.0", + "browserify-zlib": "~0.2.0", + "buffer": "~5.2.1", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.0", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^2.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.0.0", + "labeled-stream-splicer": "^2.0.0", + "mkdirp-classic": "^0.5.2", + "module-deps": "^6.0.0", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "~0.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^2.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.10.1", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==" + } + } + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "browserify-sign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", + "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.2", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.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==" + }, + "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" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, + "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" + } + }, + "budo": { + "version": "11.6.3", + "resolved": "https://registry.npmjs.org/budo/-/budo-11.6.3.tgz", + "integrity": "sha512-U9pV6SoSxGduY/wnoIlDwEEUhxtTFqYqoyWvi3B5nJ/abSxuNmolfAfzgOQIEXqtHhPEA4FlM+VNzdEDOjpIjw==", + "requires": { + "bole": "^2.0.0", + "browserify": "^16.2.3", + "chokidar": "^2.0.4", + "connect-pushstate": "^1.1.0", + "escape-html": "^1.0.3", + "events": "^1.0.2", + "garnish": "^5.0.0", + "get-ports": "^1.0.2", + "inject-lr-script": "^2.1.0", + "internal-ip": "^3.0.1", + "micromatch": "^3.1.10", + "on-finished": "^2.3.0", + "on-headers": "^1.0.1", + "once": "^1.3.2", + "opn": "^3.0.2", + "path-is-absolute": "^1.0.1", + "pem": "^1.13.2", + "reload-css": "^1.0.0", + "resolve": "^1.1.6", + "serve-static": "^1.10.0", + "simple-html-index": "^1.4.0", + "stacked": "^1.1.1", + "stdout-stream": "^1.4.0", + "strip-ansi": "^3.0.0", + "subarg": "^1.0.0", + "term-color": "^1.0.1", + "url-trim": "^1.0.0", + "watchify-middleware": "^1.8.2", + "ws": "^6.2.1", + "xtend": "^4.0.0" + } + }, + "buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "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-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "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=" + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "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" + } + }, + "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==" + }, + "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" + } + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" + }, + "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" + } + }, + "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-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" + } + } + } + }, + "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=" + }, + "combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", + "requires": { + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + }, + "dependencies": { + "convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=" + } + } + }, + "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-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" + } + }, + "connect-pushstate": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/connect-pushstate/-/connect-pushstate-1.1.0.tgz", + "integrity": "sha1-vKsiQnHEOWBKD7D2FMCl9WPojiQ=" + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "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" + } + }, + "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==" + }, + "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" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "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=" + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "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-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" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" + }, + "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" + } + }, + "dash-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==" + }, + "debounce": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz", + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==" + }, + "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" + } + }, + "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=" + }, + "default-gateway": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz", + "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==", + "requires": { + "execa": "^0.10.0", + "ip-regex": "^2.1.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=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "deps-sort": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", + "requires": { + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.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=" + }, + "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" + } + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "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==" + }, + "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" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "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.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" + } + }, + "es6-promisify": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.1.tgz", + "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==" + }, + "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=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "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": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "requires": { + "cross-spawn": "^6.0.0", + "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" + } + }, + "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=" + } + } + }, + "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": { + "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=" + } + } + }, + "express-session": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.1.tgz", + "integrity": "sha512-UbHwgqjxQZJiWRTMyhvWGvjBQduGCSBDhhZXYenziMFjxst5rMV+aJZ6hKPHZnPyHGsrqRICxtX8jtEbm/z36Q==", + "requires": { + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.0", + "uid-safe": "~2.1.5" + }, + "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" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + } + } + }, + "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" + } + } + } + }, + "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" + } + } + } + }, + "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==" + }, + "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==", + "optional": true + }, + "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=" + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "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" + } + }, + "from2-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/from2-string/-/from2-string-1.1.0.tgz", + "integrity": "sha1-GCgrJ9CKJnyzAwzSuLSw8hKvdSo=", + "requires": { + "from2": "^2.0.3" + } + }, + "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.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "garnish": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/garnish/-/garnish-5.2.0.tgz", + "integrity": "sha1-vtQ2WTguSxmOM8eTiXvnxwHmVXc=", + "requires": { + "chalk": "^0.5.1", + "minimist": "^1.1.0", + "pad-left": "^2.0.0", + "pad-right": "^0.2.2", + "prettier-bytes": "^1.0.3", + "pretty-ms": "^2.1.0", + "right-now": "^1.0.0", + "split2": "^0.2.1", + "stdout-stream": "^1.4.0", + "url-trim": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=" + }, + "chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=" + } + } + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==" + }, + "get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==" + }, + "get-ports": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-ports/-/get-ports-1.0.3.tgz", + "integrity": "sha1-9AvVgKyn7A77e5bL/L6wPviUteg=", + "requires": { + "map-limit": "0.0.1" + } + }, + "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=" + }, + "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" + } + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "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": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "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-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": { + "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" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.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==" + }, + "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" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, + "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" + } + }, + "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" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" + }, + "htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=" + }, + "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" + } + }, + "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=" + }, + "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" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "individual": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/individual/-/individual-3.0.0.tgz", + "integrity": "sha1-58pPhfiVewGHNPKFdQ3CLsL5hi0=" + }, + "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.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "inject-lr-script": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/inject-lr-script/-/inject-lr-script-2.2.0.tgz", + "integrity": "sha512-lFLjCOg2XP8233AiET5vFePo910vhNIkKHDzUptNhc+4Y7dsp/TNBiusUUpaxzaGd6UDHy0Lozfl9AwmteK6DQ==", + "requires": { + "resp-modifier": "^6.0.0" + } + }, + "inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", + "requires": { + "source-map": "~0.5.3" + } + }, + "insert-module-globals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", + "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", + "requires": { + "JSONStream": "^1.0.3", + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + } + }, + "internal-ip": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz", + "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==", + "requires": { + "default-gateway": "^2.6.0", + "ipaddr.js": "^1.5.2" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "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": { + "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-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": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "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-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": { + "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.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + }, + "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-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.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + }, + "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-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": { + "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-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-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" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "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-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "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-stable-stringify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "labeled-stream-splicer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", + "requires": { + "inherits": "^2.0.1", + "stream-splicer": "^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" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-limit": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", + "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=", + "requires": { + "once": "~1.3.0" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "requires": { + "wrappy": "1" + } + } + } + }, + "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" + } + }, + "md5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", + "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", + "requires": { + "charenc": "~0.0.1", + "crypt": "~0.0.1", + "is-buffer": "~1.1.1" + } + }, + "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" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, + "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.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "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" + } + } + } + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "module-deps": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.2.tgz", + "integrity": "sha512-a9y6yDv5u5I4A+IPHTnqFxcaKr4p50/zxTjcQJaX2ws9tN/W6J6YXnEKhqRyPhl494dkcxx951onSKVezmI+3w==", + "requires": { + "JSONStream": "^1.0.3", + "browser-resolve": "^1.7.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.2.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nan": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", + "optional": true + }, + "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" + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "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==" + }, + "npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "requires": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.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=", + "requires": { + "path-key": "^2.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "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" + } + }, + "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-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.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" + } + }, + "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" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "opn": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", + "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=", + "requires": { + "object-assign": "^4.0.1" + } + }, + "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-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "outpipe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz", + "integrity": "sha1-UM+GFjZeh+Ax4ppeyTOaPaRyX6I=", + "requires": { + "shell-quote": "^1.4.2" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "pad-left": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pad-left/-/pad-left-2.1.0.tgz", + "integrity": "sha1-FuajstRKjhOMsIOMx8tAOk/J6ZQ=", + "requires": { + "repeat-string": "^1.5.4" + } + }, + "pad-right": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz", + "integrity": "sha1-b7ySQEXSRPKiokRQMGDTv8YAl3Q=", + "requires": { + "repeat-string": "^1.5.2" + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", + "requires": { + "path-platform": "~0.11.15" + } + }, + "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" + } + }, + "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-ms": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", + "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=" + }, + "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-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-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-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=" + }, + "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=" + }, + "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" + } + }, + "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" + } + }, + "pem": { + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/pem/-/pem-1.14.4.tgz", + "integrity": "sha512-v8lH3NpirgiEmbOqhx0vwQTxwi0ExsiWBGYh0jYNq7K6mQuO4gI6UEFlr6fLAdv9TPXRt6GqiwE37puQdIDS8g==", + "requires": { + "es6-promisify": "^6.0.0", + "md5": "^2.2.1", + "os-tmpdir": "^1.0.1", + "which": "^2.0.2" + }, + "dependencies": { + "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" + } + } + } + }, + "pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "plur": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz", + "integrity": "sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY=" + }, + "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=" + }, + "prettier-bytes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prettier-bytes/-/prettier-bytes-1.0.4.tgz", + "integrity": "sha1-mUsCqkb2mcULYle1+qp/4lV+YtY=" + }, + "pretty-ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz", + "integrity": "sha1-QlfCVt8/sLRR1q/6qwIYhBJpgdw=", + "requires": { + "is-finite": "^1.0.1", + "parse-ms": "^1.0.0", + "plur": "^1.0.0" + } + }, + "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==" + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "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" + } + }, + "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=" + }, + "random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" + }, + "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" + } + }, + "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": "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" + } + }, + "read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", + "requires": { + "readable-stream": "^2.0.2" + } + }, + "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" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "reload-css": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reload-css/-/reload-css-1.0.2.tgz", + "integrity": "sha1-avsRFi4jFP7M2tbcX96CH9cxgzE=", + "requires": { + "query-string": "^4.2.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=" + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "resp-modifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", + "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=", + "requires": { + "debug": "^2.2.0", + "minimatch": "^3.0.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "right-now": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/right-now/-/right-now-1.0.0.tgz", + "integrity": "sha1-bolgne69fc2vja7Mmuo5z1haCRg=" + }, + "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" + } + }, + "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=", + "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==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "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=" + } + } + }, + "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==" + } + } + }, + "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-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" + } + } + } + }, + "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" + } + }, + "shasum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", + "requires": { + "json-stable-stringify": "~0.0.0", + "sha.js": "~2.4.4" + } + }, + "shasum-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "requires": { + "fast-safe-stringify": "^2.0.7" + } + }, + "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=" + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" + }, + "simple-html-index": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/simple-html-index/-/simple-html-index-1.5.0.tgz", + "integrity": "sha1-LJPurrrAAdihNfwAIr1K3o9YmW8=", + "requires": { + "from2-string": "^1.1.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "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=" + } + } + }, + "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": { + "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" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.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=" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "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==" + }, + "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": "0.2.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz", + "integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=", + "requires": { + "through2": "~0.6.1" + }, + "dependencies": { + "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.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=" + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + } + } + }, + "stacked": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stacked/-/stacked-1.1.1.tgz", + "integrity": "sha1-LH+jjMfjejQRp3zY55LeRI+faXU=" + }, + "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" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "requires": { + "readable-stream": "^2.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" + } + }, + "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" + } + }, + "stream-http": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.1.tgz", + "integrity": "sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.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==" + }, + "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" + } + } + } + }, + "stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string.prototype.padend": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz", + "integrity": "sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "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" + } + }, + "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" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, + "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" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } + } + }, + "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=" + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "requires": { + "minimist": "^1.1.0" + } + }, + "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" + } + }, + "syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "requires": { + "acorn-node": "^1.2.0" + } + }, + "term-color": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/term-color/-/term-color-1.0.1.tgz", + "integrity": "sha1-OOGSVTpHPjXkFgT/UZmEa/gRejo=", + "requires": { + "ansi-styles": "2.0.1", + "supports-color": "1.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.0.1.tgz", + "integrity": "sha1-sDP1f5Pi0oreuLwRE4+hPaD9IKM=" + }, + "supports-color": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz", + "integrity": "sha1-FXWN8J2P87SswwdTn6vicJXhBC0=" + } + } + }, + "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" + } + }, + "timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "requires": { + "process": "~0.11.0" + } + }, + "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": { + "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-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" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" + }, + "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=" + }, + "uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "requires": { + "random-bytes": "~1.0.0" + } + }, + "umd": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==" + }, + "undeclared-identifiers": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", + "requires": { + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "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" + } + }, + "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=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "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-trim": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-trim/-/url-trim-1.0.0.tgz", + "integrity": "sha1-QAV+LxZLiOXaynJp2kfm0d2Detw=" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "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" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "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==" + }, + "watchify": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.1.tgz", + "integrity": "sha512-WwnUClyFNRMB2NIiHgJU9RQPQNqVeFk7OmZaWf5dC5EnNa0Mgr7imBydbaJ7tGTuPM2hz1Cb4uiBvK9NVxMfog==", + "requires": { + "anymatch": "^2.0.0", + "browserify": "^16.1.0", + "chokidar": "^2.1.1", + "defined": "^1.0.0", + "outpipe": "^1.1.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "watchify-middleware": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/watchify-middleware/-/watchify-middleware-1.8.2.tgz", + "integrity": "sha512-A+x5K0mHVEK2WSLOEbazcXDFnSlralMZzk364Ea39F4xFl2jGl4VQLLN5HwrnRzpF5/Ggf1Q2he0HpJtflUiHg==", + "requires": { + "concat-stream": "^1.5.0", + "debounce": "^1.0.0", + "events": "^1.0.2", + "object-assign": "^4.0.1", + "strip-ansi": "^3.0.0", + "watchify": "^3.11.1" + } + }, + "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" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "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" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + } + } +} diff --git a/examples/custom-provider/server/customprovider.js b/examples/custom-provider/server/customprovider.js index 597e816251..04c9e3e121 100644 --- a/examples/custom-provider/server/customprovider.js +++ b/examples/custom-provider/server/customprovider.js @@ -1,41 +1,105 @@ -const fs = require('fs') -const path = require('path') -const DUMM_FILE = path.join(__dirname, 'fixtures/image.jpg') +const request = require('request') +const BASE_URL = 'https://api.unsplash.com' /** * an example of a custom provider module. It implements @uppy/companion's Provider interface */ class MyCustomProvider { constructor (options) { - this.authProvider = MyCustomProvider.authProvider + this.authProvider = 'myunsplash' } - static get authProvider () { - return 'mycustomprovider' - } - - list (options, done) { - const response = { - body: { - entries: [ - { name: 'file1.jpg' }, - { name: 'file2.jpg' }, - { name: 'file3.jpg' } - ] + list ({ token, directory }, done) { + const path = directory ? `/${directory}/photos` : '' + const options = { + url: `${BASE_URL}/collections${path}`, + method: 'GET', + json: true, + headers: { + Authorization: `Bearer ${token}` } } - return done(null, response, response.body) + + request(options, (err, resp, body) => { + if (err) { + console.log(err) + done(err) + return + } + + done(null, this._adaptData(body)) + }) } download ({ id, token }, onData) { - return fs.readFile(DUMM_FILE, (err, data) => { - if (err) console.error(err) - onData(data) + const options = { + url: `${BASE_URL}/photos/${id}`, + method: 'GET', + json: true, + headers: { + Authorization: `Bearer ${token}` + } + } + + request(options, (err, resp, body) => { + if (err) { + console.log(err) + return + } + + const url = body.links.download + request.get(url) + .on('data', (chunk) => onData(null, chunk)) + .on('end', () => onData(null, null)) + .on('error', (err) => console.log(err)) }) } size ({ id, token }, done) { - return done(fs.statSync(DUMM_FILE).size) + const options = { + url: `${BASE_URL}/photos/${id}`, + method: 'GET', + json: true, + headers: { + Authorization: `Bearer ${token}` + } + } + + request(options, (err, resp, body) => { + if (err) { + console.log(err) + done(err) + return + } + + done(null, body.width * body.height) + }) + } + + _adaptData (res) { + const data = { + username: null, + items: [], + nextPagePath: null + } + + const items = res + items.forEach((item) => { + const isFolder = !!item.published_at + data.items.push({ + isFolder: isFolder, + icon: isFolder ? item.cover_photo.urls.thumb : item.urls.thumb, + name: item.title || item.description, + mimeType: isFolder ? null : 'image/jpeg', + id: item.id, + thumbnail: isFolder ? item.cover_photo.urls.thumb : item.urls.thumb, + requestPath: item.id, + modifiedDate: item.updated_at, + size: null + }) + }) + + return data } } diff --git a/examples/custom-provider/server/fixtures/image.jpg b/examples/custom-provider/server/fixtures/image.jpg deleted file mode 100644 index 2d42471f3ae6704c3d3889491c6353d609b9219c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9812 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 { res.send('Welcome to my uppy companion service') }) +// source https://unsplash.com/documentation#user-authentication +const AUTHORIZE_URL = 'https://unsplash.com/oauth/authorize' +const ACCESS_URL = 'https://unsplash.com/oauth/token' + // initialize uppy const uppyOptions = { providerOptions: { @@ -42,15 +46,16 @@ const uppyOptions = { } }, customProviders: { - mycustomprovider: { + myunsplash: { config: { // your oauth handlers - authorize_url: 'http://localhost:3020/oauth/authorize', - access_url: 'http://localhost:3020/oauth/token', + authorize_url: AUTHORIZE_URL, + access_url: ACCESS_URL, oauth: 2, - key: '***', - secret: '**', - scope: ['read', 'write'] + key: 'your unsplash key here', + secret: 'your unsplash secret here', + callback: '/myunsplash/callback', + transport: 'session' }, // you provider module module: require('./customprovider') @@ -65,12 +70,6 @@ const uppyOptions = { debug: true } -app.get('/oauth/authorize', (req, res) => { - // skips the default oauth process. - // ideally this endpoint should handle the actual oauth process - res.redirect(`http://localhost:3020/mycustomprovider/callback?state=${req.query.state}&access_token=randombytes`) -}) - app.use(uppy.app(uppyOptions)) // handle 404 diff --git a/packages/@uppy/provider-views/README.md b/packages/@uppy/provider-views/README.md index c529bce654..6760e7b076 100644 --- a/packages/@uppy/provider-views/README.md +++ b/packages/@uppy/provider-views/README.md @@ -22,6 +22,10 @@ class GoogleDrive extends Plugin { // snip } + onFirstRender () { + return this.view.getFolder('root', '/') + } + render (state) { return this.view.render(state) } diff --git a/packages/@uppy/provider-views/types/index.d.ts b/packages/@uppy/provider-views/types/index.d.ts index e69de29bb2..748482bc58 100644 --- a/packages/@uppy/provider-views/types/index.d.ts +++ b/packages/@uppy/provider-views/types/index.d.ts @@ -0,0 +1,22 @@ +import CompanionClient = require('@uppy/companion-client') +import Uppy = require('@uppy/core') + +interface ProviderViewOptions { + provider: CompanionClient.Provider + viewType?: 'list' | 'grid' + showTitles?: boolean + showFilter?: boolean + showBreadcrumbs?: boolean +} + +interface OnFirstRenderer { + onFirstRender: () => any +} + + +declare class ProviderView { + constructor (plugin: Uppy.Plugin & OnFirstRenderer, opts: ProviderViewOptions) + // @todo add other provider view methods +} + +export = ProviderView diff --git a/website/src/_posts/2020-03-custom-providers.md b/website/src/_posts/2020-03-custom-providers.md new file mode 100644 index 0000000000..eef37e071c --- /dev/null +++ b/website/src/_posts/2020-03-custom-providers.md @@ -0,0 +1,564 @@ +--- +title: "Adding Custom Providers: Step by Step Tutorial to add Custom Providers" +date: 2020-06-08 +author: ife +published: false +--- + +In this post we will be going through a step by step tutorial on how to develop, and add custom providers to Uppy and Companion. For the purpose of this tutorial we will be building a custom provider for [Unsplash](https://unsplash.com/). + + + +Creating a custom provider composes of two parts; **Custom Companion Provider** and **Custom Uppy Plugin** + +## Creating a Custom Companion Provider + +On the Companion side, we need to create a Provider that receives the provider related requests that would come from Uppy. + +### Setting up Companion + +We'll start off by setting up a minimal express server. + +1. Create a folder named "custom-provider" and navigate into it + +```sh +mkdir custom-provider +cd custom-provider +``` +2. Run `npm init` to setup your `package.json` file +3. install express, express-session, body-parser, request, uppy and @uppy/companion + +```sh +npm i -S express express-session body-parser request @uppy/companion uppy +``` + +with all that done, my package.json file looks something like this: + +```json +{ + "name": "custom-provider", + "dependencies": { + "body-parser": "^1.18.2", + "express": "^4.16.2", + "express-session": "^1.15.6", + "request": "^2.88.0", + "uppy": "^1.14.1", + "@uppy/companion": "^2.0.0" + }, + "private": true, + "scripts": {} +} +``` + +4. Create a `server/index.js` file within the project and add initiate your express server + +```js +const express = require('express') +const companion = require('@uppy/companion') +const bodyParser = require('body-parser') +const session = require('express-session') + +const app = express() + +app.use(bodyParser.json()) +app.use(session({ + secret: 'some-secret', + resave: true, + saveUninitialized: true +})) + +app.use((req, res, next) => { + res.setHeader('Access-Control-Allow-Origin', req.headers.origin || '*') + res.setHeader( + 'Access-Control-Allow-Methods', + 'GET, POST, OPTIONS, PUT, PATCH, DELETE' + ) + res.setHeader( + 'Access-Control-Allow-Headers', + 'Authorization, Origin, Content-Type, Accept' + ) + next() +}) + +// initialize uppy +const companionOptions = { + providerOptions: { + dropbox: { + key: 'your Dropbox key', + secret: 'your Dropbox secret' + } + }, + server: { + host: 'localhost:3020', + protocol: 'http' + }, + filePath: './output', + secret: 'some-secret', + debug: true +} + +app.use(companion.app(companionOptions)) + +// handle 404 +app.use((req, res, next) => { + return res.status(404).json({ message: 'Not Found' }) +}) + +companion.socket(app.listen(3020), companionOptions) + +console.log('Welcome to Companion!') +console.log(`Listening on http://0.0.0.0:3020`) + +``` + +The code snippet above sets up an express server and plugs Companion into it. However, the Companion setup doesn't include a custom provider yet. It only includes the Dropbox provider. + +To be sure everything is working correctly so far, you can start the server by running: + +`node server/index.js` + +It should log the following message in the console: + +```sh +Welcome to Companion! +Listening on http://0.0.0.0:3020 +``` + +Now we need to proceed to add our custom provider. + +### Setting up Unsplash API + +Head to Unsplash's [developer platform](https://unsplash.com/oauth/applications) (you'd need to create an account if you don't already have one). + +Click "New Application" to create a new application. For the sake of this tutorial, I am naming my application "companion-provider". Once it is created, your page should look something like this: + +![](/images/blog/custom-providers/unsplash-api-dashboard.png) + +### Writing the custom provider + +Back to our project directory, we are going to create a `server/customprovider.js` file. This will contain the code that implements the Unsplash provider. + +According to [the docs](https://uppy.io/docs/companion/#Adding-custom-providers), we need to create a class that implements the methods `list`, `download`, and `size`. + +The constructor of our class will look something like this: + +```js +class MyCustomProvider { + constructor (options) { + this.authProvider = 'myunsplash' // the name of our provider (lowercased) + } + ... +} +``` + +Our `list` method would look something like this + +```js +list ({ token, directory }, done) { + const path = directory ? `/${directory}/photos` : '' + const options = { + url: `${BASE_URL}/collections${path}`, + method: 'GET', + json: true, + headers: { + Authorization: `Bearer ${token}` + } + } + + request(options, (err, resp, body) => { + if (err) { + console.log(err) + done(err) + return + } + + done(null, this._adaptData(body)) + }) +} + +_adaptData (res) { + const data = { + username: null, + items: [], + nextPagePath: null + } + + const items = res + items.forEach((item) => { + const isFolder = !!item.published_at + data.items.push({ + isFolder: isFolder, + icon: isFolder ? item.cover_photo.urls.thumb : item.urls.thumb, + name: item.title || item.description, + mimeType: isFolder ? null : 'image/jpeg', + id: item.id, + thumbnail: isFolder ? item.cover_photo.urls.thumb : item.urls.thumb, + requestPath: item.id, + modifiedDate: item.updated_at, + size: null + }) + }) + + return data +} +``` + +the method makes an http request to the unsplash API based on the documentation to [list collections](https://unsplash.com/documentation#list-collections) and [list collection's photos](https://unsplash.com/documentation#get-a-collections-photos). The `_adaptData` method exists to help the conform to [the list data]((https://uppy.io/docs/companion/#list-data)) + +Our `size` method will look something like this: + +```js +size ({ id, token }, done) { + const options = { + url: `${BASE_URL}/photos/${id}`, + method: 'GET', + json: true, + headers: { + Authorization: `Bearer ${token}` + } + } + + request(options, (err, resp, body) => { + if (err) { + console.log(err) + done(err) + return + } + + done(null, body.width * body.height) + }) +} +``` + +Unsplash's API doesn't provide the file size, so we are estimating it by multiplying the width and height of the image. + +The `download` method will look like this: + +```js +download ({ id, token }, onData) { + const options = { + url: `${BASE_URL}/photos/${id}`, + method: 'GET', + json: true, + headers: { + Authorization: `Bearer ${token}` + } + } + + request(options, (err, resp, body) => { + if (err) { + console.log(err) + return + } + + const url = body.links.download + request.get(url) + .on('data', (chunk) => onData(null, chunk)) + .on('end', () => onData(null, null)) + .on('error', (err) => console.log(err)) + }) +} +``` +With all of this put together the entire file would look something like this: + +```js +const request = require('request') +const BASE_URL = 'https://api.unsplash.com' + +class MyCustomProvider { + constructor (options) { + this.authProvider = 'myunsplash' + } + + list ({ token, directory }, done) { + const path = directory ? `/${directory}/photos` : '' + const options = { + url: `${BASE_URL}/collections${path}`, + method: 'GET', + json: true, + headers: { + Authorization: `Bearer ${token}` + } + } + + request(options, (err, resp, body) => { + if (err) { + console.log(err) + done(err) + return + } + + done(null, this._adaptData(body)) + }) + } + + download ({ id, token }, onData) { + const options = { + url: `${BASE_URL}/photos/${id}`, + method: 'GET', + json: true, + headers: { + Authorization: `Bearer ${token}` + } + } + + request(options, (err, resp, body) => { + if (err) { + console.log(err) + return + } + + const url = body.links.download + request.get(url) + .on('data', (chunk) => onData(null, chunk)) + .on('end', () => onData(null, null)) + .on('error', (err) => console.log(err)) + }) + } + + size ({ id, token }, done) { + const options = { + url: `${BASE_URL}/photos/${id}`, + method: 'GET', + json: true, + headers: { + Authorization: `Bearer ${token}` + } + } + + request(options, (err, resp, body) => { + if (err) { + console.log(err) + done(err) + return + } + + done(null, body.width * body.height) + }) + } + + _adaptData (res) { + const data = { + username: null, + items: [], + nextPagePath: null + } + + const items = res + items.forEach((item) => { + const isFolder = !!item.published_at + data.items.push({ + isFolder: isFolder, + icon: isFolder ? item.cover_photo.urls.thumb : item.urls.thumb, + name: item.title || item.description, + mimeType: isFolder ? null : 'image/jpeg', + id: item.id, + thumbnail: isFolder ? item.cover_photo.urls.thumb : item.urls.thumb, + requestPath: item.id, + modifiedDate: item.updated_at, + size: null + }) + }) + + return data + } +} + +module.exports = MyCustomProvider +``` + +Now we can go back to `server/index.js` to enable our custom provider: + +```js +// initialize uppy +const uppyOptions = { + providerOptions: { + dropbox: { + key: 'your Dropbox key', + secret: 'your Dropbox secret' + } + }, + customProviders: { + myunsplash: { + config: { + // source https://unsplash.com/documentation#user-authentication + authorize_url: 'https://unsplash.com/oauth/authorize', + access_url: 'https://unsplash.com/oauth/token', + oauth: 2, + key: 'YOUR UNSPLASH API KEY', + secret: 'YOUR UNSPLASH API SECRET', + callback: '/myunsplash/callback', + transport: 'session', + }, + // you provider module + module: require('./customprovider') + } + }, + server: { + host: 'localhost:3020', + protocol: 'http' + }, + filePath: './output', + secret: 'some-secret', + debug: true +} +``` + +You can find your unsplash API key on your Unsplash [app dashboard](https://unsplash.com/oauth/applications) + +## Creating a Custom Uppy Plugin + +Now we need to implement the client part of this. To do this we need to implement an Uppy Plugin. + +First, we'll create a `client/MyCustomProvider.js` file. Following the instructions [here](https://uppy.io/docs/writing-plugins/), our Uppy Plugin (aka `client/MyCustomProvider.js` file) could look something like this: + +```js +const { Plugin } = require('@uppy/core') +const { Provider } = require('@uppy/companion-client') +const ProviderViews = require('@uppy/provider-views') +const { h } = require('preact') + +module.exports = class MyCustomProvider extends Plugin { + constructor (uppy, opts) { + super(uppy, opts) + this.type = 'acquirer' + this.id = this.opts.id || 'MyCustomProvider' + Provider.initPlugin(this, opts) + + this.title = 'MyUnsplash' + this.icon = () => ( + + ) + + this.provider = new Provider(uppy, { + companionUrl: this.opts.companionUrl, + companionHeaders: this.opts.companionHeaders || this.opts.serverHeaders, + provider: 'myunsplash', + pluginId: this.id + }) + + this.files = [] + this.onFirstRender = this.onFirstRender.bind(this) + this.render = this.render.bind(this) + + // merge default options with the ones set by user + this.opts = Object.assign({}, opts) + } + + install () { + this.view = new ProviderViews(this, { + provider: this.provider + }) + // Set default state + this.setPluginState({ + authenticated: false, + files: [], + folders: [], + directories: [], + activeRow: -1, + filterInput: '', + isSearchVisible: false + }) + + const target = this.opts.target + if (target) { + this.mount(target, this) + } + } + + uninstall () { + this.view.tearDown() + this.unmount() + } + + onFirstRender () { + return this.view.getFolder() + } + + render (state) { + return this.view.render(state) + } +} +``` + +Asides from implementing the methods required by the Uppy Plugin, we are also implmeneting the method `onFirstRender`. This is because we are using the [@uppy/provider-views](https://www.npmjs.com/package/@uppy/provider-views) package to reuse its UI componenets. The [@uppy/provider-views](https://www.npmjs.com/package/@uppy/provider-views) package requires that our plugin implements an `onFirstRender` method. + +We are also pre-setting a default plugin with a default object structure which is used by the `@uppy/provider-views` package. + +With that done, we can now use our new plugin with Uppy. Create a file `client/main.js` and initiate Uppy in there like so: + +```js +const Uppy = require('@uppy/core') +const Dropbox = require('@uppy/dropbox') +const Tus = require('@uppy/tus') +const MyCustomProvider = require('./MyCustomProvider') +const Dashboard = require('@uppy/dashboard') + +const uppy = Uppy({ + debug: true +}) + +uppy.use(Dropbox, { + companionUrl: 'http://localhost:3020' +}) + +uppy.use(MyCustomProvider, { + companionUrl: 'http://localhost:3020' +}) + +uppy.use(Dashboard, { + inline: true, + target: 'body', + plugins: ['Dropbox', 'MyCustomProvider'] +}) + +uppy.use(Tus, { endpoint: 'https://master.tus.io/files/' }) +``` + +Now we need to bundle the file so it can be loaded on the browser. To do this, we'd install [budo](https://www.npmjs.com/package/budo): + +1. In the root project directory, run `npm install budo -g`. +2. Create a `babel.config.js` file looking like so: + +```js +module.exports = (api) => { + api.env('test') + return { + presets: [ + ['@babel/preset-env', { + modules: false, + loose: true + }] + ], + plugins: [ + ['@babel/plugin-transform-react-jsx', { pragma: 'h' }], + ].filter(Boolean) + } +} +``` +3. Add an `index.html` file (in the root of the project) that uses a bundle file like so: + +```html + + + + + + Uppy Custom provider Example + + + + + + +``` + +4. Create the bundle file by running `budo client/main.js:bundle.js -- -t babelify`. This will bundle your `client` side work and have it running on a local server. Please check the console log to see on what port the server is running. As at the time of this writing, it defaults to `9966` (URL will be http://localhost:9966/). + +You can now load the URL of your client on your browser to see it running. When I run mine, it looks something like this: + +![](/images/blog/custom-providers/dashboard-preview.png) + +In order to use this with our Companion implementation, we need to also start our Companion server by running `node server/index.js`. + +Congrats! 🎉We have completed our custom plugin at this point. For an example source code on this tutorial, please see the [custom provider example](https://github.com/transloadit/uppy/tree/master/examples/custom-provider). diff --git a/website/src/docs/companion.md b/website/src/docs/companion.md index 359f02a6eb..bc2b0eac1e 100644 --- a/website/src/docs/companion.md +++ b/website/src/docs/companion.md @@ -286,7 +286,7 @@ See [env.example.sh](https://github.com/transloadit/uppy/blob/master/env.example 6. **sendSelfEndpoint(optional)** - This is basically the same as the `server.host + server.path` attributes. The major reason for this attribute is that, when set, it adds the value as the `i-am` header of every request response. -7. **customProviders(optional)** - This option enables you to add custom providers along with the already supported providers. See [Adding Custom Providers](#Adding-Custom-Providers) for more information. +7. **customProviders(optional)** - This option enables you to add custom providers along with the already supported providers. See [Adding Custom Providers](#Adding-custom-providers) for more information. 8. **uploadUrls(optional)** - An array of URLs (full paths). If specified, Companion will only accept uploads to these URLs (useful when you want to make sure a Companion instance is only allowed to upload to your servers, for example). @@ -359,7 +359,7 @@ We have [a detailed guide on running Companion in Kubernetes](https://github.com ### Adding custom providers -As of now, Companion supports **Google Drive**, **Dropbox**, **Instagram**, and **URL** (remote urls) out of the box, but you may also choose to add your own custom providers. You can do this by passing the `customProviders` option when calling the Uppy `app` method. The custom provider is expected to support Oauth 1 or 2 for authentication/authorization. +As of now, Companion supports the [providers listed here](https://uppy.io/docs/companion/#Supported-providers) out of the box, but you may also choose to add your own custom providers. You can do this by passing the `customProviders` option when calling the Uppy `app` method. The custom provider is expected to support Oauth 1 or 2 for authentication/authorization. ```javascript let options = { @@ -371,6 +371,7 @@ let options = { oauth: 2, key: "***", secret: "***", + callback: '/myprovidername/callback' scope: ["read", "write"] }, module: require('/path/to/provider/module') @@ -390,13 +391,48 @@ To work well with Companion, the **Module** must be a class with the following m - token - authorization token (retrieved from oauth process) to send along with your request - directory - the `id/name` of the directory from which data is to be retrieved. This may be ignored if it doesn't apply to your provider - query - expressjs query params object received by the server (just in case there is some data you need in there). - - `done (err, response, body)` - the callback that should be called when the request to your provider is made. As the signature indicates, the following data should be passed along to the callback `err`, `response`, and `body`. -2. `download (options, onData, onResponse)` - downloads a particular file from the provider. + - `done (err, data)` - the callback that should be called when the request to your provider is made. As the signature indicates, the following data should be passed along to the callback `err`, and [`data`]((#list-data)). +2. `download (options, onData)` - downloads a particular file from the provider. - `options` - is an object containing the following attributes: - token - authorization token (retrieved from oauth process) to send along with your request. - id - ID of the file being downloaded. - - `onData (chunk)` - a callback that should be called with each data chunk received on download. This is useful if the size of the downloaded file can be pre-determined. This would allow for pipelined upload of the file (to the desired destination), while the download is still going on. - - `onResponse (response)` - if the size of the downloaded file can not be pre-determined by Companion, then this callback should be called in place of the `onData` callback. This callback would be called after the download is done, and would take the downloaded data (response) as the argument. + - query - expressjs query params object received by the server (just in case there is some data you need in there). + - `onData (err, chunk)` - a callback that should be called with each data chunk received as download is happening. The `err` argument is an error that should be passed if an error occurs during download. It should be `null` if there's no error. Once the download is completed and there are no more chunks to receive, `onData` should be called with `null` values like so `onData(null, null)` +3. `size (options, done)` - returns the byte size of the file that needs to be downloaded. + - `options` - is an object containing the following attributes: + - token - authorization token (retrieved from oauth process) to send along with your request. + - id - ID of the file being downloaded. + - `done (err, size)` - the callback that should be called after the request to your provider is completed. As the signature indicates, the following data should be passed along to the callback `err`, and `size` (number). + +The class must also have an `authProvider` string (lowercased) field which typically indicates the name of the provider (e.g "dropbox"). + +#### list data + +```js +{ + username: 'username or email of the user whose provider account is being accessed', + // list of files and folders in the directory. An item is considered a folder + // if it mainly exists as a collection to contain sub-items + items: [ + { + isFolder: false, // boolean value of whether or NOT it's a folder + icon: 'icon image URL', + name: 'name of the item (e.g "myfile.jpg")', + mimeType: 'the mime type of the item. Only relevant if the item is NOT a folder', + id: 'the id (in string) of the item', + thumbnail: 'thumbnail image URL. Only relevant if the item is NOT a folder', + requestPath: 'for folders this is typically the value that will be passed as "directory" in the list(...) method. For files, this is the value that will be passed as id in the download(...) method.', + modifiedDate: 'datetime string (in ISO 8601 format) of when this item was last modified', + size: 278940, // the size in bytes of the item. Only relevent if the item is NOT a folder + custom: { + // an object that may contain some more custom fields that you may need to send to the client. Only add this object if you have a need for it. + }, + // more items here + } + ] + nextPagePath: 'if the "items" list is paginated, this is the request path needed to fetch the next page.' +} +``` ## Development diff --git a/website/src/images/blog/custom-providers/dashboard-preview.png b/website/src/images/blog/custom-providers/dashboard-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..2357ef45a42b9dfe086938faf9f697b36ccbb9ee GIT binary patch literal 83119 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®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

^pglS^O7p!lyAI~s@m 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 KTILl!pZ^Q}DR)f( literal 0 HcmV?d00001 diff --git a/website/src/images/blog/custom-providers/unsplash-api-dashboard.png b/website/src/images/blog/custom-providers/unsplash-api-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..1d1aa366cf0551efcba1306c46c3f2ee43cedd59 GIT binary patch literal 224783 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 literal 0 HcmV?d00001 diff --git a/website/src/images/blog/custom-providers/unsplashicon.png b/website/src/images/blog/custom-providers/unsplashicon.png new file mode 100644 index 0000000000000000000000000000000000000000..b11eb4357716379f0fb62bf6e3126bdc3f5bd1e9 GIT binary patch literal 39925 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 EKmJ;)fB*mh literal 0 HcmV?d00001 From 4d54bf63633f90ac6b23456183e15d3622972805 Mon Sep 17 00:00:00 2001 From: ifedapoolarewaju Date: Wed, 10 Jun 2020 17:59:07 +0100 Subject: [PATCH 2/5] docs: define "Provider Plugins" --- website/src/_posts/2020-03-custom-providers.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/website/src/_posts/2020-03-custom-providers.md b/website/src/_posts/2020-03-custom-providers.md index eef37e071c..37b1d1dd7c 100644 --- a/website/src/_posts/2020-03-custom-providers.md +++ b/website/src/_posts/2020-03-custom-providers.md @@ -5,10 +5,17 @@ author: ife published: false --- -In this post we will be going through a step by step tutorial on how to develop, and add custom providers to Uppy and Companion. For the purpose of this tutorial we will be building a custom provider for [Unsplash](https://unsplash.com/). +In this post we will be going through a step by step tutorial on how to develop, and add custom [providers](https://uppy.io/docs/providers/) to Uppy and Companion. For the purpose of this tutorial we will be building a custom provider for [Unsplash](https://unsplash.com/). +## What are Provider Plugins? + +> Provider plugins help you connect to your accounts with remote file providers such as Dropbox, Google Drive, Instagram and remote URLs + +Please see [here](https://uppy.io/docs/providers/) for more info on Provider Plugins + + Creating a custom provider composes of two parts; **Custom Companion Provider** and **Custom Uppy Plugin** ## Creating a Custom Companion Provider @@ -203,7 +210,7 @@ _adaptData (res) { } ``` -the method makes an http request to the unsplash API based on the documentation to [list collections](https://unsplash.com/documentation#list-collections) and [list collection's photos](https://unsplash.com/documentation#get-a-collections-photos). The `_adaptData` method exists to help the conform to [the list data]((https://uppy.io/docs/companion/#list-data)) +the method makes an http request to the unsplash API based on the documentation to [list collections](https://unsplash.com/documentation#list-collections) and [list collection's photos](https://unsplash.com/documentation#get-a-collections-photos). The `_adaptData` method exists to help us conform to [the list data](https://uppy.io/docs/companion/#list-data) Our `size` method will look something like this: From 3b32298faeb3d7d10bb8a5006fa7d92354e3b003 Mon Sep 17 00:00:00 2001 From: "Ifedapo .A. Olarewaju" Date: Mon, 29 Jun 2020 14:29:28 +0100 Subject: [PATCH 3/5] blog,docs: revise Provider summary --- website/src/_posts/2020-03-custom-providers.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/src/_posts/2020-03-custom-providers.md b/website/src/_posts/2020-03-custom-providers.md index 37b1d1dd7c..406489081b 100644 --- a/website/src/_posts/2020-03-custom-providers.md +++ b/website/src/_posts/2020-03-custom-providers.md @@ -11,9 +11,11 @@ In this post we will be going through a step by step tutorial on how to develop, ## What are Provider Plugins? -> Provider plugins help you connect to your accounts with remote file providers such as Dropbox, Google Drive, Instagram and remote URLs +> Provider Plugins help you connect to your accounts with remote file storage providers such as Dropbox, Google Drive, Instagram and remote URLs. +> +> They work tightly with [Companion](https://www.npmjs.com/package/@uppy/companion) — Uppy's server-to-server communication handler between your server and file storage providers. -Please see [here](https://uppy.io/docs/providers/) for more info on Provider Plugins +Read more on [Provider Plugins](https://uppy.io/docs/providers/). Creating a custom provider composes of two parts; **Custom Companion Provider** and **Custom Uppy Plugin** From 90946ebbb7fa3e9d944a4ba2007b2e68637e374c Mon Sep 17 00:00:00 2001 From: ifedapoolarewaju Date: Mon, 29 Jun 2020 23:38:09 +0100 Subject: [PATCH 4/5] docs: use consistent sample comments --- examples/custom-provider/provider-logo.svg | 3 ++ website/src/docs/companion.md | 36 +++++++++++++++------- 2 files changed, 28 insertions(+), 11 deletions(-) create mode 100644 examples/custom-provider/provider-logo.svg diff --git a/examples/custom-provider/provider-logo.svg b/examples/custom-provider/provider-logo.svg new file mode 100644 index 0000000000..7ae8b70943 --- /dev/null +++ b/examples/custom-provider/provider-logo.svg @@ -0,0 +1,3 @@ + + + diff --git a/website/src/docs/companion.md b/website/src/docs/companion.md index bc2b0eac1e..cdf2ef0816 100644 --- a/website/src/docs/companion.md +++ b/website/src/docs/companion.md @@ -410,27 +410,41 @@ The class must also have an `authProvider` string (lowercased) field which typic ```js { - username: 'username or email of the user whose provider account is being accessed', + // username or email of the user whose provider account is being accessed + username: 'johndoe', // list of files and folders in the directory. An item is considered a folder // if it mainly exists as a collection to contain sub-items items: [ { - isFolder: false, // boolean value of whether or NOT it's a folder - icon: 'icon image URL', - name: 'name of the item (e.g "myfile.jpg")', - mimeType: 'the mime type of the item. Only relevant if the item is NOT a folder', - id: 'the id (in string) of the item', - thumbnail: 'thumbnail image URL. Only relevant if the item is NOT a folder', - requestPath: 'for folders this is typically the value that will be passed as "directory" in the list(...) method. For files, this is the value that will be passed as id in the download(...) method.', - modifiedDate: 'datetime string (in ISO 8601 format) of when this item was last modified', - size: 278940, // the size in bytes of the item. Only relevent if the item is NOT a folder + // boolean value of whether or NOT it's a folder + isFolder: false, + // icon image URL + icon: 'https://random-api.url.com/fileicon.jpg', + // name of the item + name: 'myfile.jpg', + // the mime type of the item. Only relevant if the item is NOT a folder + mimeType: 'image/jpg', + // the id (in string) of the item + id: 'uniqueitemid', + // thumbnail image URL. Only relevant if the item is NOT a folder + thumbnail: 'https://random-api.url.com/filethumbnail.jpg', + // for folders this is typically the value that will be passed as "directory" in the list(...) method. + // For files, this is the value that will be passed as id in the download(...) method. + requestPath: 'file-or-folder-requestpath', + // datetime string (in ISO 8601 format) of when this item was last modified + modifiedDate: '2020-06-29T19:59:58Z', + // the size in bytes of the item. Only relevent if the item is NOT a folder + size: 278940, custom: { // an object that may contain some more custom fields that you may need to send to the client. Only add this object if you have a need for it. + customData1: 'the value', + customData2: 'the value', }, // more items here } ] - nextPagePath: 'if the "items" list is paginated, this is the request path needed to fetch the next page.' + // if the "items" list is paginated, this is the request path needed to fetch the next page. + nextPagePath: 'directory-name?cursor=cursor-to-next-page' } ``` From 81948c63a6f2ec191912c6fcc7f1173cffc64dc4 Mon Sep 17 00:00:00 2001 From: ifedapoolarewaju Date: Mon, 29 Jun 2020 23:44:16 +0100 Subject: [PATCH 5/5] blog, examples: use svg code directly as custom provider icon --- examples/custom-provider/client/MyCustomProvider.js | 4 +++- examples/custom-provider/provider-logo.svg | 3 --- website/src/_posts/2020-03-custom-providers.md | 4 +++- 3 files changed, 6 insertions(+), 5 deletions(-) delete mode 100644 examples/custom-provider/provider-logo.svg diff --git a/examples/custom-provider/client/MyCustomProvider.js b/examples/custom-provider/client/MyCustomProvider.js index 5ca0d5d0cc..b4f896ba03 100644 --- a/examples/custom-provider/client/MyCustomProvider.js +++ b/examples/custom-provider/client/MyCustomProvider.js @@ -12,7 +12,9 @@ module.exports = class MyCustomProvider extends Plugin { this.title = 'MyUnsplash' this.icon = () => ( - + + + ) this.provider = new Provider(uppy, { diff --git a/examples/custom-provider/provider-logo.svg b/examples/custom-provider/provider-logo.svg deleted file mode 100644 index 7ae8b70943..0000000000 --- a/examples/custom-provider/provider-logo.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/website/src/_posts/2020-03-custom-providers.md b/website/src/_posts/2020-03-custom-providers.md index 406489081b..45f1039d60 100644 --- a/website/src/_posts/2020-03-custom-providers.md +++ b/website/src/_posts/2020-03-custom-providers.md @@ -436,7 +436,9 @@ module.exports = class MyCustomProvider extends Plugin { this.title = 'MyUnsplash' this.icon = () => ( - + + + ) this.provider = new Provider(uppy, {