From 09609b95872b5e0cf06226c96eb003793aa906fc Mon Sep 17 00:00:00 2001 From: Paul Ryan Date: Mon, 8 Apr 2019 19:34:40 +1000 Subject: [PATCH] added react-ioc-tests sample web part (#815) --- samples/react-ioc-tests/.editorconfig | 25 + samples/react-ioc-tests/.yo-rc.json | 11 + samples/react-ioc-tests/README.md | 70 + samples/react-ioc-tests/assets/preview.jpg | Bin 0 -> 78802 bytes samples/react-ioc-tests/config/config.json | 18 + .../react-ioc-tests/config/copy-assets.json | 4 + .../config/deploy-azure-storage.json | 7 + .../config/package-solution.json | 12 + samples/react-ioc-tests/config/serve.json | 10 + .../config/write-manifests.json | 4 + samples/react-ioc-tests/gulpfile.js | 7 + .../jest/cobertura-coverage.xml | 397 + .../react-ioc-tests/jest/coverage-final.json | 8 + .../jest/lcov-report/IocTests.tsx.html | 269 + .../react-ioc-tests/jest/lcov-report/base.css | 212 + .../providers/Cache/ICacheProvider.ts.html | 104 + .../providers/Cache/MockCacheProvider.ts.html | 125 + .../providers/Cache/MockStorage.ts.html | 146 + .../Cache/StorageCacheProvider.ts.html | 422 + .../common/providers/Cache/index.html | 106 + .../DependencyResolver.ts.html | 143 + .../providers/DependencyResolver/index.html | 93 + .../providers/Log/ConsoleLogProvider.ts.html | 170 + .../providers/Log/MockLogProvider.ts.html | 113 + .../common/providers/Log/index.html | 93 + .../services/Lists/MockListsService.ts.html | 101 + .../services/Lists/PnPListsService.ts.html | 125 + .../common/services/Lists/index.html | 93 + .../jest/lcov-report/index.html | 158 + .../iocTests/IocTestsWebPart.ts.html | 317 + .../iocTests/components/IocTests.tsx.html | 269 + .../iocTests/components/index.html | 93 + .../jest/lcov-report/iocTests/index.html | 93 + .../jest/lcov-report/prettify.css | 1 + .../jest/lcov-report/prettify.js | 1 + .../jest/lcov-report/sort-arrow-sprite.png | Bin 0 -> 209 bytes .../jest/lcov-report/sorter.js | 158 + ...estsWebPartPropsDependencyResolver.ts.html | 140 + .../IoCTestsWebPartPropsTransformer.ts.html | 173 + .../webparts/iocTests/IocTestsWebPart.ts.html | 317 + .../components/IocTests.module.scss.ts.html | 89 + .../iocTests/components/IocTests.tsx.html | 290 + .../iocTests/components/ListOfLists.tsx.html | 290 + .../webparts/iocTests/components/index.html | 93 + .../lcov-report/webparts/iocTests/index.html | 93 + samples/react-ioc-tests/jest/lcov.info | 345 + .../jest/summary-jest-junit.xml | 76 + samples/react-ioc-tests/package-lock.json | 18245 ++++++++++++++++ samples/react-ioc-tests/package.json | 108 + .../pipelines/build-pipeline.yml | 84 + .../common/providers/Cache/ICacheProvider.ts | 14 + .../providers/Cache/MockCacheProvider.ts | 21 + .../src/common/providers/Cache/MockStorage.ts | 28 + .../Cache/StorageCacheProvider.test.ts | 153 + .../providers/Cache/StorageCacheProvider.ts | 120 + .../DependencyResolver/DependencyResolver.ts | 27 + .../providers/Log/ConsoleLogProvider.test.ts | 120 + .../providers/Log/ConsoleLogProvider.ts | 36 + .../src/common/providers/Log/IConsole.ts | 7 + .../src/common/providers/Log/ILogProvider.ts | 6 + .../src/common/providers/Log/MockConsole.ts | 117 + .../common/providers/Log/MockLogProvider.ts | 17 + .../common/services/Lists/IListsService.ts | 8 + .../common/services/Lists/MockListsService.ts | 13 + .../services/Lists/PnPListsService.test.ts | 58 + .../common/services/Lists/PnPListsService.ts | 21 + .../Lists/executor/IListsServiceExecutor.ts | 4 + .../executor/MockListsServiceExecutor.ts | 13 + .../Lists/executor/PnPListsServiceExecutor.ts | 15 + samples/react-ioc-tests/src/index.ts | 1 + samples/react-ioc-tests/src/tslint.json | 68 + ...estsWebPartPropsDependencyResolver.test.ts | 66 + .../IoCTestsWebPartPropsDependencyResolver.ts | 26 + .../iocTests/IocTestsWebPart.manifest.json | 27 + .../src/webparts/iocTests/IocTestsWebPart.ts | 58 + .../components/ListOfLists.module.scss | 6 + .../iocTests/components/ListOfLists.test.tsx | 189 + .../iocTests/components/ListOfLists.tsx | 75 + .../src/webparts/iocTests/loc/en-us.js | 7 + .../src/webparts/iocTests/loc/mystrings.d.ts | 10 + samples/react-ioc-tests/tsconfig.json | 36 + samples/react-ioc-tests/tslint.json | 30 + samples/react-ioc-tests/vscode/README.md | 8 + samples/react-ioc-tests/vscode/launch.json | 73 + samples/react-ioc-tests/vscode/settings.json | 18 + 85 files changed, 25817 insertions(+) create mode 100644 samples/react-ioc-tests/.editorconfig create mode 100644 samples/react-ioc-tests/.yo-rc.json create mode 100644 samples/react-ioc-tests/README.md create mode 100644 samples/react-ioc-tests/assets/preview.jpg create mode 100644 samples/react-ioc-tests/config/config.json create mode 100644 samples/react-ioc-tests/config/copy-assets.json create mode 100644 samples/react-ioc-tests/config/deploy-azure-storage.json create mode 100644 samples/react-ioc-tests/config/package-solution.json create mode 100644 samples/react-ioc-tests/config/serve.json create mode 100644 samples/react-ioc-tests/config/write-manifests.json create mode 100644 samples/react-ioc-tests/gulpfile.js create mode 100644 samples/react-ioc-tests/jest/cobertura-coverage.xml create mode 100644 samples/react-ioc-tests/jest/coverage-final.json create mode 100644 samples/react-ioc-tests/jest/lcov-report/IocTests.tsx.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/base.css create mode 100644 samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/ICacheProvider.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/MockCacheProvider.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/MockStorage.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/StorageCacheProvider.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/index.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/common/providers/DependencyResolver/DependencyResolver.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/common/providers/DependencyResolver/index.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/common/providers/Log/ConsoleLogProvider.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/common/providers/Log/MockLogProvider.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/common/providers/Log/index.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/common/services/Lists/MockListsService.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/common/services/Lists/PnPListsService.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/common/services/Lists/index.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/index.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/iocTests/IocTestsWebPart.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/iocTests/components/IocTests.tsx.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/iocTests/components/index.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/iocTests/index.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/prettify.css create mode 100644 samples/react-ioc-tests/jest/lcov-report/prettify.js create mode 100644 samples/react-ioc-tests/jest/lcov-report/sort-arrow-sprite.png create mode 100644 samples/react-ioc-tests/jest/lcov-report/sorter.js create mode 100644 samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/IoCTestsWebPartPropsDependencyResolver.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/IoCTestsWebPartPropsTransformer.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/IocTestsWebPart.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/IocTests.module.scss.ts.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/IocTests.tsx.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/ListOfLists.tsx.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/index.html create mode 100644 samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/index.html create mode 100644 samples/react-ioc-tests/jest/lcov.info create mode 100644 samples/react-ioc-tests/jest/summary-jest-junit.xml create mode 100644 samples/react-ioc-tests/package-lock.json create mode 100644 samples/react-ioc-tests/package.json create mode 100644 samples/react-ioc-tests/pipelines/build-pipeline.yml create mode 100644 samples/react-ioc-tests/src/common/providers/Cache/ICacheProvider.ts create mode 100644 samples/react-ioc-tests/src/common/providers/Cache/MockCacheProvider.ts create mode 100644 samples/react-ioc-tests/src/common/providers/Cache/MockStorage.ts create mode 100644 samples/react-ioc-tests/src/common/providers/Cache/StorageCacheProvider.test.ts create mode 100644 samples/react-ioc-tests/src/common/providers/Cache/StorageCacheProvider.ts create mode 100644 samples/react-ioc-tests/src/common/providers/DependencyResolver/DependencyResolver.ts create mode 100644 samples/react-ioc-tests/src/common/providers/Log/ConsoleLogProvider.test.ts create mode 100644 samples/react-ioc-tests/src/common/providers/Log/ConsoleLogProvider.ts create mode 100644 samples/react-ioc-tests/src/common/providers/Log/IConsole.ts create mode 100644 samples/react-ioc-tests/src/common/providers/Log/ILogProvider.ts create mode 100644 samples/react-ioc-tests/src/common/providers/Log/MockConsole.ts create mode 100644 samples/react-ioc-tests/src/common/providers/Log/MockLogProvider.ts create mode 100644 samples/react-ioc-tests/src/common/services/Lists/IListsService.ts create mode 100644 samples/react-ioc-tests/src/common/services/Lists/MockListsService.ts create mode 100644 samples/react-ioc-tests/src/common/services/Lists/PnPListsService.test.ts create mode 100644 samples/react-ioc-tests/src/common/services/Lists/PnPListsService.ts create mode 100644 samples/react-ioc-tests/src/common/services/Lists/executor/IListsServiceExecutor.ts create mode 100644 samples/react-ioc-tests/src/common/services/Lists/executor/MockListsServiceExecutor.ts create mode 100644 samples/react-ioc-tests/src/common/services/Lists/executor/PnPListsServiceExecutor.ts create mode 100644 samples/react-ioc-tests/src/index.ts create mode 100644 samples/react-ioc-tests/src/tslint.json create mode 100644 samples/react-ioc-tests/src/webparts/iocTests/IoCTestsWebPartPropsDependencyResolver.test.ts create mode 100644 samples/react-ioc-tests/src/webparts/iocTests/IoCTestsWebPartPropsDependencyResolver.ts create mode 100644 samples/react-ioc-tests/src/webparts/iocTests/IocTestsWebPart.manifest.json create mode 100644 samples/react-ioc-tests/src/webparts/iocTests/IocTestsWebPart.ts create mode 100644 samples/react-ioc-tests/src/webparts/iocTests/components/ListOfLists.module.scss create mode 100644 samples/react-ioc-tests/src/webparts/iocTests/components/ListOfLists.test.tsx create mode 100644 samples/react-ioc-tests/src/webparts/iocTests/components/ListOfLists.tsx create mode 100644 samples/react-ioc-tests/src/webparts/iocTests/loc/en-us.js create mode 100644 samples/react-ioc-tests/src/webparts/iocTests/loc/mystrings.d.ts create mode 100644 samples/react-ioc-tests/tsconfig.json create mode 100644 samples/react-ioc-tests/tslint.json create mode 100644 samples/react-ioc-tests/vscode/README.md create mode 100644 samples/react-ioc-tests/vscode/launch.json create mode 100644 samples/react-ioc-tests/vscode/settings.json diff --git a/samples/react-ioc-tests/.editorconfig b/samples/react-ioc-tests/.editorconfig new file mode 100644 index 000000000..8ffcdc4ec --- /dev/null +++ b/samples/react-ioc-tests/.editorconfig @@ -0,0 +1,25 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + +root = true + + +[*] + +# change these settings to your own preference +indent_style = space +indent_size = 2 + +# we recommend you to keep these unchanged +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[{package,bower}.json] +indent_style = space +indent_size = 2 \ No newline at end of file diff --git a/samples/react-ioc-tests/.yo-rc.json b/samples/react-ioc-tests/.yo-rc.json new file mode 100644 index 000000000..052e33e83 --- /dev/null +++ b/samples/react-ioc-tests/.yo-rc.json @@ -0,0 +1,11 @@ +{ + "@microsoft/generator-sharepoint": { + "isCreatingSolution": true, + "environment": "spo", + "version": "1.8.0", + "libraryName": "ioc-tests", + "libraryId": "d831edc5-e461-4c60-8ebe-178f5270e58e", + "packageManager": "npm", + "componentType": "webpart" + } +} \ No newline at end of file diff --git a/samples/react-ioc-tests/README.md b/samples/react-ioc-tests/README.md new file mode 100644 index 000000000..aa8341b5e --- /dev/null +++ b/samples/react-ioc-tests/README.md @@ -0,0 +1,70 @@ +# React Inversion Of Control Web Part with Unit Tests using Jest and Enzyme + +## Summary +This web part is provided as an example of implementing an IoC (Inversion of Control) pattern in the context of a SharePoint Framework web part. + +Following this pattern greatly improves the modularity, maintainability, and testability of the code. + +The example includes 100% test coverage, using Jest and Enzyme, of .ts and .tsx files, excluding *WebPart.ts files. A dependency injector class specific to a web part class is used to map web part properties to component properties and create dependencies. This pattern is designed to remove logic from the *WebPart.ts file, the only ts file that isn't unit tested, and hence ensure that all relevant web part logic is tested. + +Included in the coverage is a cache and logger class, along with a service class that fetches data asychronously using @PnP/sp and dynamic bundling. + +The example also includes a pipeline definition .yaml file for Azure DevOps CI build pipeline (/pipelines/) which includes the build, running tests, and posting the test coverage results. + +![Sample SPFx Web Part implementing IoC pattern](./assets/preview.jpg) + +## Used SharePoint Framework Version +![drop](https://img.shields.io/badge/version-1.8.0-green.svg) + +## Applies to + +* [SharePoint Framework](https:/dev.office.com/sharepoint) +* [Office 365 tenant](https://dev.office.com/sharepoint/docs/spfx/set-up-your-development-environment) + + +## Solution + +Solution|Author(s) +--------|--------- +react-ioc-tests | Paul Ryan + +## Version history + +Version|Date|Comments +-------|----|-------- +1.0|March 20, 2019|Initial release + +## Disclaimer +**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.** + +--- + +## Minimal Path to Awesome + +- Clone this repository +- in the command line run: + - `npm install` + - *`npm test`* + - `gulp serve` + +## Features +This web part is provided as an example of implementing an IoC (Inversion of Control) pattern in the context of a SharePoint Framework web part. +This Web Part illustrates the following concepts on top of the SharePoint Framework: + +- Inversion of Control pattern +- Unit testing with Jest and Enzyme +- Azure DevOps CI Build Pipeline yaml definition file, includes running tests and checking code coverage + +## References + +https://github.com/SharePoint/sp-dev-fx-webparts/tree/master/samples/react-jest-testing + +https://blog.velingeorgiev.com/unit-test-your-sharepoint-framework-solution-with-jest + +https://www.eliostruyf.com/sharepoint-framework-unit-tests-with-jest/ + +https://github.com/estruyf/spfx-testing-jest + + + + \ No newline at end of file diff --git a/samples/react-ioc-tests/assets/preview.jpg b/samples/react-ioc-tests/assets/preview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bb9674e647c33aced6ea8770094a928fa42f0058 GIT binary patch literal 78802 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 z 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 CaAcnV literal 0 HcmV?d00001 diff --git a/samples/react-ioc-tests/config/config.json b/samples/react-ioc-tests/config/config.json new file mode 100644 index 000000000..b410e7c10 --- /dev/null +++ b/samples/react-ioc-tests/config/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json", + "version": "2.0", + "bundles": { + "ioc-tests-web-part": { + "components": [ + { + "entrypoint": "./lib/webparts/iocTests/IocTestsWebPart.js", + "manifest": "./src/webparts/iocTests/IocTestsWebPart.manifest.json" + } + ] + } + }, + "externals": {}, + "localizedResources": { + "IocTestsWebPartStrings": "lib/webparts/iocTests/loc/{locale}.js" + } +} diff --git a/samples/react-ioc-tests/config/copy-assets.json b/samples/react-ioc-tests/config/copy-assets.json new file mode 100644 index 000000000..3771fd04a --- /dev/null +++ b/samples/react-ioc-tests/config/copy-assets.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/copy-assets.schema.json", + "deployCdnPath": "temp/deploy" +} diff --git a/samples/react-ioc-tests/config/deploy-azure-storage.json b/samples/react-ioc-tests/config/deploy-azure-storage.json new file mode 100644 index 000000000..ceb361c6a --- /dev/null +++ b/samples/react-ioc-tests/config/deploy-azure-storage.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json", + "workingDir": "./temp/deploy/", + "account": "", + "container": "ioc-tests", + "accessKey": "" +} \ No newline at end of file diff --git a/samples/react-ioc-tests/config/package-solution.json b/samples/react-ioc-tests/config/package-solution.json new file mode 100644 index 000000000..e54cacb04 --- /dev/null +++ b/samples/react-ioc-tests/config/package-solution.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json", + "solution": { + "name": "ioc-tests-client-side-solution", + "id": "d831edc5-e461-4c60-8ebe-178f5270e58e", + "version": "1.0.0.0", + "includeClientSideAssets": true + }, + "paths": { + "zippedPackage": "solution/ioc-tests.sppkg" + } +} diff --git a/samples/react-ioc-tests/config/serve.json b/samples/react-ioc-tests/config/serve.json new file mode 100644 index 000000000..090cfe9e6 --- /dev/null +++ b/samples/react-ioc-tests/config/serve.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/core-build/serve.schema.json", + "port": 4321, + "https": true, + "initialPage": "https://localhost:5432/workbench", + "api": { + "port": 5432, + "entryPath": "node_modules/@microsoft/sp-webpart-workbench/lib/api/" + } +} diff --git a/samples/react-ioc-tests/config/write-manifests.json b/samples/react-ioc-tests/config/write-manifests.json new file mode 100644 index 000000000..bad352605 --- /dev/null +++ b/samples/react-ioc-tests/config/write-manifests.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json", + "cdnBasePath": "" +} \ No newline at end of file diff --git a/samples/react-ioc-tests/gulpfile.js b/samples/react-ioc-tests/gulpfile.js new file mode 100644 index 000000000..7958fd5d8 --- /dev/null +++ b/samples/react-ioc-tests/gulpfile.js @@ -0,0 +1,7 @@ +'use strict'; + +const gulp = require('gulp'); +const build = require('@microsoft/sp-build-web'); +build.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`); + +build.initialize(gulp); diff --git a/samples/react-ioc-tests/jest/cobertura-coverage.xml b/samples/react-ioc-tests/jest/cobertura-coverage.xml new file mode 100644 index 000000000..0808d4f81 --- /dev/null +++ b/samples/react-ioc-tests/jest/cobertura-coverage.xml @@ -0,0 +1,397 @@ + + + + + C:\PWR\Repos\SPFxIoCTests + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/react-ioc-tests/jest/coverage-final.json b/samples/react-ioc-tests/jest/coverage-final.json new file mode 100644 index 000000000..9c55a899e --- /dev/null +++ b/samples/react-ioc-tests/jest/coverage-final.json @@ -0,0 +1,8 @@ +{"C:\\PWR\\Repos\\SPFxIoCTests\\src\\common\\providers\\Cache\\ICacheProvider.ts": {"path":"C:\\PWR\\Repos\\SPFxIoCTests\\src\\common\\providers\\Cache\\ICacheProvider.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":8,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":13}},"2":{"start":{"line":4,"column":4},"end":{"line":4,"column":9}},"3":{"start":{"line":5,"column":4},"end":{"line":5,"column":11}},"4":{"start":{"line":6,"column":4},"end":{"line":6,"column":8}},"5":{"start":{"line":7,"column":4},"end":{"line":7,"column":12}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":0},"end":{"line":2,"column":11}},"loc":{"start":{"line":2,"column":24},"end":{"line":8,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":12},"end":{"line":2,"column":24}},"type":"binary-expr","locations":[{"start":{"line":2,"column":12},"end":{"line":2,"column":24}},{"start":{"line":2,"column":12},"end":{"line":2,"column":24}}]}},"s":{"0":3,"1":3,"2":3,"3":3,"4":3,"5":3},"f":{"0":3},"b":{"0":[3,3]}} +,"C:\\PWR\\Repos\\SPFxIoCTests\\src\\common\\providers\\Cache\\StorageCacheProvider.ts": {"path":"C:\\PWR\\Repos\\SPFxIoCTests\\src\\common\\providers\\Cache\\StorageCacheProvider.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":63}},"1":{"start":{"line":3,"column":0},"end":{"line":120,"column":0}},"2":{"start":{"line":7,"column":16},"end":{"line":7,"column":56}},"3":{"start":{"line":4,"column":12},"end":{"line":4,"column":45}},"4":{"start":{"line":8,"column":8},"end":{"line":8,"column":31}},"5":{"start":{"line":11,"column":11},"end":{"line":26,"column":5}},"6":{"start":{"line":12,"column":40},"end":{"line":12,"column":45}},"7":{"start":{"line":13,"column":41},"end":{"line":13,"column":137}},"8":{"start":{"line":14,"column":8},"end":{"line":24,"column":9}},"9":{"start":{"line":16,"column":12},"end":{"line":23,"column":13}},"10":{"start":{"line":17,"column":40},"end":{"line":17,"column":75}},"11":{"start":{"line":18,"column":16},"end":{"line":18,"column":44}},"12":{"start":{"line":19,"column":16},"end":{"line":19,"column":49}},"13":{"start":{"line":20,"column":16},"end":{"line":20,"column":40}},"14":{"start":{"line":25,"column":8},"end":{"line":25,"column":32}},"15":{"start":{"line":28,"column":17},"end":{"line":40,"column":5}},"16":{"start":{"line":29,"column":8},"end":{"line":29,"column":45}},"17":{"start":{"line":30,"column":12},"end":{"line":30,"column":41}},"18":{"start":{"line":31,"column":8},"end":{"line":38,"column":9}},"19":{"start":{"line":32,"column":12},"end":{"line":37,"column":13}},"20":{"start":{"line":33,"column":16},"end":{"line":33,"column":48}},"21":{"start":{"line":34,"column":16},"end":{"line":36,"column":17}},"22":{"start":{"line":35,"column":24},"end":{"line":35,"column":62}},"23":{"start":{"line":39,"column":8},"end":{"line":39,"column":27}},"24":{"start":{"line":42,"column":17},"end":{"line":64,"column":5}},"25":{"start":{"line":42,"column":49},"end":{"line":42,"column":98}},"26":{"start":{"line":43,"column":8},"end":{"line":43,"column":45}},"27":{"start":{"line":44,"column":12},"end":{"line":44,"column":43}},"28":{"start":{"line":45,"column":8},"end":{"line":62,"column":9}},"29":{"start":{"line":47,"column":16},"end":{"line":47,"column":44}},"30":{"start":{"line":48,"column":12},"end":{"line":54,"column":13}},"31":{"start":{"line":49,"column":16},"end":{"line":49,"column":38}},"32":{"start":{"line":50,"column":19},"end":{"line":54,"column":13}},"33":{"start":{"line":51,"column":16},"end":{"line":51,"column":54}},"34":{"start":{"line":53,"column":16},"end":{"line":53,"column":43}},"35":{"start":{"line":57,"column":12},"end":{"line":57,"column":43}},"36":{"start":{"line":58,"column":18},"end":{"line":58,"column":80}},"37":{"start":{"line":60,"column":12},"end":{"line":60,"column":106}},"38":{"start":{"line":61,"column":12},"end":{"line":61,"column":33}},"39":{"start":{"line":63,"column":8},"end":{"line":63,"column":29}},"40":{"start":{"line":66,"column":17},"end":{"line":70,"column":5}},"41":{"start":{"line":67,"column":8},"end":{"line":67,"column":45}},"42":{"start":{"line":68,"column":8},"end":{"line":68,"column":37}},"43":{"start":{"line":69,"column":8},"end":{"line":69,"column":56}},"44":{"start":{"line":72,"column":12},"end":{"line":74,"column":5}},"45":{"start":{"line":73,"column":8},"end":{"line":73,"column":31}},"46":{"start":{"line":76,"column":12},"end":{"line":86,"column":5}},"47":{"start":{"line":77,"column":38},"end":{"line":77,"column":42}},"48":{"start":{"line":78,"column":42},"end":{"line":78,"column":78}},"49":{"start":{"line":79,"column":8},"end":{"line":84,"column":9}},"50":{"start":{"line":80,"column":43},"end":{"line":80,"column":74}},"51":{"start":{"line":81,"column":12},"end":{"line":83,"column":13}},"52":{"start":{"line":82,"column":16},"end":{"line":82,"column":39}},"53":{"start":{"line":85,"column":8},"end":{"line":85,"column":30}},"54":{"start":{"line":88,"column":12},"end":{"line":96,"column":5}},"55":{"start":{"line":89,"column":34},"end":{"line":89,"column":36}},"56":{"start":{"line":90,"column":8},"end":{"line":94,"column":9}},"57":{"start":{"line":91,"column":12},"end":{"line":91,"column":57}},"58":{"start":{"line":93,"column":12},"end":{"line":93,"column":30}},"59":{"start":{"line":95,"column":8},"end":{"line":95,"column":27}},"60":{"start":{"line":98,"column":12},"end":{"line":119,"column":5}},"61":{"start":{"line":99,"column":34},"end":{"line":99,"column":39}},"62":{"start":{"line":101,"column":8},"end":{"line":117,"column":9}},"63":{"start":{"line":103,"column":16},"end":{"line":103,"column":31}},"64":{"start":{"line":104,"column":16},"end":{"line":104,"column":22}},"65":{"start":{"line":106,"column":16},"end":{"line":106,"column":36}},"66":{"start":{"line":107,"column":16},"end":{"line":107,"column":22}},"67":{"start":{"line":109,"column":16},"end":{"line":109,"column":41}},"68":{"start":{"line":110,"column":16},"end":{"line":110,"column":22}},"69":{"start":{"line":112,"column":16},"end":{"line":112,"column":46}},"70":{"start":{"line":113,"column":16},"end":{"line":113,"column":22}},"71":{"start":{"line":115,"column":16},"end":{"line":115,"column":41}},"72":{"start":{"line":116,"column":16},"end":{"line":116,"column":22}},"73":{"start":{"line":118,"column":8},"end":{"line":118,"column":23}},"74":{"start":{"line":120,"column":0},"end":{"line":120,"column":1}}},"fnMap":{"0":{"name":"(anonymous_12)","decl":{"start":{"line":3,"column":0},"end":{"line":null,"column":-1}},"loc":{"start":{"line":3,"column":0},"end":{"line":3,"column":-1}}},"1":{"name":"StorageCacheProvider","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":15}},"loc":{"start":{"line":7,"column":56},"end":{"line":9,"column":5}}},"2":{"name":"(anonymous_14)","decl":{"start":{"line":11,"column":4},"end":{"line":null,"column":-1}},"loc":{"start":{"line":11,"column":4},"end":{"line":26,"column":5}}},"3":{"name":"(anonymous_15)","decl":{"start":{"line":28,"column":4},"end":{"line":28,"column":20}},"loc":{"start":{"line":28,"column":32},"end":{"line":40,"column":5}}},"4":{"name":"(anonymous_18)","decl":{"start":{"line":42,"column":4},"end":{"line":42,"column":20}},"loc":{"start":{"line":42,"column":98},"end":{"line":64,"column":5}}},"5":{"name":"(anonymous_21)","decl":{"start":{"line":66,"column":4},"end":{"line":66,"column":22}},"loc":{"start":{"line":66,"column":34},"end":{"line":70,"column":5}}},"6":{"name":"(anonymous_24)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":24}},"loc":{"start":{"line":72,"column":36},"end":{"line":74,"column":5}}},"7":{"name":"(anonymous_25)","decl":{"start":{"line":76,"column":4},"end":{"line":76,"column":26}},"loc":{"start":{"line":76,"column":38},"end":{"line":86,"column":5}}},"8":{"name":"(anonymous_26)","decl":{"start":{"line":88,"column":4},"end":{"line":88,"column":32}},"loc":{"start":{"line":88,"column":44},"end":{"line":96,"column":5}}},"9":{"name":"(anonymous_27)","decl":{"start":{"line":98,"column":4},"end":{"line":98,"column":27}},"loc":{"start":{"line":98,"column":54},"end":{"line":119,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":16},"end":{"line":7,"column":56}},"type":"if","locations":[{"start":{"line":7,"column":16},"end":{"line":7,"column":56}},{"start":{"line":7,"column":16},"end":{"line":7,"column":56}}]},"1":{"loc":{"start":{"line":13,"column":41},"end":{"line":13,"column":53}},"type":"binary-expr","locations":[{"start":{"line":13,"column":41},"end":{"line":13,"column":53}},{"start":{"line":13,"column":57},"end":{"line":13,"column":61}},{"start":{"line":13,"column":65},"end":{"line":13,"column":97}},{"start":{"line":13,"column":101},"end":{"line":13,"column":137}}]},"2":{"loc":{"start":{"line":14,"column":8},"end":{"line":24,"column":9}},"type":"if","locations":[{"start":{"line":14,"column":8},"end":{"line":24,"column":9}},{"start":{"line":14,"column":8},"end":{"line":24,"column":9}}]},"3":{"loc":{"start":{"line":31,"column":8},"end":{"line":38,"column":9}},"type":"if","locations":[{"start":{"line":31,"column":8},"end":{"line":38,"column":9}},{"start":{"line":31,"column":8},"end":{"line":38,"column":9}}]},"4":{"loc":{"start":{"line":32,"column":12},"end":{"line":37,"column":13}},"type":"if","locations":[{"start":{"line":32,"column":12},"end":{"line":37,"column":13}},{"start":{"line":32,"column":12},"end":{"line":37,"column":13}}]},"5":{"loc":{"start":{"line":34,"column":16},"end":{"line":36,"column":17}},"type":"if","locations":[{"start":{"line":34,"column":16},"end":{"line":36,"column":17}},{"start":{"line":34,"column":16},"end":{"line":36,"column":17}}]},"6":{"loc":{"start":{"line":34,"column":20},"end":{"line":34,"column":51}},"type":"binary-expr","locations":[{"start":{"line":34,"column":20},"end":{"line":34,"column":51}},{"start":{"line":34,"column":56},"end":{"line":34,"column":86}},{"start":{"line":34,"column":90},"end":{"line":34,"column":120}}]},"7":{"loc":{"start":{"line":42,"column":49},"end":{"line":42,"column":98}},"type":"if","locations":[{"start":{"line":42,"column":49},"end":{"line":42,"column":98}},{"start":{"line":42,"column":49},"end":{"line":42,"column":98}}]},"8":{"loc":{"start":{"line":45,"column":8},"end":{"line":62,"column":9}},"type":"if","locations":[{"start":{"line":45,"column":8},"end":{"line":62,"column":9}},{"start":{"line":45,"column":8},"end":{"line":62,"column":9}}]},"9":{"loc":{"start":{"line":48,"column":12},"end":{"line":54,"column":13}},"type":"if","locations":[{"start":{"line":48,"column":12},"end":{"line":54,"column":13}},{"start":{"line":48,"column":12},"end":{"line":54,"column":13}}]},"10":{"loc":{"start":{"line":48,"column":16},"end":{"line":48,"column":33}},"type":"binary-expr","locations":[{"start":{"line":48,"column":16},"end":{"line":48,"column":33}},{"start":{"line":48,"column":37},"end":{"line":48,"column":59}}]},"11":{"loc":{"start":{"line":50,"column":19},"end":{"line":54,"column":13}},"type":"if","locations":[{"start":{"line":50,"column":19},"end":{"line":54,"column":13}},{"start":{"line":50,"column":19},"end":{"line":54,"column":13}}]},"12":{"loc":{"start":{"line":79,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":79,"column":8},"end":{"line":84,"column":9}},{"start":{"line":79,"column":8},"end":{"line":84,"column":9}}]},"13":{"loc":{"start":{"line":79,"column":12},"end":{"line":79,"column":49}},"type":"binary-expr","locations":[{"start":{"line":79,"column":12},"end":{"line":79,"column":49}},{"start":{"line":79,"column":53},"end":{"line":79,"column":81}}]},"14":{"loc":{"start":{"line":81,"column":12},"end":{"line":83,"column":13}},"type":"if","locations":[{"start":{"line":81,"column":12},"end":{"line":83,"column":13}},{"start":{"line":81,"column":12},"end":{"line":83,"column":13}}]},"15":{"loc":{"start":{"line":90,"column":8},"end":{"line":94,"column":9}},"type":"if","locations":[{"start":{"line":90,"column":8},"end":{"line":94,"column":9}},{"start":{"line":90,"column":8},"end":{"line":94,"column":9}}]},"16":{"loc":{"start":{"line":90,"column":12},"end":{"line":90,"column":16}},"type":"binary-expr","locations":[{"start":{"line":90,"column":12},"end":{"line":90,"column":16}},{"start":{"line":90,"column":20},"end":{"line":90,"column":58}}]},"17":{"loc":{"start":{"line":102,"column":12},"end":{"line":104,"column":22}},"type":"switch","locations":[{"start":{"line":102,"column":12},"end":{"line":104,"column":22}},{"start":{"line":105,"column":12},"end":{"line":107,"column":22}},{"start":{"line":108,"column":12},"end":{"line":110,"column":22}},{"start":{"line":111,"column":12},"end":{"line":113,"column":22}},{"start":{"line":114,"column":12},"end":{"line":116,"column":22}}]}},"s":{"0":2,"1":2,"2":19,"3":15,"4":15,"5":2,"6":22,"7":22,"8":22,"9":20,"10":20,"11":20,"12":20,"13":20,"14":22,"15":2,"16":11,"17":11,"18":11,"19":10,"20":8,"21":8,"22":1,"23":11,"24":2,"25":12,"26":11,"27":11,"28":11,"29":10,"30":10,"31":1,"32":9,"33":1,"34":8,"35":10,"36":10,"37":10,"38":10,"39":11,"40":2,"41":1,"42":1,"43":1,"44":2,"45":21,"46":2,"47":10,"48":10,"49":10,"50":9,"51":9,"52":8,"53":10,"54":2,"55":23,"56":23,"57":21,"58":2,"59":23,"60":2,"61":10,"62":10,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":6,"72":6,"73":10,"74":2},"f":{"0":2,"1":15,"2":22,"3":11,"4":11,"5":1,"6":21,"7":10,"8":23,"9":10},"b":{"0":[4,11],"1":[22,20,20,20],"2":[20,2],"3":[10,1],"4":[8,2],"5":[1,7],"6":[8,7,6],"7":[1,10],"8":[10,1],"9":[1,9],"10":[10,9],"11":[1,8],"12":[9,1],"13":[10,9],"14":[8,1],"15":[21,2],"16":[23,23],"17":[1,1,1,1,6]}} +,"C:\\PWR\\Repos\\SPFxIoCTests\\src\\common\\providers\\DependencyResolver\\DependencyResolver.ts": {"path":"C:\\PWR\\Repos\\SPFxIoCTests\\src\\common\\providers\\DependencyResolver\\DependencyResolver.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":64}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":58}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":66}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":91}},"4":{"start":{"line":9,"column":0},"end":{"line":27,"column":0}},"5":{"start":{"line":16,"column":11},"end":{"line":18,"column":5}},"6":{"start":{"line":17,"column":8},"end":{"line":17,"column":63}},"7":{"start":{"line":20,"column":11},"end":{"line":22,"column":5}},"8":{"start":{"line":21,"column":8},"end":{"line":21,"column":40}},"9":{"start":{"line":24,"column":11},"end":{"line":26,"column":5}},"10":{"start":{"line":25,"column":8},"end":{"line":25,"column":72}},"11":{"start":{"line":27,"column":0},"end":{"line":27,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":0},"end":{"line":null,"column":-1}},"loc":{"start":{"line":9,"column":0},"end":{"line":9,"column":-1}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":4},"end":{"line":null,"column":-1}},"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":5}}},"2":{"name":"(anonymous_3)","decl":{"start":{"line":20,"column":4},"end":{"line":null,"column":-1}},"loc":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}}},"3":{"name":"(anonymous_4)","decl":{"start":{"line":24,"column":4},"end":{"line":24,"column":31}},"loc":{"start":{"line":24,"column":46},"end":{"line":26,"column":5}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":3,"7":1,"8":3,"9":1,"10":3,"11":1},"f":{"0":4,"1":3,"2":3,"3":3},"b":{}} +,"C:\\PWR\\Repos\\SPFxIoCTests\\src\\common\\providers\\Log\\ConsoleLogProvider.ts": {"path":"C:\\PWR\\Repos\\SPFxIoCTests\\src\\common\\providers\\Log\\ConsoleLogProvider.ts","statementMap":{"0":{"start":{"line":4,"column":0},"end":{"line":36,"column":0}},"1":{"start":{"line":6,"column":16},"end":{"line":6,"column":53}},"2":{"start":{"line":7,"column":8},"end":{"line":7,"column":37}},"3":{"start":{"line":10,"column":17},"end":{"line":13,"column":5}},"4":{"start":{"line":10,"column":59},"end":{"line":10,"column":80}},"5":{"start":{"line":11,"column":14},"end":{"line":11,"column":60}},"6":{"start":{"line":12,"column":8},"end":{"line":12,"column":80}},"7":{"start":{"line":14,"column":17},"end":{"line":17,"column":5}},"8":{"start":{"line":14,"column":58},"end":{"line":14,"column":79}},"9":{"start":{"line":15,"column":14},"end":{"line":15,"column":60}},"10":{"start":{"line":16,"column":8},"end":{"line":16,"column":79}},"11":{"start":{"line":18,"column":17},"end":{"line":21,"column":5}},"12":{"start":{"line":18,"column":61},"end":{"line":18,"column":82}},"13":{"start":{"line":19,"column":14},"end":{"line":19,"column":60}},"14":{"start":{"line":20,"column":8},"end":{"line":20,"column":79}},"15":{"start":{"line":22,"column":17},"end":{"line":25,"column":5}},"16":{"start":{"line":22,"column":59},"end":{"line":22,"column":80}},"17":{"start":{"line":23,"column":14},"end":{"line":23,"column":60}},"18":{"start":{"line":24,"column":8},"end":{"line":24,"column":80}},"19":{"start":{"line":27,"column":12},"end":{"line":30,"column":5}},"20":{"start":{"line":28,"column":35},"end":{"line":28,"column":69}},"21":{"start":{"line":29,"column":8},"end":{"line":29,"column":26}},"22":{"start":{"line":32,"column":12},"end":{"line":35,"column":5}},"23":{"start":{"line":33,"column":38},"end":{"line":33,"column":76}},"24":{"start":{"line":34,"column":8},"end":{"line":34,"column":24}},"25":{"start":{"line":36,"column":0},"end":{"line":36,"column":1}}},"fnMap":{"0":{"name":"(anonymous_12)","decl":{"start":{"line":4,"column":0},"end":{"line":null,"column":-1}},"loc":{"start":{"line":4,"column":0},"end":{"line":4,"column":-1}}},"1":{"name":"ConsoleLogProvider","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":15}},"loc":{"start":{"line":6,"column":53},"end":{"line":8,"column":5}}},"2":{"name":"(anonymous_14)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":22}},"loc":{"start":{"line":10,"column":80},"end":{"line":13,"column":5}}},"3":{"name":"(anonymous_17)","decl":{"start":{"line":14,"column":4},"end":{"line":14,"column":21}},"loc":{"start":{"line":14,"column":79},"end":{"line":17,"column":5}}},"4":{"name":"(anonymous_20)","decl":{"start":{"line":18,"column":4},"end":{"line":18,"column":24}},"loc":{"start":{"line":18,"column":82},"end":{"line":21,"column":5}}},"5":{"name":"(anonymous_23)","decl":{"start":{"line":22,"column":4},"end":{"line":22,"column":22}},"loc":{"start":{"line":22,"column":80},"end":{"line":25,"column":5}}},"6":{"name":"(anonymous_26)","decl":{"start":{"line":27,"column":4},"end":{"line":27,"column":25}},"loc":{"start":{"line":27,"column":35},"end":{"line":30,"column":5}}},"7":{"name":"(anonymous_27)","decl":{"start":{"line":32,"column":4},"end":{"line":32,"column":23}},"loc":{"start":{"line":32,"column":109},"end":{"line":35,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":16},"end":{"line":6,"column":53}},"type":"if","locations":[{"start":{"line":6,"column":16},"end":{"line":6,"column":53}},{"start":{"line":6,"column":16},"end":{"line":6,"column":53}}]},"1":{"loc":{"start":{"line":10,"column":59},"end":{"line":10,"column":80}},"type":"if","locations":[{"start":{"line":10,"column":59},"end":{"line":10,"column":80}},{"start":{"line":10,"column":59},"end":{"line":10,"column":80}}]},"2":{"loc":{"start":{"line":14,"column":58},"end":{"line":14,"column":79}},"type":"if","locations":[{"start":{"line":14,"column":58},"end":{"line":14,"column":79}},{"start":{"line":14,"column":58},"end":{"line":14,"column":79}}]},"3":{"loc":{"start":{"line":18,"column":61},"end":{"line":18,"column":82}},"type":"if","locations":[{"start":{"line":18,"column":61},"end":{"line":18,"column":82}},{"start":{"line":18,"column":61},"end":{"line":18,"column":82}}]},"4":{"loc":{"start":{"line":22,"column":59},"end":{"line":22,"column":80}},"type":"if","locations":[{"start":{"line":22,"column":59},"end":{"line":22,"column":80}},{"start":{"line":22,"column":59},"end":{"line":22,"column":80}}]},"5":{"loc":{"start":{"line":28,"column":44},"end":{"line":28,"column":64}},"type":"cond-expr","locations":[{"start":{"line":28,"column":44},"end":{"line":28,"column":64}},{"start":{"line":28,"column":67},"end":{"line":28,"column":69}}]}},"s":{"0":2,"1":14,"2":11,"3":2,"4":3,"5":2,"6":2,"7":2,"8":3,"9":2,"10":2,"11":2,"12":3,"13":2,"14":2,"15":2,"16":3,"17":2,"18":2,"19":2,"20":8,"21":8,"22":2,"23":8,"24":8,"25":2},"f":{"0":2,"1":11,"2":2,"3":2,"4":2,"5":2,"6":8,"7":8},"b":{"0":[3,8],"1":[1,1],"2":[1,1],"3":[1,1],"4":[1,1],"5":[4,4]}} +,"C:\\PWR\\Repos\\SPFxIoCTests\\src\\common\\services\\Lists\\PnPListsService.ts": {"path":"C:\\PWR\\Repos\\SPFxIoCTests\\src\\common\\services\\Lists\\PnPListsService.ts","statementMap":{"0":{"start":{"line":4,"column":0},"end":{"line":21,"column":0}},"1":{"start":{"line":8,"column":8},"end":{"line":8,"column":33}},"2":{"start":{"line":11,"column":17},"end":{"line":20,"column":5}},"3":{"start":{"line":12,"column":26},"end":{"line":12,"column":51}},"4":{"start":{"line":12,"column":14},"end":{"line":12,"column":51}},"5":{"start":{"line":13,"column":14},"end":{"line":18,"column":11}},"6":{"start":{"line":14,"column":12},"end":{"line":17,"column":14}},"7":{"start":{"line":19,"column":8},"end":{"line":19,"column":21}},"8":{"start":{"line":21,"column":0},"end":{"line":21,"column":1}}},"fnMap":{"0":{"name":"(anonymous_12)","decl":{"start":{"line":4,"column":0},"end":{"line":null,"column":-1}},"loc":{"start":{"line":4,"column":0},"end":{"line":4,"column":-1}}},"1":{"name":"PnPListsService","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":15}},"loc":{"start":{"line":7,"column":47},"end":{"line":9,"column":5}}},"2":{"name":"(anonymous_14)","decl":{"start":{"line":11,"column":4},"end":{"line":null,"column":-1}},"loc":{"start":{"line":11,"column":4},"end":{"line":20,"column":5}}},"3":{"name":"(anonymous_17)","decl":{"start":{"line":13,"column":36},"end":{"line":13,"column":35}},"loc":{"start":{"line":13,"column":37},"end":{"line":18,"column":9}}}},"branchMap":{},"s":{"0":2,"1":6,"2":2,"3":3,"4":3,"5":3,"6":4,"7":3,"8":2},"f":{"0":2,"1":6,"2":3,"3":4},"b":{}} +,"C:\\PWR\\Repos\\SPFxIoCTests\\src\\webparts\\iocTests\\IoCTestsWebPartPropsDependencyResolver.ts": {"path":"C:\\PWR\\Repos\\SPFxIoCTests\\src\\webparts\\iocTests\\IoCTestsWebPartPropsDependencyResolver.ts","statementMap":{"0":{"start":{"line":6,"column":0},"end":{"line":6,"column":93}},"1":{"start":{"line":8,"column":0},"end":{"line":26,"column":0}},"2":{"start":{"line":9,"column":11},"end":{"line":25,"column":5}},"3":{"start":{"line":11,"column":25},"end":{"line":11,"column":49}},"4":{"start":{"line":13,"column":44},"end":{"line":13,"column":81}},"5":{"start":{"line":14,"column":46},"end":{"line":14,"column":78}},"6":{"start":{"line":15,"column":42},"end":{"line":15,"column":72}},"7":{"start":{"line":17,"column":41},"end":{"line":22,"column":9}},"8":{"start":{"line":24,"column":8},"end":{"line":24,"column":21}},"9":{"start":{"line":26,"column":0},"end":{"line":26,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":0},"end":{"line":null,"column":-1}},"loc":{"start":{"line":8,"column":0},"end":{"line":8,"column":-1}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":4},"end":{"line":9,"column":18}},"loc":{"start":{"line":9,"column":68},"end":{"line":25,"column":5}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":3,"4":3,"5":3,"6":3,"7":3,"8":3,"9":1},"f":{"0":4,"1":3},"b":{}} +,"C:\\PWR\\Repos\\SPFxIoCTests\\src\\webparts\\iocTests\\components\\ListOfLists.tsx": {"path":"C:\\PWR\\Repos\\SPFxIoCTests\\src\\webparts\\iocTests\\components\\ListOfLists.tsx","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":46}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":93}},"3":{"start":{"line":19,"column":0},"end":{"line":19,"column":56}},"4":{"start":{"line":19,"column":41},"end":{"line":19,"column":94}},"5":{"start":{"line":23,"column":4},"end":{"line":23,"column":16}},"6":{"start":{"line":20,"column":10},"end":{"line":20,"column":44}},"7":{"start":{"line":24,"column":4},"end":{"line":27,"column":6}},"8":{"start":{"line":30,"column":15},"end":{"line":49,"column":3}},"9":{"start":{"line":32,"column":4},"end":{"line":32,"column":81}},"10":{"start":{"line":32,"column":4},"end":{"line":32,"column":82}},"11":{"start":{"line":35,"column":10},"end":{"line":35,"column":43}},"12":{"start":{"line":36,"column":25},"end":{"line":36,"column":69}},"13":{"start":{"line":36,"column":8},"end":{"line":36,"column":69}},"14":{"start":{"line":37,"column":8},"end":{"line":37,"column":14}},"15":{"start":{"line":39,"column":14},"end":{"line":39,"column":54}},"16":{"start":{"line":39,"column":6},"end":{"line":39,"column":55}},"17":{"start":{"line":42,"column":6},"end":{"line":42,"column":79}},"18":{"start":{"line":42,"column":6},"end":{"line":42,"column":80}},"19":{"start":{"line":45,"column":4},"end":{"line":48,"column":7}},"20":{"start":{"line":51,"column":9},"end":{"line":74,"column":3}},"21":{"start":{"line":52,"column":4},"end":{"line":52,"column":65}},"22":{"start":{"line":54,"column":4},"end":{"line":73,"column":6}},"23":{"start":{"line":64,"column":14},"end":{"line":68,"column":16}},"24":{"start":{"line":75,"column":0},"end":{"line":75,"column":1}}},"fnMap":{"0":{"name":"(anonymous_17)","decl":{"start":{"line":19,"column":0},"end":{"line":null,"column":-1}},"loc":{"start":{"line":19,"column":0},"end":{"line":19,"column":-1}}},"1":{"name":"ListOfLists","decl":{"start":{"line":22,"column":2},"end":{"line":22,"column":13}},"loc":{"start":{"line":22,"column":38},"end":{"line":28,"column":3}}},"2":{"name":"(anonymous_19)","decl":{"start":{"line":30,"column":2},"end":{"line":null,"column":-1}},"loc":{"start":{"line":30,"column":2},"end":{"line":49,"column":3}}},"3":{"name":"(anonymous_22)","decl":{"start":{"line":51,"column":2},"end":{"line":null,"column":-1}},"loc":{"start":{"line":51,"column":2},"end":{"line":74,"column":3}}},"4":{"name":"(anonymous_23)","decl":{"start":{"line":63,"column":33},"end":{"line":63,"column":32}},"loc":{"start":{"line":63,"column":34},"end":{"line":69,"column":13}}}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":4},"end":{"line":23,"column":16}},"type":"binary-expr","locations":[{"start":{"line":23,"column":4},"end":{"line":23,"column":16}},{"start":{"line":23,"column":16},"end":{"line":28,"column":2}}]},"1":{"loc":{"start":{"line":57,"column":12},"end":{"line":57,"column":36}},"type":"binary-expr","locations":[{"start":{"line":57,"column":12},"end":{"line":57,"column":36}},{"start":{"line":58,"column":12},"end":{"line":58,"column":47}}]},"2":{"loc":{"start":{"line":60,"column":12},"end":{"line":60,"column":34}},"type":"binary-expr","locations":[{"start":{"line":60,"column":12},"end":{"line":60,"column":34}},{"start":{"line":61,"column":12},"end":{"line":61,"column":37}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":7,"6":7,"7":7,"8":1,"9":13,"10":13,"11":13,"12":13,"13":13,"14":8,"15":5,"16":5,"17":5,"18":5,"19":13,"20":1,"21":20,"22":20,"23":13,"24":1},"f":{"0":1,"1":7,"2":13,"3":20,"4":13},"b":{"0":[7,7],"1":[20,15],"2":[20,7]}} +} diff --git a/samples/react-ioc-tests/jest/lcov-report/IocTests.tsx.html b/samples/react-ioc-tests/jest/lcov-report/IocTests.tsx.html new file mode 100644 index 000000000..3daa4bdbc --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/IocTests.tsx.html @@ -0,0 +1,269 @@ + + + + Code coverage report for IocTests.tsx + + + + + + + +
+
+

+ All files IocTests.tsx +

+
+
+ 96% + Statements + 24/25 +
+
+ 100% + Branches + 6/6 +
+
+ 100% + Functions + 5/5 +
+
+ 95% + Lines + 19/20 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +691x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +1x +1x +  +  +  +  +1x +  +1x +  +  +1x +1x +  +  +1x +  +  +1x +  +  +1x +  +  +  +  +1x +2x +  +2x +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +1x + 
import * as React from 'react';
+import styles from './IocTests.module.scss';
+import IListsService, { IList } from '../../../common/services/Lists/IListsService';
+import ICacheProvider, { CacheTimeout } from '../../../common/providers/Cache/ICacheProvider';
+import ILogProvider from '../../../common/providers/Log/ILogProvider';
+ 
+export interface IocTestsProps {
+  cacheProvider: ICacheProvider;
+  logProvider: ILogProvider;
+  listsService: IListsService;
+}
+ 
+export interface IocTestsState {
+  lists: IList[];
+}
+ 
+export default class IocTests extends React.Component<IocTestsProps, IocTestsState> {
+  private className: string = "IocTests";
+ 
+  constructor(props: IocTestsProps) {
+    super(props);
+    this.state = {
+      lists: null
+    };
+  }
+ 
+  public async componentDidMount(): Promise<void> {
+    // LOG PROVIDER
+    await this.props.logProvider.Debug(this.className, "componentDidMount", null);
+ 
+    // CACHE PROVIDER
+    const cacheKey = "IocTestsGetLists";
+    let lists: IList[] = await this.props.cacheProvider.Get(cacheKey);
+    if (!lists) {
+      // LISTS SERVICE
+      lists = await this.props.listsService.GetLists();
+ 
+      // CACHE PROVIDER
+      await this.props.cacheProvider.Set(cacheKey, lists, CacheTimeout.default);
+    }
+ 
+    this.setState({
+      lists: lists
+    });
+  }
+ 
+  public render(): React.ReactElement<IocTestsProps> {
+    this.props.logProvider.Debug(this.className, "render", null);
+ 
+    return (
+      <div id={ styles.iocTests } className={ styles.iocTests }>
+        <div className={ styles.container }>
+          { !this.state.lists &&
+            <span> Loading... </span>
+          }
+          { !!this.state.lists && this.state.lists.map(l => {
+              return (
+                <div key={l.Title}>
+                  <a href={l.DefaultViewUrl} target={"_blank"}>{l.Title}</a>
+                </div>
+              );
+            })
+          }
+        </div>
+      </div>
+    );
+  }
+}
+ 
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/base.css b/samples/react-ioc-tests/jest/lcov-report/base.css new file mode 100644 index 000000000..417c7adc9 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/base.css @@ -0,0 +1,212 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } + + +.medium .chart { border:1px solid #666; } +.medium .cover-fill { background: #666; } + +.cbranch-no { background: yellow !important; color: #111; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } +.medium { background: #eaeaea; } + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/ICacheProvider.ts.html b/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/ICacheProvider.ts.html new file mode 100644 index 000000000..c9e90ebe5 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/ICacheProvider.ts.html @@ -0,0 +1,104 @@ + + + + Code coverage report for common/providers/Cache/ICacheProvider.ts + + + + + + + +
+
+

+ All files / common/providers/Cache ICacheProvider.ts +

+
+
+ 100% + Statements + 6/6 +
+
+ 100% + Branches + 2/2 +
+
+ 100% + Functions + 1/1 +
+
+ 100% + Lines + 6/6 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +3x +3x +3x +3x +3x +3x +  +  +  +  +  +  + 
 
+export enum CacheTimeout {
+    oneSecond,
+    short,
+    default,
+    long,
+    verylong
+}
+ 
+export default interface ICacheProvider {
+    Get(key: string): Promise<any>;
+    Set(key: string, valueObj: any, cacheTimeout: CacheTimeout): Promise<boolean>;
+    Clear(key: string): Promise<void>;
+}
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/MockCacheProvider.ts.html b/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/MockCacheProvider.ts.html new file mode 100644 index 000000000..25a2331d1 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/MockCacheProvider.ts.html @@ -0,0 +1,125 @@ + + + + Code coverage report for common/providers/Cache/MockCacheProvider.ts + + + + + + + +
+
+

+ All files / common/providers/Cache MockCacheProvider.ts +

+
+
+ 100% + Statements + 10/10 +
+
+ 100% + Branches + 0/0 +
+
+ 80% + Functions + 4/5 +
+
+ 100% + Lines + 10/10 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21  +  +2x +6x +  +  +6x +  +  +2x +9x +  +2x +5x +5x +  +2x +  +  +  +2x
import ICacheProvider, { CacheTimeout } from "./ICacheProvider";
+ 
+export default class MockCacheProvider implements ICacheProvider {
+    private valueObj: any = null;
+  
+    constructor(valueObj?: any) {
+        this.valueObj = valueObj;
+    }
+ 
+    public async Get(key: string): Promise<any> {
+        return this.valueObj;
+    }
+    public async Set(key: string, valueObj: any, cacheTimeout: CacheTimeout): Promise<boolean> {
+        this.valueObj = valueObj;
+        return true;
+    }
+    public async Clear(key: string): Promise<void> {
+        // do nothing
+    }
+ 
+}
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/MockStorage.ts.html b/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/MockStorage.ts.html new file mode 100644 index 000000000..8b0b9176a --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/MockStorage.ts.html @@ -0,0 +1,146 @@ + + + + Code coverage report for common/providers/Cache/MockStorage.ts + + + + + + + +
+
+

+ All files / common/providers/Cache MockStorage.ts +

+
+
+ 66.67% + Statements + 10/15 +
+
+ 50% + Branches + 1/2 +
+
+ 42.86% + Functions + 3/7 +
+
+ 66.67% + Lines + 10/15 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +281x +  +1x +1x +  +  +  +  +  +  +  +  +1x +  +  +1x +  +  +1x +  +  +1x +2x +  +1x +  +  +1x
export default class MockStorage implements Storage {
+    constructor(storedKey?: string, storedItem?: any) {
+        this.length = 0;
+        Iif (!!storedKey) {
+            this[storedKey] = storedItem;
+            this.length = 1;
+        }
+    }
+ 
+    [name: string]: any;    
+    length: number;
+ 
+    public clear(): void {
+        // do nothing
+    }
+    public getItem(key: string): string {
+        return this[key];
+    }
+    public key(index: number): string {
+        return "";
+    }
+    public removeItem(key: string): void {
+        this[key] = undefined;
+    }
+    public setItem(key: string, value: string): void {
+        this[key] = value;
+    }
+}
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/StorageCacheProvider.ts.html b/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/StorageCacheProvider.ts.html new file mode 100644 index 000000000..3170cfabd --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/StorageCacheProvider.ts.html @@ -0,0 +1,422 @@ + + + + Code coverage report for common/providers/Cache/StorageCacheProvider.ts + + + + + + + +
+
+

+ All files / common/providers/Cache StorageCacheProvider.ts +

+
+
+ 100% + Statements + 75/75 +
+
+ 100% + Branches + 42/42 +
+
+ 100% + Functions + 10/10 +
+
+ 100% + Lines + 74/74 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +1202x +  +2x +15x +  +  +19x +15x +  +  +2x +22x +22x +22x +  +20x +20x +20x +20x +20x +  +  +  +  +22x +  +  +2x +11x +11x +11x +10x +8x +8x +1x +  +  +  +11x +  +  +12x +11x +11x +11x +  +10x +10x +1x +9x +1x +  +8x +  +  +  +10x +10x +  +10x +10x +  +11x +  +  +2x +1x +1x +1x +  +  +2x +21x +  +  +2x +10x +10x +10x +9x +9x +8x +  +  +10x +  +  +2x +23x +23x +21x +  +2x +  +23x +  +  +2x +10x +  +10x +  +1x +1x +  +1x +1x +  +1x +1x +  +1x +1x +  +6x +6x +  +10x +  +2x
import ICacheProvider, { CacheTimeout } from "./ICacheProvider";
+ 
+export default class StorageCacheProvider implements ICacheProvider {
+    private cacheKeyPrefix: string = "__E2.";
+    private storage: Storage;
+ 
+    constructor(storage: Storage = window.sessionStorage) {
+        this.storage = storage;
+    }
+ 
+    public IsSupportStorage(): boolean {
+        let isSupportStorage: boolean = false;
+        const supportsStorage: boolean = this.storage && JSON && typeof JSON.parse === "function" && typeof JSON.stringify === "function";
+        if (supportsStorage) {
+            // check for dodgy behaviour from iOS Safari in private browsing mode
+            try {
+                const testKey: string = "e2-cache-isSupportStorage-testKey";
+                this.storage[testKey] = "1";
+                this.storage.removeItem(testKey);
+                isSupportStorage = true;
+            } catch (ex) {
+                // private browsing mode in iOS Safari, or possible full cache
+            }
+        }
+        return isSupportStorage;
+    }
+ 
+    public async Get(key: string): Promise<any> {
+        key = this.ensureCacheKeyPrefix(key);
+        let returnValue: any = undefined;
+        if (this.IsSupportStorage()) {
+            if (!this.isCacheExpired(key)) {
+                returnValue = this.storage[key];
+                if (typeof returnValue === "string" && (returnValue.indexOf("{") === 0 || returnValue.indexOf("[") === 0)) {
+                        returnValue = JSON.parse(returnValue);
+                }
+            }
+        }
+        return returnValue;
+    }
+ 
+    public async Set(key: string, valueObj: any, cacheTimeout: CacheTimeout = CacheTimeout.default): Promise<boolean> {
+        key = this.ensureCacheKeyPrefix(key);
+        let didSetInCache: boolean = false;
+        if (this.IsSupportStorage()) {
+            // get value as a string
+            let cacheValue: any = undefined;
+            if (valueObj === null || valueObj === undefined) {
+                cacheValue = valueObj;
+            } else if (typeof valueObj === "object") {
+                cacheValue = JSON.stringify(valueObj);
+            } else {
+                cacheValue = `${valueObj}`;
+            }
+ 
+            // cache value
+            this.storage[key] = cacheValue;
+            const validityPeriodMs: number = this.getCacheTimeout(cacheTimeout);
+            // cache expiry
+            this.storage[this.getExpiryKey(key)] = ((new Date()).getTime() + validityPeriodMs).toString();
+            didSetInCache = true;
+        }
+        return didSetInCache;
+    }
+ 
+    public async Clear(key: string): Promise<void> {
+        key = this.ensureCacheKeyPrefix(key);
+        this.storage.removeItem(key);
+        this.storage.removeItem(this.getExpiryKey(key));
+    }
+ 
+    private getExpiryKey(key: string): string {
+        return key + "_expiry";
+    }
+ 
+    private isCacheExpired(key: string): boolean {
+        let isCacheExpired: boolean = true;
+        const cacheExpiryString: string = this.storage[this.getExpiryKey(key)];
+        if (typeof cacheExpiryString === "string" && cacheExpiryString.length > 0) {
+            const cacheExpiryInt: number = parseInt(cacheExpiryString, 10);
+            if (cacheExpiryInt > (new Date()).getTime()) {
+                isCacheExpired = false;
+            }
+        }
+        return isCacheExpired;
+    }
+ 
+    private ensureCacheKeyPrefix(key: string): string {
+        let prefixedKey: string = "";
+        if (!key || key.indexOf(this.cacheKeyPrefix) !== 0) {
+            prefixedKey = `${this.cacheKeyPrefix}${key}`;
+        } else {
+            prefixedKey = key;
+        }
+        return prefixedKey;
+    }
+ 
+    private getCacheTimeout(cacheTimeout: CacheTimeout): number {
+        const oneMinute: number = 60000;
+        let timeout: number;
+        switch (cacheTimeout) {
+            case CacheTimeout.oneSecond:
+                timeout = 1000;
+                break;
+            case CacheTimeout.short:
+                timeout = oneMinute;
+                break;
+            case CacheTimeout.long:
+                timeout = oneMinute * 60; // 1 hour
+                break;
+            case CacheTimeout.verylong:
+                timeout = oneMinute * 60 * 24; // 24 hours
+                break;
+            default:
+                timeout = oneMinute * 10; // 10 minutes
+                break;
+        }
+        return timeout;
+    }
+}
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/index.html b/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/index.html new file mode 100644 index 000000000..d2325e1e6 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/common/providers/Cache/index.html @@ -0,0 +1,106 @@ + + + + Code coverage report for common/providers/Cache + + + + + + + +
+
+

+ All files common/providers/Cache +

+
+
+ 100% + Statements + 81/81 +
+
+ 100% + Branches + 44/44 +
+
+ 100% + Functions + 11/11 +
+
+ 100% + Lines + 80/80 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ICacheProvider.ts
100%6/6100%2/2100%1/1100%6/6
StorageCacheProvider.ts
100%75/75100%42/42100%10/10100%74/74
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/common/providers/DependencyResolver/DependencyResolver.ts.html b/samples/react-ioc-tests/jest/lcov-report/common/providers/DependencyResolver/DependencyResolver.ts.html new file mode 100644 index 000000000..fd9ae3b91 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/common/providers/DependencyResolver/DependencyResolver.ts.html @@ -0,0 +1,143 @@ + + + + Code coverage report for common/providers/DependencyResolver/DependencyResolver.ts + + + + + + + +
+
+

+ All files / common/providers/DependencyResolver DependencyResolver.ts +

+
+
+ 100% + Statements + 12/12 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 4/4 +
+
+ 100% + Lines + 12/12 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +271x +1x +1x +1x +  +  +  +  +1x +  +  +  +  +  +  +1x +3x +  +  +1x +3x +  +  +1x +3x +  +1x
import StorageCacheProvider from "../Cache/StorageCacheProvider";
+import ConsoleLogProvider from "../Log/ConsoleLogProvider";
+import PnPListsService from "../../services/Lists/PnPListsService";
+import PnPListsServiceExecutor from "../../services/Lists/executor/PnPListsServiceExecutor";
+import ICacheProvider from "../Cache/ICacheProvider";
+import ILogProvider from "../Log/ILogProvider";
+import IListsService from "../../services/Lists/IListsService";
+ 
+export default class DependencyResolver { // implements IDependencyResolver 
+    // private useMockServices: boolean;
+ 
+    // constructor(useMockServices: boolean = false) {
+    //     this.useMockServices = useMockServices;
+    // }
+ 
+    public ResolveICacheProvider(): ICacheProvider {
+        return new StorageCacheProvider(window.sessionStorage);
+    }
+ 
+    public ResolveILogProvider(): ILogProvider {
+        return new ConsoleLogProvider();
+    }
+ 
+    public ResolveIListsService(webUrl: string): IListsService {
+        return new PnPListsService(new PnPListsServiceExecutor(webUrl));
+    }
+}
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/common/providers/DependencyResolver/index.html b/samples/react-ioc-tests/jest/lcov-report/common/providers/DependencyResolver/index.html new file mode 100644 index 000000000..7c5fd483d --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/common/providers/DependencyResolver/index.html @@ -0,0 +1,93 @@ + + + + Code coverage report for common/providers/DependencyResolver + + + + + + + +
+
+

+ All files common/providers/DependencyResolver +

+
+
+ 100% + Statements + 12/12 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 4/4 +
+
+ 100% + Lines + 12/12 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
DependencyResolver.ts
100%12/12100%0/0100%4/4100%12/12
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/common/providers/Log/ConsoleLogProvider.ts.html b/samples/react-ioc-tests/jest/lcov-report/common/providers/Log/ConsoleLogProvider.ts.html new file mode 100644 index 000000000..c263f7622 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/common/providers/Log/ConsoleLogProvider.ts.html @@ -0,0 +1,170 @@ + + + + Code coverage report for common/providers/Log/ConsoleLogProvider.ts + + + + + + + +
+
+

+ All files / common/providers/Log ConsoleLogProvider.ts +

+
+
+ 100% + Statements + 26/26 +
+
+ 100% + Branches + 12/12 +
+
+ 100% + Functions + 8/8 +
+
+ 100% + Lines + 22/22 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36  +  +  +2x +  +14x +11x +  +  +3x +2x +2x +  +3x +2x +2x +  +3x +2x +2x +  +3x +2x +2x +  +  +2x +8x +8x +  +  +2x +8x +8x +  +2x
import ILogProvider from "./ILogProvider";
+import IConsole from "./IConsole";
+ 
+export default class ConsoleLogProvider implements ILogProvider {
+    private consolelog: IConsole;
+    constructor(consolelog: IConsole = window.console) {
+        this.consolelog = consolelog;
+    }
+ 
+    public async Debug(className: string, message: string, json: any = undefined): Promise<void> {
+        const jsonString: string = this.getJsonString(json);
+        this.internalLog(this.consolelog.debug, className, message, jsonString);
+    }
+    public async Info(className: string, message: string, json: any = undefined): Promise<void> {
+        const jsonString: string = this.getJsonString(json);
+        this.internalLog(this.consolelog.info, className, message, jsonString);
+    }
+    public async Warning(className: string, message: string, json: any = undefined): Promise<void> {
+        const jsonString: string = this.getJsonString(json);
+        this.internalLog(this.consolelog.warn, className, message, jsonString);
+    }
+    public async Error(className: string, message: string, json: any = undefined): Promise<void> {
+        const jsonString: string = this.getJsonString(json);
+        this.internalLog(this.consolelog.error, className, message, jsonString);
+    }
+ 
+    private getJsonString(json: any): string {
+        const jsonString: string = !!json ? JSON.stringify(json) : "";
+        return jsonString;
+    }
+ 
+    private internalLog(log: (message:string) => void, className: string, message: string, jsonString: string): void {
+        const logMessage: string = `${className}, ${message}, ${jsonString}`; 
+        log(logMessage);
+    }
+}
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/common/providers/Log/MockLogProvider.ts.html b/samples/react-ioc-tests/jest/lcov-report/common/providers/Log/MockLogProvider.ts.html new file mode 100644 index 000000000..e6ac93188 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/common/providers/Log/MockLogProvider.ts.html @@ -0,0 +1,113 @@ + + + + Code coverage report for common/providers/Log/MockLogProvider.ts + + + + + + + +
+
+

+ All files / common/providers/Log MockLogProvider.ts +

+
+
+ 100% + Statements + 6/6 +
+
+ 100% + Branches + 0/0 +
+
+ 40% + Functions + 2/5 +
+
+ 100% + Lines + 6/6 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17  +  +2x +2x +  +  +2x +  +  +2x +  +  +2x +  +  +  +2x
import ILogProvider from "./ILogProvider";
+ 
+export default class MockLogProvider implements ILogProvider {
+    public async Debug(className: string, message: string, json: any): Promise<void> {
+        // do nothing
+    }    
+    public async Info(className: string, message: string, json: any): Promise<void> {
+        // do nothing
+    }
+    public async Warning(className: string, message: string, json: any): Promise<void> {
+        // do nothing
+    }
+    public async Error(className: string, message: string, json: any): Promise<void> {
+        // do nothing
+    }
+ 
+}
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/common/providers/Log/index.html b/samples/react-ioc-tests/jest/lcov-report/common/providers/Log/index.html new file mode 100644 index 000000000..03cca1823 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/common/providers/Log/index.html @@ -0,0 +1,93 @@ + + + + Code coverage report for common/providers/Log + + + + + + + +
+
+

+ All files common/providers/Log +

+
+
+ 100% + Statements + 26/26 +
+
+ 100% + Branches + 12/12 +
+
+ 100% + Functions + 8/8 +
+
+ 100% + Lines + 22/22 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ConsoleLogProvider.ts
100%26/26100%12/12100%8/8100%22/22
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/common/services/Lists/MockListsService.ts.html b/samples/react-ioc-tests/jest/lcov-report/common/services/Lists/MockListsService.ts.html new file mode 100644 index 000000000..c29ec2018 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/common/services/Lists/MockListsService.ts.html @@ -0,0 +1,101 @@ + + + + Code coverage report for common/services/Lists/MockListsService.ts + + + + + + + +
+
+

+ All files / common/services/Lists MockListsService.ts +

+
+
+ 100% + Statements + 6/6 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 3/3 +
+
+ 100% + Lines + 6/6 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +  +2x +6x +  +  +6x +  +  +2x +5x +  +2x
import IListsService, { IList } from "./IListsService";
+ 
+export default class MockListsService implements IListsService {
+    private lists: IList[] = [];
+    
+    constructor(lists: IList[]) {
+        this.lists = lists;
+    }
+    
+    public async GetLists(): Promise<IList[]> {
+        return this.lists;
+    }
+}
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/common/services/Lists/PnPListsService.ts.html b/samples/react-ioc-tests/jest/lcov-report/common/services/Lists/PnPListsService.ts.html new file mode 100644 index 000000000..ffd594b75 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/common/services/Lists/PnPListsService.ts.html @@ -0,0 +1,125 @@ + + + + Code coverage report for common/services/Lists/PnPListsService.ts + + + + + + + +
+
+

+ All files / common/services/Lists PnPListsService.ts +

+
+
+ 100% + Statements + 9/9 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 4/4 +
+
+ 100% + Lines + 8/8 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21  +  +  +2x +  +  +  +6x +  +  +2x +3x +3x +4x +  +  +  +  +3x +  +2x
import IListsService, { IList } from "./IListsService";
+import IListsServiceExecutor from "./executor/IListsServiceExecutor";
+ 
+export default class PnPListsService implements IListsService {
+    private executor: IListsServiceExecutor;
+ 
+    constructor(executor: IListsServiceExecutor) {
+        this.executor = executor;
+    }
+ 
+    public async GetLists(): Promise<IList[]> {
+        const listsData = await this.executor.Get();
+        const lists = listsData.map(l => {
+            return {
+                Title: l.Title,
+                DefaultViewUrl: l.DefaultViewUrl
+            };
+        });
+        return lists;
+    }
+}
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/common/services/Lists/index.html b/samples/react-ioc-tests/jest/lcov-report/common/services/Lists/index.html new file mode 100644 index 000000000..1e14607af --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/common/services/Lists/index.html @@ -0,0 +1,93 @@ + + + + Code coverage report for common/services/Lists + + + + + + + +
+
+

+ All files common/services/Lists +

+
+
+ 100% + Statements + 9/9 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 4/4 +
+
+ 100% + Lines + 8/8 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
PnPListsService.ts
100%9/9100%0/0100%4/4100%8/8
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/index.html b/samples/react-ioc-tests/jest/lcov-report/index.html new file mode 100644 index 000000000..a89f105d6 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/index.html @@ -0,0 +1,158 @@ + + + + Code coverage report for All files + + + + + + + +
+
+

+ All files +

+
+
+ 100% + Statements + 163/163 +
+
+ 100% + Branches + 62/62 +
+
+ 100% + Functions + 34/34 +
+
+ 100% + Lines + 152/152 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
common/providers/Cache
100%81/81100%44/44100%11/11100%80/80
common/providers/DependencyResolver
100%12/12100%0/0100%4/4100%12/12
common/providers/Log
100%26/26100%12/12100%8/8100%22/22
common/services/Lists
100%9/9100%0/0100%4/4100%8/8
webparts/iocTests
100%10/10100%0/0100%2/2100%10/10
webparts/iocTests/components
100%25/25100%6/6100%5/5100%20/20
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/iocTests/IocTestsWebPart.ts.html b/samples/react-ioc-tests/jest/lcov-report/iocTests/IocTestsWebPart.ts.html new file mode 100644 index 000000000..439c53237 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/iocTests/IocTestsWebPart.ts.html @@ -0,0 +1,317 @@ + + + + Code coverage report for iocTests/IocTestsWebPart.ts + + + + + + + +
+
+

+ All files / iocTests IocTestsWebPart.ts +

+
+
+ 0% + Statements + 0/28 +
+
+ 0% + Branches + 0/8 +
+
+ 0% + Functions + 0/5 +
+
+ 0% + Lines + 0/27 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as React from 'react';
+import * as ReactDom from 'react-dom';
+import { Version, Environment, EnvironmentType } from '@microsoft/sp-core-library';
+import {
+  BaseClientSideWebPart,
+  IPropertyPaneConfiguration,
+  PropertyPaneTextField
+} from '@microsoft/sp-webpart-base';
+ 
+import * as strings from 'IocTestsWebPartStrings';
+import IocTests, { IocTestsProps } from './components/IocTests';
+import PnPListsService from '../../common/services/Lists/PnPListsService';
+import IListsService from '../../common/services/Lists/IListsService';
+import MockListsService from '../../common/services/Lists/MockListsService';
+import ICacheProvider from '../../common/providers/Cache/ICacheProvider';
+import MockCacheProvider from '../../common/providers/Cache/MockCacheProvider';
+import StorageCacheProvider, { StorageType } from '../../common/providers/Cache/StorageCacheProvider';
+import ILogProvider from '../../common/providers/Log/ILogProvider';
+import MockLogProvider from '../../common/providers/Log/MockLogProvider';
+import ConsoleLogProvider from '../../common/providers/Log/ConsoleLogProvider';
+ 
+export interface IIocTestsWebPartProps {
+  description: string;
+}
+ 
+export default class IocTestsWebPart extends BaseClientSideWebPart<IIocTestsWebPartProps> {
+ 
+  public render(): void {
+    const useMockServices = Environment.type !== EnvironmentType.SharePoint && Environment.type !== EnvironmentType.ClassicSharePoint;
+ 
+    const listsService: IListsService = useMockServices 
+      ? new MockListsService([{ Title: "Mocked List", DefaultViewUrl: "https://bing.com" }]) 
+      : new PnPListsService(this.context.pageContext.web.absoluteUrl);
+ 
+    const cacheProvider: ICacheProvider = useMockServices 
+      ? new MockCacheProvider()
+      : new StorageCacheProvider(StorageType.local);
+    
+    const logProvider: ILogProvider = useMockServices 
+      ? new MockLogProvider()
+      : new ConsoleLogProvider(this.context);
+ 
+    const element: React.ReactElement<IocTestsProps> = React.createElement(
+      IocTests,
+      {
+        listsService: listsService,
+        cacheProvider: cacheProvider,
+        logProvider: logProvider
+      }
+    );
+ 
+    ReactDom.render(element, this.domElement);
+  }
+ 
+  protected onDispose(): void {
+    ReactDom.unmountComponentAtNode(this.domElement);
+  }
+ 
+  protected get dataVersion(): Version {
+    return Version.parse('1.0');
+  }
+ 
+  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {
+    return {
+      pages: [
+        {
+          header: {
+            description: strings.PropertyPaneDescription
+          },
+          groups: [
+            {
+              groupName: strings.BasicGroupName,
+              groupFields: [
+                PropertyPaneTextField('description', {
+                  label: strings.DescriptionFieldLabel
+                })
+              ]
+            }
+          ]
+        }
+      ]
+    };
+  }
+}
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/iocTests/components/IocTests.tsx.html b/samples/react-ioc-tests/jest/lcov-report/iocTests/components/IocTests.tsx.html new file mode 100644 index 000000000..d04c81110 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/iocTests/components/IocTests.tsx.html @@ -0,0 +1,269 @@ + + + + Code coverage report for iocTests/components/IocTests.tsx + + + + + + + +
+
+

+ All files / iocTests/components IocTests.tsx +

+
+
+ 96% + Statements + 24/25 +
+
+ 100% + Branches + 6/6 +
+
+ 100% + Functions + 5/5 +
+
+ 95% + Lines + 19/20 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +691x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +  +  +1x +1x +  +  +  +  +1x +  +1x +  +  +1x +1x +  +  +1x +  +  +1x +  +  +1x +  +  +  +  +1x +2x +  +2x +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +1x + 
import * as React from 'react';
+import styles from './IocTests.module.scss';
+import IListsService, { IList } from '../../../common/services/Lists/IListsService';
+import ICacheProvider, { CacheTimeout } from '../../../common/providers/Cache/ICacheProvider';
+import ILogProvider from '../../../common/providers/Log/ILogProvider';
+ 
+export interface IocTestsProps {
+  cacheProvider: ICacheProvider;
+  logProvider: ILogProvider;
+  listsService: IListsService;
+}
+ 
+export interface IocTestsState {
+  lists: IList[];
+}
+ 
+export default class IocTests extends React.Component<IocTestsProps, IocTestsState> {
+  private className: string = "IocTests";
+ 
+  constructor(props: IocTestsProps) {
+    super(props);
+    this.state = {
+      lists: null
+    };
+  }
+ 
+  public async componentDidMount(): Promise<void> {
+    // LOG PROVIDER
+    await this.props.logProvider.Debug(this.className, "componentDidMount", null);
+ 
+    // CACHE PROVIDER
+    const cacheKey = "IocTestsGetLists";
+    let lists: IList[] = await this.props.cacheProvider.Get(cacheKey);
+    if (!lists) {
+      // LISTS SERVICE
+      lists = await this.props.listsService.GetLists();
+ 
+      // CACHE PROVIDER
+      await this.props.cacheProvider.Set(cacheKey, lists, CacheTimeout.default);
+    }
+ 
+    this.setState({
+      lists: lists
+    });
+  }
+ 
+  public render(): React.ReactElement<IocTestsProps> {
+    this.props.logProvider.Debug(this.className, "render", null);
+ 
+    return (
+      <div id={ styles.iocTests } className={ styles.iocTests }>
+        <div className={ styles.container }>
+          { !this.state.lists &&
+            <span> Loading... </span>
+          }
+          { !!this.state.lists && this.state.lists.map(l => {
+              return (
+                <div key={l.Title}>
+                  <a href={l.DefaultViewUrl} target={"_blank"}>{l.Title}</a>
+                </div>
+              );
+            })
+          }
+        </div>
+      </div>
+    );
+  }
+}
+ 
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/iocTests/components/index.html b/samples/react-ioc-tests/jest/lcov-report/iocTests/components/index.html new file mode 100644 index 000000000..df2b590e9 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/iocTests/components/index.html @@ -0,0 +1,93 @@ + + + + Code coverage report for iocTests/components + + + + + + + +
+
+

+ All files iocTests/components +

+
+
+ 96% + Statements + 24/25 +
+
+ 100% + Branches + 6/6 +
+
+ 100% + Functions + 5/5 +
+
+ 95% + Lines + 19/20 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
IocTests.tsx
96%24/25100%6/6100%5/595%19/20
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/iocTests/index.html b/samples/react-ioc-tests/jest/lcov-report/iocTests/index.html new file mode 100644 index 000000000..d1e290814 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/iocTests/index.html @@ -0,0 +1,93 @@ + + + + Code coverage report for iocTests + + + + + + + +
+
+

+ All files iocTests +

+
+
+ 0% + Statements + 0/28 +
+
+ 0% + Branches + 0/8 +
+
+ 0% + Functions + 0/5 +
+
+ 0% + Lines + 0/27 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
IocTestsWebPart.ts
0%0/280%0/80%0/50%0/27
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/prettify.css b/samples/react-ioc-tests/jest/lcov-report/prettify.css new file mode 100644 index 000000000..b317a7cda --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/samples/react-ioc-tests/jest/lcov-report/prettify.js b/samples/react-ioc-tests/jest/lcov-report/prettify.js new file mode 100644 index 000000000..ef51e0386 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/prettify.js @@ -0,0 +1 @@ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/samples/react-ioc-tests/jest/lcov-report/sort-arrow-sprite.png b/samples/react-ioc-tests/jest/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..03f704a609c6fd0dbfdac63466a7d7c958b5cbf3 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jii$m5978H@?Fn+^JD|Y9yzj{W`447Gxa{7*dM7nnnD-Lb z6^}Hx2)'; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function (a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function (a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function () { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i =0 ; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function () { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(cols); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/IoCTestsWebPartPropsDependencyResolver.ts.html b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/IoCTestsWebPartPropsDependencyResolver.ts.html new file mode 100644 index 000000000..e056b1adb --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/IoCTestsWebPartPropsDependencyResolver.ts.html @@ -0,0 +1,140 @@ + + + + Code coverage report for webparts/iocTests/IoCTestsWebPartPropsDependencyResolver.ts + + + + + + + +
+
+

+ All files / webparts/iocTests IoCTestsWebPartPropsDependencyResolver.ts +

+
+
+ 100% + Statements + 10/10 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 2/2 +
+
+ 100% + Lines + 10/10 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26  +  +  +  +  +1x +  +1x +1x +  +3x +  +3x +3x +3x +  +3x +  +  +  +  +  +  +3x +  +1x
import { IIocTestsWebPartProps } from "./IocTestsWebPart";
+import { IListOfListsProps } from "./components/ListOfLists";
+import IListsService from "../../common/services/Lists/IListsService";
+import ICacheProvider from "../../common/providers/Cache/ICacheProvider";
+import ILogProvider from "../../common/providers/Log/ILogProvider";
+import DependencyResolver from "../../common/providers/DependencyResolver/DependencyResolver";
+ 
+export default class IoCTestsWebPartPropsDependencyResolver {
+    public resolve(properties: IIocTestsWebPartProps, webUrl: string): IListOfListsProps {
+ 
+        const resolver = new DependencyResolver();
+ 
+        const listsService: IListsService = resolver.ResolveIListsService(webUrl);
+        const cacheProvider: ICacheProvider = resolver.ResolveICacheProvider();
+        const logProvider: ILogProvider = resolver.ResolveILogProvider();
+ 
+        const props: IListOfListsProps = {
+            description: properties.description,
+            listsService: listsService,
+            cacheProvider: cacheProvider,
+            logProvider: logProvider
+        };
+ 
+        return props;
+    }
+}
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/IoCTestsWebPartPropsTransformer.ts.html b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/IoCTestsWebPartPropsTransformer.ts.html new file mode 100644 index 000000000..c2124b8df --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/IoCTestsWebPartPropsTransformer.ts.html @@ -0,0 +1,173 @@ + + + + Code coverage report for webparts/iocTests/IoCTestsWebPartPropsTransformer.ts + + + + + + + +
+
+

+ All files / webparts/iocTests IoCTestsWebPartPropsTransformer.ts +

+
+
+ 100% + Statements + 15/15 +
+
+ 100% + Branches + 6/6 +
+
+ 100% + Functions + 2/2 +
+
+ 100% + Lines + 15/15 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37  +  +  +1x +1x +1x +  +1x +1x +  +1x +1x +  +1x +1x +3x +  +  +  +3x +  +  +  +3x +  +  +  +3x +  +  +  +  +  +  +3x +  +1x
import { IIocTestsWebPartProps } from "./IocTestsWebPart";
+import { IocTestsProps } from "./components/IocTests";
+import IListsService from "../../common/services/Lists/IListsService";
+import MockListsService from "../../common/services/Lists/MockListsService";
+import PnPListsService from "../../common/services/Lists/PnPListsService";
+import PnPListsServiceExecutor from "../../common/services/Lists/executor/PnPListsServiceExecutor";
+import ICacheProvider from "../../common/providers/Cache/ICacheProvider";
+import MockCacheProvider from "../../common/providers/Cache/MockCacheProvider";
+import StorageCacheProvider from "../../common/providers/Cache/StorageCacheProvider";
+import ILogProvider from "../../common/providers/Log/ILogProvider";
+import MockLogProvider from "../../common/providers/Log/MockLogProvider";
+import ConsoleLogProvider from "../../common/providers/Log/ConsoleLogProvider";
+ 
+export default class IoCTestsWebPartPropsTransformer {
+    public transform(properties: IIocTestsWebPartProps, webUrl: string, useMockServices: boolean): IocTestsProps {
+        const listsService: IListsService = useMockServices 
+            ? new MockListsService([{ Title: "Mocked List", DefaultViewUrl: "https://bing.com" }]) 
+            : new PnPListsService(new PnPListsServiceExecutor(webUrl));
+ 
+        const cacheProvider: ICacheProvider = useMockServices 
+            ? new MockCacheProvider()
+            : new StorageCacheProvider();
+        
+        const logProvider: ILogProvider = useMockServices 
+            ? new MockLogProvider()
+            : new ConsoleLogProvider();
+ 
+        const props: IocTestsProps = {
+            description: properties.description,
+            listsService: listsService,
+            cacheProvider: cacheProvider,
+            logProvider: logProvider
+        };
+ 
+        return props;
+    }
+}
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/IocTestsWebPart.ts.html b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/IocTestsWebPart.ts.html new file mode 100644 index 000000000..288289ef7 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/IocTestsWebPart.ts.html @@ -0,0 +1,317 @@ + + + + Code coverage report for webparts/iocTests/IocTestsWebPart.ts + + + + + + + +
+
+

+ All files / webparts/iocTests IocTestsWebPart.ts +

+
+
+ 0% + Statements + 0/28 +
+
+ 0% + Branches + 0/8 +
+
+ 0% + Functions + 0/5 +
+
+ 0% + Lines + 0/27 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import * as React from 'react';
+import * as ReactDom from 'react-dom';
+import { Version, Environment, EnvironmentType } from '@microsoft/sp-core-library';
+import {
+  BaseClientSideWebPart,
+  IPropertyPaneConfiguration,
+  PropertyPaneTextField
+} from '@microsoft/sp-webpart-base';
+ 
+import * as strings from 'IocTestsWebPartStrings';
+import IocTests, { IocTestsProps } from './components/IocTests';
+import PnPListsService from '../../common/services/Lists/PnPListsService';
+import IListsService from '../../common/services/Lists/IListsService';
+import MockListsService from '../../common/services/Lists/MockListsService';
+import ICacheProvider from '../../common/providers/Cache/ICacheProvider';
+import MockCacheProvider from '../../common/providers/Cache/MockCacheProvider';
+import StorageCacheProvider, { StorageType } from '../../common/providers/Cache/StorageCacheProvider';
+import ILogProvider from '../../common/providers/Log/ILogProvider';
+import MockLogProvider from '../../common/providers/Log/MockLogProvider';
+import ConsoleLogProvider from '../../common/providers/Log/ConsoleLogProvider';
+ 
+export interface IIocTestsWebPartProps {
+  description: string;
+}
+ 
+export default class IocTestsWebPart extends BaseClientSideWebPart<IIocTestsWebPartProps> {
+ 
+  public render(): void {
+    const useMockServices = Environment.type !== EnvironmentType.SharePoint && Environment.type !== EnvironmentType.ClassicSharePoint;
+ 
+    const listsService: IListsService = useMockServices 
+      ? new MockListsService([{ Title: "Mocked List", DefaultViewUrl: "https://bing.com" }]) 
+      : new PnPListsService(this.context.pageContext.web.absoluteUrl);
+ 
+    const cacheProvider: ICacheProvider = useMockServices 
+      ? new MockCacheProvider()
+      : new StorageCacheProvider(StorageType.local);
+    
+    const logProvider: ILogProvider = useMockServices 
+      ? new MockLogProvider()
+      : new ConsoleLogProvider(this.context);
+ 
+    const element: React.ReactElement<IocTestsProps> = React.createElement(
+      IocTests,
+      {
+        listsService: listsService,
+        cacheProvider: cacheProvider,
+        logProvider: logProvider
+      }
+    );
+ 
+    ReactDom.render(element, this.domElement);
+  }
+ 
+  protected onDispose(): void {
+    ReactDom.unmountComponentAtNode(this.domElement);
+  }
+ 
+  protected get dataVersion(): Version {
+    return Version.parse('1.0');
+  }
+ 
+  protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {
+    return {
+      pages: [
+        {
+          header: {
+            description: strings.PropertyPaneDescription
+          },
+          groups: [
+            {
+              groupName: strings.BasicGroupName,
+              groupFields: [
+                PropertyPaneTextField('description', {
+                  label: strings.DescriptionFieldLabel
+                })
+              ]
+            }
+          ]
+        }
+      ]
+    };
+  }
+}
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/IocTests.module.scss.ts.html b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/IocTests.module.scss.ts.html new file mode 100644 index 000000000..4e5e88817 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/IocTests.module.scss.ts.html @@ -0,0 +1,89 @@ + + + + Code coverage report for webparts/iocTests/components/IocTests.module.scss.ts + + + + + + + +
+
+

+ All files / webparts/iocTests/components IocTests.module.scss.ts +

+
+
+ 0% + Statements + 0/3 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 0/0 +
+
+ 0% + Lines + 0/3 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9  +  +  +  +  +  +  +  + 
/* tslint:disable */
+require("./IocTests.module.css");
+const styles = {
+  iocTests: 'iocTests_886457bc',
+  container: 'container_886457bc',
+};
+ 
+export default styles;
+/* tslint:enable */
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/IocTests.tsx.html b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/IocTests.tsx.html new file mode 100644 index 000000000..c98095d31 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/IocTests.tsx.html @@ -0,0 +1,290 @@ + + + + Code coverage report for webparts/iocTests/components/IocTests.tsx + + + + + + + +
+
+

+ All files / webparts/iocTests/components IocTests.tsx +

+
+
+ 100% + Statements + 25/25 +
+
+ 100% + Branches + 6/6 +
+
+ 100% + Functions + 5/5 +
+
+ 100% + Lines + 20/20 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +761x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +7x +  +  +7x +7x +  +  +  +  +  +1x +  +13x +  +  +13x +13x +8x +  +5x +  +  +5x +  +  +13x +  +  +  +  +  +1x +20x +  +20x +  +  +  +  +  +  +  +  +  +13x +  +  +  +  +  +  +  +  +  +  +1x + 
import * as React from 'react';
+import styles from './IocTests.module.scss';
+import IListsService, { IList } from '../../../common/services/Lists/IListsService';
+import ICacheProvider, { CacheTimeout } from '../../../common/providers/Cache/ICacheProvider';
+import ILogProvider from '../../../common/providers/Log/ILogProvider';
+ 
+export interface IocTestsProps {
+  description: string;
+  cacheProvider: ICacheProvider;
+  logProvider: ILogProvider;
+  listsService: IListsService;
+}
+ 
+export interface IocTestsState {
+  lists: IList[];
+  isLoading: boolean;
+}
+ 
+export default class IocTests extends React.Component<IocTestsProps, IocTestsState> {
+  private className: string = "IocTests";
+ 
+  constructor(props: IocTestsProps) {
+    super(props);
+    this.state = {
+      lists: [],
+      isLoading: true
+    };
+  }
+ 
+  public async componentDidMount(): Promise<void> {
+    // LOG PROVIDER
+    await this.props.logProvider.Debug(this.className, "componentDidMount", null);
+ 
+    // CACHE PROVIDER
+    const cacheKey = "IocTestsGetLists";
+    let lists: IList[] = await this.props.cacheProvider.Get(cacheKey);
+    if (!lists) {
+      // LISTS SERVICE
+      lists = await this.props.listsService.GetLists();
+ 
+      // CACHE PROVIDER
+      await this.props.cacheProvider.Set(cacheKey, lists, CacheTimeout.default);
+    }
+ 
+    this.setState({
+      lists: lists,
+      isLoading: false
+    });
+  }
+ 
+  public render(): React.ReactElement<IocTestsProps> {
+    this.props.logProvider.Debug(this.className, "render", null);
+ 
+    return (
+      <div id={ styles.iocTests } className={ styles.iocTests }>
+        <div className={ styles.container }>
+          { !!this.props.description &&
+            <div>{this.props.description}</div>
+          }
+          { !!this.state.isLoading &&
+            <span> Loading... </span>
+          }
+          { this.state.lists.map(l => {
+              return (
+                <div key={l.Title}>
+                  <a href={l.DefaultViewUrl} target={"_blank"}>{l.Title}</a>
+                </div>
+              );
+            })
+          }
+        </div>
+      </div>
+    );
+  }
+}
+ 
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/ListOfLists.tsx.html b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/ListOfLists.tsx.html new file mode 100644 index 000000000..460878ec4 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/ListOfLists.tsx.html @@ -0,0 +1,290 @@ + + + + Code coverage report for webparts/iocTests/components/ListOfLists.tsx + + + + + + + +
+
+

+ All files / webparts/iocTests/components ListOfLists.tsx +

+
+
+ 100% + Statements + 25/25 +
+
+ 100% + Branches + 6/6 +
+
+ 100% + Functions + 5/5 +
+
+ 100% + Lines + 20/20 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +761x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +7x +  +  +7x +7x +  +  +  +  +  +1x +  +13x +  +  +13x +13x +8x +  +5x +  +  +5x +  +  +13x +  +  +  +  +  +1x +20x +  +20x +  +  +  +  +  +  +  +  +  +13x +  +  +  +  +  +  +  +  +  +  +1x + 
import * as React from 'react';
+import styles from './ListOfLists.module.scss';
+import IListsService, { IList } from '../../../common/services/Lists/IListsService';
+import ICacheProvider, { CacheTimeout } from '../../../common/providers/Cache/ICacheProvider';
+import ILogProvider from '../../../common/providers/Log/ILogProvider';
+ 
+export interface IListOfListsProps {
+  description: string;
+  cacheProvider: ICacheProvider;
+  logProvider: ILogProvider;
+  listsService: IListsService;
+}
+ 
+export interface IListOfListsState {
+  lists: IList[];
+  isLoading: boolean;
+}
+ 
+export default class ListOfLists extends React.Component<IListOfListsProps, IListOfListsState> {
+  private className: string = "ListOfLists";
+ 
+  constructor(props: IListOfListsProps) {
+    super(props);
+    this.state = {
+      lists: [],
+      isLoading: true
+    };
+  }
+ 
+  public async componentDidMount(): Promise<void> {
+    // LOG PROVIDER
+    await this.props.logProvider.Debug(this.className, "componentDidMount", null);
+ 
+    // CACHE PROVIDER
+    const cacheKey = "ListOfListsGetLists";
+    let lists: IList[] = await this.props.cacheProvider.Get(cacheKey);
+    if (!lists) {
+      // LISTS SERVICE
+      lists = await this.props.listsService.GetLists();
+ 
+      // CACHE PROVIDER
+      await this.props.cacheProvider.Set(cacheKey, lists, CacheTimeout.default);
+    }
+ 
+    this.setState({
+      lists: lists,
+      isLoading: false
+    });
+  }
+ 
+  public render(): React.ReactElement<IListOfListsProps> {
+    this.props.logProvider.Debug(this.className, "render", null);
+ 
+    return (
+      <div id={ styles.ListOfLists } className={ styles.ListOfLists }>
+        <div className={ styles.container }>
+          { !!this.props.description &&
+            <div>{this.props.description}</div>
+          }
+          { !!this.state.isLoading &&
+            <span> Loading... </span>
+          }
+          { this.state.lists.map(l => {
+              return (
+                <div key={l.Title}>
+                  <a href={l.DefaultViewUrl} target={"_blank"}>{l.Title}</a>
+                </div>
+              );
+            })
+          }
+        </div>
+      </div>
+    );
+  }
+}
+ 
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/index.html b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/index.html new file mode 100644 index 000000000..93e7f782a --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/components/index.html @@ -0,0 +1,93 @@ + + + + Code coverage report for webparts/iocTests/components + + + + + + + +
+
+

+ All files webparts/iocTests/components +

+
+
+ 100% + Statements + 25/25 +
+
+ 100% + Branches + 6/6 +
+
+ 100% + Functions + 5/5 +
+
+ 100% + Lines + 20/20 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ListOfLists.tsx
100%25/25100%6/6100%5/5100%20/20
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/index.html b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/index.html new file mode 100644 index 000000000..9f435a0f7 --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov-report/webparts/iocTests/index.html @@ -0,0 +1,93 @@ + + + + Code coverage report for webparts/iocTests + + + + + + + +
+
+

+ All files webparts/iocTests +

+
+
+ 100% + Statements + 10/10 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 2/2 +
+
+ 100% + Lines + 10/10 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
IoCTestsWebPartPropsDependencyResolver.ts
100%10/10100%0/0100%2/2100%10/10
+
+
+ + + + + + + diff --git a/samples/react-ioc-tests/jest/lcov.info b/samples/react-ioc-tests/jest/lcov.info new file mode 100644 index 000000000..99b052add --- /dev/null +++ b/samples/react-ioc-tests/jest/lcov.info @@ -0,0 +1,345 @@ +TN: +SF:C:\PWR\Repos\SPFxIoCTests\src\common\providers\Cache\ICacheProvider.ts +FN:2,(anonymous_0) +FNF:1 +FNH:1 +FNDA:3,(anonymous_0) +DA:2,3 +DA:3,3 +DA:4,3 +DA:5,3 +DA:6,3 +DA:7,3 +LF:6 +LH:6 +BRDA:2,0,0,3 +BRDA:2,0,1,3 +BRF:2 +BRH:2 +end_of_record +TN: +SF:C:\PWR\Repos\SPFxIoCTests\src\common\providers\Cache\StorageCacheProvider.ts +FN:3,(anonymous_12) +FN:7,StorageCacheProvider +FN:11,(anonymous_14) +FN:28,(anonymous_15) +FN:42,(anonymous_18) +FN:66,(anonymous_21) +FN:72,(anonymous_24) +FN:76,(anonymous_25) +FN:88,(anonymous_26) +FN:98,(anonymous_27) +FNF:10 +FNH:10 +FNDA:2,(anonymous_12) +FNDA:15,StorageCacheProvider +FNDA:22,(anonymous_14) +FNDA:11,(anonymous_15) +FNDA:11,(anonymous_18) +FNDA:1,(anonymous_21) +FNDA:21,(anonymous_24) +FNDA:10,(anonymous_25) +FNDA:23,(anonymous_26) +FNDA:10,(anonymous_27) +DA:1,2 +DA:3,2 +DA:4,15 +DA:7,19 +DA:8,15 +DA:11,2 +DA:12,22 +DA:13,22 +DA:14,22 +DA:16,20 +DA:17,20 +DA:18,20 +DA:19,20 +DA:20,20 +DA:25,22 +DA:28,2 +DA:29,11 +DA:30,11 +DA:31,11 +DA:32,10 +DA:33,8 +DA:34,8 +DA:35,1 +DA:39,11 +DA:42,12 +DA:43,11 +DA:44,11 +DA:45,11 +DA:47,10 +DA:48,10 +DA:49,1 +DA:50,9 +DA:51,1 +DA:53,8 +DA:57,10 +DA:58,10 +DA:60,10 +DA:61,10 +DA:63,11 +DA:66,2 +DA:67,1 +DA:68,1 +DA:69,1 +DA:72,2 +DA:73,21 +DA:76,2 +DA:77,10 +DA:78,10 +DA:79,10 +DA:80,9 +DA:81,9 +DA:82,8 +DA:85,10 +DA:88,2 +DA:89,23 +DA:90,23 +DA:91,21 +DA:93,2 +DA:95,23 +DA:98,2 +DA:99,10 +DA:101,10 +DA:103,1 +DA:104,1 +DA:106,1 +DA:107,1 +DA:109,1 +DA:110,1 +DA:112,1 +DA:113,1 +DA:115,6 +DA:116,6 +DA:118,10 +DA:120,2 +LF:74 +LH:74 +BRDA:7,0,0,4 +BRDA:7,0,1,11 +BRDA:13,1,0,22 +BRDA:13,1,1,20 +BRDA:13,1,2,20 +BRDA:13,1,3,20 +BRDA:14,2,0,20 +BRDA:14,2,1,2 +BRDA:31,3,0,10 +BRDA:31,3,1,1 +BRDA:32,4,0,8 +BRDA:32,4,1,2 +BRDA:34,5,0,1 +BRDA:34,5,1,7 +BRDA:34,6,0,8 +BRDA:34,6,1,7 +BRDA:34,6,2,6 +BRDA:42,7,0,1 +BRDA:42,7,1,10 +BRDA:45,8,0,10 +BRDA:45,8,1,1 +BRDA:48,9,0,1 +BRDA:48,9,1,9 +BRDA:48,10,0,10 +BRDA:48,10,1,9 +BRDA:50,11,0,1 +BRDA:50,11,1,8 +BRDA:79,12,0,9 +BRDA:79,12,1,1 +BRDA:79,13,0,10 +BRDA:79,13,1,9 +BRDA:81,14,0,8 +BRDA:81,14,1,1 +BRDA:90,15,0,21 +BRDA:90,15,1,2 +BRDA:90,16,0,23 +BRDA:90,16,1,23 +BRDA:102,17,0,1 +BRDA:102,17,1,1 +BRDA:102,17,2,1 +BRDA:102,17,3,1 +BRDA:102,17,4,6 +BRF:42 +BRH:42 +end_of_record +TN: +SF:C:\PWR\Repos\SPFxIoCTests\src\common\providers\DependencyResolver\DependencyResolver.ts +FN:9,(anonymous_0) +FN:16,(anonymous_2) +FN:20,(anonymous_3) +FN:24,(anonymous_4) +FNF:4 +FNH:4 +FNDA:4,(anonymous_0) +FNDA:3,(anonymous_2) +FNDA:3,(anonymous_3) +FNDA:3,(anonymous_4) +DA:1,1 +DA:2,1 +DA:3,1 +DA:4,1 +DA:9,1 +DA:16,1 +DA:17,3 +DA:20,1 +DA:21,3 +DA:24,1 +DA:25,3 +DA:27,1 +LF:12 +LH:12 +BRF:0 +BRH:0 +end_of_record +TN: +SF:C:\PWR\Repos\SPFxIoCTests\src\common\providers\Log\ConsoleLogProvider.ts +FN:4,(anonymous_12) +FN:6,ConsoleLogProvider +FN:10,(anonymous_14) +FN:14,(anonymous_17) +FN:18,(anonymous_20) +FN:22,(anonymous_23) +FN:27,(anonymous_26) +FN:32,(anonymous_27) +FNF:8 +FNH:8 +FNDA:2,(anonymous_12) +FNDA:11,ConsoleLogProvider +FNDA:2,(anonymous_14) +FNDA:2,(anonymous_17) +FNDA:2,(anonymous_20) +FNDA:2,(anonymous_23) +FNDA:8,(anonymous_26) +FNDA:8,(anonymous_27) +DA:4,2 +DA:6,14 +DA:7,11 +DA:10,3 +DA:11,2 +DA:12,2 +DA:14,3 +DA:15,2 +DA:16,2 +DA:18,3 +DA:19,2 +DA:20,2 +DA:22,3 +DA:23,2 +DA:24,2 +DA:27,2 +DA:28,8 +DA:29,8 +DA:32,2 +DA:33,8 +DA:34,8 +DA:36,2 +LF:22 +LH:22 +BRDA:6,0,0,3 +BRDA:6,0,1,8 +BRDA:10,1,0,1 +BRDA:10,1,1,1 +BRDA:14,2,0,1 +BRDA:14,2,1,1 +BRDA:18,3,0,1 +BRDA:18,3,1,1 +BRDA:22,4,0,1 +BRDA:22,4,1,1 +BRDA:28,5,0,4 +BRDA:28,5,1,4 +BRF:12 +BRH:12 +end_of_record +TN: +SF:C:\PWR\Repos\SPFxIoCTests\src\common\services\Lists\PnPListsService.ts +FN:4,(anonymous_12) +FN:7,PnPListsService +FN:11,(anonymous_14) +FN:13,(anonymous_17) +FNF:4 +FNH:4 +FNDA:2,(anonymous_12) +FNDA:6,PnPListsService +FNDA:3,(anonymous_14) +FNDA:4,(anonymous_17) +DA:4,2 +DA:8,6 +DA:11,2 +DA:12,3 +DA:13,3 +DA:14,4 +DA:19,3 +DA:21,2 +LF:8 +LH:8 +BRF:0 +BRH:0 +end_of_record +TN: +SF:C:\PWR\Repos\SPFxIoCTests\src\webparts\iocTests\IoCTestsWebPartPropsDependencyResolver.ts +FN:8,(anonymous_0) +FN:9,(anonymous_2) +FNF:2 +FNH:2 +FNDA:4,(anonymous_0) +FNDA:3,(anonymous_2) +DA:6,1 +DA:8,1 +DA:9,1 +DA:11,3 +DA:13,3 +DA:14,3 +DA:15,3 +DA:17,3 +DA:24,3 +DA:26,1 +LF:10 +LH:10 +BRF:0 +BRH:0 +end_of_record +TN: +SF:C:\PWR\Repos\SPFxIoCTests\src\webparts\iocTests\components\ListOfLists.tsx +FN:19,(anonymous_17) +FN:22,ListOfLists +FN:30,(anonymous_19) +FN:51,(anonymous_22) +FN:63,(anonymous_23) +FNF:5 +FNH:5 +FNDA:1,(anonymous_17) +FNDA:7,ListOfLists +FNDA:13,(anonymous_19) +FNDA:20,(anonymous_22) +FNDA:13,(anonymous_23) +DA:1,1 +DA:2,1 +DA:4,1 +DA:19,1 +DA:20,7 +DA:23,7 +DA:24,7 +DA:30,1 +DA:32,13 +DA:35,13 +DA:36,13 +DA:37,8 +DA:39,5 +DA:42,5 +DA:45,13 +DA:51,1 +DA:52,20 +DA:54,20 +DA:64,13 +DA:75,1 +LF:20 +LH:20 +BRDA:23,0,0,7 +BRDA:23,0,1,7 +BRDA:57,1,0,20 +BRDA:57,1,1,15 +BRDA:60,2,0,20 +BRDA:60,2,1,7 +BRF:6 +BRH:6 +end_of_record diff --git a/samples/react-ioc-tests/jest/summary-jest-junit.xml b/samples/react-ioc-tests/jest/summary-jest-junit.xml new file mode 100644 index 000000000..80ba9fd73 --- /dev/null +++ b/samples/react-ioc-tests/jest/summary-jest-junit.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/samples/react-ioc-tests/package-lock.json b/samples/react-ioc-tests/package-lock.json new file mode 100644 index 000000000..d896cdb35 --- /dev/null +++ b/samples/react-ioc-tests/package-lock.json @@ -0,0 +1,18245 @@ +{ + "name": "ioc-tests", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "@microsoft/api-extractor": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.0.12.tgz", + "integrity": "sha512-sLPF9DmH8Y/lXkWd9mjEm6gB2OY9CLTMCfoK9HbXbwE4Tv6fdL9Km9IwRG4E4ED6AqrFg1jypTorTqG/s1njyQ==", + "dev": true, + "requires": { + "@microsoft/node-core-library": "3.9.0", + "@microsoft/ts-command-line": "4.2.3", + "@microsoft/tsdoc": "0.12.4", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "lodash": "4.17.11", + "resolve": "1.8.1", + "typescript": "3.1.6", + "z-schema": "3.18.4" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "1.0.6" + } + }, + "typescript": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", + "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", + "dev": true + } + } + }, + "@microsoft/api-extractor-model": { + "version": "7.0.24", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.0.24.tgz", + "integrity": "sha512-kzKjNVIHoobn0/nGtsda70PFIcNq8su9SdCNZFSsbAoTyTjStVnV9KvNaqxYNKZllfO/Nqn8VvUkldxk4/jNkA==", + "dev": true, + "requires": { + "@microsoft/node-core-library": "3.12.0", + "@microsoft/tsdoc": "0.12.7", + "@types/node": "8.5.8" + }, + "dependencies": { + "@microsoft/node-core-library": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@microsoft/node-core-library/-/node-core-library-3.12.0.tgz", + "integrity": "sha512-9T2dEXmmxZqnqcpHuIB8mTAOM/DNSi/QcAwKYDjvZvkd+PGT5lCUXjM9GL7SaR2NPa3UrWDGgFhNoqLqLfEPbw==", + "dev": true, + "requires": { + "@types/fs-extra": "5.0.4", + "@types/jju": "1.4.1", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "fs-extra": "7.0.1", + "jju": "1.4.0", + "z-schema": "3.18.4" + } + }, + "@microsoft/tsdoc": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.7.tgz", + "integrity": "sha512-0bqNlQT8aR4Iq9xx/OsY579Zeqon9uTZDIuvl+XXu16TPPN2sASeKojwm366jA2MjgXd9iyTWpJM5/P1QJ4Dxg==", + "dev": true + } + } + }, + "@microsoft/decorators": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/decorators/-/decorators-1.8.0.tgz", + "integrity": "sha512-rZoUjaRrF3/L8xk0up3qhfgFBs+wuZuQfXa7qDUgzIYB3GyEb2Xv6j1YMNiSfKHfQ7jehF51mSGxXerOfyvXqA==", + "requires": { + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "@microsoft/gulp-core-build": { + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build/-/gulp-core-build-3.9.7.tgz", + "integrity": "sha512-Lv4zEXn1MgTxj+NkvMpgO1GqvmbF3yW5OXLuwrVZIIXKsl5Rb/R8P725NIUo5EC/loUhZGvLuUNGxIzAl4WUWA==", + "dev": true, + "requires": { + "@microsoft/node-core-library": "3.10.0", + "@types/assertion-error": "1.0.30", + "@types/chai": "3.4.34", + "@types/chalk": "0.4.31", + "@types/gulp": "3.8.32", + "@types/mocha": "5.2.5", + "@types/node": "8.5.8", + "@types/node-notifier": "0.0.28", + "@types/orchestrator": "0.0.30", + "@types/q": "0.0.32", + "@types/semver": "5.3.33", + "@types/through2": "2.0.32", + "@types/vinyl": "1.2.30", + "@types/yargs": "0.0.34", + "colors": "1.2.5", + "del": "2.2.2", + "end-of-stream": "1.1.0", + "glob-escape": "0.0.2", + "globby": "5.0.0", + "gulp": "3.9.1", + "gulp-flatten": "0.2.0", + "gulp-if": "2.0.2", + "jest": "23.6.0", + "jest-cli": "22.4.4", + "jest-environment-jsdom": "22.4.3", + "jest-resolve": "22.4.3", + "jsdom": "11.11.0", + "lodash.merge": "4.3.5", + "merge2": "1.0.3", + "node-notifier": "5.0.2", + "object-assign": "4.1.1", + "orchestrator": "0.3.8", + "pretty-hrtime": "1.0.3", + "semver": "5.3.0", + "through2": "2.0.5", + "vinyl": "2.2.0", + "yargs": "4.6.0", + "z-schema": "3.18.4" + }, + "dependencies": { + "@microsoft/node-core-library": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@microsoft/node-core-library/-/node-core-library-3.10.0.tgz", + "integrity": "sha512-1SbU+XNYAabhV9noGXHtsUVPc5ELV+oEuJQtZQoCncbOd6WAMeTgB1xFwh96hmdEXyKQyML/pnByiKocmh/nbQ==", + "dev": true, + "requires": { + "@types/fs-extra": "5.0.4", + "@types/jju": "1.4.1", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "fs-extra": "7.0.1", + "jju": "1.4.0", + "z-schema": "3.18.4" + } + }, + "@types/mocha": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.5.tgz", + "integrity": "sha512-lAVp+Kj54ui/vLUFxsJTMtWvZraZxum3w3Nwkble2dNuV5VnPA+Mi2oGX9XYJAaIvZi3tn3cbjS/qcJXRb6Bww==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "babel-jest": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.6.0.tgz", + "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", + "dev": true, + "requires": { + "babel-plugin-istanbul": "4.1.6", + "babel-preset-jest": "23.2.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz", + "integrity": "sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=", + "dev": true + }, + "babel-preset-jest": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz", + "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "23.2.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expect": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-23.6.0.tgz", + "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "jest-diff": "23.6.0", + "jest-get-type": "22.4.3", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "jest": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-23.6.0.tgz", + "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", + "dev": true, + "requires": { + "import-local": "1.0.0", + "jest-cli": "23.6.0" + }, + "dependencies": { + "jest-cli": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-23.6.0.tgz", + "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.2.0", + "chalk": "2.4.2", + "exit": "0.1.2", + "glob": "7.1.3", + "graceful-fs": "4.1.15", + "import-local": "1.0.0", + "is-ci": "1.2.1", + "istanbul-api": "1.3.7", + "istanbul-lib-coverage": "1.2.1", + "istanbul-lib-instrument": "1.10.2", + "istanbul-lib-source-maps": "1.2.6", + "jest-changed-files": "23.4.2", + "jest-config": "23.6.0", + "jest-environment-jsdom": "23.4.0", + "jest-get-type": "22.4.3", + "jest-haste-map": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0", + "jest-resolve-dependencies": "23.6.0", + "jest-runner": "23.6.0", + "jest-runtime": "23.6.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "jest-watcher": "23.4.0", + "jest-worker": "23.2.0", + "micromatch": "2.3.11", + "node-notifier": "5.4.0", + "prompts": "0.1.14", + "realpath-native": "1.1.0", + "rimraf": "2.5.4", + "slash": "1.0.0", + "string-length": "2.0.0", + "strip-ansi": "4.0.0", + "which": "1.3.1", + "yargs": "11.1.0" + } + }, + "jest-environment-jsdom": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz", + "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", + "dev": true, + "requires": { + "jest-mock": "23.2.0", + "jest-util": "23.4.0", + "jsdom": "11.11.0" + } + }, + "node-notifier": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.0.tgz", + "integrity": "sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ==", + "dev": true, + "requires": { + "growly": "1.3.0", + "is-wsl": "1.1.0", + "semver": "5.6.0", + "shellwords": "0.1.1", + "which": "1.3.1" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + }, + "yargs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "dev": true, + "requires": { + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + } + } + } + }, + "jest-changed-files": { + "version": "23.4.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-23.4.2.tgz", + "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", + "dev": true, + "requires": { + "throat": "4.1.0" + } + }, + "jest-config": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-23.6.0.tgz", + "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-jest": "23.6.0", + "chalk": "2.4.2", + "glob": "7.1.3", + "jest-environment-jsdom": "23.4.0", + "jest-environment-node": "23.4.0", + "jest-get-type": "22.4.3", + "jest-jasmine2": "23.6.0", + "jest-regex-util": "23.3.0", + "jest-resolve": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "micromatch": "2.3.11", + "pretty-format": "23.6.0" + }, + "dependencies": { + "jest-environment-jsdom": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz", + "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", + "dev": true, + "requires": { + "jest-mock": "23.2.0", + "jest-util": "23.4.0", + "jsdom": "11.11.0" + } + }, + "jest-resolve": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.6.0.tgz", + "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", + "dev": true, + "requires": { + "browser-resolve": "1.11.3", + "chalk": "2.4.2", + "realpath-native": "1.1.0" + } + } + } + }, + "jest-diff": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz", + "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "diff": "3.5.0", + "jest-get-type": "22.4.3", + "pretty-format": "23.6.0" + } + }, + "jest-docblock": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", + "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", + "dev": true, + "requires": { + "detect-newline": "2.1.0" + } + }, + "jest-environment-node": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-23.4.0.tgz", + "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", + "dev": true, + "requires": { + "jest-mock": "23.2.0", + "jest-util": "23.4.0" + } + }, + "jest-haste-map": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.6.0.tgz", + "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", + "dev": true, + "requires": { + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.15", + "invariant": "2.2.4", + "jest-docblock": "23.2.0", + "jest-serializer": "23.0.1", + "jest-worker": "23.2.0", + "micromatch": "2.3.11", + "sane": "2.5.2" + } + }, + "jest-jasmine2": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz", + "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", + "dev": true, + "requires": { + "babel-traverse": "6.26.0", + "chalk": "2.4.2", + "co": "4.6.0", + "expect": "23.6.0", + "is-generator-fn": "1.0.0", + "jest-diff": "23.6.0", + "jest-each": "23.6.0", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "pretty-format": "23.6.0" + } + }, + "jest-leak-detector": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz", + "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", + "dev": true, + "requires": { + "pretty-format": "23.6.0" + } + }, + "jest-matcher-utils": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz", + "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "jest-get-type": "22.4.3", + "pretty-format": "23.6.0" + } + }, + "jest-message-util": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", + "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0", + "chalk": "2.4.2", + "micromatch": "2.3.11", + "slash": "1.0.0", + "stack-utils": "1.0.2" + } + }, + "jest-mock": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-23.2.0.tgz", + "integrity": "sha1-rRxg8p6HGdR8JuETgJi20YsmETQ=", + "dev": true + }, + "jest-regex-util": { + "version": "23.3.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-23.3.0.tgz", + "integrity": "sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U=", + "dev": true + }, + "jest-resolve-dependencies": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz", + "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", + "dev": true, + "requires": { + "jest-regex-util": "23.3.0", + "jest-snapshot": "23.6.0" + } + }, + "jest-runner": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-23.6.0.tgz", + "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", + "dev": true, + "requires": { + "exit": "0.1.2", + "graceful-fs": "4.1.15", + "jest-config": "23.6.0", + "jest-docblock": "23.2.0", + "jest-haste-map": "23.6.0", + "jest-jasmine2": "23.6.0", + "jest-leak-detector": "23.6.0", + "jest-message-util": "23.4.0", + "jest-runtime": "23.6.0", + "jest-util": "23.4.0", + "jest-worker": "23.2.0", + "source-map-support": "0.5.10", + "throat": "4.1.0" + } + }, + "jest-runtime": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-23.6.0.tgz", + "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-plugin-istanbul": "4.1.6", + "chalk": "2.4.2", + "convert-source-map": "1.6.0", + "exit": "0.1.2", + "fast-json-stable-stringify": "2.0.0", + "graceful-fs": "4.1.15", + "jest-config": "23.6.0", + "jest-haste-map": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0", + "jest-resolve": "23.6.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "micromatch": "2.3.11", + "realpath-native": "1.1.0", + "slash": "1.0.0", + "strip-bom": "3.0.0", + "write-file-atomic": "2.4.2", + "yargs": "11.1.0" + }, + "dependencies": { + "jest-resolve": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.6.0.tgz", + "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", + "dev": true, + "requires": { + "browser-resolve": "1.11.3", + "chalk": "2.4.2", + "realpath-native": "1.1.0" + } + }, + "yargs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "dev": true, + "requires": { + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + } + } + } + }, + "jest-serializer": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz", + "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU=", + "dev": true + }, + "jest-snapshot": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.6.0.tgz", + "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", + "dev": true, + "requires": { + "babel-types": "6.26.0", + "chalk": "2.4.2", + "jest-diff": "23.6.0", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-resolve": "23.6.0", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "pretty-format": "23.6.0", + "semver": "5.6.0" + }, + "dependencies": { + "jest-resolve": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.6.0.tgz", + "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", + "dev": true, + "requires": { + "browser-resolve": "1.11.3", + "chalk": "2.4.2", + "realpath-native": "1.1.0" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } + } + }, + "jest-util": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz", + "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", + "dev": true, + "requires": { + "callsites": "2.0.0", + "chalk": "2.4.2", + "graceful-fs": "4.1.15", + "is-ci": "1.2.1", + "jest-message-util": "23.4.0", + "mkdirp": "0.5.1", + "slash": "1.0.0", + "source-map": "0.6.1" + } + }, + "jest-validate": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.6.0.tgz", + "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "jest-get-type": "22.4.3", + "leven": "2.1.0", + "pretty-format": "23.6.0" + } + }, + "jest-worker": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", + "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", + "dev": true, + "requires": { + "merge-stream": "1.0.1" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "dev": true, + "requires": { + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "@microsoft/gulp-core-build-sass": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-sass/-/gulp-core-build-sass-4.6.2.tgz", + "integrity": "sha512-QUI/5iWt5+gl2DyeTTULzzs/oSYmoRFkCXMOGW0FTQbE6pjPvGX6Za+jaCYyFwoURaXMTRvcAKbxZAzFBYSUWw==", + "dev": true, + "requires": { + "@microsoft/gulp-core-build": "3.9.7", + "@microsoft/load-themed-styles": "1.8.59", + "@microsoft/node-core-library": "3.10.0", + "@types/gulp": "3.8.32", + "@types/node": "8.5.8", + "autoprefixer": "9.1.5", + "clean-css": "4.2.1", + "glob": "7.0.6", + "node-sass": "4.9.3", + "postcss": "7.0.5", + "postcss-modules": "1.3.2" + }, + "dependencies": { + "@microsoft/load-themed-styles": { + "version": "1.8.59", + "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.8.59.tgz", + "integrity": "sha512-FbOAj3EaGgexBGUKvvGRHzsDEmtlbCvgnqhkX754Oh7lDCX2RSjg080nM1TW/rOPYDZReixeyC0uO541Rt9w6Q==", + "dev": true + }, + "@microsoft/node-core-library": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@microsoft/node-core-library/-/node-core-library-3.10.0.tgz", + "integrity": "sha512-1SbU+XNYAabhV9noGXHtsUVPc5ELV+oEuJQtZQoCncbOd6WAMeTgB1xFwh96hmdEXyKQyML/pnByiKocmh/nbQ==", + "dev": true, + "requires": { + "@types/fs-extra": "5.0.4", + "@types/jju": "1.4.1", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "fs-extra": "7.0.1", + "jju": "1.4.0", + "z-schema": "3.18.4" + } + }, + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "@microsoft/gulp-core-build-serve": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-serve/-/gulp-core-build-serve-3.3.4.tgz", + "integrity": "sha512-yLdf+AFMNE7hityTDSdzcQ45mIlxhR6B9soLzjVKwt4wqrOjJ9gHfyssr/7pmO9atnGQ4hmO+jSmir8/+h1XMA==", + "dev": true, + "requires": { + "@microsoft/gulp-core-build": "3.9.7", + "@microsoft/node-core-library": "3.10.0", + "@types/node": "8.5.8", + "colors": "1.2.5", + "deasync": "0.1.14", + "express": "4.16.4", + "gulp": "3.9.1", + "gulp-connect": "5.5.0", + "gulp-open": "3.0.1", + "node-forge": "0.7.6", + "sudo": "1.0.3" + }, + "dependencies": { + "@microsoft/node-core-library": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@microsoft/node-core-library/-/node-core-library-3.10.0.tgz", + "integrity": "sha512-1SbU+XNYAabhV9noGXHtsUVPc5ELV+oEuJQtZQoCncbOd6WAMeTgB1xFwh96hmdEXyKQyML/pnByiKocmh/nbQ==", + "dev": true, + "requires": { + "@types/fs-extra": "5.0.4", + "@types/jju": "1.4.1", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "fs-extra": "7.0.1", + "jju": "1.4.0", + "z-schema": "3.18.4" + } + } + } + }, + "@microsoft/gulp-core-build-typescript": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-typescript/-/gulp-core-build-typescript-8.0.4.tgz", + "integrity": "sha512-Zi2xXg3/kklOopUVKbbhzybrQzM6q82N0KoU/kYOxoHVUsrOuNIAykdEY7LoiA4gT6NF6U8Qd0zXnDFbtRAnUQ==", + "dev": true, + "requires": { + "@microsoft/gulp-core-build": "3.9.7", + "@microsoft/node-core-library": "3.10.0", + "@microsoft/rush-stack-compiler-3.2": "0.2.3", + "@types/node": "8.5.8", + "decomment": "0.9.2", + "glob": "7.0.6", + "glob-escape": "0.0.2", + "resolve": "1.8.1" + }, + "dependencies": { + "@microsoft/api-extractor": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.0.18.tgz", + "integrity": "sha512-puQisjyoYK1A0I8DqyBoLPV9noyFUlxTE3WsjhgJw//TrmegGHYmsRlD3rnHeXcKPM1F7sd/VKJXeXC3IPTf2Q==", + "dev": true, + "requires": { + "@microsoft/node-core-library": "3.10.0", + "@microsoft/ts-command-line": "4.2.3", + "@microsoft/tsdoc": "0.12.5", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "lodash": "4.17.11", + "resolve": "1.8.1", + "typescript": "3.1.6", + "z-schema": "3.18.4" + }, + "dependencies": { + "typescript": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", + "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", + "dev": true + } + } + }, + "@microsoft/node-core-library": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@microsoft/node-core-library/-/node-core-library-3.10.0.tgz", + "integrity": "sha512-1SbU+XNYAabhV9noGXHtsUVPc5ELV+oEuJQtZQoCncbOd6WAMeTgB1xFwh96hmdEXyKQyML/pnByiKocmh/nbQ==", + "dev": true, + "requires": { + "@types/fs-extra": "5.0.4", + "@types/jju": "1.4.1", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "fs-extra": "7.0.1", + "jju": "1.4.0", + "z-schema": "3.18.4" + } + }, + "@microsoft/rush-stack-compiler-3.2": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@microsoft/rush-stack-compiler-3.2/-/rush-stack-compiler-3.2-0.2.3.tgz", + "integrity": "sha512-DV3BON3G3SJJOQVINbZkP8za1YbNENpefM7mH5ZWixaPeIJRvVf1nrzU1r1rtyfr7SSIgjWiu+9Cm6CjpLuE5w==", + "dev": true, + "requires": { + "@microsoft/api-extractor": "7.0.18", + "@microsoft/node-core-library": "3.10.0", + "@types/node": "8.5.8", + "tslint": "5.12.1", + "tslint-microsoft-contrib": "5.2.1", + "typescript": "3.2.4" + } + }, + "@microsoft/tsdoc": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.5.tgz", + "integrity": "sha512-xEAyvLXo4Cter/b0EMCWUZTgXOfLOPJ/Xr52WdjVclPx9eDmNTGFtZl8Pn/nqSnZsQBNcHL0eHk/YyRyyXXpiQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "1.0.6" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "tslint": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.1.tgz", + "integrity": "sha512-sfodBHOucFg6egff8d1BvuofoOQ/nOeYNfbp7LDlKBcLNrL3lmS5zoiDGyOMdT7YsEXAwWpTdAHwOGOc8eRZAw==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "builtin-modules": "1.1.1", + "chalk": "2.4.2", + "commander": "2.19.0", + "diff": "3.5.0", + "glob": "7.1.3", + "js-yaml": "3.12.1", + "minimatch": "3.0.4", + "resolve": "1.8.1", + "semver": "5.3.0", + "tslib": "1.8.1", + "tsutils": "2.29.0" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "typescript": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz", + "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==", + "dev": true + } + } + }, + "@microsoft/gulp-core-build-webpack": { + "version": "3.4.71", + "resolved": "https://registry.npmjs.org/@microsoft/gulp-core-build-webpack/-/gulp-core-build-webpack-3.4.71.tgz", + "integrity": "sha512-KStBu8ulEOYELqg4AJuzsBA2xvE2JOADKfqo8Kq+7oZjcOugKSW2m1eOpyfcCRGxAt53C/06uaz+8ZgaJyLfMQ==", + "dev": true, + "requires": { + "@microsoft/gulp-core-build": "3.9.7", + "@types/gulp": "3.8.32", + "@types/node": "8.5.8", + "colors": "1.2.5", + "gulp": "3.9.1", + "webpack": "3.11.0" + }, + "dependencies": { + "ajv": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "5.2.2", + "emojis-list": "2.1.0", + "json5": "1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + } + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.5.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + }, + "webpack": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.11.0.tgz", + "integrity": "sha512-3kOFejWqj5ISpJk4Qj/V7w98h9Vl52wak3CLiw/cDOfbVTq7FeoZ0SdoHHY9PYlHr50ZS42OfvzE2vB4nncKQg==", + "dev": true, + "requires": { + "acorn": "5.7.3", + "acorn-dynamic-import": "2.0.2", + "ajv": "6.10.0", + "ajv-keywords": "3.4.0", + "async": "2.6.2", + "enhanced-resolve": "3.4.1", + "escope": "3.6.0", + "interpret": "1.2.0", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.4.0", + "loader-utils": "1.2.3", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.2.0", + "source-map": "0.5.7", + "supports-color": "4.5.0", + "tapable": "0.2.9", + "uglifyjs-webpack-plugin": "0.4.6", + "watchpack": "1.6.0", + "webpack-sources": "1.3.0", + "yargs": "8.0.2" + } + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "@microsoft/load-themed-styles": { + "version": "1.8.26", + "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.8.26.tgz", + "integrity": "sha512-ztPv3RpUGayvwzSvXMzSQJrlEJqVpgSMbsauQy7i+kcN8pCu1PMPrX3acOtUaHVZ6aUfa7dSphyJDtqyfl2Ytg==" + }, + "@microsoft/loader-cased-file": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/loader-cased-file/-/loader-cased-file-1.8.0.tgz", + "integrity": "sha512-tMZJ/H/O04yvvizKeTI1snqe78N9+p1hc02TFuaNjFMwbJ8Cwc35A212YVP4npxAfsYbtDrjJVtwyAY/fSG13w==", + "dev": true, + "requires": { + "@types/lodash": "4.14.117", + "@types/node": "8.5.8", + "file-loader": "1.1.11", + "loader-utils": "1.1.0", + "lodash": "4.17.11" + }, + "dependencies": { + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "@microsoft/loader-load-themed-styles": { + "version": "1.7.127", + "resolved": "https://registry.npmjs.org/@microsoft/loader-load-themed-styles/-/loader-load-themed-styles-1.7.127.tgz", + "integrity": "sha512-D9gxcuePnQqUHJ4hY4gfbQfwdZLUdxFyzKOXXB+YM2NL+lHyg08lqpOijjOcU3fvEAw4hA4bCaidScQVWImwmA==", + "dev": true, + "requires": { + "@microsoft/load-themed-styles": "1.8.59", + "loader-utils": "1.1.0" + }, + "dependencies": { + "@microsoft/load-themed-styles": { + "version": "1.8.59", + "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.8.59.tgz", + "integrity": "sha512-FbOAj3EaGgexBGUKvvGRHzsDEmtlbCvgnqhkX754Oh7lDCX2RSjg080nM1TW/rOPYDZReixeyC0uO541Rt9w6Q==", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + } + } + }, + "@microsoft/microsoft-graph-client": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@microsoft/microsoft-graph-client/-/microsoft-graph-client-1.1.0.tgz", + "integrity": "sha512-sDgchKZz1l3QJVNdkE1P1KpwTjupNt1mS9h1T0CiP+ayMN7IeFKfElB8IYtxFplNalZTmEq+iqoQFqUVpVMLfQ==", + "requires": { + "es6-promise": "4.2.6", + "isomorphic-fetch": "2.2.1" + } + }, + "@microsoft/node-core-library": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@microsoft/node-core-library/-/node-core-library-3.9.0.tgz", + "integrity": "sha512-zmP6zNddcIrRXbg8NX9oHX2iCBLU9hZF/+7GeUi3hLbp13xMDHfdT4KepoT+8ZMOMZzRF1lcqiTiVy24VYvCEg==", + "dev": true, + "requires": { + "@types/fs-extra": "5.0.4", + "@types/jju": "1.4.1", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "fs-extra": "7.0.1", + "jju": "1.4.0", + "z-schema": "3.18.4" + } + }, + "@microsoft/office-ui-fabric-react-bundle": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/office-ui-fabric-react-bundle/-/office-ui-fabric-react-bundle-1.8.0.tgz", + "integrity": "sha512-OvAsVAsLJt8C8eTZU25Sc8pTMf9xlcspKQQcEq7iPkIBnvYMmIBfjrKnOk1I2Vl2tddw/wIM8maCmO8JwHSMXA==", + "requires": { + "@types/react": "16.4.2", + "@types/webpack-env": "1.13.1", + "@uifabric/icons": "6.4.0", + "office-ui-fabric-react": "6.143.0", + "react": "16.7.0", + "react-dom": "16.7.0", + "tslib": "1.9.3" + }, + "dependencies": { + "@types/react": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.2.tgz", + "integrity": "sha512-oVcVteCDNiVc/fkDjowRfAZQDEOR76j3CJ3FvwXNvfV6zJguhghy1lMgpAzYox+9AZsWch+JPV6Imml3wvIUeg==", + "requires": { + "csstype": "2.6.3" + } + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "@microsoft/package-deps-hash": { + "version": "2.2.100", + "resolved": "https://registry.npmjs.org/@microsoft/package-deps-hash/-/package-deps-hash-2.2.100.tgz", + "integrity": "sha512-cRQeF3/USg6OrZBnr3Q1cI0jcov1gse0tr05Pj0GXmfmsw0EhGqmeBsm5wzOFamnfwJ0zXLIqAi8wLfCm7n8nw==", + "dev": true + }, + "@microsoft/rush-lib": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@microsoft/rush-lib/-/rush-lib-5.5.2.tgz", + "integrity": "sha512-nfTdC2HNun0Swd3/WlUMaCSF7vkAZoag15FfLi2skjqZYpvEdgRPP4ufzs5LctGRbCSVESMCfP0UrPPXrsqplA==", + "dev": true, + "requires": { + "@microsoft/node-core-library": "3.5.2", + "@microsoft/package-deps-hash": "2.2.100", + "@microsoft/stream-collator": "3.0.15", + "@microsoft/ts-command-line": "4.2.2", + "@pnpm/link-bins": "1.0.3", + "@pnpm/logger": "1.0.2", + "@types/inquirer": "0.0.43", + "@yarnpkg/lockfile": "1.0.2", + "builtins": "1.0.3", + "colors": "1.2.5", + "git-repo-info": "1.1.4", + "glob": "7.0.6", + "glob-escape": "0.0.2", + "https-proxy-agent": "2.2.1", + "inquirer": "6.2.2", + "jju": "1.3.0", + "js-yaml": "3.9.1", + "lodash": "4.17.11", + "minimatch": "3.0.4", + "node-fetch": "2.1.2", + "npm-package-arg": "5.1.2", + "read-package-tree": "5.1.6", + "semver": "5.3.0", + "strict-uri-encode": "2.0.0", + "tar": "4.4.8", + "wordwrap": "1.0.0", + "z-schema": "3.18.4" + }, + "dependencies": { + "@microsoft/node-core-library": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@microsoft/node-core-library/-/node-core-library-3.5.2.tgz", + "integrity": "sha512-2zDWLqJ/ABjxtk0thb//bohWEFGOLKQ7gjfAS6cfCcpyVXX08qvO79pb0eGOvNXi2ggfuuKsoEIRXl6idbV7UQ==", + "dev": true, + "requires": { + "@types/fs-extra": "5.0.4", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "fs-extra": "7.0.1", + "jju": "1.3.0", + "z-schema": "3.18.4" + } + }, + "@microsoft/ts-command-line": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@microsoft/ts-command-line/-/ts-command-line-4.2.2.tgz", + "integrity": "sha512-CLLVG+zWmUvD6jZD5oq7QCFYj3WOvrBSc3H6KejXCH6q2ntP5/ZHlmKVzQVvN1cEOSWP+jN9ml2AvUcDY/l6Tw==", + "dev": true, + "requires": { + "@types/argparse": "1.0.33", + "@types/node": "8.5.8", + "argparse": "1.0.10", + "colors": "1.2.5" + } + }, + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "jju": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.3.0.tgz", + "integrity": "sha1-2t2e8BkkvHKLA/L3l5vb1i96Kqo=", + "dev": true + }, + "js-yaml": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.1.tgz", + "integrity": "sha512-CbcG379L1e+mWBnLvHWWeLs8GyV/EMw862uLI3c+GxVyDHWZcjZinwuBd3iW2pgxgIlksW/1vNJa4to+RvDOww==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.1" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", + "dev": true + }, + "tar": { + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", + "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", + "dev": true, + "requires": { + "chownr": "1.1.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.5", + "minizlib": "1.2.1", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.3" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "dev": true + } + } + }, + "@microsoft/rush-stack-compiler-2.7": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@microsoft/rush-stack-compiler-2.7/-/rush-stack-compiler-2.7-0.4.0.tgz", + "integrity": "sha512-dhgpP/T1oR5IfAHuDccM5QyQngmGxcTB10kWLkBzPA/vrdga41avgezNUy7kWTHghAsQG08eGYWeW3S2nyueUQ==", + "dev": true, + "requires": { + "@microsoft/api-extractor": "7.0.12", + "@microsoft/node-core-library": "3.9.0", + "@types/node": "8.5.8", + "tslint": "5.11.0", + "tslint-microsoft-contrib": "5.2.1", + "typescript": "2.7.2" + }, + "dependencies": { + "typescript": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.2.tgz", + "integrity": "sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw==", + "dev": true + } + } + }, + "@microsoft/rush-stack-compiler-3.3": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@microsoft/rush-stack-compiler-3.3/-/rush-stack-compiler-3.3-0.1.7.tgz", + "integrity": "sha512-oumyEne03CTr59zDjuh1ZwcS3Oep42vPPm5xU94JbVRBrJRCTckG+c0mJQHS/kA2l/SeZcYAgTNK6KKk6NjMWg==", + "dev": true, + "requires": { + "@microsoft/api-extractor": "7.0.24", + "@microsoft/node-core-library": "3.12.0", + "@types/node": "8.5.8", + "tslint": "5.12.1", + "tslint-microsoft-contrib": "5.2.1", + "typescript": "3.3.4000" + }, + "dependencies": { + "@microsoft/api-extractor": { + "version": "7.0.24", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.0.24.tgz", + "integrity": "sha512-3kVWzKy4bvxUncBSzsS8BcFCIlGhMN8S0PZz1K1Jzq2RYlHiLaQ9nvKIf/L1b1gBbV5Lihx7cuwPtYwZkfwX/Q==", + "dev": true, + "requires": { + "@microsoft/api-extractor-model": "7.0.24", + "@microsoft/node-core-library": "3.12.0", + "@microsoft/ts-command-line": "4.2.3", + "@microsoft/tsdoc": "0.12.7", + "colors": "1.2.5", + "lodash": "4.17.11", + "resolve": "1.8.1", + "source-map": "0.6.1", + "typescript": "3.1.6" + }, + "dependencies": { + "typescript": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", + "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", + "dev": true + } + } + }, + "@microsoft/node-core-library": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@microsoft/node-core-library/-/node-core-library-3.12.0.tgz", + "integrity": "sha512-9T2dEXmmxZqnqcpHuIB8mTAOM/DNSi/QcAwKYDjvZvkd+PGT5lCUXjM9GL7SaR2NPa3UrWDGgFhNoqLqLfEPbw==", + "dev": true, + "requires": { + "@types/fs-extra": "5.0.4", + "@types/jju": "1.4.1", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "fs-extra": "7.0.1", + "jju": "1.4.0", + "z-schema": "3.18.4" + } + }, + "@microsoft/tsdoc": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.7.tgz", + "integrity": "sha512-0bqNlQT8aR4Iq9xx/OsY579Zeqon9uTZDIuvl+XXu16TPPN2sASeKojwm366jA2MjgXd9iyTWpJM5/P1QJ4Dxg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "1.0.6" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "tslint": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.1.tgz", + "integrity": "sha512-sfodBHOucFg6egff8d1BvuofoOQ/nOeYNfbp7LDlKBcLNrL3lmS5zoiDGyOMdT7YsEXAwWpTdAHwOGOc8eRZAw==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "builtin-modules": "1.1.1", + "chalk": "2.4.2", + "commander": "2.19.0", + "diff": "3.5.0", + "glob": "7.1.3", + "js-yaml": "3.12.1", + "minimatch": "3.0.4", + "resolve": "1.8.1", + "semver": "5.3.0", + "tslib": "1.8.1", + "tsutils": "2.29.0" + } + } + } + }, + "@microsoft/set-webpack-public-path-plugin": { + "version": "2.1.78", + "resolved": "https://registry.npmjs.org/@microsoft/set-webpack-public-path-plugin/-/set-webpack-public-path-plugin-2.1.78.tgz", + "integrity": "sha512-Nbvu6GxRev/5QsOhYrpBq5T3RSXvTUO45nA7lef2PPsreJ9EmPFkwVh/1mLpm3xtCZ8NOtMFEf2RphCAj2VCew==", + "dev": true, + "requires": { + "@types/node": "8.5.8", + "@types/tapable": "1.0.2", + "@types/webpack": "4.4.0", + "lodash": "4.17.11", + "uglify-js": "3.0.28" + }, + "dependencies": { + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "uglify-js": { + "version": "3.0.28", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.0.28.tgz", + "integrity": "sha512-0h/qGay016GG2lVav3Kz174F3T2Vjlz2v6HCt+WDQpoXfco0hWwF5gHK9yh88mUYvIC+N7Z8NT8WpjSp1yoqGA==", + "dev": true, + "requires": { + "commander": "2.11.0", + "source-map": "0.5.7" + } + } + } + }, + "@microsoft/sp-application-base": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-application-base/-/sp-application-base-1.8.0.tgz", + "integrity": "sha512-logsIoEHWhE1GXCBipP3wzGMBDB2vSXkC6s6dBEcN53MviKs8GVTCPcv86qd9U1qr8s4hzzzOfQCkLqCN3sOfg==", + "dev": true, + "requires": { + "@microsoft/decorators": "1.8.0", + "@microsoft/sp-component-base": "1.8.0", + "@microsoft/sp-core-library": "1.8.0", + "@microsoft/sp-diagnostics": "1.8.0", + "@microsoft/sp-extension-base": "1.8.0", + "@microsoft/sp-http": "1.8.0", + "@microsoft/sp-loader": "1.8.0", + "@microsoft/sp-lodash-subset": "1.8.0", + "@microsoft/sp-module-interfaces": "1.8.0", + "@microsoft/sp-odata-types": "1.8.0", + "@microsoft/sp-page-context": "1.8.0", + "@types/es6-promise": "0.0.33", + "@types/webpack-env": "1.13.1", + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + } + } + }, + "@microsoft/sp-build-common": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-build-common/-/sp-build-common-1.8.0.tgz", + "integrity": "sha512-MVX51SgHB+EFavKfO/cFFFU068VavdJWwsvCWyZC3grF1XbIpPt6wBWttSm7ZCyOTFCshg/1NSjVnO9LSZxPDA==", + "dev": true, + "requires": { + "@microsoft/gulp-core-build": "3.9.7", + "@microsoft/gulp-core-build-typescript": "8.0.4", + "@microsoft/sp-tslint-rules": "1.8.0", + "@types/yargs": "0.0.35", + "gulp": "3.9.1", + "semver": "5.2.0", + "yargs": "4.6.0" + }, + "dependencies": { + "@types/yargs": { + "version": "0.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-0.0.35.tgz", + "integrity": "sha1-QHczV2rO1IlfutZ6Pwr2M9Lfy60=", + "dev": true + }, + "semver": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz", + "integrity": "sha1-KBmVuAwUSCCUFd28TPUMJpzvVcU=", + "dev": true + } + } + }, + "@microsoft/sp-build-core-tasks": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-build-core-tasks/-/sp-build-core-tasks-1.8.0.tgz", + "integrity": "sha512-FC1zPISLz5Jyng4WEXPKg7iyKdsR3av6M9nn1P66dXckw+1BfEQWlR/QLeWCoiFe/Q5KR1PhagzixhJnnj2XDQ==", + "dev": true, + "requires": { + "@microsoft/gulp-core-build": "3.9.7", + "@microsoft/gulp-core-build-serve": "3.3.4", + "@microsoft/gulp-core-build-webpack": "3.4.71", + "@microsoft/load-themed-styles": "1.8.62", + "@microsoft/loader-cased-file": "1.8.0", + "@microsoft/loader-load-themed-styles": "1.7.127", + "@microsoft/node-core-library": "3.10.0", + "@microsoft/rush-lib": "5.5.2", + "@microsoft/set-webpack-public-path-plugin": "2.1.78", + "@microsoft/sp-module-interfaces": "1.8.0", + "@types/finalhandler": "0.0.31", + "@types/fs-extra": "5.0.1", + "@types/glob": "5.0.30", + "@types/gulp-replace": "0.0.29", + "@types/lodash": "4.14.117", + "@types/merge2": "0.3.29", + "@types/node": "8.5.8", + "@types/resolve": "0.0.4", + "@types/rimraf": "2.0.2", + "@types/serve-static": "1.7.31", + "@types/uuid": "3.0.0", + "@types/webpack": "4.4.0", + "@types/webpack-stream": "3.2.10", + "azure-storage": "2.8.3", + "colors": "1.2.5", + "css-loader": "0.28.11", + "finalhandler": "0.4.1", + "fs-extra": "5.0.0", + "glob": "7.0.6", + "glob-escape": "0.0.2", + "gulp": "3.9.1", + "gulp-replace": "0.5.4", + "gulp-util": "3.0.8", + "html-loader": "0.5.5", + "json-loader": "0.5.7", + "json-schema": "0.2.3", + "lodash": "4.17.11", + "merge2": "1.0.3", + "node-zip": "1.1.1", + "resolve": "1.7.1", + "rimraf": "2.6.3", + "serve-static": "1.10.3", + "source-map-loader": "0.2.4", + "through2": "2.0.5", + "uuid": "3.1.0", + "webpack": "3.6.0", + "webpack-stream": "4.0.3", + "xml": "1.0.1" + }, + "dependencies": { + "@microsoft/load-themed-styles": { + "version": "1.8.62", + "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.8.62.tgz", + "integrity": "sha512-T9yplfIBWV6R5n0y9TuAnF8og7lUTFRqiOD/F8y3J4ziAkg3RD2Gih7p0TdTD4vmqbFJOpuuXMNMpERFFMgvvg==", + "dev": true + }, + "@microsoft/node-core-library": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@microsoft/node-core-library/-/node-core-library-3.10.0.tgz", + "integrity": "sha512-1SbU+XNYAabhV9noGXHtsUVPc5ELV+oEuJQtZQoCncbOd6WAMeTgB1xFwh96hmdEXyKQyML/pnByiKocmh/nbQ==", + "dev": true, + "requires": { + "@types/fs-extra": "5.0.4", + "@types/jju": "1.4.1", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "fs-extra": "7.0.1", + "jju": "1.4.0", + "z-schema": "3.18.4" + }, + "dependencies": { + "@types/fs-extra": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.4.tgz", + "integrity": "sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + } + } + }, + "@types/fs-extra": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.1.tgz", + "integrity": "sha512-h3wnflb+jMTipvbbZnClgA2BexrT4w0GcfoCz5qyxd0IRsbqhLSyesM6mqZTAnhbVmhyTm5tuxfRu9R+8l+lGw==", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "etag": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz", + "integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg=", + "dev": true + }, + "finalhandler": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz", + "integrity": "sha1-haF8bFmpRxfSYtYSMNSw6+PUoU0=", + "dev": true, + "requires": { + "debug": "2.2.0", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "unpipe": "1.0.0" + } + }, + "fresh": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", + "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=", + "dev": true + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + }, + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "http-errors": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", + "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "statuses": "1.4.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", + "dev": true + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + }, + "range-parser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz", + "integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU=", + "dev": true + }, + "resolve": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "dev": true, + "requires": { + "path-parse": "1.0.6" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "send": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz", + "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=", + "dev": true, + "requires": { + "debug": "2.2.0", + "depd": "1.1.2", + "destroy": "1.0.4", + "escape-html": "1.0.3", + "etag": "1.7.0", + "fresh": "0.3.0", + "http-errors": "1.3.1", + "mime": "1.3.4", + "ms": "0.7.1", + "on-finished": "2.3.0", + "range-parser": "1.0.3", + "statuses": "1.2.1" + }, + "dependencies": { + "statuses": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz", + "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg=", + "dev": true + } + } + }, + "serve-static": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz", + "integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=", + "dev": true, + "requires": { + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.13.2" + } + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", + "dev": true + } + } + }, + "@microsoft/sp-build-web": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-build-web/-/sp-build-web-1.8.0.tgz", + "integrity": "sha512-fszSftq2NJ/c/wnk4RAvITocbmH5jXIF7wjZgYE3AMxw/uaBWG0WCUwGTfNumIohuo6N65Hu1fG5Xkwxkvl1Ww==", + "dev": true, + "requires": { + "@microsoft/gulp-core-build": "3.9.7", + "@microsoft/gulp-core-build-sass": "4.6.2", + "@microsoft/gulp-core-build-serve": "3.3.4", + "@microsoft/gulp-core-build-typescript": "8.0.4", + "@microsoft/gulp-core-build-webpack": "3.4.71", + "@microsoft/sp-build-common": "1.8.0", + "@microsoft/sp-build-core-tasks": "1.8.0", + "@types/webpack": "4.4.0", + "gulp": "3.9.1", + "webpack": "3.6.0", + "yargs": "4.6.0" + } + }, + "@microsoft/sp-client-preview": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-client-preview/-/sp-client-preview-1.8.0.tgz", + "integrity": "sha512-7mu/kL+AEbyZ6bAMb+OTpSmcWFg8B85AE+uaFFYzy5SeLoF33DlgX26IU8IF808hZi5J4YGUS7A6Bv+6XA/Hbw==", + "dev": true, + "requires": { + "@types/webpack-env": "1.13.1", + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + } + } + }, + "@microsoft/sp-component-base": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-component-base/-/sp-component-base-1.8.0.tgz", + "integrity": "sha512-D25ZxyD2U/sxz604xJpgFwUehBOWwGkNwSa4NIGVESMSADVWBu1iTFIhBniFdnKLITAsGQNyCbshki9Pfs+3ig==", + "requires": { + "@microsoft/decorators": "1.8.0", + "@microsoft/sp-core-library": "1.8.0", + "@microsoft/sp-diagnostics": "1.8.0", + "@microsoft/sp-dynamic-data": "1.8.0", + "@microsoft/sp-http": "1.8.0", + "@microsoft/sp-loader": "1.8.0", + "@microsoft/sp-lodash-subset": "1.8.0", + "@microsoft/sp-module-interfaces": "1.8.0", + "@microsoft/sp-page-context": "1.8.0", + "@types/es6-promise": "0.0.33", + "@types/webpack-env": "1.13.1" + } + }, + "@microsoft/sp-core-library": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-core-library/-/sp-core-library-1.8.0.tgz", + "integrity": "sha512-791UBO3B3fe27D8ubDb2GBAJZl4o6TgJZLp3yKNcUxRNJw6uMtLyuywOO8gw0u6S0Hgo/qtmScs046gkWfuqrA==", + "requires": { + "@microsoft/sp-lodash-subset": "1.8.0", + "@microsoft/sp-module-interfaces": "1.8.0", + "@types/es6-promise": "0.0.33", + "@types/webpack-env": "1.13.1" + } + }, + "@microsoft/sp-diagnostics": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-diagnostics/-/sp-diagnostics-1.8.0.tgz", + "integrity": "sha512-6sDU/aVQB2a7OlUo54nsuzUsYUkCzxRb0PW/NN77Yzl9VHkKEsYlN0VPZpg+vhuhmEFu02WhkbHDfFSnT5m37g==", + "requires": { + "@microsoft/sp-core-library": "1.8.0", + "@microsoft/sp-lodash-subset": "1.8.0" + } + }, + "@microsoft/sp-dynamic-data": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-dynamic-data/-/sp-dynamic-data-1.8.0.tgz", + "integrity": "sha512-3ZejI9n7fBwgGHckPbQ3wSbH0lcGBAzo5xv+VP4vUAG977voLGQbFfiFVcv0/THoxzvyQzSE1H0aOywdHtMHsQ==", + "requires": { + "@microsoft/sp-core-library": "1.8.0", + "@microsoft/sp-diagnostics": "1.8.0", + "@microsoft/sp-lodash-subset": "1.8.0", + "@types/webpack-env": "1.13.1", + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "@microsoft/sp-extension-base": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-extension-base/-/sp-extension-base-1.8.0.tgz", + "integrity": "sha512-wcys5ibTiy/SEdRx5Bk4AxUyYv73/lM9j/VQ8WgGMy+BMw9SYEqBGJTxgS+IZbKDqTsfizSMIv67nKdyqzqp3w==", + "dev": true, + "requires": { + "@microsoft/decorators": "1.8.0", + "@microsoft/sp-component-base": "1.8.0", + "@microsoft/sp-core-library": "1.8.0", + "@microsoft/sp-diagnostics": "1.8.0", + "@microsoft/sp-http": "1.8.0", + "@microsoft/sp-loader": "1.8.0", + "@microsoft/sp-lodash-subset": "1.8.0", + "@microsoft/sp-module-interfaces": "1.8.0", + "@microsoft/sp-page-context": "1.8.0", + "@types/es6-promise": "0.0.33", + "@types/webpack-env": "1.13.1" + } + }, + "@microsoft/sp-http": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-http/-/sp-http-1.8.0.tgz", + "integrity": "sha512-y2wJiBuu1SyzdHqcTOcYmfbi36rmbo6WjG91dG5MmyLqNn/bI7I0GLue2SBzBEX5CLKRBVa8yaiaaqTU0DQmdw==", + "requires": { + "@microsoft/microsoft-graph-client": "1.1.0", + "@microsoft/sp-core-library": "1.8.0", + "@microsoft/sp-diagnostics": "1.8.0", + "@types/adal-angular": "1.0.1", + "adal-angular": "1.0.16", + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "@microsoft/sp-loader": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-loader/-/sp-loader-1.8.0.tgz", + "integrity": "sha512-UQ7OLRzDqYRWplxretZ5eBUGskaGiZ6titQ8h3Zh4pmQh+FjdrZN5VCxNZJKqNjUTiTOUweb9KZuVI3sD8RnDw==", + "requires": { + "@microsoft/office-ui-fabric-react-bundle": "1.8.0", + "@microsoft/sp-core-library": "1.8.0", + "@microsoft/sp-diagnostics": "1.8.0", + "@microsoft/sp-dynamic-data": "1.8.0", + "@microsoft/sp-http": "1.8.0", + "@microsoft/sp-lodash-subset": "1.8.0", + "@microsoft/sp-module-interfaces": "1.8.0", + "@microsoft/sp-odata-types": "1.8.0", + "@microsoft/sp-page-context": "1.8.0", + "@microsoft/sp-polyfills": "1.8.0", + "@types/es6-promise": "0.0.33", + "@types/node": "8.5.8", + "@types/react": "16.4.2", + "@types/react-dom": "16.0.5", + "@types/requirejs": "2.1.29", + "@types/webpack-env": "1.13.1", + "@uifabric/utilities": "6.29.4", + "office-ui-fabric-react": "6.143.0", + "react": "16.7.0", + "react-dom": "16.7.0", + "requirejs": "2.1.20", + "tslib": "1.9.3" + }, + "dependencies": { + "@types/react": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.2.tgz", + "integrity": "sha512-oVcVteCDNiVc/fkDjowRfAZQDEOR76j3CJ3FvwXNvfV6zJguhghy1lMgpAzYox+9AZsWch+JPV6Imml3wvIUeg==", + "requires": { + "csstype": "2.6.3" + } + }, + "@uifabric/utilities": { + "version": "6.29.4", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-6.29.4.tgz", + "integrity": "sha512-ESyMQfJrIGy1uM0HQApW0gvKpQCZBWLLoQTGZIq8Z4ZcTUEYN4Te+6oImtn0dxI1CIK6fbQNtLvZb5fX82+jMA==", + "requires": { + "@uifabric/merge-styles": "6.16.1", + "@uifabric/set-version": "1.1.3", + "prop-types": "15.7.2", + "tslib": "1.9.3" + } + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "@microsoft/sp-lodash-subset": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-lodash-subset/-/sp-lodash-subset-1.8.0.tgz", + "integrity": "sha512-jFHvMIbvId2+y8VH9vNqMRcedrysFqLAenGK6VZ0Uv0n9kAv3AFX9d3VMAKhlRZhIFHGvPIqK2V2DsiBe8HK5A==", + "requires": { + "@types/lodash": "4.14.117", + "@types/webpack-env": "1.13.1", + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "@microsoft/sp-module-interfaces": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-module-interfaces/-/sp-module-interfaces-1.8.0.tgz", + "integrity": "sha512-QPPoiVdC7VC6m/dIj59+xY/YZNHD14UNOMhULwESDnp6fzZHMjCgIBS1axvRKctnNhg5GAl3UT+Q8QhotoiHxQ==", + "requires": { + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "z-schema": "3.18.4" + } + }, + "@microsoft/sp-odata-types": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-odata-types/-/sp-odata-types-1.8.0.tgz", + "integrity": "sha512-HzIajxC+qtoKgVZAazD9BpeAJeNHYuxBZ3ESx6IGhUhNnx8Nk9nB5/MiccAZ2B/b24QoNbdw8eVmly/w7R5AJA==", + "requires": { + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "@microsoft/sp-office-ui-fabric-core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-office-ui-fabric-core/-/sp-office-ui-fabric-core-1.8.0.tgz", + "integrity": "sha512-Icl0Os6BJCEjo2Au8G/aSw80QufjUmWJMZsiSviebeGKHtVEOOgZQw3x3esW6Wy0if6sizTAyCbtc1FyL6gdrw==", + "requires": { + "@types/webpack-env": "1.13.1", + "office-ui-fabric-core": "9.6.1-fluent2", + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "@microsoft/sp-page-context": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-page-context/-/sp-page-context-1.8.0.tgz", + "integrity": "sha512-ZavqXsehRvLEbRLo8mIZVr08eXOcVeLkr1VBgFQA1clLKTfpx69R+AR9X/nJIiWI7TLd+tom3BH7l3x6rRqDkw==", + "requires": { + "@microsoft/sp-core-library": "1.8.0", + "@microsoft/sp-diagnostics": "1.8.0", + "@microsoft/sp-dynamic-data": "1.8.0", + "@microsoft/sp-lodash-subset": "1.8.0", + "@microsoft/sp-odata-types": "1.8.0", + "@types/es6-promise": "0.0.33", + "@types/webpack-env": "1.13.1", + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "@microsoft/sp-polyfills": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-polyfills/-/sp-polyfills-1.8.0.tgz", + "integrity": "sha512-mN9XJub3AaFmauVQp/0+Q+izzxXMhyCK74gAgXVoa5mtFrTnNqSJPbb3z9N+p0IOh2lbzEdmqxkL8ZdTLbvMKA==", + "requires": { + "@types/webpack-env": "1.13.1", + "es6-collections": "0.5.6", + "es6-promise": "4.1.1", + "tslib": "1.9.3", + "whatwg-fetch": "2.0.3", + "whatwg-url": "4.7.1" + }, + "dependencies": { + "es6-promise": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz", + "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==" + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + } + } + }, + "@microsoft/sp-property-pane": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-property-pane/-/sp-property-pane-1.8.0.tgz", + "integrity": "sha512-PrJSrlcmiyFW0cSksj+iU29ejrf/+HObMVUg+jEMOKtplC8/6TK7CLkndnd5zC/oCoXNaeUc9pWFojIPJRH/OQ==", + "requires": { + "@microsoft/decorators": "1.8.0", + "@microsoft/office-ui-fabric-react-bundle": "1.8.0", + "@microsoft/sp-component-base": "1.8.0", + "@microsoft/sp-core-library": "1.8.0", + "@microsoft/sp-diagnostics": "1.8.0", + "@microsoft/sp-dynamic-data": "1.8.0", + "@microsoft/sp-lodash-subset": "1.8.0", + "@types/es6-promise": "0.0.33", + "@types/react": "16.4.2", + "@types/react-dom": "16.0.5", + "@types/webpack-env": "1.13.1", + "office-ui-fabric-react": "6.143.0", + "react": "16.7.0", + "react-dom": "16.7.0", + "tslib": "1.9.3" + }, + "dependencies": { + "@types/react": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.2.tgz", + "integrity": "sha512-oVcVteCDNiVc/fkDjowRfAZQDEOR76j3CJ3FvwXNvfV6zJguhghy1lMgpAzYox+9AZsWch+JPV6Imml3wvIUeg==", + "requires": { + "csstype": "2.6.3" + } + }, + "es6-promise": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz", + "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==" + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + } + } + }, + "@microsoft/sp-tslint-rules": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-tslint-rules/-/sp-tslint-rules-1.8.0.tgz", + "integrity": "sha512-j0ETciMkgVoIfjLCgOCvfwJPNzqkPQFmOcGlacTrw55SNMbGV0zFVS70K28CINt0NNKwhdnjUoj1zFpzwuGhmA==", + "dev": true, + "requires": { + "@microsoft/rush-stack-compiler-3.2": "0.2.3", + "tslint": "5.9.1", + "tslint-microsoft-contrib": "5.2.1", + "tsutils": "2.11.2", + "typescript": "2.9.2" + }, + "dependencies": { + "@microsoft/api-extractor": { + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.0.18.tgz", + "integrity": "sha512-puQisjyoYK1A0I8DqyBoLPV9noyFUlxTE3WsjhgJw//TrmegGHYmsRlD3rnHeXcKPM1F7sd/VKJXeXC3IPTf2Q==", + "dev": true, + "requires": { + "@microsoft/node-core-library": "3.10.0", + "@microsoft/ts-command-line": "4.2.3", + "@microsoft/tsdoc": "0.12.5", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "lodash": "4.17.11", + "resolve": "1.8.1", + "typescript": "3.1.6", + "z-schema": "3.18.4" + }, + "dependencies": { + "typescript": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", + "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", + "dev": true + } + } + }, + "@microsoft/node-core-library": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@microsoft/node-core-library/-/node-core-library-3.10.0.tgz", + "integrity": "sha512-1SbU+XNYAabhV9noGXHtsUVPc5ELV+oEuJQtZQoCncbOd6WAMeTgB1xFwh96hmdEXyKQyML/pnByiKocmh/nbQ==", + "dev": true, + "requires": { + "@types/fs-extra": "5.0.4", + "@types/jju": "1.4.1", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "fs-extra": "7.0.1", + "jju": "1.4.0", + "z-schema": "3.18.4" + } + }, + "@microsoft/rush-stack-compiler-3.2": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@microsoft/rush-stack-compiler-3.2/-/rush-stack-compiler-3.2-0.2.3.tgz", + "integrity": "sha512-DV3BON3G3SJJOQVINbZkP8za1YbNENpefM7mH5ZWixaPeIJRvVf1nrzU1r1rtyfr7SSIgjWiu+9Cm6CjpLuE5w==", + "dev": true, + "requires": { + "@microsoft/api-extractor": "7.0.18", + "@microsoft/node-core-library": "3.10.0", + "@types/node": "8.5.8", + "tslint": "5.12.1", + "tslint-microsoft-contrib": "5.2.1", + "typescript": "3.2.4" + }, + "dependencies": { + "tslint": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.1.tgz", + "integrity": "sha512-sfodBHOucFg6egff8d1BvuofoOQ/nOeYNfbp7LDlKBcLNrL3lmS5zoiDGyOMdT7YsEXAwWpTdAHwOGOc8eRZAw==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "builtin-modules": "1.1.1", + "chalk": "2.4.2", + "commander": "2.19.0", + "diff": "3.5.0", + "glob": "7.1.3", + "js-yaml": "3.12.1", + "minimatch": "3.0.4", + "resolve": "1.8.1", + "semver": "5.3.0", + "tslib": "1.8.1", + "tsutils": "2.29.0" + } + }, + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "requires": { + "tslib": "1.8.1" + } + }, + "typescript": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz", + "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==", + "dev": true + } + } + }, + "@microsoft/tsdoc": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.5.tgz", + "integrity": "sha512-xEAyvLXo4Cter/b0EMCWUZTgXOfLOPJ/Xr52WdjVclPx9eDmNTGFtZl8Pn/nqSnZsQBNcHL0eHk/YyRyyXXpiQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "1.0.6" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "tslint": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.9.1.tgz", + "integrity": "sha1-ElX4ej/1frCw4fDmEKi0dIBGya4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "builtin-modules": "1.1.1", + "chalk": "2.4.2", + "commander": "2.19.0", + "diff": "3.5.0", + "glob": "7.1.3", + "js-yaml": "3.12.1", + "minimatch": "3.0.4", + "resolve": "1.8.1", + "semver": "5.3.0", + "tslib": "1.8.1", + "tsutils": "2.29.0" + }, + "dependencies": { + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "requires": { + "tslib": "1.8.1" + } + } + } + }, + "tsutils": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.11.2.tgz", + "integrity": "sha1-YBNgHjb6FP+VhBPlQdQn+4xqw0E=", + "dev": true, + "requires": { + "tslib": "1.8.1" + } + }, + "typescript": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", + "dev": true + } + } + }, + "@microsoft/sp-webpart-base": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-webpart-base/-/sp-webpart-base-1.8.0.tgz", + "integrity": "sha512-/wu/AboXD/Wqw3gb623/kPG69aJpnwBrQ3BwnmyNwMUzt2FnqLG7SxEYZlOmdyCQHUVSR1XtA964gp4ik6oD3g==", + "requires": { + "@microsoft/decorators": "1.8.0", + "@microsoft/load-themed-styles": "1.8.62", + "@microsoft/sp-component-base": "1.8.0", + "@microsoft/sp-core-library": "1.8.0", + "@microsoft/sp-diagnostics": "1.8.0", + "@microsoft/sp-dynamic-data": "1.8.0", + "@microsoft/sp-http": "1.8.0", + "@microsoft/sp-loader": "1.8.0", + "@microsoft/sp-lodash-subset": "1.8.0", + "@microsoft/sp-module-interfaces": "1.8.0", + "@microsoft/sp-page-context": "1.8.0", + "@microsoft/sp-property-pane": "1.8.0", + "@microsoft/teams-js": "1.4.1", + "@types/es6-promise": "0.0.33", + "@types/webpack-env": "1.13.1", + "office-ui-fabric-react": "6.143.0", + "tslib": "1.9.3" + }, + "dependencies": { + "@microsoft/load-themed-styles": { + "version": "1.8.62", + "resolved": "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.8.62.tgz", + "integrity": "sha512-T9yplfIBWV6R5n0y9TuAnF8og7lUTFRqiOD/F8y3J4ziAkg3RD2Gih7p0TdTD4vmqbFJOpuuXMNMpERFFMgvvg==" + }, + "es6-promise": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz", + "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==" + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + } + } + }, + "@microsoft/sp-webpart-workbench": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@microsoft/sp-webpart-workbench/-/sp-webpart-workbench-1.8.0.tgz", + "integrity": "sha512-0uOKIm89BFAhKCpnXiLHKdWV80inwAC7FyyafiwsXX6Ah15k8+VcCxjQrzDP1+z0c7sxy85iKX2gMtpjsyTcKg==", + "dev": true, + "requires": { + "@microsoft/gulp-core-build-serve": "3.3.4", + "@microsoft/node-core-library": "3.10.0", + "@microsoft/office-ui-fabric-react-bundle": "1.8.0", + "@microsoft/sp-application-base": "1.8.0", + "@microsoft/sp-build-core-tasks": "1.8.0", + "@microsoft/sp-client-preview": "1.8.0", + "@microsoft/sp-core-library": "1.8.0", + "@microsoft/sp-loader": "1.8.0", + "@microsoft/sp-lodash-subset": "1.8.0", + "@microsoft/sp-module-interfaces": "1.8.0", + "@microsoft/sp-property-pane": "1.8.0", + "@microsoft/sp-webpart-base": "1.8.0", + "@types/es6-promise": "0.0.33", + "@types/fs-extra": "5.0.1", + "@types/react": "16.4.2", + "@types/react-dom": "16.0.5", + "@types/webpack-env": "1.13.1", + "@uifabric/variants": "6.14.0", + "fs-extra": "5.0.0", + "office-ui-fabric-react": "6.143.0", + "prop-types": "15.6.0", + "react": "16.7.0", + "react-dom": "16.7.0", + "tslib": "1.9.3" + }, + "dependencies": { + "@microsoft/node-core-library": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@microsoft/node-core-library/-/node-core-library-3.10.0.tgz", + "integrity": "sha512-1SbU+XNYAabhV9noGXHtsUVPc5ELV+oEuJQtZQoCncbOd6WAMeTgB1xFwh96hmdEXyKQyML/pnByiKocmh/nbQ==", + "dev": true, + "requires": { + "@types/fs-extra": "5.0.4", + "@types/jju": "1.4.1", + "@types/node": "8.5.8", + "@types/z-schema": "3.16.31", + "colors": "1.2.5", + "fs-extra": "7.0.1", + "jju": "1.4.0", + "z-schema": "3.18.4" + }, + "dependencies": { + "@types/fs-extra": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.4.tgz", + "integrity": "sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + } + } + }, + "@types/fs-extra": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.1.tgz", + "integrity": "sha512-h3wnflb+jMTipvbbZnClgA2BexrT4w0GcfoCz5qyxd0IRsbqhLSyesM6mqZTAnhbVmhyTm5tuxfRu9R+8l+lGw==", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "@types/react": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.2.tgz", + "integrity": "sha512-oVcVteCDNiVc/fkDjowRfAZQDEOR76j3CJ3FvwXNvfV6zJguhghy1lMgpAzYox+9AZsWch+JPV6Imml3wvIUeg==", + "dev": true, + "requires": { + "csstype": "2.6.3" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + }, + "prop-types": { + "version": "15.6.0", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", + "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "dev": true, + "requires": { + "fbjs": "0.8.17", + "loose-envify": "1.4.0", + "object-assign": "4.1.1" + } + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + } + } + }, + "@microsoft/stream-collator": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@microsoft/stream-collator/-/stream-collator-3.0.15.tgz", + "integrity": "sha512-c/xc6A4E3OUcFAMnIdq1AxjdxsPj1DFDTgsdVbiNAZTP7Hx7dGGQ+I8w8e6AfrL7SYaNwqMdrGHIzrvXmEZDGA==", + "dev": true, + "requires": { + "@types/node": "8.5.8", + "colors": "1.2.5" + } + }, + "@microsoft/teams-js": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@microsoft/teams-js/-/teams-js-1.4.1.tgz", + "integrity": "sha512-0BuWgUrZvZ0X98roHTWQVtnjlw22DWJBFW7LCqKS7Q/0Zu19GAWNL/mJoVJRRujVHUbEW+QU0qwJK6KqitUcsw==" + }, + "@microsoft/ts-command-line": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@microsoft/ts-command-line/-/ts-command-line-4.2.3.tgz", + "integrity": "sha512-SIs4q7RcG7efBbh5Ffrf6V4jVLxWihD4NDRY3+gPiOG8CYawBzE22tTEloZ1yj/FBvBZQkQ0GYwXoPhn6ElYXA==", + "dev": true, + "requires": { + "@types/argparse": "1.0.33", + "@types/node": "8.5.8", + "argparse": "1.0.10", + "colors": "1.2.5" + } + }, + "@microsoft/tsdoc": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.4.tgz", + "integrity": "sha512-nQZVQg3fXygj+9JT/FSPZOz3vqAIVAAR3ZuAuUdU4DSM/ubJq5lbl1hpLtl+REFmEq1rkvDmmPoJAbSoqjcmZQ==", + "dev": true + }, + "@pnp/common": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/@pnp/common/-/common-1.2.9.tgz", + "integrity": "sha512-wVu8yJZvdnN99hhpmHxhK0HbUVMg61y8o8vC2w3MK+nql65GH9YaxkDQotNSKlYjDakzG/HYa8cZW3TIaCFPcg==", + "requires": { + "adal-angular": "1.0.17", + "tslib": "1.9.3" + }, + "dependencies": { + "adal-angular": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/adal-angular/-/adal-angular-1.0.17.tgz", + "integrity": "sha1-bpNuDkH5HTsqiOf/ypwvb29WLMQ=" + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "@pnp/logging": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/@pnp/logging/-/logging-1.2.9.tgz", + "integrity": "sha512-JNxoHkPhPnnC1PHnU+wQVkDkaBzrskDvLHn7bq84Uz+ppZEnKp0IuOxvmkAPMwD1NVP5qRbbiBh7dIHu8b9rNw==", + "requires": { + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "@pnp/odata": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/@pnp/odata/-/odata-1.2.9.tgz", + "integrity": "sha512-mE4bY5PQXxNYJIyh5Mgqda4AeX5DWEjT9NuUH7G05JOKwV51DbUX+UPIIy7AqBXDjo05S3QvOJw6+4OfeMQuZQ==", + "requires": { + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "@pnp/sp": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/@pnp/sp/-/sp-1.2.9.tgz", + "integrity": "sha512-O+V/IrI/dqDtc/d42HsTlPbqNqLut6/UiTkWwuZMwbhJeNmb9S/CyygTaa2luyvVw2UaVa1x70zdoslxU0Itew==", + "requires": { + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + } + } + }, + "@pnpm/link-bins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@pnpm/link-bins/-/link-bins-1.0.3.tgz", + "integrity": "sha512-thVgwrQ5rMcPYI6a0IPOt2pnlF1n5zX7BN4CrFeBp0/JCGsZAht/VOPv9bD3cZ+j0vDemEwE23BfhOWxmxq2yQ==", + "dev": true, + "requires": { + "@pnpm/package-bins": "1.0.0", + "@pnpm/types": "1.8.0", + "@types/mz": "0.0.32", + "@types/node": "10.14.1", + "@types/ramda": "0.25.51", + "@zkochan/cmd-shim": "2.2.4", + "arr-flatten": "1.1.0", + "is-windows": "1.0.2", + "mkdirp-promise": "5.0.1", + "mz": "2.7.0", + "normalize-path": "3.0.0", + "p-filter": "1.0.0", + "ramda": "0.25.0", + "read-package-json": "2.0.13" + }, + "dependencies": { + "@types/node": { + "version": "10.14.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.1.tgz", + "integrity": "sha512-Rymt08vh1GaW4vYB6QP61/5m/CFLGnFZP++bJpWbiNxceNa6RBipDmb413jvtSf/R1gg5a/jQVl2jY4XVRscEA==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } + } + }, + "@pnpm/logger": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/logger/-/logger-1.0.2.tgz", + "integrity": "sha512-A8XbJKvdueazvJGPn1qQ9LL6uopV88ebIT+dJKNQ68gT7yfCbtfT8j5ZzdVczmGbkiuBeZ1VckZerkO0tjOXZA==", + "dev": true, + "requires": { + "@types/node": "10.14.1", + "bole": "3.0.2", + "ndjson": "1.5.0" + }, + "dependencies": { + "@types/node": { + "version": "10.14.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.1.tgz", + "integrity": "sha512-Rymt08vh1GaW4vYB6QP61/5m/CFLGnFZP++bJpWbiNxceNa6RBipDmb413jvtSf/R1gg5a/jQVl2jY4XVRscEA==", + "dev": true + } + } + }, + "@pnpm/package-bins": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@pnpm/package-bins/-/package-bins-1.0.0.tgz", + "integrity": "sha512-ZqVfIXK3r5AsP5VAhPHrhf3isF+T4yEuUpJTF9T03oFTJ9LBnkKvx8F7P7biKEManxSGOkSpNoIBdsura9pY5Q==", + "dev": true, + "requires": { + "@pnpm/types": "1.8.0", + "@types/mz": "0.0.32", + "mz": "2.7.0", + "p-filter": "1.0.0" + } + }, + "@pnpm/types": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@pnpm/types/-/types-1.8.0.tgz", + "integrity": "sha512-NsEzBVa5aMgn/n79piyJtpUQFzJ97tB2R2r8PSJlLnMA6LJmchKuv7ATN+/nZH/3QRd/+uFXEq07/i/ajsqVGQ==", + "dev": true + }, + "@types/adal-angular": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/adal-angular/-/adal-angular-1.0.1.tgz", + "integrity": "sha512-2sRGxJYrluhvIz8ae98i5k5woe9Fics4dMFHTcNfY2xAkj5QGZor+sfZzlgM58Fpw7Kklau9Gn6OhgJP25dKug==" + }, + "@types/argparse": { + "version": "1.0.33", + "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.33.tgz", + "integrity": "sha512-VQgHxyPMTj3hIlq9SY1mctqx+Jj8kpQfoLvDlVSDNOyuYs8JYfkuY3OW/4+dO657yPmNhHpePRx0/Tje5ImNVQ==", + "dev": true + }, + "@types/assertion-error": { + "version": "1.0.30", + "resolved": "https://registry.npmjs.org/@types/assertion-error/-/assertion-error-1.0.30.tgz", + "integrity": "sha1-89DV2i7Ie1FOMNs/+aAYh7VhnCk=", + "dev": true + }, + "@types/chai": { + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-3.4.34.tgz", + "integrity": "sha1-1TNXkoI7sJzd1eOMPSEbcJGDhU0=", + "dev": true + }, + "@types/chalk": { + "version": "0.4.31", + "resolved": "https://registry.npmjs.org/@types/chalk/-/chalk-0.4.31.tgz", + "integrity": "sha1-ox10JBprHtu5c8822XooloNKUfk=", + "dev": true + }, + "@types/cheerio": { + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.10.tgz", + "integrity": "sha512-fOM/Jhv51iyugY7KOBZz2ThfT1gwvsGCfWxpLpZDgkGjpEO4Le9cld07OdskikLjDUQJ43dzDaVRSFwQlpdqVg==", + "dev": true + }, + "@types/enzyme": { + "version": "3.1.15", + "resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.1.15.tgz", + "integrity": "sha512-6b4JWgV+FNec1c4+8HauGbXg5gRc1oQK93t2+4W+bHjG/PzO+iPvagY6d6bXAZ+t+ps51Zb2F9LQ4vl0S0Epog==", + "dev": true, + "requires": { + "@types/cheerio": "0.22.10", + "@types/react": "16.7.22" + } + }, + "@types/es6-promise": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/es6-promise/-/es6-promise-0.0.33.tgz", + "integrity": "sha512-HKJFVLCGrWQ/1unEw8JdaTxu6n3EUxmwTxJ6D0O1x0gD8joCsgoTWxEgevb7fp2XIogNjof3KEd+3bJoGne/nw==" + }, + "@types/express-serve-static-core": { + "version": "4.16.2", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.2.tgz", + "integrity": "sha512-qgc8tjnDrc789rAQed8NoiFLV5VGcItA4yWNFphqGU0RcuuQngD00g3LHhWIK3HQ2XeDgVCmlNPDlqi3fWBHnQ==", + "dev": true, + "requires": { + "@types/node": "8.5.8", + "@types/range-parser": "1.2.3" + } + }, + "@types/finalhandler": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/@types/finalhandler/-/finalhandler-0.0.31.tgz", + "integrity": "sha1-7PMvOpu0Om+0BFdQ6h5VJYLTXcM=", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "@types/fs-extra": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.4.tgz", + "integrity": "sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "@types/glob": { + "version": "5.0.30", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.30.tgz", + "integrity": "sha1-ECZAnFYlqGiQdGAoCNCCsoZ7ilE=", + "dev": true, + "requires": { + "@types/minimatch": "3.0.3", + "@types/node": "8.5.8" + } + }, + "@types/gulp": { + "version": "3.8.32", + "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-3.8.32.tgz", + "integrity": "sha1-g8WcaBzCM9Hsf4LSaVVVZvoTMVY=", + "dev": true, + "requires": { + "@types/node": "8.5.8", + "@types/orchestrator": "0.0.30", + "@types/vinyl": "1.2.30" + } + }, + "@types/gulp-replace": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/gulp-replace/-/gulp-replace-0.0.29.tgz", + "integrity": "sha1-gFqGw0pcz8+IS8E24GgzHkj5tls=", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "@types/inquirer": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-0.0.43.tgz", + "integrity": "sha512-xgyfKZVMFqE8aIKy1xfFVsX2MxyXUNgjgmbF6dRbR3sL+ZM5K4ka/9L4mmTwX8eTeVYtduyXu0gUVwVJa1HbNw==", + "dev": true, + "requires": { + "@types/rx": "4.1.1", + "@types/through": "0.0.29" + } + }, + "@types/jest": { + "version": "22.2.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-22.2.3.tgz", + "integrity": "sha512-e74sM9W/4qqWB6D4TWV9FQk0WoHtX1X4FJpbjxucMSVJHtFjbQOH3H6yp+xno4br0AKG0wz/kPtaN599GUOvAg==", + "dev": true + }, + "@types/jju": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@types/jju/-/jju-1.4.1.tgz", + "integrity": "sha512-LFt+YA7Lv2IZROMwokZKiPNORAV5N3huMs3IKnzlE430HWhWYZ8b+78HiwJXJJP1V2IEjinyJURuRJfGoaFSIA==", + "dev": true + }, + "@types/lodash": { + "version": "4.14.117", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.117.tgz", + "integrity": "sha512-xyf2m6tRbz8qQKcxYZa7PA4SllYcay+eh25DN3jmNYY6gSTL7Htc/bttVdkqj2wfJGbeWlQiX8pIyJpKU+tubw==" + }, + "@types/merge2": { + "version": "0.3.29", + "resolved": "https://registry.npmjs.org/@types/merge2/-/merge2-0.3.29.tgz", + "integrity": "sha1-y1UumCbKPAjZ5lSd6ezY8VQX8G0=", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "@types/mime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz", + "integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/mocha": { + "version": "2.2.38", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.38.tgz", + "integrity": "sha1-jBiPbjTC58Px0BJ9kI1aNuWmDck=", + "dev": true + }, + "@types/mz": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/mz/-/mz-0.0.32.tgz", + "integrity": "sha512-cy3yebKhrHuOcrJGkfwNHhpTXQLgmXSv1BX+4p32j+VUQ6aP2eJ5cL7OvGcAQx75fCTFaAIIAKewvqL+iwSd4g==", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "@types/node": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.5.8.tgz", + "integrity": "sha512-8KmlRxwbKZfjUHFIt3q8TF5S2B+/E5BaAoo/3mgc5h6FJzqxXkCK/VMetO+IRDtwtU6HUvovHMBn+XRj7SV9Qg==" + }, + "@types/node-notifier": { + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/@types/node-notifier/-/node-notifier-0.0.28.tgz", + "integrity": "sha1-hro9OqjZGDUswxkdiN4yiyDck8E=", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "@types/orchestrator": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/orchestrator/-/orchestrator-0.0.30.tgz", + "integrity": "sha1-3N2o1ke1aLex40F4yx8LRKyamOU=", + "dev": true, + "requires": { + "@types/q": "0.0.32" + } + }, + "@types/prop-types": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.0.tgz", + "integrity": "sha512-eItQyV43bj4rR3JPV0Skpl1SncRCdziTEK9/v8VwXmV6d/qOUO8/EuWeHBbCZcsfSHfzI5UyMJLCSXtxxznyZg==" + }, + "@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", + "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", + "dev": true + }, + "@types/ramda": { + "version": "0.25.51", + "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.25.51.tgz", + "integrity": "sha512-xcmtfHIgF9SYjhGdsZR1nQslxG4hu0cIpFfLQ4CWdw3KzHvl7ki1AzFLQUkbDTG42ZN3ZsQfdRzXRlkAvbIy5Q==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", + "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", + "dev": true + }, + "@types/react": { + "version": "16.7.22", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.22.tgz", + "integrity": "sha512-j/3tVoY09kHcTfbia4l67ofQn9xvktUvlC/4QN0KuBHAXlbU/wuGKMb8WfEb/vIcWxsOxHv559uYprkFDFfP8Q==", + "requires": { + "@types/prop-types": "15.7.0", + "csstype": "2.6.3" + } + }, + "@types/react-dom": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.5.tgz", + "integrity": "sha512-ony2hEYlGXCLWNAWWgbsHR7qVvDbeMRFc5b43+7dhj3n+zXzxz81HV9Yjpc3JD8vLCiwYoSLqFCI6bD0+0zG2Q==", + "requires": { + "@types/node": "8.5.8", + "@types/react": "16.7.22" + } + }, + "@types/requirejs": { + "version": "2.1.29", + "resolved": "https://registry.npmjs.org/@types/requirejs/-/requirejs-2.1.29.tgz", + "integrity": "sha1-vEi8gzwHnCwkumr7ym06A7P04vM=" + }, + "@types/resolve": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.4.tgz", + "integrity": "sha1-m1htZalH3qiMS8JNoLkF/pUgoNU=", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "@types/rimraf": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.2.tgz", + "integrity": "sha512-Hm/bnWq0TCy7jmjeN5bKYij9vw5GrDFWME4IuxV08278NtU/VdGbzsBohcCUJ7+QMqmUq5hpRKB39HeQWJjztQ==", + "dev": true, + "requires": { + "@types/glob": "5.0.30", + "@types/node": "8.5.8" + } + }, + "@types/rx": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@types/rx/-/rx-4.1.1.tgz", + "integrity": "sha1-WY/JSla67ZdfGUV04PVy/Y5iekg=", + "dev": true, + "requires": { + "@types/rx-core": "4.0.3", + "@types/rx-core-binding": "4.0.4", + "@types/rx-lite": "4.0.6", + "@types/rx-lite-aggregates": "4.0.3", + "@types/rx-lite-async": "4.0.2", + "@types/rx-lite-backpressure": "4.0.3", + "@types/rx-lite-coincidence": "4.0.3", + "@types/rx-lite-experimental": "4.0.1", + "@types/rx-lite-joinpatterns": "4.0.1", + "@types/rx-lite-testing": "4.0.1", + "@types/rx-lite-time": "4.0.3", + "@types/rx-lite-virtualtime": "4.0.3" + } + }, + "@types/rx-core": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/rx-core/-/rx-core-4.0.3.tgz", + "integrity": "sha1-CzNUsSOM7b4rdPYybxOdvHpZHWA=", + "dev": true + }, + "@types/rx-core-binding": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/rx-core-binding/-/rx-core-binding-4.0.4.tgz", + "integrity": "sha512-5pkfxnC4w810LqBPUwP5bg7SFR/USwhMSaAeZQQbEHeBp57pjKXRlXmqpMrLJB4y1oglR/c2502853uN0I+DAQ==", + "dev": true, + "requires": { + "@types/rx-core": "4.0.3" + } + }, + "@types/rx-lite": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/rx-lite/-/rx-lite-4.0.6.tgz", + "integrity": "sha512-oYiDrFIcor9zDm0VDUca1UbROiMYBxMLMaM6qzz4ADAfOmA9r1dYEcAFH+2fsPI5BCCjPvV9pWC3X3flbrvs7w==", + "dev": true, + "requires": { + "@types/rx-core": "4.0.3", + "@types/rx-core-binding": "4.0.4" + } + }, + "@types/rx-lite-aggregates": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/rx-lite-aggregates/-/rx-lite-aggregates-4.0.3.tgz", + "integrity": "sha512-MAGDAHy8cRatm94FDduhJF+iNS5//jrZ/PIfm+QYw9OCeDgbymFHChM8YVIvN2zArwsRftKgE33QfRWvQk4DPg==", + "dev": true, + "requires": { + "@types/rx-lite": "4.0.6" + } + }, + "@types/rx-lite-async": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/rx-lite-async/-/rx-lite-async-4.0.2.tgz", + "integrity": "sha512-vTEv5o8l6702ZwfAM5aOeVDfUwBSDOs+ARoGmWAKQ6LOInQ8J4/zjM7ov12fuTpktUKdMQjkeCp07Vd73mPkxw==", + "dev": true, + "requires": { + "@types/rx-lite": "4.0.6" + } + }, + "@types/rx-lite-backpressure": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/rx-lite-backpressure/-/rx-lite-backpressure-4.0.3.tgz", + "integrity": "sha512-Y6aIeQCtNban5XSAF4B8dffhIKu6aAy/TXFlScHzSxh6ivfQBQw6UjxyEJxIOt3IT49YkS+siuayM2H/Q0cmgA==", + "dev": true, + "requires": { + "@types/rx-lite": "4.0.6" + } + }, + "@types/rx-lite-coincidence": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/rx-lite-coincidence/-/rx-lite-coincidence-4.0.3.tgz", + "integrity": "sha512-1VNJqzE9gALUyMGypDXZZXzR0Tt7LC9DdAZQ3Ou/Q0MubNU35agVUNXKGHKpNTba+fr8GdIdkC26bRDqtCQBeQ==", + "dev": true, + "requires": { + "@types/rx-lite": "4.0.6" + } + }, + "@types/rx-lite-experimental": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/rx-lite-experimental/-/rx-lite-experimental-4.0.1.tgz", + "integrity": "sha1-xTL1y98/LBXaFt7Ykw0bKYQCPL0=", + "dev": true, + "requires": { + "@types/rx-lite": "4.0.6" + } + }, + "@types/rx-lite-joinpatterns": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/rx-lite-joinpatterns/-/rx-lite-joinpatterns-4.0.1.tgz", + "integrity": "sha1-9w/jcFGKhDLykVjMkv+1a05K/D4=", + "dev": true, + "requires": { + "@types/rx-lite": "4.0.6" + } + }, + "@types/rx-lite-testing": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/rx-lite-testing/-/rx-lite-testing-4.0.1.tgz", + "integrity": "sha1-IbGdEfTf1v/vWp0WSOnIh5v+Iek=", + "dev": true, + "requires": { + "@types/rx-lite-virtualtime": "4.0.3" + } + }, + "@types/rx-lite-time": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/rx-lite-time/-/rx-lite-time-4.0.3.tgz", + "integrity": "sha512-ukO5sPKDRwCGWRZRqPlaAU0SKVxmWwSjiOrLhoQDoWxZWg6vyB9XLEZViKOzIO6LnTIQBlk4UylYV0rnhJLxQw==", + "dev": true, + "requires": { + "@types/rx-lite": "4.0.6" + } + }, + "@types/rx-lite-virtualtime": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/rx-lite-virtualtime/-/rx-lite-virtualtime-4.0.3.tgz", + "integrity": "sha512-3uC6sGmjpOKatZSVHI2xB1+dedgml669ZRvqxy+WqmGJDVusOdyxcKfyzjW0P3/GrCiN4nmRkLVMhPwHCc5QLg==", + "dev": true, + "requires": { + "@types/rx-lite": "4.0.6" + } + }, + "@types/semver": { + "version": "5.3.33", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.3.33.tgz", + "integrity": "sha512-UwrBgjsRS8BSsckIEdrAhIAmdh0MJidtKTvD3S6tpMq6qHLY3uGaNYcRDUjPxpF4hOAOEbMNSXhhfxmNHB1QNQ==", + "dev": true + }, + "@types/serve-static": { + "version": "1.7.31", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.7.31.tgz", + "integrity": "sha1-FUVt6NmNa0z/Mb5savdJKuY/Uho=", + "dev": true, + "requires": { + "@types/express-serve-static-core": "4.16.2", + "@types/mime": "2.0.1" + } + }, + "@types/tapable": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.2.tgz", + "integrity": "sha512-42zEJkBpNfMEAvWR5WlwtTH22oDzcMjFsL9gDGExwF8X8WvAiw7Vwop7hPw03QT8TKfec83LwbHj6SvpqM4ELQ==", + "dev": true + }, + "@types/through": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.29.tgz", + "integrity": "sha512-9a7C5VHh+1BKblaYiq+7Tfc+EOmjMdZaD1MYtkQjSoxgB69tBjW98ry6SKsi4zEIWztLOMRuL87A3bdT/Fc/4w==", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "@types/through2": { + "version": "2.0.32", + "resolved": "https://registry.npmjs.org/@types/through2/-/through2-2.0.32.tgz", + "integrity": "sha1-RwAkRQ8at2QPGfnr9C09pXTCYSk=", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "@types/uglify-js": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.0.4.tgz", + "integrity": "sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ==", + "dev": true, + "requires": { + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@types/uuid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.0.0.tgz", + "integrity": "sha512-CGaBAcUB4o+YTaUBZ2VfBc7PcIZXwHflZs4FDtr5Kk7MpAl0PVfH7W/VqoHH+OAG41d9YSCV8eWDfz/KKqVm+A==", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "@types/vinyl": { + "version": "1.2.30", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-1.2.30.tgz", + "integrity": "sha1-kRXAxFxAxXVziQa+n7Tfb1ueUBM=", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + }, + "@types/webpack": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.4.0.tgz", + "integrity": "sha512-G7TXt4IRP7NTQO8R8QyDN7YwkQzlxjiKhA+z7W5FvkGbK7kIdOUtW2e7AE2w33Q10uphyG+vr8pfRy7wBWLmsA==", + "dev": true, + "requires": { + "@types/node": "8.5.8", + "@types/tapable": "1.0.2", + "@types/uglify-js": "3.0.4", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@types/webpack-env": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.13.1.tgz", + "integrity": "sha512-oHyg0NssP2RCpCvE35hhbSqMJRsc5lSW+GFe+Vc65JL+kHII1VMYM+0KeV/z4utFuUqPoQRmq8KMMp7ba0dj6Q==" + }, + "@types/webpack-stream": { + "version": "3.2.10", + "resolved": "https://registry.npmjs.org/@types/webpack-stream/-/webpack-stream-3.2.10.tgz", + "integrity": "sha512-gzUDP7oa60qMUlKUUoT7EZJ77OpGPJ9ZmNFLfcG7ITJS80lIx/9r6F2MkGJNLjsNV/ygDGVHGLn4/5e8813/Og==", + "dev": true, + "requires": { + "@types/node": "8.5.8", + "@types/webpack": "4.4.0" + } + }, + "@types/yargs": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-0.0.34.tgz", + "integrity": "sha1-FWBCn8VQxDvEGnt9PfoK+8yRSjU=", + "dev": true + }, + "@types/z-schema": { + "version": "3.16.31", + "resolved": "https://registry.npmjs.org/@types/z-schema/-/z-schema-3.16.31.tgz", + "integrity": "sha1-LrHQCl5Ow/pYx2r94S4YK2bcXBw=" + }, + "@uifabric/foundation": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-0.7.2.tgz", + "integrity": "sha512-UwWdCSJV2HpTvhyFNFOj9HcrmdEYL8Anzwx7j1MQmpd1VHRzk1hwQtW8+WC/mEEPXa7+IDZ6XbTsW3xChUqr7w==", + "requires": { + "@uifabric/set-version": "1.1.3", + "@uifabric/styling": "6.45.0", + "@uifabric/utilities": "6.35.1", + "tslib": "1.8.1" + } + }, + "@uifabric/icons": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-6.4.0.tgz", + "integrity": "sha512-pbKu3OnWaRIeDqMFhicDrrcqicxNqoHpJpknZR9N2xxoPnYMnt2ZOhBNnAxoVVcxHlWkFNg0rvFrOAQGn+S5/Q==", + "requires": { + "@uifabric/set-version": "1.1.3", + "@uifabric/styling": "6.45.0", + "tslib": "1.8.1" + } + }, + "@uifabric/merge-styles": { + "version": "6.16.1", + "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-6.16.1.tgz", + "integrity": "sha512-NEl5fBTSc6MdxKfYfkifFDWf1A9swM9Y66RsHXQ+hbVOg/kA6nLEl++RYxrSEqu4s7Fa0DRGr9TX3VFSbHN2nA==", + "requires": { + "@uifabric/set-version": "1.1.3", + "tslib": "1.8.1" + } + }, + "@uifabric/set-version": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-1.1.3.tgz", + "integrity": "sha512-IYpwVIuN7MJOeiWzZzr9AmFSvA5zc6gJn4fNHtEFIQnNB8WVWIcYrvx8Tbf7wWj9MvhdHYp70F054zZlHbL/Ag==", + "requires": { + "tslib": "1.8.1" + } + }, + "@uifabric/styling": { + "version": "6.45.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-6.45.0.tgz", + "integrity": "sha512-ZtKF374ba+jazhcpl3at7w+fWjFowEFuLHPv8l+G9nJgpPjyDD97Ry+dO8XfxXtnBUU1JEa6sZz5/QcQcz1CQQ==", + "requires": { + "@microsoft/load-themed-styles": "1.8.26", + "@uifabric/merge-styles": "6.16.1", + "@uifabric/set-version": "1.1.3", + "@uifabric/utilities": "6.35.1", + "tslib": "1.8.1" + } + }, + "@uifabric/utilities": { + "version": "6.35.1", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-6.35.1.tgz", + "integrity": "sha512-ClvE827ihCI60goN2CovmCtpybKj3WZ0BjnAzAN6Uiycooaq0+cptc8633Q2M0EdoTrPgXxrB94ZWnEspmzCiA==", + "requires": { + "@uifabric/merge-styles": "6.16.1", + "@uifabric/set-version": "1.1.3", + "prop-types": "15.7.2", + "tslib": "1.8.1" + } + }, + "@uifabric/variants": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@uifabric/variants/-/variants-6.14.0.tgz", + "integrity": "sha512-RZyGrkl9gWvp9n0/+4j6yif9GdqP0WI5izjhMtWG7b+pNyJIVasP8fjtFZrjQj6WHaYlOMfSgnjbi1mjkZA8hg==", + "dev": true, + "requires": { + "@uifabric/set-version": "1.1.3", + "office-ui-fabric-react": "6.143.0", + "tslib": "1.8.1" + } + }, + "@yarnpkg/lockfile": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.0.2.tgz", + "integrity": "sha512-MqJ00WXw89ga0rK6GZkdmmgv3bAsxpJixyTthjcix73O44pBqotyU2BejBkLuIsaOBI6SEu77vAnSyLe5iIHkw==", + "dev": true + }, + "@zkochan/cmd-shim": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@zkochan/cmd-shim/-/cmd-shim-2.2.4.tgz", + "integrity": "sha512-BDy1oz6aFYyY73618IkXzJzFghnXwVZDc3SVa6MVKTrrk4RgubahAF5yKK+Mx4a78tfO0OHeZnJKPs0pNy5uNA==", + "dev": true, + "requires": { + "is-windows": "1.0.2", + "mkdirp-promise": "5.0.1", + "mz": "2.7.0" + } + }, + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "dev": true, + "requires": { + "mime-types": "2.1.22", + "negotiator": "0.6.1" + } + }, + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, + "requires": { + "acorn": "4.0.13" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "acorn-globals": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", + "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", + "dev": true, + "requires": { + "acorn": "6.1.0", + "acorn-walk": "6.1.1" + }, + "dependencies": { + "acorn": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.0.tgz", + "integrity": "sha512-MW/FjM+IvU9CgBzjO3UIPCE2pyEwUsoFl+VGdczOPEdxfGFjuKny/gN54mOuX7Qxmb9Rg9MCn2oKiSUeW+pjrw==", + "dev": true + } + } + }, + "acorn-walk": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", + "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==", + "dev": true + }, + "adal-angular": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/adal-angular/-/adal-angular-1.0.16.tgz", + "integrity": "sha1-4rwxvHEqr/ugU6pN1GvITrXSCQ8=" + }, + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "dev": true, + "requires": { + "es6-promisify": "5.0.0" + } + }, + "ajv": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.5.tgz", + "integrity": "sha1-tjcjTT4mdetfefxlIkKoU6SMtJ8=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "json-schema-traverse": "0.3.1", + "json-stable-stringify": "1.0.1" + }, + "dependencies": { + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + } + } + }, + "ajv-keywords": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", + "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "3.1.10", + "normalize-path": "2.1.1" + } + }, + "append-transform": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "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==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", + "dev": true + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", + "dev": true + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "array.prototype.flat": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz", + "integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "es-abstract": "1.13.0", + "function-bind": "1.1.1" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", + "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", + "dev": true, + "requires": { + "lodash": "4.17.11" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "9.1.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.1.5.tgz", + "integrity": "sha512-kk4Zb6RUc58ld7gdosERHMF3DzIYJc2fp5sX46qEsGXQQy5bXsu8qyLjoxuY1NuQ/cJuCYnx99BfjwnRggrYIw==", + "dev": true, + "requires": { + "browserslist": "4.5.1", + "caniuse-lite": "1.0.30000950", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "7.0.5", + "postcss-value-parser": "3.3.1" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "azure-storage": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/azure-storage/-/azure-storage-2.8.3.tgz", + "integrity": "sha512-gcbdUY0tLivJvjUZD9BAxWrRDcige4OLFHhN3kY0p9oZYAFNNNqwgO7rBXvV+zdoX9HajeMOEog9/S/wxabeGg==", + "dev": true, + "requires": { + "browserify-mime": "1.2.9", + "extend": "1.2.1", + "json-edm-parser": "0.1.2", + "md5.js": "1.3.4", + "readable-stream": "2.0.6", + "request": "2.88.0", + "underscore": "1.8.3", + "uuid": "3.3.2", + "validator": "9.4.1", + "xml2js": "0.2.8", + "xmlbuilder": "0.4.3" + }, + "dependencies": { + "extend": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz", + "integrity": "sha1-oPX9bPyDpf5J72mNYOyKYk3UV2w=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } + }, + "validator": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/validator/-/validator-9.4.1.tgz", + "integrity": "sha512-YV5KjzvRmSyJ1ee/Dm5UED0G+1L4GZnLN3w6/T+zZm8scVua4sOhYKWTUrKa0H/tMiJyO9QLHMPN+9mB/aMunA==", + "dev": true + } + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + } + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.6.0", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.11", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-jest": { + "version": "22.4.4", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-22.4.4.tgz", + "integrity": "sha512-A9NB6/lZhYyypR9ATryOSDcqBaqNdzq4U+CN+/wcMsLcmKkPxQEoTKLajGfd3IkxNyVBT8NewUK2nWyGbSzHEQ==", + "dev": true, + "requires": { + "babel-plugin-istanbul": "4.1.6", + "babel-preset-jest": "22.4.4" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-istanbul": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", + "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "find-up": "2.1.0", + "istanbul-lib-instrument": "1.10.2", + "test-exclude": "4.2.3" + } + }, + "babel-plugin-jest-hoist": { + "version": "22.4.4", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz", + "integrity": "sha512-DUvGfYaAIlkdnygVIEl0O4Av69NtuQWcrjMOv6DODPuhuGLDnbsARz3AwiiI/EkIMMlxQDUcrZ9yoyJvTNjcVQ==", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-preset-jest": { + "version": "22.4.4", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-22.4.4.tgz", + "integrity": "sha512-+dxMtOFwnSYWfum0NaEc0O03oSdwBsjx4tMSChRDPGwu/4wSY6Q6ANW3wkjKpJzzguaovRs/DODcT4hbSN8yiA==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "22.4.4", + "babel-plugin-syntax-object-rest-spread": "6.13.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.6.5", + "home-or-tmp": "2.0.0", + "lodash": "4.17.11", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + }, + "dependencies": { + "core-js": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", + "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.6.5", + "regenerator-runtime": "0.11.1" + }, + "dependencies": { + "core-js": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", + "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==", + "dev": true + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.11" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.11" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "1.0.3" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", + "dev": true + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "binary-extensions": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz", + "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==", + "dev": true + }, + "binaryextensions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-1.0.1.tgz", + "integrity": "sha1-HmN0iLNbWL2l9HdL+WpSEqjJB1U=", + "dev": true + }, + "bindings": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", + "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.2", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "1.6.16" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } + } + } + }, + "bole": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/bole/-/bole-3.0.2.tgz", + "integrity": "sha1-vIpIPKlASdqbg3wa0Rzf6+5uBRQ=", + "dev": true, + "requires": { + "fast-safe-stringify": "1.1.13", + "individual": "3.0.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "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==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.3", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", + "dev": true + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "1.2.0", + "browserify-des": "1.0.2", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "browserify-mime": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/browserify-mime/-/browserify-mime-1.2.9.tgz", + "integrity": "sha1-rrGvKN5sDXpqLOQK22j/GEIq8x8=", + "dev": true + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.1.0" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.1", + "inherits": "2.0.3", + "parse-asn1": "5.1.4" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "1.0.10" + } + }, + "browserslist": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.5.1.tgz", + "integrity": "sha512-/pPw5IAUyqaQXGuD5vS8tcbudyPZ241jk1W5pQBsGDfcjNQt7p8qxZhgMNuygDShte1PibLFexecWUPgmVLfrg==", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000950", + "electron-to-chromium": "1.3.116", + "node-releases": "1.1.11" + } + }, + "bser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", + "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", + "dev": true, + "requires": { + "node-int64": "0.4.0" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "1.3.0", + "ieee754": "1.1.12", + "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "2.3.2", + "upper-case": "1.1.3" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000950", + "lodash.memoize": "4.1.2", + "lodash.uniq": "4.5.0" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000950", + "electron-to-chromium": "1.3.116" + } + } + } + }, + "caniuse-db": { + "version": "1.0.30000950", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000950.tgz", + "integrity": "sha512-mS/KbErOeYOVF8W4GdMmHAyNm9p4XGXLP4Nde75b1uadwzUr+dFd0RCVheQIB8+yKs1PGW73Bnejch0G1s0FvQ==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30000950", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000950.tgz", + "integrity": "sha512-Cs+4U9T0okW2ftBsCIHuEYXXkki7mjXmjCh4c6PzYShk04qDEr76/iC7KwhLoWoY65wcra1XOsRD+S7BptEb5A==", + "dev": true + }, + "capture-exit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", + "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", + "dev": true, + "requires": { + "rsvp": "3.6.2" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cheerio": { + "version": "1.0.0-rc.2", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", + "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", + "dev": true, + "requires": { + "css-select": "1.2.0", + "dom-serializer": "0.1.1", + "entities": "1.1.2", + "htmlparser2": "3.10.1", + "lodash": "4.17.11", + "parse5": "3.0.3" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "dev": true, + "requires": { + "@types/node": "8.5.8" + } + } + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.2.1" + }, + "dependencies": { + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.3" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + } + } + }, + "chownr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "dev": true + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "requires": { + "chalk": "1.1.3" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "dev": true, + "requires": { + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", + "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "process-nextick-args": "2.0.0", + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true, + "requires": { + "q": "1.5.1" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "dev": true, + "requires": { + "clone": "1.0.4", + "color-convert": "1.9.3", + "color-string": "0.3.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==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "dev": true, + "requires": { + "color": "0.11.4", + "css-color-names": "0.0.4", + "has": "1.0.3" + } + }, + "colors": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz", + "integrity": "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==", + "dev": true + }, + "combined-stream": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "1.3.2", + "utils-merge": "1.0.1" + }, + "dependencies": { + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" + } + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + } + } + }, + "connect-livereload": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz", + "integrity": "sha1-gBV9E3HJ83zBQDmrGJWXDRGdw7w=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cpx": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/cpx/-/cpx-1.5.0.tgz", + "integrity": "sha1-GFvgGFEdhycN7czCkxceN2VauI8=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "chokidar": "1.7.0", + "duplexer": "0.1.1", + "glob": "7.1.3", + "glob2base": "0.0.12", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "resolve": "1.10.0", + "safe-buffer": "5.1.2", + "shell-quote": "1.6.1", + "subarg": "1.0.0" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.1" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.5", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.5", + "shebang-command": "1.2.0", + "which": "1.3.1" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.17", + "public-encrypt": "4.0.3", + "randombytes": "2.1.0", + "randomfill": "1.0.4" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-loader": { + "version": "0.28.11", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", + "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "css-selector-tokenizer": "0.7.1", + "cssnano": "3.10.0", + "icss-utils": "2.1.0", + "loader-utils": "1.2.3", + "lodash.camelcase": "4.3.0", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-modules-extract-imports": "1.2.1", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0", + "postcss-value-parser": "3.3.1", + "source-list-map": "2.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "5.2.2", + "emojis-list": "2.1.0", + "json5": "1.0.1" + } + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "dev": true, + "requires": { + "postcss": "6.0.23" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "css-modules-loader-core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", + "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=", + "dev": true, + "requires": { + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.1", + "postcss-modules-extract-imports": "1.1.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", + "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "1.0.0", + "css-what": "2.1.3", + "domutils": "1.5.1", + "nth-check": "1.0.2" + } + }, + "css-selector-tokenizer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", + "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", + "dev": true, + "requires": { + "cssesc": "0.1.0", + "fastparse": "1.1.2", + "regexpu-core": "1.0.0" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true + }, + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "dev": true, + "requires": { + "autoprefixer": "6.7.7", + "decamelize": "1.2.0", + "defined": "1.0.0", + "has": "1.0.3", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-calc": "5.3.1", + "postcss-colormin": "2.2.2", + "postcss-convert-values": "2.6.1", + "postcss-discard-comments": "2.0.4", + "postcss-discard-duplicates": "2.1.0", + "postcss-discard-empty": "2.1.0", + "postcss-discard-overridden": "0.1.1", + "postcss-discard-unused": "2.2.3", + "postcss-filter-plugins": "2.0.3", + "postcss-merge-idents": "2.1.7", + "postcss-merge-longhand": "2.0.2", + "postcss-merge-rules": "2.1.2", + "postcss-minify-font-values": "1.0.5", + "postcss-minify-gradients": "1.0.5", + "postcss-minify-params": "1.2.2", + "postcss-minify-selectors": "2.1.1", + "postcss-normalize-charset": "1.1.1", + "postcss-normalize-url": "3.0.8", + "postcss-ordered-values": "2.2.3", + "postcss-reduce-idents": "2.4.0", + "postcss-reduce-initial": "1.0.1", + "postcss-reduce-transforms": "1.0.4", + "postcss-svgo": "2.1.6", + "postcss-unique-selectors": "2.0.2", + "postcss-value-parser": "3.3.1", + "postcss-zindex": "2.2.0" + }, + "dependencies": { + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000950", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + } + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000950", + "electron-to-chromium": "1.3.116" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true, + "requires": { + "clap": "1.2.3", + "source-map": "0.5.7" + } + }, + "cssom": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz", + "integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==", + "dev": true + }, + "cssstyle": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.3.1.tgz", + "integrity": "sha512-tNvaxM5blOnxanyxI6panOsnfiyLRj3HV4qjqqS45WPNS1usdYWRUQjqTEEELK73lpeP/1KoIGYUwrBn/VcECA==", + "dev": true, + "requires": { + "cssom": "0.3.6" + } + }, + "csstype": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.3.tgz", + "integrity": "sha512-rINUZXOkcBmoHWEyu7JdHu5JMzkGRoMX4ov9830WNgxf5UYxcBUO0QTKAqeJ5EZfSdlrcJYkC8WwfVW7JYi4yg==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "0.10.49" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "requires": { + "abab": "2.0.0", + "whatwg-mimetype": "2.3.0", + "whatwg-url": "7.0.0" + }, + "dependencies": { + "abab": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", + "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", + "dev": true + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "2.1.1" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "dev": true, + "requires": { + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" + } + } + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "dateformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", + "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", + "dev": true + }, + "deasync": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.14.tgz", + "integrity": "sha512-wN8sIuEqIwyQh72AG7oY6YQODCxIp1eXzEZlZznBuwDF8Q03Tdy9QNp1BNZXeadXoklNrw+Ip1fch+KXo/+ASw==", + "dev": true, + "requires": { + "bindings": "1.2.1", + "node-addon-api": "1.6.2" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "debuglog": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decomment": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/decomment/-/decomment-0.9.2.tgz", + "integrity": "sha512-sblyUmOJZxiL7oJ2ogJS6jtl/67+CTOW87SrYE/96u3PhDYikYoLCdLzcnceToiQejOLlqNnLCkaxx/+nE/ehg==", + "dev": true, + "requires": { + "esprima": "4.0.1" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "dev": true, + "requires": { + "strip-bom": "2.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + } + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "1.0.4" + } + }, + "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.1.0" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.5.4" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "deprecated": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", + "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true + }, + "dezalgo": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", + "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "dev": true, + "requires": { + "asap": "2.0.6", + "wrappy": "1.0.2" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.1.0" + } + }, + "discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", + "dev": true + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "dev": true, + "requires": { + "domelementtype": "1.3.1", + "entities": "1.1.2" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "4.0.2" + }, + "dependencies": { + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + } + } + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1.3.1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0.1.1", + "domelementtype": "1.3.1" + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "1.1.14" + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "1.1.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.116", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.116.tgz", + "integrity": "sha512-NKwKAXzur5vFCZYBHpdWjTMO8QptNLNP80nItkSIgUOapPAo9Uia+RvkCaZJtO7fhQaVElSvBPWEc2ku6cKsPA==", + "dev": true + }, + "elliptic": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.7", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "end-of-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", + "integrity": "sha1-6TUyWLqpEIll78QcsO+K3i88+wc=", + "dev": true, + "requires": { + "once": "1.3.3" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + } + } + }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.9" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "enzyme": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.8.0.tgz", + "integrity": "sha512-bfsWo5nHyZm1O1vnIsbwdfhU989jk+squU9NKvB+Puwo5j6/Wg9pN5CO0YJelm98Dao3NPjkDZk+vvgwpMwYxw==", + "dev": true, + "requires": { + "array.prototype.flat": "1.2.1", + "cheerio": "1.0.0-rc.2", + "function.prototype.name": "1.1.0", + "has": "1.0.3", + "is-boolean-object": "1.0.0", + "is-callable": "1.1.4", + "is-number-object": "1.0.3", + "is-string": "1.0.4", + "is-subset": "0.1.1", + "lodash.escape": "4.0.1", + "lodash.isequal": "4.5.0", + "object-inspect": "1.6.0", + "object-is": "1.0.1", + "object.assign": "4.1.0", + "object.entries": "1.1.0", + "object.values": "1.1.0", + "raf": "3.4.1", + "rst-selector-parser": "2.2.3", + "string.prototype.trim": "1.1.2" + }, + "dependencies": { + "lodash.escape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", + "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=", + "dev": true + } + } + }, + "enzyme-adapter-react-16.3": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16.3/-/enzyme-adapter-react-16.3-1.6.1.tgz", + "integrity": "sha512-2ePsRtvoaJdnkvvtvdQHcr1NedDXo/WKKuqHJYT9BkDKCFfqOvzEiL+KTW6jW1Z6g6ZTj6XvkjRIE82I/eR+SQ==", + "requires": { + "enzyme-adapter-utils": "1.10.0", + "function.prototype.name": "1.1.0", + "object.assign": "4.1.0", + "object.values": "1.1.0", + "prop-types": "15.7.2", + "react-is": "16.8.2", + "react-reconciler": "0.7.0", + "react-test-renderer": "16.3.2" + }, + "dependencies": { + "react-test-renderer": { + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.3.2.tgz", + "integrity": "sha512-lL8WHIpCTMdSe+CRkt0rfMxBkJFyhVrpdQ54BaJRIrXf9aVmbeHbRA8GFRpTvohPN5tPzMabmrzW2PUfWCfWwQ==", + "requires": { + "fbjs": "0.8.17", + "object-assign": "4.1.1", + "prop-types": "15.7.2", + "react-is": "16.8.2" + } + } + } + }, + "enzyme-adapter-utils": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.10.0.tgz", + "integrity": "sha512-VnIXJDYVTzKGbdW+lgK8MQmYHJquTQZiGzu/AseCZ7eHtOMAj4Rtvk8ZRopodkfPves0EXaHkXBDkVhPa3t0jA==", + "requires": { + "function.prototype.name": "1.1.0", + "object.assign": "4.1.0", + "object.fromentries": "2.0.0", + "prop-types": "15.7.2", + "semver": "5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + } + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es-abstract": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", + "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "requires": { + "es-to-primitive": "1.2.0", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.4", + "is-regex": "1.0.4", + "object-keys": "1.1.0" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "requires": { + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.0.2" + } + }, + "es5-ext": { + "version": "0.10.49", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.49.tgz", + "integrity": "sha512-3NMEhi57E31qdzmYp2jwRArIUsj1HI/RxbQ4bgnSB+AIKIxsAmTiK83bYMifIcpWvEc3P1X30DhUKOqEtF/kvg==", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" + } + }, + "es6-collections": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/es6-collections/-/es6-collections-0.5.6.tgz", + "integrity": "sha1-VVLoAK0SwYIM2ivUp5rn27A9iaI=" + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.49", + "es6-symbol": "3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.49", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-promise": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz", + "integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "4.2.6" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.49", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.49" + } + }, + "es6-templates": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", + "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=", + "dev": true, + "requires": { + "recast": "0.11.23", + "through": "2.3.8" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.49", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", + "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", + "dev": true, + "requires": { + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.49" + } + }, + "event-stream": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.5.tgz", + "integrity": "sha512-vyibDcu5JL20Me1fP734QBH/kenBGLZap2n0+XXM7mvuUPzJ20Ydqj1aKcIeMdri1p+PU+4yAKugjN8KCVst+g==", + "dev": true, + "requires": { + "duplexer": "0.1.1", + "from": "0.1.7", + "map-stream": "0.0.7", + "pause-stream": "0.0.11", + "split": "1.0.1", + "stream-combiner": "0.2.2", + "through": "2.3.8" + } + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "1.3.5", + "safe-buffer": "5.1.2" + } + }, + "exec-sh": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "dev": true, + "requires": { + "merge": "1.2.1" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.4" + }, + "dependencies": { + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.1.1", + "repeat-element": "1.1.3", + "repeat-string": "1.6.1" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "1.0.1" + } + }, + "expect": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/expect/-/expect-22.4.3.tgz", + "integrity": "sha512-XcNXEPehqn8b/jm8FYotdX0YrXn36qp4HWlrVT4ktwQas1l1LPxiVWncYnnL2eyMtKAmVIaG0XAp0QlrqJaxaA==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "jest-diff": "22.4.3", + "jest-get-type": "22.4.3", + "jest-matcher-utils": "22.4.3", + "jest-message-util": "22.4.3", + "jest-regex-util": "22.4.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + } + } + }, + "express": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", + "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "dev": true, + "requires": { + "accepts": "1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.3", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "2.0.4", + "qs": "6.5.2", + "range-parser": "1.2.0", + "safe-buffer": "5.1.2", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "1.4.0", + "type-is": "1.6.16", + "utils-merge": "1.0.1", + "vary": "1.1.2" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", + "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", + "dev": true, + "requires": { + "chardet": "0.7.0", + "iconv-lite": "0.4.24", + "tmp": "0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "requires": { + "ansi-gray": "0.1.1", + "color-support": "1.1.3", + "parse-node-version": "1.0.1", + "time-stamp": "1.1.0" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fast-safe-stringify": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-1.1.13.tgz", + "integrity": "sha1-oB6c2cnkkXFcmKdaQtXwu9EH/3Y=", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + }, + "fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "dev": true, + "requires": { + "bser": "2.0.0" + } + }, + "fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "requires": { + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.19" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "file-loader": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "dev": true, + "requires": { + "loader-utils": "1.2.3", + "schema-utils": "0.4.7" + }, + "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "5.2.2", + "emojis-list": "2.1.0", + "json5": "1.0.1" + } + } + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fileset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", + "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "dev": true, + "requires": { + "glob": "7.1.3", + "minimatch": "3.0.4" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.4.0", + "unpipe": "1.0.0" + } + }, + "find-index": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", + "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "1.0.0", + "is-glob": "3.1.0", + "micromatch": "3.1.10", + "resolve-dir": "1.0.1" + } + }, + "fined": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.1.tgz", + "integrity": "sha512-jQp949ZmEbiYHk3gkbdtpJ0G1+kgtLQBNdP5edFP7Fh+WAYceLQz6yO1SBj72Xkg8GVyTB3bBzAYrHJVh5Xd5g==", + "dev": true, + "requires": { + "expand-tilde": "2.0.2", + "is-plain-object": "2.0.4", + "object.defaults": "1.1.0", + "object.pick": "1.3.0", + "parse-filepath": "1.0.2" + } + }, + "first-chunk-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", + "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", + "dev": true + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "fork-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz", + "integrity": "sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.7", + "mime-types": "2.1.22" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + }, + "fs-minipass": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "dev": true, + "requires": { + "minipass": "2.3.5" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.5.4" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.0.tgz", + "integrity": "sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==", + "requires": { + "define-properties": "1.1.3", + "function-bind": "1.1.1", + "is-callable": "1.1.4" + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.3" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "gaze": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", + "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", + "dev": true, + "requires": { + "globule": "0.1.0" + } + }, + "generic-names": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-1.0.3.tgz", + "integrity": "sha1-LXhqEhruUIh2eWk56OO/+DbCCRc=", + "dev": true, + "requires": { + "loader-utils": "0.2.17" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "git-repo-info": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-1.1.4.tgz", + "integrity": "sha1-E0n6OIinZh6h/2OgR8L/Q7PglgI=", + "dev": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "glob-escape": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/glob-escape/-/glob-escape-0.0.2.tgz", + "integrity": "sha1-nCf3gh7RwTd1gvPv2VWOP2dWKO0=", + "dev": true + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "glob-stream": { + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", + "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", + "dev": true, + "requires": { + "glob": "4.5.3", + "glob2base": "0.0.12", + "minimatch": "2.0.10", + "ordered-read-streams": "0.1.0", + "through2": "0.6.5", + "unique-stream": "1.0.0" + }, + "dependencies": { + "glob": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "2.0.10", + "once": "1.4.0" + } + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "4.0.1" + } + } + } + }, + "glob-watcher": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", + "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", + "dev": true, + "requires": { + "gaze": "0.5.2" + } + }, + "glob2base": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", + "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", + "dev": true, + "requires": { + "find-index": "0.1.1" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "1.0.2", + "is-windows": "1.0.2", + "resolve-dir": "1.0.1" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "2.0.2", + "homedir-polyfill": "1.0.1", + "ini": "1.3.5", + "is-windows": "1.0.2", + "which": "1.3.1" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.3", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "globule": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", + "dev": true, + "requires": { + "glob": "3.1.21", + "lodash": "1.0.2", + "minimatch": "0.2.14" + }, + "dependencies": { + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", + "dev": true, + "requires": { + "graceful-fs": "1.2.3", + "inherits": "1.0.2", + "minimatch": "0.2.14" + } + }, + "graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", + "dev": true + }, + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", + "dev": true + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "dev": true, + "requires": { + "lru-cache": "2.7.3", + "sigmund": "1.0.1" + } + } + } + }, + "glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "requires": { + "sparkles": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "gulp": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", + "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", + "dev": true, + "requires": { + "archy": "1.0.0", + "chalk": "1.1.3", + "deprecated": "0.0.1", + "gulp-util": "3.0.8", + "interpret": "1.2.0", + "liftoff": "2.5.0", + "minimist": "1.2.0", + "orchestrator": "0.3.8", + "pretty-hrtime": "1.0.3", + "semver": "4.3.6", + "tildify": "1.2.0", + "v8flags": "2.1.1", + "vinyl-fs": "0.3.14" + }, + "dependencies": { + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + } + } + }, + "gulp-connect": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/gulp-connect/-/gulp-connect-5.5.0.tgz", + "integrity": "sha512-oRBLjw/4EVaZb8g8OcxOVdGD8ZXYrRiWKcNxlrGjxb/6Cp0GDdqw7ieX7D8xJrQS7sbXT+G94u63pMJF3MMjQA==", + "dev": true, + "requires": { + "ansi-colors": "1.1.0", + "connect": "3.6.6", + "connect-livereload": "0.5.4", + "event-stream": "3.3.5", + "fancy-log": "1.3.3", + "send": "0.13.2", + "serve-index": "1.9.1", + "serve-static": "1.13.2", + "tiny-lr": "0.2.1" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "etag": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz", + "integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg=", + "dev": true + }, + "fresh": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", + "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=", + "dev": true + }, + "http-errors": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", + "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "statuses": "1.4.0" + } + }, + "mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", + "dev": true + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + }, + "range-parser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz", + "integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU=", + "dev": true + }, + "send": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz", + "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=", + "dev": true, + "requires": { + "debug": "2.2.0", + "depd": "1.1.2", + "destroy": "1.0.4", + "escape-html": "1.0.3", + "etag": "1.7.0", + "fresh": "0.3.0", + "http-errors": "1.3.1", + "mime": "1.3.4", + "ms": "0.7.1", + "on-finished": "2.3.0", + "range-parser": "1.0.3", + "statuses": "1.2.1" + }, + "dependencies": { + "statuses": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz", + "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg=", + "dev": true + } + } + } + } + }, + "gulp-flatten": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/gulp-flatten/-/gulp-flatten-0.2.0.tgz", + "integrity": "sha1-iS1RfjjXkA/UVM+aHgIQMA6S6wY=", + "dev": true, + "requires": { + "gulp-util": "3.0.8", + "through2": "2.0.5" + } + }, + "gulp-if": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-2.0.2.tgz", + "integrity": "sha1-pJe351cwBQQcqivIt92jyARE1ik=", + "dev": true, + "requires": { + "gulp-match": "1.0.3", + "ternary-stream": "2.0.1", + "through2": "2.0.5" + } + }, + "gulp-match": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.0.3.tgz", + "integrity": "sha1-kcfA1/Kb7NZgbVfYCn+Hdqh6uo4=", + "dev": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "gulp-open": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/gulp-open/-/gulp-open-3.0.1.tgz", + "integrity": "sha512-dohokw+npnt48AsD0hhvCLEHLnDMqM35F+amvIfJlX1H2nNHYUClR0Oy1rI0TvbL1/pHiHGNLmohhk+kvwIKjA==", + "dev": true, + "requires": { + "colors": "1.2.5", + "opn": "5.2.0", + "plugin-log": "0.1.0", + "through2": "2.0.5" + } + }, + "gulp-replace": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-0.5.4.tgz", + "integrity": "sha1-aaZ5FLvRPFYr/xT1BKQDeWqg2qk=", + "dev": true, + "requires": { + "istextorbinary": "1.0.2", + "readable-stream": "2.3.6", + "replacestream": "4.0.3" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "gulp-util": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", + "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-uniq": "1.0.3", + "beeper": "1.1.1", + "chalk": "1.1.3", + "dateformat": "2.2.0", + "fancy-log": "1.3.3", + "gulplog": "1.0.0", + "has-gulplog": "0.1.0", + "lodash._reescape": "3.0.0", + "lodash._reevaluate": "3.0.0", + "lodash._reinterpolate": "3.0.0", + "lodash.template": "3.6.2", + "minimist": "1.2.0", + "multipipe": "0.1.2", + "object-assign": "3.0.0", + "replace-ext": "0.0.1", + "through2": "2.0.5", + "vinyl": "0.5.3" + }, + "dependencies": { + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "1.0.4", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "1.0.2" + } + }, + "handlebars": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.0.tgz", + "integrity": "sha512-l2jRuU1NAWK6AW5qqcTATWQJvNPEwkM7NEKSiv/gqOsoSQbVoWyqVEY5GS+XPQ88zLNmqASRpzfdm8d79hJS+w==", + "dev": true, + "requires": { + "async": "2.6.2", + "optimist": "0.6.1", + "source-map": "0.6.1", + "uglify-js": "3.4.9" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "6.9.1", + "har-schema": "2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.1.tgz", + "integrity": "sha512-XDN92U311aINL77ieWHmqCcNlwjoP5cHXDxIxbf2MaPYuCXOHS7gHH8jktxeK5omgd52XbSTX6a4Piwd1pQmzA==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + } + } + }, + "harmony-reflect": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.1.tgz", + "integrity": "sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "1.0.1" + } + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "1.1.7", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "homedir-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", + "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "dev": true, + "requires": { + "parse-passwd": "1.0.0" + } + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "1.0.5" + } + }, + "html-loader": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.5.5.tgz", + "integrity": "sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog==", + "dev": true, + "requires": { + "es6-templates": "0.2.3", + "fastparse": "1.1.2", + "html-minifier": "3.5.21", + "loader-utils": "1.2.3", + "object-assign": "4.1.1" + }, + "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "5.2.2", + "emojis-list": "2.1.0", + "json5": "1.0.1" + } + } + } + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.0", + "clean-css": "4.2.1", + "commander": "2.17.1", + "he": "1.2.0", + "param-case": "2.1.1", + "relateurl": "0.2.7", + "uglify-js": "3.4.9" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "1.3.1", + "domhandler": "2.4.2", + "domutils": "1.5.1", + "entities": "1.1.2", + "inherits": "2.0.3", + "readable-stream": "3.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.2.0.tgz", + "integrity": "sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "string_decoder": "1.2.0", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", + "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": "1.4.0" + } + }, + "http-parser-js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", + "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.16.1" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "dev": true, + "requires": { + "agent-base": "4.2.1", + "debug": "3.2.6" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "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" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "requires": { + "postcss": "6.0.23" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=", + "dev": true, + "requires": { + "harmony-reflect": "1.6.1" + } + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "dev": true + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "requires": { + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "individual": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/individual/-/individual-3.0.0.tgz", + "integrity": "sha1-58pPhfiVewGHNPKFdQ3CLsL5hi0=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inpath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inpath/-/inpath-1.0.2.tgz", + "integrity": "sha1-SsIZcQ7Hpy9GD/lL9CTdPvDlKBc=", + "dev": true + }, + "inquirer": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz", + "integrity": "sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==", + "dev": true, + "requires": { + "ansi-escapes": "3.2.0", + "chalk": "2.4.2", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "3.0.3", + "figures": "2.0.0", + "lodash": "4.17.11", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rxjs": "6.4.0", + "string-width": "2.1.1", + "strip-ansi": "5.2.0", + "through": "2.3.8" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "4.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==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "1.4.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ipaddr.js": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "1.0.0", + "is-windows": "1.0.2" + } + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.13.0" + } + }, + "is-boolean-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz", + "integrity": "sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M=", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "1.6.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-generator-fn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", + "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-number-object": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.3.tgz", + "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=", + "dev": true + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "1.0.1" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "3.0.1" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "1.0.3" + } + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "1.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-string": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz", + "integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=", + "dev": true + }, + "is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", + "dev": true + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "dev": true, + "requires": { + "html-comment-regex": "1.1.2" + } + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "requires": { + "has-symbols": "1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "1.7.3", + "whatwg-fetch": "3.0.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-api": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz", + "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", + "dev": true, + "requires": { + "async": "2.6.2", + "fileset": "2.0.3", + "istanbul-lib-coverage": "1.2.1", + "istanbul-lib-hook": "1.2.2", + "istanbul-lib-instrument": "1.10.2", + "istanbul-lib-report": "1.1.5", + "istanbul-lib-source-maps": "1.2.6", + "istanbul-reports": "1.5.1", + "js-yaml": "3.12.1", + "mkdirp": "0.5.1", + "once": "1.4.0" + } + }, + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", + "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", + "dev": true, + "requires": { + "append-transform": "0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "dev": true, + "requires": { + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.1", + "semver": "5.3.0" + } + }, + "istanbul-lib-report": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", + "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "1.2.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.6", + "supports-color": "3.2.3" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", + "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", + "dev": true, + "requires": { + "debug": "3.2.6", + "istanbul-lib-coverage": "1.2.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.3", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "7.1.3" + } + } + } + }, + "istanbul-reports": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", + "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", + "dev": true, + "requires": { + "handlebars": "4.1.0" + } + }, + "istextorbinary": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-1.0.2.tgz", + "integrity": "sha1-rOGTVNGpoBc+/rEITOD4ewrX3s8=", + "dev": true, + "requires": { + "binaryextensions": "1.0.1", + "textextensions": "1.0.2" + } + }, + "jest": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-22.4.3.tgz", + "integrity": "sha512-FFCdU/pXOEASfHxFDOWUysI/+FFoqiXJADEIXgDKuZyqSmBD3tZ4BEGH7+M79v7czj7bbkhwtd2LaEDcJiM/GQ==", + "dev": true, + "requires": { + "import-local": "1.0.0", + "jest-cli": "22.4.4" + } + }, + "jest-changed-files": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-22.4.3.tgz", + "integrity": "sha512-83Dh0w1aSkUNFhy5d2dvqWxi/y6weDwVVLU6vmK0cV9VpRxPzhTeGimbsbRDSnEoszhF937M4sDLLeS7Cu/Tmw==", + "dev": true, + "requires": { + "throat": "4.1.0" + } + }, + "jest-cli": { + "version": "22.4.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-22.4.4.tgz", + "integrity": "sha512-I9dsgkeyjVEEZj9wrGrqlH+8OlNob9Iptyl+6L5+ToOLJmHm4JwOPatin1b2Bzp5R5YRQJ+oiedx7o1H7wJzhA==", + "dev": true, + "requires": { + "ansi-escapes": "3.2.0", + "chalk": "2.4.2", + "exit": "0.1.2", + "glob": "7.1.3", + "graceful-fs": "4.1.15", + "import-local": "1.0.0", + "is-ci": "1.2.1", + "istanbul-api": "1.3.7", + "istanbul-lib-coverage": "1.2.1", + "istanbul-lib-instrument": "1.10.2", + "istanbul-lib-source-maps": "1.2.6", + "jest-changed-files": "22.4.3", + "jest-config": "22.4.4", + "jest-environment-jsdom": "22.4.3", + "jest-get-type": "22.4.3", + "jest-haste-map": "22.4.3", + "jest-message-util": "22.4.3", + "jest-regex-util": "22.4.3", + "jest-resolve-dependencies": "22.4.3", + "jest-runner": "22.4.4", + "jest-runtime": "22.4.4", + "jest-snapshot": "22.4.3", + "jest-util": "22.4.3", + "jest-validate": "22.4.4", + "jest-worker": "22.4.3", + "micromatch": "2.3.11", + "node-notifier": "5.4.0", + "realpath-native": "1.1.0", + "rimraf": "2.5.4", + "slash": "1.0.0", + "string-length": "2.0.0", + "strip-ansi": "4.0.0", + "which": "1.3.1", + "yargs": "10.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "node-notifier": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.0.tgz", + "integrity": "sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ==", + "dev": true, + "requires": { + "growly": "1.3.0", + "is-wsl": "1.1.0", + "semver": "5.6.0", + "shellwords": "0.1.1", + "which": "1.3.1" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "yargs": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz", + "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==", + "dev": true, + "requires": { + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.1.0" + } + } + } + }, + "jest-config": { + "version": "22.4.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-22.4.4.tgz", + "integrity": "sha512-9CKfo1GC4zrXSoMLcNeDvQBfgtqGTB1uP8iDIZ97oB26RCUb886KkKWhVcpyxVDOUxbhN+uzcBCeFe7w+Iem4A==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "glob": "7.1.3", + "jest-environment-jsdom": "22.4.3", + "jest-environment-node": "22.4.3", + "jest-get-type": "22.4.3", + "jest-jasmine2": "22.4.4", + "jest-regex-util": "22.4.3", + "jest-resolve": "22.4.3", + "jest-util": "22.4.3", + "jest-validate": "22.4.4", + "pretty-format": "22.4.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-diff": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-22.4.3.tgz", + "integrity": "sha512-/QqGvCDP5oZOF6PebDuLwrB2BMD8ffJv6TAGAdEVuDx1+uEgrHpSFrfrOiMRx2eJ1hgNjlQrOQEHetVwij90KA==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "diff": "3.5.0", + "jest-get-type": "22.4.3", + "pretty-format": "22.4.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-docblock": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-22.4.3.tgz", + "integrity": "sha512-uPKBEAw7YrEMcXueMKZXn/rbMxBiSv48fSqy3uEnmgOlQhSX+lthBqHb1fKWNVmFqAp9E/RsSdBfiV31LbzaOg==", + "dev": true, + "requires": { + "detect-newline": "2.1.0" + } + }, + "jest-each": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-23.6.0.tgz", + "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "pretty-format": "23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "dev": true, + "requires": { + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz", + "integrity": "sha512-FviwfR+VyT3Datf13+ULjIMO5CSeajlayhhYQwpzgunswoaLIPutdbrnfUHEMyJCwvqQFaVtTmn9+Y8WCt6n1w==", + "dev": true, + "requires": { + "jest-mock": "22.4.3", + "jest-util": "22.4.3", + "jsdom": "11.11.0" + } + }, + "jest-environment-node": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-22.4.3.tgz", + "integrity": "sha512-reZl8XF6t/lMEuPWwo9OLfttyC26A5AMgDyEQ6DBgZuyfyeNUzYT8BFo6uxCCP/Av/b7eb9fTi3sIHFPBzmlRA==", + "dev": true, + "requires": { + "jest-mock": "22.4.3", + "jest-util": "22.4.3" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", + "dev": true + }, + "jest-haste-map": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-22.4.3.tgz", + "integrity": "sha512-4Q9fjzuPVwnaqGKDpIsCSoTSnG3cteyk2oNVjBX12HHOaF1oxql+uUiqZb5Ndu7g/vTZfdNwwy4WwYogLh29DQ==", + "dev": true, + "requires": { + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.15", + "jest-docblock": "22.4.3", + "jest-serializer": "22.4.3", + "jest-worker": "22.4.3", + "micromatch": "2.3.11", + "sane": "2.5.2" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.3" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + } + } + }, + "jest-jasmine2": { + "version": "22.4.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-22.4.4.tgz", + "integrity": "sha512-nK3vdUl50MuH7vj/8at7EQVjPGWCi3d5+6aCi7Gxy/XMWdOdbH1qtO/LjKbqD8+8dUAEH+BVVh7HkjpCWC1CSw==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "co": "4.6.0", + "expect": "22.4.3", + "graceful-fs": "4.1.15", + "is-generator-fn": "1.0.0", + "jest-diff": "22.4.3", + "jest-matcher-utils": "22.4.3", + "jest-message-util": "22.4.3", + "jest-snapshot": "22.4.3", + "jest-util": "22.4.3", + "source-map-support": "0.5.10" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-junit": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-5.2.0.tgz", + "integrity": "sha512-Mdg0Qpdh1Xm/FA1B/mcLlmEmlr3XzH5pZg7MvcAwZhjHijPRd1z/UwYwkwNHmCV7o4ZOWCf77nLu7ZkhHHrtJg==", + "dev": true, + "requires": { + "jest-config": "23.6.0", + "jest-validate": "23.6.0", + "mkdirp": "0.5.1", + "strip-ansi": "4.0.0", + "xml": "1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "babel-jest": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.6.0.tgz", + "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", + "dev": true, + "requires": { + "babel-plugin-istanbul": "4.1.6", + "babel-preset-jest": "23.2.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz", + "integrity": "sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=", + "dev": true + }, + "babel-preset-jest": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz", + "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "23.2.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expect": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-23.6.0.tgz", + "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "jest-diff": "23.6.0", + "jest-get-type": "22.4.3", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "jest-config": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-23.6.0.tgz", + "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-jest": "23.6.0", + "chalk": "2.4.2", + "glob": "7.1.3", + "jest-environment-jsdom": "23.4.0", + "jest-environment-node": "23.4.0", + "jest-get-type": "22.4.3", + "jest-jasmine2": "23.6.0", + "jest-regex-util": "23.3.0", + "jest-resolve": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "micromatch": "2.3.11", + "pretty-format": "23.6.0" + } + }, + "jest-diff": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz", + "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "diff": "3.5.0", + "jest-get-type": "22.4.3", + "pretty-format": "23.6.0" + } + }, + "jest-environment-jsdom": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz", + "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", + "dev": true, + "requires": { + "jest-mock": "23.2.0", + "jest-util": "23.4.0", + "jsdom": "11.11.0" + } + }, + "jest-environment-node": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-23.4.0.tgz", + "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", + "dev": true, + "requires": { + "jest-mock": "23.2.0", + "jest-util": "23.4.0" + } + }, + "jest-jasmine2": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz", + "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", + "dev": true, + "requires": { + "babel-traverse": "6.26.0", + "chalk": "2.4.2", + "co": "4.6.0", + "expect": "23.6.0", + "is-generator-fn": "1.0.0", + "jest-diff": "23.6.0", + "jest-each": "23.6.0", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "pretty-format": "23.6.0" + } + }, + "jest-matcher-utils": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz", + "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "jest-get-type": "22.4.3", + "pretty-format": "23.6.0" + } + }, + "jest-message-util": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", + "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0", + "chalk": "2.4.2", + "micromatch": "2.3.11", + "slash": "1.0.0", + "stack-utils": "1.0.2" + } + }, + "jest-mock": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-23.2.0.tgz", + "integrity": "sha1-rRxg8p6HGdR8JuETgJi20YsmETQ=", + "dev": true + }, + "jest-regex-util": { + "version": "23.3.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-23.3.0.tgz", + "integrity": "sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U=", + "dev": true + }, + "jest-resolve": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.6.0.tgz", + "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", + "dev": true, + "requires": { + "browser-resolve": "1.11.3", + "chalk": "2.4.2", + "realpath-native": "1.1.0" + } + }, + "jest-snapshot": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.6.0.tgz", + "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", + "dev": true, + "requires": { + "babel-types": "6.26.0", + "chalk": "2.4.2", + "jest-diff": "23.6.0", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-resolve": "23.6.0", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "pretty-format": "23.6.0", + "semver": "5.6.0" + } + }, + "jest-util": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz", + "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", + "dev": true, + "requires": { + "callsites": "2.0.0", + "chalk": "2.4.2", + "graceful-fs": "4.1.15", + "is-ci": "1.2.1", + "jest-message-util": "23.4.0", + "mkdirp": "0.5.1", + "slash": "1.0.0", + "source-map": "0.6.1" + } + }, + "jest-validate": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.6.0.tgz", + "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "jest-get-type": "22.4.3", + "leven": "2.1.0", + "pretty-format": "23.6.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "dev": true, + "requires": { + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz", + "integrity": "sha512-NZpR/Ls7+ndO57LuXROdgCGz2RmUdC541tTImL9bdUtU3WadgFGm0yV+Ok4Fuia/1rLAn5KaJ+i76L6e3zGJYQ==", + "dev": true, + "requires": { + "pretty-format": "22.4.3" + } + }, + "jest-matcher-utils": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz", + "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "jest-get-type": "22.4.3", + "pretty-format": "22.4.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-message-util": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-22.4.3.tgz", + "integrity": "sha512-iAMeKxhB3Se5xkSjU0NndLLCHtP4n+GtCqV0bISKA5dmOXQfEbdEmYiu2qpnWBDCQdEafNDDU6Q+l6oBMd/+BA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0", + "chalk": "2.4.2", + "micromatch": "2.3.11", + "slash": "1.0.0", + "stack-utils": "1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-mock": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-22.4.3.tgz", + "integrity": "sha512-+4R6mH5M1G4NK16CKg9N1DtCaFmuxhcIqF4lQK/Q1CIotqMs/XBemfpDPeVZBFow6iyUNu6EBT9ugdNOTT5o5Q==", + "dev": true + }, + "jest-regex-util": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-22.4.3.tgz", + "integrity": "sha512-LFg1gWr3QinIjb8j833bq7jtQopiwdAs67OGfkPrvy7uNUbVMfTXXcOKXJaeY5GgjobELkKvKENqq1xrUectWg==", + "dev": true + }, + "jest-resolve": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-22.4.3.tgz", + "integrity": "sha512-u3BkD/MQBmwrOJDzDIaxpyqTxYH+XqAXzVJP51gt29H8jpj3QgKof5GGO2uPGKGeA1yTMlpbMs1gIQ6U4vcRhw==", + "dev": true, + "requires": { + "browser-resolve": "1.11.3", + "chalk": "2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz", + "integrity": "sha512-06czCMVToSN8F2U4EvgSB1Bv/56gc7MpCftZ9z9fBgUQM7dzHGCMBsyfVA6dZTx8v0FDcnALf7hupeQxaBCvpA==", + "dev": true, + "requires": { + "jest-regex-util": "22.4.3" + } + }, + "jest-runner": { + "version": "22.4.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-22.4.4.tgz", + "integrity": "sha512-5S/OpB51igQW9xnkM5Tgd/7ZjiAuIoiJAVtvVTBcEBiXBIFzWM3BAMPBM19FX68gRV0KWyFuGKj0EY3M3aceeQ==", + "dev": true, + "requires": { + "exit": "0.1.2", + "jest-config": "22.4.4", + "jest-docblock": "22.4.3", + "jest-haste-map": "22.4.3", + "jest-jasmine2": "22.4.4", + "jest-leak-detector": "22.4.3", + "jest-message-util": "22.4.3", + "jest-runtime": "22.4.4", + "jest-util": "22.4.3", + "jest-worker": "22.4.3", + "throat": "4.1.0" + } + }, + "jest-runtime": { + "version": "22.4.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-22.4.4.tgz", + "integrity": "sha512-WRTj9m///npte1YjuphCYX7GRY/c2YvJImU9t7qOwFcqHr4YMzmX6evP/3Sehz5DKW2Vi8ONYPCFWe36JVXxfw==", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-jest": "22.4.4", + "babel-plugin-istanbul": "4.1.6", + "chalk": "2.4.2", + "convert-source-map": "1.6.0", + "exit": "0.1.2", + "graceful-fs": "4.1.15", + "jest-config": "22.4.4", + "jest-haste-map": "22.4.3", + "jest-regex-util": "22.4.3", + "jest-resolve": "22.4.3", + "jest-util": "22.4.3", + "jest-validate": "22.4.4", + "json-stable-stringify": "1.0.1", + "micromatch": "2.3.11", + "realpath-native": "1.1.0", + "slash": "1.0.0", + "strip-bom": "3.0.0", + "write-file-atomic": "2.4.2", + "yargs": "10.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "yargs": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz", + "integrity": "sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==", + "dev": true, + "requires": { + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "8.1.0" + } + } + } + }, + "jest-serializer": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-22.4.3.tgz", + "integrity": "sha512-uPaUAppx4VUfJ0QDerpNdF43F68eqKWCzzhUlKNDsUPhjOon7ZehR4C809GCqh765FoMRtTVUVnGvIoskkYHiw==", + "dev": true + }, + "jest-snapshot": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-22.4.3.tgz", + "integrity": "sha512-JXA0gVs5YL0HtLDCGa9YxcmmV2LZbwJ+0MfyXBBc5qpgkEYITQFJP7XNhcHFbUvRiniRpRbGVfJrOoYhhGE0RQ==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "jest-diff": "22.4.3", + "jest-matcher-utils": "22.4.3", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "pretty-format": "22.4.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-util": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-22.4.3.tgz", + "integrity": "sha512-rfDfG8wyC5pDPNdcnAlZgwKnzHvZDu8Td2NJI/jAGKEGxJPYiE4F0ss/gSAkG4778Y23Hvbz+0GMrDJTeo7RjQ==", + "dev": true, + "requires": { + "callsites": "2.0.0", + "chalk": "2.4.2", + "graceful-fs": "4.1.15", + "is-ci": "1.2.1", + "jest-message-util": "22.4.3", + "mkdirp": "0.5.1", + "source-map": "0.6.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-validate": { + "version": "22.4.4", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-22.4.4.tgz", + "integrity": "sha512-dmlf4CIZRGvkaVg3fa0uetepcua44DHtktHm6rcoNVtYlpwe6fEJRkMFsaUVcFHLzbuBJ2cPw9Gl9TKfnzMVwg==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "jest-config": "22.4.4", + "jest-get-type": "22.4.3", + "leven": "2.1.0", + "pretty-format": "22.4.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-watcher": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-23.4.0.tgz", + "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=", + "dev": true, + "requires": { + "ansi-escapes": "3.2.0", + "chalk": "2.4.2", + "string-length": "2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-worker": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-22.4.3.tgz", + "integrity": "sha512-B1ucW4fI8qVAuZmicFxI1R3kr2fNeYJyvIQ1rKcuLYnenFV5K5aMbxFj6J0i00Ju83S8jP2d7Dz14+AvbIHRYQ==", + "dev": true, + "requires": { + "merge-stream": "1.0.1" + } + }, + "jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", + "dev": true + }, + "js-base64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", + "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", + "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.1" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.11.0.tgz", + "integrity": "sha512-ou1VyfjwsSuWkudGxb03FotDajxAto6USAlmMZjE2lc0jCznt7sBWkhfRBRaWwbnmDqdMSTKTLT5d9sBFkkM7A==", + "dev": true, + "requires": { + "abab": "1.0.4", + "acorn": "5.7.3", + "acorn-globals": "4.3.0", + "array-equal": "1.0.0", + "cssom": "0.3.6", + "cssstyle": "0.3.1", + "data-urls": "1.1.0", + "domexception": "1.0.1", + "escodegen": "1.11.0", + "html-encoding-sniffer": "1.0.2", + "left-pad": "1.3.0", + "nwsapi": "2.1.0", + "parse5": "4.0.0", + "pn": "1.1.0", + "request": "2.88.0", + "request-promise-native": "1.0.7", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.5.0", + "w3c-hr-time": "1.0.1", + "webidl-conversions": "4.0.2", + "whatwg-encoding": "1.0.5", + "whatwg-mimetype": "2.3.0", + "whatwg-url": "6.5.0", + "ws": "4.1.0", + "xml-name-validator": "3.0.0" + }, + "dependencies": { + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "2.1.1" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "dev": true, + "requires": { + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" + } + } + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-edm-parser": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/json-edm-parser/-/json-edm-parser-0.1.2.tgz", + "integrity": "sha1-HmCw/vG8CvZ7wNFG393lSGzWFbQ=", + "dev": true, + "requires": { + "jsonparse": "1.2.0" + } + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonparse": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.2.0.tgz", + "integrity": "sha1-XAxWhRBxYOcv50ib3eoLRMK8Z70=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jszip": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-2.5.0.tgz", + "integrity": "sha1-dET9hVHd8+XacZj+oMkbyDCMwnQ=", + "dev": true, + "requires": { + "pako": "0.2.9" + }, + "dependencies": { + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + } + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "kleur": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz", + "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==", + "dev": true + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "dev": true + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "liftoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", + "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "dev": true, + "requires": { + "extend": "3.0.2", + "findup-sync": "2.0.0", + "fined": "1.1.1", + "flagged-respawn": "1.0.1", + "is-plain-object": "2.0.4", + "object.map": "1.0.1", + "rechoir": "0.6.2", + "resolve": "1.10.0" + } + }, + "livereload-js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", + "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "lodash": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", + "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", + "dev": true + }, + "lodash._baseclone": { + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz", + "integrity": "sha1-zkKt4IOE711i+nfDD2GkbmhvhDQ=", + "dev": true + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + }, + "lodash._stack": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lodash._stack/-/lodash._stack-4.1.3.tgz", + "integrity": "sha1-dRqnbBuWSwR+dtFPxyoJP8teLdA=", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "3.0.1" + } + }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } + }, + "lodash.keysin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.2.0.tgz", + "integrity": "sha1-jMP7NcLZSsxEOhhj4C+kB5nqbyg=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.merge": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.3.5.tgz", + "integrity": "sha1-VOWMTyCD2f7MsVeaYPdLCT1yrRc=", + "dev": true, + "requires": { + "lodash._baseclone": "4.5.7", + "lodash._stack": "4.1.3", + "lodash.isplainobject": "4.0.6", + "lodash.keysin": "4.2.0", + "lodash.rest": "4.0.5" + } + }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true + }, + "lodash.rest": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz", + "integrity": "sha1-lU73UEkmIDjJbR/Jiyj9r58Hcqo=", + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "3.0.1", + "lodash._basetostring": "3.0.1", + "lodash._basevalues": "3.0.0", + "lodash._isiterateecall": "3.0.9", + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0", + "lodash.keys": "3.1.2", + "lodash.restparam": "3.6.1", + "lodash.templatesettings": "3.1.1" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0" + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.4" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "1.0.1" + } + }, + "math-expression-evaluator": { + "version": "1.2.17", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", + "dev": true + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3", + "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=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "0.1.7", + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.5.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + } + }, + "merge": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", + "dev": true + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "dev": true, + "requires": { + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "merge2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.0.3.tgz", + "integrity": "sha1-+kT4siYmFaty8ICKQB1HinDjlNs=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, + "mime-db": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", + "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==", + "dev": true + }, + "mime-types": { + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", + "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", + "dev": true, + "requires": { + "mime-db": "1.38.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "minipass": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", + "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2", + "yallist": "3.0.3" + }, + "dependencies": { + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "dev": true + } + } + }, + "minizlib": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", + "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", + "dev": true, + "requires": { + "minipass": "2.3.5" + } + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", + "dev": true, + "requires": { + "mkdirp": "0.5.1" + } + }, + "moo": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.4.3.tgz", + "integrity": "sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + } + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "1.3.0", + "object-assign": "4.1.1", + "thenify-all": "1.6.0" + } + }, + "nan": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.1.tgz", + "integrity": "sha512-I6YB/YEuDeUZMmhscXKxGgZlFnhsn5y0hgOZBadkzfTRrZBtJDZeg6eQf7PYMIEclwmorTKK8GztsyOUSVBREA==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "natives": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz", + "integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "ndjson": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/ndjson/-/ndjson-1.5.0.tgz", + "integrity": "sha1-rmA7NrE0vOw0e0UkIrC/mNWDLsg=", + "dev": true, + "requires": { + "json-stringify-safe": "5.0.1", + "minimist": "1.2.0", + "split2": "2.2.0", + "through2": "2.0.5" + } + }, + "nearley": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.16.0.tgz", + "integrity": "sha512-Tr9XD3Vt/EujXbZBv6UAHYoLUSMQAxSsTnm9K3koXzjzNWY195NqALeyrzLZBKzAkL3gl92BcSogqrHjD8QuUg==", + "dev": true, + "requires": { + "commander": "2.19.0", + "moo": "0.4.3", + "railroad-diagrams": "1.0.0", + "randexp": "0.4.6", + "semver": "5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } + } + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "neo-async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", + "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "1.1.4" + } + }, + "node-addon-api": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.6.2.tgz", + "integrity": "sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA==", + "dev": true + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + }, + "node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", + "dev": true + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "1.0.11", + "glob": "7.1.3", + "graceful-fs": "4.1.15", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.88.0", + "rimraf": "2.5.4", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.1" + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", + "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "3.0.0", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.6", + "stream-browserify": "2.0.2", + "stream-http": "2.8.3", + "string_decoder": "1.2.0", + "timers-browserify": "2.0.10", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.11.1", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "string_decoder": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", + "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "node-notifier": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.0.2.tgz", + "integrity": "sha1-RDhEn+aeMh+UHO+UOYaweXAycBs=", + "dev": true, + "requires": { + "growly": "1.3.0", + "semver": "5.3.0", + "shellwords": "0.1.1", + "which": "1.3.1" + } + }, + "node-releases": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.11.tgz", + "integrity": "sha512-8v1j5KfP+s5WOTa1spNUAOfreajQPN12JXbRR0oDE+YrJBQCXBnNqUDj27EKpPLOoSiU3tKi3xGPB+JaOdUEQQ==", + "dev": true, + "requires": { + "semver": "5.3.0" + } + }, + "node-sass": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.3.tgz", + "integrity": "sha512-XzXyGjO+84wxyH7fV6IwBOTrEBe2f0a6SBze9QWWYR/cL74AcQUks2AsqcCZenl/Fp/JVbuEaLpgrLtocwBUww==", + "dev": true, + "requires": { + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.3", + "get-stdin": "4.0.1", + "glob": "7.1.3", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.1", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.13.1", + "node-gyp": "3.8.0", + "npmlog": "4.1.2", + "request": "2.87.0", + "sass-graph": "2.2.4", + "stdout-stream": "1.4.1", + "true-case-path": "1.0.3" + }, + "dependencies": { + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "4.1.5", + "which": "1.3.1" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "1.2.1" + } + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true, + "requires": { + "glob": "7.1.3", + "lodash": "4.17.11", + "minimatch": "3.0.4" + } + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "5.2.5", + "har-schema": "2.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.7", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.3", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.22", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" + } + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, + "requires": { + "punycode": "1.4.1" + } + } + } + }, + "node-zip": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/node-zip/-/node-zip-1.1.1.tgz", + "integrity": "sha1-lNGtZ0o81GoViN1zb0qaeMdX62I=", + "dev": true, + "requires": { + "jszip": "2.5.0" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1.1.1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "2.7.1", + "resolve": "1.10.0", + "semver": "5.3.0", + "validate-npm-package-license": "3.0.4" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "prepend-http": "1.0.4", + "query-string": "4.3.4", + "sort-keys": "1.1.2" + } + }, + "npm-package-arg": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-5.1.2.tgz", + "integrity": "sha512-wJBsrf0qpypPT7A0LART18hCdyhpCMxeTtcb0X4IZO2jsP6Om7EHN1d9KSKiqD+KVH030RVNpWS9thk+pb7wzA==", + "dev": true, + "requires": { + "hosted-git-info": "2.7.1", + "osenv": "0.1.5", + "semver": "5.3.0", + "validate-npm-package-name": "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=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nwsapi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.0.tgz", + "integrity": "sha512-ZG3bLAvdHmhIjaQ/Db1qvBxsGvFMLIRpQszyqbg31VJ53UP++uZX1/gf3Ut96pdwN9AuDwlMqIYLm0UPCdUeHg==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "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=", + "dev": true, + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", + "dev": true + }, + "object-is": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", + "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", + "dev": true + }, + "object-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", + "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "3.0.1" + } + }, + "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.3", + "function-bind": "1.1.1", + "has-symbols": "1.0.0", + "object-keys": "1.1.0" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "1.0.1", + "array-slice": "1.1.0", + "for-own": "1.0.0", + "isobject": "3.0.1" + } + }, + "object.entries": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", + "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "es-abstract": "1.13.0", + "function-bind": "1.1.1", + "has": "1.0.3" + } + }, + "object.fromentries": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.0.tgz", + "integrity": "sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA==", + "requires": { + "define-properties": "1.1.3", + "es-abstract": "1.13.0", + "function-bind": "1.1.1", + "has": "1.0.3" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "es-abstract": "1.13.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "1.0.0", + "make-iterator": "1.0.1" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + }, + "dependencies": { + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + } + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "3.0.1" + } + }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "requires": { + "define-properties": "1.1.3", + "es-abstract": "1.13.0", + "function-bind": "1.1.1", + "has": "1.0.3" + } + }, + "office-ui-fabric-core": { + "version": "9.6.1-fluent2", + "resolved": "https://registry.npmjs.org/office-ui-fabric-core/-/office-ui-fabric-core-9.6.1-fluent2.tgz", + "integrity": "sha512-gcBs5HHr7tjkvk/+Ls10ttb3jEllRn7SvJitX/kx/gQq8BiFMSMKr1w+oNqXlh4EgkBHWUlJVPrYUu1KW/jVaQ==" + }, + "office-ui-fabric-react": { + "version": "6.143.0", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-6.143.0.tgz", + "integrity": "sha512-JXV1h8upR+WPYQ7SuJFgp9XuLrJUDT9QjI7bzbyY+dpwjKCX0D22BlTfi7O52IdDt4eFesJofN8DfW0A/opvMw==", + "requires": { + "@microsoft/load-themed-styles": "1.8.26", + "@uifabric/foundation": "0.7.2", + "@uifabric/icons": "6.4.0", + "@uifabric/merge-styles": "6.16.1", + "@uifabric/set-version": "1.1.3", + "@uifabric/styling": "6.45.0", + "@uifabric/utilities": "6.35.1", + "prop-types": "15.7.2", + "tslib": "1.8.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "opn": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz", + "integrity": "sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ==", + "dev": true, + "requires": { + "is-wsl": "1.1.0" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "0.0.10", + "wordwrap": "0.0.3" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + }, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + } + } + }, + "orchestrator": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", + "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", + "dev": true, + "requires": { + "end-of-stream": "0.1.5", + "sequencify": "0.0.7", + "stream-consume": "0.1.1" + }, + "dependencies": { + "end-of-stream": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", + "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", + "dev": true, + "requires": { + "once": "1.3.3" + } + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + } + } + }, + "ordered-read-streams": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", + "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=", + "dev": true + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "p-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-1.0.0.tgz", + "integrity": "sha1-Yp0xcVAgnI/VCLoTdxPvS7kg6ds=", + "dev": true, + "requires": { + "p-map": "1.2.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "1.3.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "2.3.2" + } + }, + "parse-asn1": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "dev": true, + "requires": { + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.17", + "safe-buffer": "5.1.2" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "1.0.0", + "map-cache": "0.2.2", + "path-root": "0.1.1" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.2" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "0.1.2" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "2.3.8" + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pidof": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pidof/-/pidof-1.0.2.tgz", + "integrity": "sha1-+6Dq4cgzWhHrgJn10PPvvEXLTpA=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-1.1.3.tgz", + "integrity": "sha1-N45W1v0T6Iv7b0ol33qD+qvduls=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "load-json-file": "1.1.0", + "object-assign": "4.1.1", + "symbol": "0.2.3" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + } + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + } + }, + "plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "requires": { + "ansi-colors": "1.1.0", + "arr-diff": "4.0.0", + "arr-union": "3.1.0", + "extend-shallow": "3.0.2" + } + }, + "plugin-log": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/plugin-log/-/plugin-log-0.1.0.tgz", + "integrity": "sha1-hgSc9qsQgzOYqTHzaJy67nteEzM=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "dateformat": "1.0.12" + }, + "dependencies": { + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "4.0.1", + "meow": "3.7.0" + } + } + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", + "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "source-map": "0.6.1", + "supports-color": "5.5.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-message-helpers": "2.0.0", + "reduce-css-calc": "1.3.0" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "dev": true, + "requires": { + "colormin": "1.1.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "uniqs": "2.0.0" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "dev": true, + "requires": { + "has": "1.0.3", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-api": "1.6.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3", + "vendors": "1.0.2" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000950", + "electron-to-chromium": "1.3.116" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", + "dev": true + }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1", + "uniqs": "2.0.0" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "has": "1.0.3", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-modules": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-1.3.2.tgz", + "integrity": "sha512-QujH5ZpPtr1fBWTKDa43Hx45gm7p19aEtHaAtkMCBZZiB/D5za2wXSMtAf94tDUZHF3F5KZcTXISUNqgEQRiDw==", + "dev": true, + "requires": { + "css-modules-loader-core": "1.1.0", + "generic-names": "1.0.3", + "lodash.camelcase": "4.3.0", + "postcss": "7.0.5", + "string-hash": "1.1.3" + } + }, + "postcss-modules-extract-imports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", + "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", + "dev": true, + "requires": { + "postcss": "6.0.23" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, + "requires": { + "css-selector-tokenizer": "0.7.1", + "postcss": "6.0.23" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, + "requires": { + "css-selector-tokenizer": "0.7.1", + "postcss": "6.0.23" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, + "requires": { + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.23" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.2", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "dev": true, + "requires": { + "is-absolute-url": "2.1.0", + "normalize-url": "1.9.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "dev": true, + "requires": { + "has": "1.0.3", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "1.0.2", + "indexes-of": "1.0.1", + "uniq": "1.0.1" + } + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "dev": true, + "requires": { + "is-svg": "2.1.0", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1", + "svgo": "0.7.2" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "uniqs": "2.0.0" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "dev": true, + "requires": { + "has": "1.0.3", + "postcss": "5.2.18", + "uniqs": "2.0.0" + }, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.5.1", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "pretty-format": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", + "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", + "dev": true, + "requires": { + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + } + } + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "2.0.6" + } + }, + "prompts": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-0.1.14.tgz", + "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", + "dev": true, + "requires": { + "kleur": "2.0.2", + "sisteransi": "0.1.1" + } + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "react-is": "16.8.2" + } + }, + "proxy-addr": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", + "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "dev": true, + "requires": { + "forwarded": "0.1.2", + "ipaddr.js": "1.8.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.4", + "randombytes": "2.1.0", + "safe-buffer": "5.1.2" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" + }, + "dependencies": { + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + } + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dev": true, + "requires": { + "performance-now": "2.1.0" + } + }, + "railroad-diagrams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=", + "dev": true + }, + "ramda": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", + "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==", + "dev": true + }, + "randexp": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "dev": true, + "requires": { + "discontinuous-range": "1.0.0", + "ret": "0.1.15" + } + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "dev": true, + "requires": { + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.4" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "2.1.0", + "safe-buffer": "5.1.2" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } + } + } + }, + "react": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.7.0.tgz", + "integrity": "sha512-StCz3QY8lxTb5cl2HJxjwLFOXPIFQp+p+hxQfc8WE0QiLfCtIlKj8/+5tjjKm8uSTlAW+fCPaavGFS06V9Ar3A==", + "requires": { + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "prop-types": "15.7.2", + "scheduler": "0.12.0" + }, + "dependencies": { + "scheduler": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.12.0.tgz", + "integrity": "sha512-t7MBR28Akcp4Jm+QoR63XgAi9YgCUmgvDHqf5otgAj4QvdoBE4ImCX0ffehefePPG+aitiYHp0g/mW6s4Tp+dw==", + "requires": { + "loose-envify": "1.4.0", + "object-assign": "4.1.1" + } + } + } + }, + "react-dom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.7.0.tgz", + "integrity": "sha512-D0Ufv1ExCAmF38P2Uh1lwpminZFRXEINJe53zRAbm4KPwSyd6DY/uDoS0Blj9jvPpn1+wivKpZYc8aAAN/nAkg==", + "requires": { + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "prop-types": "15.7.2", + "scheduler": "0.12.0" + }, + "dependencies": { + "scheduler": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.12.0.tgz", + "integrity": "sha512-t7MBR28Akcp4Jm+QoR63XgAi9YgCUmgvDHqf5otgAj4QvdoBE4ImCX0ffehefePPG+aitiYHp0g/mW6s4Tp+dw==", + "requires": { + "loose-envify": "1.4.0", + "object-assign": "4.1.1" + } + } + } + }, + "react-is": { + "version": "16.8.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.2.tgz", + "integrity": "sha512-D+NxhSR2HUCjYky1q1DwpNUD44cDpUXzSmmFyC3ug1bClcU/iDNy0YNn1iwme28fn+NFhpA13IndOd42CrFb+Q==" + }, + "react-reconciler": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.7.0.tgz", + "integrity": "sha512-50JwZ3yNyMS8fchN+jjWEJOH3Oze7UmhxeoJLn2j6f3NjpfCRbcmih83XTWmzqtar/ivd5f7tvQhvvhism2fgg==", + "requires": { + "fbjs": "0.8.17", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "prop-types": "15.7.2" + } + }, + "react-test-renderer": { + "version": "16.6.3", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.6.3.tgz", + "integrity": "sha512-B5bCer+qymrQz/wN03lT0LppbZUDRq6AMfzMKrovzkGzfO81a9T+PWQW6MzkWknbwODQH/qpJno/yFQLX5IWrQ==", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "prop-types": "15.7.2", + "react-is": "16.8.2", + "scheduler": "0.11.3" + } + }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "dev": true, + "requires": { + "mute-stream": "0.0.8" + } + }, + "read-package-json": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz", + "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==", + "dev": true, + "requires": { + "glob": "7.1.3", + "graceful-fs": "4.1.15", + "json-parse-better-errors": "1.0.2", + "normalize-package-data": "2.5.0", + "slash": "1.0.0" + } + }, + "read-package-tree": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.1.6.tgz", + "integrity": "sha512-FCX1aT3GWyY658wzDICef4p+n0dB+ENRct8E/Qyvppj6xVpOYerBHfUu7OP5Rt1/393Tdglguf5ju5DEX4wZNg==", + "dev": true, + "requires": { + "debuglog": "1.0.1", + "dezalgo": "1.0.3", + "once": "1.4.0", + "read-package-json": "2.0.13", + "readdir-scoped-modules": "1.0.2" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.5.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + } + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "readdir-scoped-modules": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz", + "integrity": "sha1-n6+jfShr5dksuuve4DDcm19AZ0c=", + "dev": true, + "requires": { + "debuglog": "1.0.1", + "dezalgo": "1.0.3", + "graceful-fs": "4.1.15", + "once": "1.4.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==", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "micromatch": "3.1.10", + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "dev": true, + "requires": { + "util.promisify": "1.0.0" + } + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", + "dev": true, + "requires": { + "ast-types": "0.9.6", + "esprima": "3.1.3", + "private": "0.1.8", + "source-map": "0.5.7" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "1.10.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "math-expression-evaluator": "1.2.17", + "reduce-function-call": "1.0.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "reduce-function-call": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", + "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", + "dev": true, + "requires": { + "balanced-match": "0.4.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, + "requires": { + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "replacestream": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz", + "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1", + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.7", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.3", + "har-validator": "5.1.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.22", + "oauth-sign": "0.9.0", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.4.3", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "1.1.31", + "punycode": "1.4.1" + } + } + } + }, + "request-promise-core": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", + "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", + "dev": true, + "requires": { + "lodash": "4.17.11" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "request-promise-native": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", + "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", + "dev": true, + "requires": { + "request-promise-core": "1.1.2", + "stealthy-require": "1.1.1", + "tough-cookie": "2.5.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "requirejs": { + "version": "2.1.20", + "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.1.20.tgz", + "integrity": "sha1-EUgiyRfsh5NFCy2qoeubvxEB6TE=" + }, + "resolve": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", + "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "dev": true, + "requires": { + "path-parse": "1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "2.0.2", + "global-modules": "1.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", + "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=", + "dev": true, + "requires": { + "glob": "7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + } + }, + "rst-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", + "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", + "dev": true, + "requires": { + "lodash.flattendeep": "4.4.0", + "nearley": "2.16.0" + } + }, + "rsvp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", + "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", + "dev": true + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "2.1.0" + } + }, + "rxjs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", + "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", + "dev": true, + "requires": { + "tslib": "1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sane": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", + "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" + } + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "requires": { + "glob": "7.1.3", + "lodash": "4.17.11", + "scss-tokenizer": "0.2.3", + "yargs": "7.1.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "3.0.0" + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "scheduler": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.3.tgz", + "integrity": "sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==", + "dev": true, + "requires": { + "loose-envify": "1.4.0", + "object-assign": "4.1.1" + } + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "6.10.0", + "ajv-keywords": "3.4.0" + }, + "dependencies": { + "ajv": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + } + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "2.5.1", + "source-map": "0.4.4" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.3", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" + } + }, + "sequencify": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", + "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "1.0.3", + "http-errors": "1.6.3", + "mime-types": "2.1.22", + "parseurl": "1.3.2" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "requires": { + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.2" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "dev": true, + "requires": { + "array-filter": "0.0.1", + "array-map": "0.0.0", + "array-reduce": "0.0.0", + "jsonify": "0.0.0" + } + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "sisteransi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-0.1.1.tgz", + "integrity": "sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.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=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "1.1.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-loader": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz", + "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==", + "dev": true, + "requires": { + "async": "2.6.2", + "loader-utils": "1.2.3" + }, + "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "5.2.2", + "emojis-list": "2.1.0", + "json5": "1.0.1" + } + } + } + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "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-support": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", + "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", + "dev": true, + "requires": { + "buffer-from": "1.1.1", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.3" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.2.0", + "spdx-license-ids": "3.0.3" + } + }, + "spdx-license-ids": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", + "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", + "dev": true + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2.3.8" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2" + } + }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "requires": { + "through2": "2.0.5" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" + } + }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "stream-combiner": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", + "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "dev": true, + "requires": { + "duplexer": "0.1.1", + "through": "2.3.8" + } + }, + "stream-consume": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz", + "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==", + "dev": true + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", + "dev": true + }, + "string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", + "dev": true + }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "requires": { + "astral-regex": "1.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "string.prototype.trim": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", + "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "es-abstract": "1.13.0", + "function-bind": "1.1.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", + "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", + "dev": true, + "requires": { + "first-chunk-stream": "1.0.0", + "is-utf8": "0.2.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, + "sudo": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sudo/-/sudo-1.0.3.tgz", + "integrity": "sha1-zPKGaRIPi3T4K4Rt/38clRIO/yA=", + "dev": true, + "requires": { + "inpath": "1.0.2", + "pidof": "1.0.2", + "read": "1.0.7" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, + "requires": { + "coa": "1.0.4", + "colors": "1.1.2", + "csso": "2.3.2", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "sax": "1.2.4", + "whet.extend": "0.9.9" + }, + "dependencies": { + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "2.7.3" + } + } + } + }, + "symbol": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/symbol/-/symbol-0.2.3.tgz", + "integrity": "sha1-O5hzuKkB5Hxu/iFSajrDcu8ou8c=", + "dev": true + }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "dev": true + }, + "tapable": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", + "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "ternary-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-2.0.1.tgz", + "integrity": "sha1-Bk5Im0tb9gumpre8fy9cJ07Pgmk=", + "dev": true, + "requires": { + "duplexify": "3.7.1", + "fork-stream": "0.0.4", + "merge-stream": "1.0.1", + "through2": "2.0.5" + } + }, + "test-exclude": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", + "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.3" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + } + } + }, + "textextensions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-1.0.2.tgz", + "integrity": "sha1-ZUhjk+4fK7A5pgy7oFsLaL2VAdI=", + "dev": true + }, + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "dev": true, + "requires": { + "any-promise": "1.3.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": "3.3.0" + } + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "tildify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", + "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", + "dev": true, + "requires": { + "os-homedir": "1.0.2" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "dev": true, + "requires": { + "setimmediate": "1.0.5" + } + }, + "tiny-lr": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", + "integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=", + "dev": true, + "requires": { + "body-parser": "1.14.2", + "debug": "2.2.0", + "faye-websocket": "0.10.0", + "livereload-js": "2.4.0", + "parseurl": "1.3.2", + "qs": "5.1.0" + }, + "dependencies": { + "body-parser": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", + "integrity": "sha1-EBXLH+LEQ4WCWVgdtTMy+NDPUPk=", + "dev": true, + "requires": { + "bytes": "2.2.0", + "content-type": "1.0.4", + "debug": "2.2.0", + "depd": "1.1.2", + "http-errors": "1.3.1", + "iconv-lite": "0.4.13", + "on-finished": "2.3.0", + "qs": "5.2.0", + "raw-body": "2.1.7", + "type-is": "1.6.16" + }, + "dependencies": { + "qs": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz", + "integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4=", + "dev": true + } + } + }, + "bytes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", + "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "http-errors": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", + "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "statuses": "1.4.0" + } + }, + "iconv-lite": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", + "dev": true + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + }, + "qs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz", + "integrity": "sha1-TZMuXH6kEcynajEtOaYGIA/VDNk=", + "dev": true + }, + "raw-body": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", + "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=", + "dev": true, + "requires": { + "bytes": "2.4.0", + "iconv-lite": "0.4.13", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", + "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=", + "dev": true + } + } + } + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "1.1.31", + "punycode": "2.1.1" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "7.1.3" + } + }, + "ts-jest": { + "version": "22.4.5", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-22.4.5.tgz", + "integrity": "sha512-3LkEkPzKutk+klOxtAhvTdYc9ZK7lHugyPg4VNj+l8jg7CCOBgAHqp009MWdT6WllYeSoWHcQaB3aJ6/JbTMJg==", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-plugin-istanbul": "4.1.6", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-preset-jest": "22.4.4", + "cpx": "1.5.0", + "fs-extra": "6.0.0", + "jest-config": "22.4.4", + "lodash": "4.17.11", + "pkg-dir": "2.0.0", + "yargs": "11.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.0.tgz", + "integrity": "sha512-lk2cUCo8QzbiEWEbt7Cw3m27WMiRG321xsssbcIpfMhpRjrlC08WBOVQqj1/nQYYNnPtyIhP1oqLO3QwT2tPCw==", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "yargs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "dev": true, + "requires": { + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "tslib": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.1.tgz", + "integrity": "sha1-aUavLR1lGnsYY7Ux1uWvpBqkTqw=" + }, + "tslint": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.11.0.tgz", + "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "builtin-modules": "1.1.1", + "chalk": "2.4.2", + "commander": "2.19.0", + "diff": "3.5.0", + "glob": "7.1.3", + "js-yaml": "3.12.1", + "minimatch": "3.0.4", + "resolve": "1.10.0", + "semver": "5.3.0", + "tslib": "1.8.1", + "tsutils": "2.29.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "tslint-microsoft-contrib": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/tslint-microsoft-contrib/-/tslint-microsoft-contrib-5.2.1.tgz", + "integrity": "sha512-PDYjvpo0gN9IfMULwKk0KpVOPMhU6cNoT9VwCOLeDl/QS8v8W2yspRpFFuUS7/c5EIH/n8ApMi8TxJAz1tfFUA==", + "dev": true, + "requires": { + "tsutils": "2.28.0" + }, + "dependencies": { + "tsutils": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.28.0.tgz", + "integrity": "sha512-bh5nAtW0tuhvOJnx1GLRn5ScraRLICGyJV5wJhtRWOLsxW70Kk5tZtpK3O/hW6LDnqKS9mlUMPZj9fEMJ0gxqA==", + "dev": true, + "requires": { + "tslib": "1.8.1" + } + } + } + }, + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "requires": { + "tslib": "1.8.1" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2" + } + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.22" + } + }, + "typescript": { + "version": "3.3.4000", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.4000.tgz", + "integrity": "sha512-jjOcCZvpkl2+z7JFn0yBOoLQyLoIkNZAs/fYJkUG6VKy6zLPHJGfQJYFHzibB6GJaF/8QrcECtlQ5cpvRHSMEA==", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.19", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz", + "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ==" + }, + "uglify-js": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", + "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "dev": true, + "requires": { + "commander": "2.17.1", + "source-map": "0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-js": "2.8.29", + "webpack-sources": "1.3.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", + "dev": true + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", + "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "upath": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", + "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "2.1.1" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "object.getownpropertydescriptors": "2.0.3" + } + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, + "v8flags": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", + "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "dev": true, + "requires": { + "user-home": "1.1.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "3.1.0", + "spdx-expression-parse": "3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "requires": { + "builtins": "1.0.3" + } + }, + "validator": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-8.2.0.tgz", + "integrity": "sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", + "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "vinyl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", + "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "dev": true, + "requires": { + "clone": "2.1.2", + "clone-buffer": "1.0.0", + "clone-stats": "1.0.0", + "cloneable-readable": "1.1.2", + "remove-trailing-separator": "1.1.0", + "replace-ext": "1.0.0" + }, + "dependencies": { + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + } + } + }, + "vinyl-fs": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", + "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", + "dev": true, + "requires": { + "defaults": "1.0.3", + "glob-stream": "3.1.18", + "glob-watcher": "0.0.6", + "graceful-fs": "3.0.11", + "mkdirp": "0.5.1", + "strip-bom": "1.0.0", + "through2": "0.6.5", + "vinyl": "0.4.6" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "graceful-fs": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "dev": true, + "requires": { + "natives": "1.1.6" + } + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": "1.0.34", + "xtend": "4.0.1" + } + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "0.2.0", + "clone-stats": "0.0.1" + } + } + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "dev": true, + "requires": { + "browser-process-hrtime": "0.1.3" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.11" + } + }, + "watch": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", + "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", + "dev": true, + "requires": { + "exec-sh": "0.2.2", + "minimist": "1.2.0" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "2.1.2", + "graceful-fs": "4.1.15", + "neo-async": "2.6.0" + }, + "dependencies": { + "chokidar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.2.tgz", + "integrity": "sha512-IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "normalize-path": "3.0.0", + "path-is-absolute": "1.0.1", + "readdirp": "2.2.1", + "upath": "1.1.2" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "webpack": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.6.0.tgz", + "integrity": "sha512-OsHT3D0W0KmPPh60tC7asNnOmST6bKTiR90UyEdT9QYoaJ4OYN4Gg7WK1k3VxHK07ZoiYWPsKvlS/gAjwL/vRA==", + "dev": true, + "requires": { + "acorn": "5.7.3", + "acorn-dynamic-import": "2.0.2", + "ajv": "5.2.5", + "ajv-keywords": "2.1.1", + "async": "2.6.2", + "enhanced-resolve": "3.4.1", + "escope": "3.6.0", + "interpret": "1.2.0", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.4.0", + "loader-utils": "1.2.3", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.2.0", + "source-map": "0.5.7", + "supports-color": "4.5.0", + "tapable": "0.2.9", + "uglifyjs-webpack-plugin": "0.4.6", + "watchpack": "1.6.0", + "webpack-sources": "1.3.0", + "yargs": "8.0.2" + }, + "dependencies": { + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "5.2.2", + "emojis-list": "2.1.0", + "json5": "1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + } + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.5.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + } + } + }, + "webpack-sources": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", + "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "dev": true, + "requires": { + "source-list-map": "2.0.1", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "webpack-stream": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/webpack-stream/-/webpack-stream-4.0.3.tgz", + "integrity": "sha512-Tx7ks7Of/JiPz7/tUM4WqSg4OcXF4m4OzNSaEzNA1TNXQaiTHIjiKqUoL79wGXbFt2q1IP8VG5DcEdaxifY5Ew==", + "dev": true, + "requires": { + "fancy-log": "1.3.3", + "lodash.clone": "4.5.0", + "lodash.some": "4.6.0", + "memory-fs": "0.4.1", + "plugin-error": "1.0.1", + "supports-color": "5.5.0", + "through": "2.3.8", + "vinyl": "2.2.0", + "webpack": "3.6.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": "0.5.0", + "websocket-extensions": "0.1.3" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.7.1.tgz", + "integrity": "sha1-303C4/JaY7H6WzLtbWwTlXfWkN4=", + "requires": { + "tr46": "0.0.3", + "webidl-conversions": "3.0.1" + } + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "2.1.1" + } + }, + "window-size": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.2.tgz", + "integrity": "sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" + } + }, + "ws": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz", + "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "dev": true, + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2" + } + }, + "xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", + "dev": true + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xml2js": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz", + "integrity": "sha1-m4FpCTFjH/CdGVdUn69U9PmAs8I=", + "dev": true, + "requires": { + "sax": "0.5.8" + }, + "dependencies": { + "sax": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=", + "dev": true + } + } + }, + "xmlbuilder": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.3.tgz", + "integrity": "sha1-xGFLp04K0ZbmCcknLNnh3bKKilg=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.6.0.tgz", + "integrity": "sha1-y0BQwBWb+2u2ScD0r1UFJqhGGdw=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "lodash.assign": "4.2.0", + "os-locale": "1.4.0", + "pkg-conf": "1.1.3", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1", + "string-width": "1.0.2", + "window-size": "0.2.0", + "y18n": "3.2.1", + "yargs-parser": "2.4.1" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "yargs-parser": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", + "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "lodash.assign": "4.2.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + } + } + }, + "yargs-parser": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", + "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } + }, + "z-schema": { + "version": "3.18.4", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.18.4.tgz", + "integrity": "sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw==", + "requires": { + "commander": "2.19.0", + "lodash.get": "4.4.2", + "lodash.isequal": "4.5.0", + "validator": "8.2.0" + } + } + } +} diff --git a/samples/react-ioc-tests/package.json b/samples/react-ioc-tests/package.json new file mode 100644 index 000000000..b5f7e6af8 --- /dev/null +++ b/samples/react-ioc-tests/package.json @@ -0,0 +1,108 @@ +{ + "name": "ioc-tests", + "version": "0.0.1", + "private": true, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "build": "gulp bundle", + "clean": "gulp clean", + "test": "jest" + }, + "dependencies": { + "@microsoft/sp-core-library": "1.8.0", + "@microsoft/sp-lodash-subset": "1.8.0", + "@microsoft/sp-office-ui-fabric-core": "1.8.0", + "@microsoft/sp-webpart-base": "1.8.0", + "@pnp/common": "^1.2.9", + "@pnp/logging": "^1.2.9", + "@pnp/odata": "^1.2.9", + "@pnp/sp": "^1.2.9", + "@types/es6-promise": "0.0.33", + "@types/react": "16.7.22", + "@types/react-dom": "16.0.5", + "@types/webpack-env": "1.13.1", + "enzyme-adapter-react-16.3": "^1.6.1", + "react": "16.7.0", + "react-dom": "16.7.0" + }, + "resolutions": { + "@types/react": "16.4.2" + }, + "devDependencies": { + "@microsoft/rush-stack-compiler-2.7": "0.4.0", + "@microsoft/rush-stack-compiler-3.3": "^0.1.7", + "@microsoft/sp-build-web": "1.8.0", + "@microsoft/sp-module-interfaces": "1.8.0", + "@microsoft/sp-tslint-rules": "1.8.0", + "@microsoft/sp-webpart-workbench": "1.8.0", + "@types/chai": "3.4.34", + "@types/enzyme": "^3.1.15", + "@types/jest": "^22.2.3", + "@types/mocha": "2.2.38", + "ajv": "~5.2.2", + "enzyme": "^3.8.0", + "gulp": "~3.9.1", + "identity-obj-proxy": "^3.0.0", + "jest": "^22.4.3", + "jest-junit": "^5.2.0", + "react-test-renderer": "^16.6.3", + "ts-jest": "^22.4.5", + "typescript": "3.3.4000" + }, + "jest": { + "moduleFileExtensions": [ + "ts", + "tsx", + "js", + "json" + ], + "transform": { + "^.+\\.(ts|tsx)$": "ts-jest" + }, + "transformIgnorePatterns": [ + "node_modules/(?!(@microsoft/sp-core-library))" + ], + "testMatch": [ + "**/src/**/*.test.+(ts|tsx|js)" + ], + "collectCoverage": true, + "coverageReporters": [ + "json", + "lcov", + "text", + "cobertura" + ], + "coverageDirectory": "/jest", + "collectCoverageFrom": [ + "src/**/*.{ts,js,tsx}", + "!src/**/*WebPart.{ts,js,tsx}", + "!src/**/*ServiceExecutor.{ts,js,tsx}", + "!src/**/Mock*.{ts,js,tsx}", + "!src/**/*.scss.{ts,js}", + "!**/loc/**" + ], + "moduleNameMapper": { + "\\.(css|less|scss|sass)$": "identity-obj-proxy" + }, + "reporters": [ + "default", + "jest-junit" + ], + "moduleDirectories": [ + "node_modules" + ], + "coverageThreshold": { + "global": { + "branches": 100, + "functions": 100, + "lines": 100, + "statements": 100 + } + } + }, + "jest-junit": { + "output": "./jest/summary-jest-junit.xml" + } +} diff --git a/samples/react-ioc-tests/pipelines/build-pipeline.yml b/samples/react-ioc-tests/pipelines/build-pipeline.yml new file mode 100644 index 000000000..85e49517d --- /dev/null +++ b/samples/react-ioc-tests/pipelines/build-pipeline.yml @@ -0,0 +1,84 @@ +resources: +- repo: self +queue: + name: Hosted + demands: + - npm + - node.js + +steps: + +- task: NodeTool@0 + displayName: 'Use Node 8.15.1' + inputs: + versionSpec: 8.15.1 + + +- task: Npm@1 + displayName: 'npm install' + inputs: + command: custom + + verbose: false + + customCommand: 'install' + +- task: Npm@1 + displayName: 'npm test' + inputs: + command: custom + + verbose: true + + customCommand: 'test' + +# Publish Test Results to Azure Pipelines/TFS +- task: PublishTestResults@2 + inputs: + testResultsFormat: 'JUnit' + testResultsFiles: '**/summary-jest-junit.xml' + searchFolder: '$(System.DefaultWorkingDirectory)' + + +# Publish Cobertura or JaCoCo code coverage results from a build +- task: PublishCodeCoverageResults@1 + inputs: + codeCoverageTool: 'cobertura' + summaryFileLocation: $(Build.SourcesDirectory)/jest/cobertura-coverage.xml + reportDirectory: $(Build.SourcesDirectory)/jest/lcov-report/ + +- task: Gulp@0 + displayName: 'Run gulp clean' + inputs: + targets: 'clean' + + +- task: Gulp@0 + displayName: 'Run gulp bundle' + inputs: + targets: bundle + + arguments: '--ship' + + +- task: Gulp@0 + displayName: 'Run gulp package-solution' + inputs: + targets: 'package-solution' + + arguments: '--ship' + + +- task: ArchiveFiles@2 + displayName: 'Archive SPFx Package file' + inputs: + rootFolderOrFile: '$(System.DefaultWorkingDirectory)/sharepoint/solution' + + includeRootFolder: false + + archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildNumber)-package.zip' + + +- task: PublishBuildArtifacts@1 + displayName: 'Publish artifacts: drop' + diff --git a/samples/react-ioc-tests/src/common/providers/Cache/ICacheProvider.ts b/samples/react-ioc-tests/src/common/providers/Cache/ICacheProvider.ts new file mode 100644 index 000000000..80c34cbd6 --- /dev/null +++ b/samples/react-ioc-tests/src/common/providers/Cache/ICacheProvider.ts @@ -0,0 +1,14 @@ + +export enum CacheTimeout { + oneSecond, + short, + default, + long, + verylong +} + +export default interface ICacheProvider { + Get(key: string): Promise; + Set(key: string, valueObj: any, cacheTimeout: CacheTimeout): Promise; + Clear(key: string): Promise; +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/providers/Cache/MockCacheProvider.ts b/samples/react-ioc-tests/src/common/providers/Cache/MockCacheProvider.ts new file mode 100644 index 000000000..70966e510 --- /dev/null +++ b/samples/react-ioc-tests/src/common/providers/Cache/MockCacheProvider.ts @@ -0,0 +1,21 @@ +import ICacheProvider, { CacheTimeout } from "./ICacheProvider"; + +export default class MockCacheProvider implements ICacheProvider { + private valueObj: any = null; + + constructor(valueObj?: any) { + this.valueObj = valueObj; + } + + public async Get(key: string): Promise { + return this.valueObj; + } + public async Set(key: string, valueObj: any, cacheTimeout: CacheTimeout): Promise { + this.valueObj = valueObj; + return true; + } + public async Clear(key: string): Promise { + // do nothing + } + +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/providers/Cache/MockStorage.ts b/samples/react-ioc-tests/src/common/providers/Cache/MockStorage.ts new file mode 100644 index 000000000..e200ad899 --- /dev/null +++ b/samples/react-ioc-tests/src/common/providers/Cache/MockStorage.ts @@ -0,0 +1,28 @@ +export default class MockStorage implements Storage { + constructor(storedKey?: string, storedItem?: any) { + this.length = 0; + if (!!storedKey) { + this[storedKey] = storedItem; + this.length = 1; + } + } + + [name: string]: any; + public length: number; + + public clear(): void { + // do nothign + } + public getItem(key: string): string { + return this[key]; + } + public key(index: number): string { + return ""; + } + public removeItem(key: string): void { + this[key] = undefined; + } + public setItem(key: string, value: string): void { + this[key] = value; + } +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/providers/Cache/StorageCacheProvider.test.ts b/samples/react-ioc-tests/src/common/providers/Cache/StorageCacheProvider.test.ts new file mode 100644 index 000000000..20e3b2eb3 --- /dev/null +++ b/samples/react-ioc-tests/src/common/providers/Cache/StorageCacheProvider.test.ts @@ -0,0 +1,153 @@ +/// + +import StorageCacheProvider from "./StorageCacheProvider"; +import MockStorage from "./MockStorage"; +import { CacheTimeout } from "./ICacheProvider"; + +describe('Provider: StorageCacheProvider', () => { + + let cacheProvider: StorageCacheProvider; + const key: string = "key"; + const stringVal: string = "value"; + + beforeEach(() => { + cacheProvider = new StorageCacheProvider(new MockStorage()); + }); + + afterEach(() => { + // do nothing + }); + + it('can set and get from storage with default timeout', async () => { + // ARRANGE + + // ACT + cacheProvider.Set(key, stringVal, CacheTimeout.default); + const cachedVal: string = await cacheProvider.Get(key); + + // ASSERT + expect(cachedVal).toEqual(stringVal); + }); + + it('can set and get from storage with short timeout', async () => { + // ARRANGE + + // ACT + cacheProvider.Set(key, stringVal, CacheTimeout.short); + const cachedVal: string = await cacheProvider.Get(key); + + // ASSERT + expect(cachedVal).toEqual(stringVal); + }); + + it('can set and get from storage with long timeout', async () => { + // ARRANGE + + // ACT + cacheProvider.Set(key, stringVal, CacheTimeout.long); + const cachedVal: string = await cacheProvider.Get(key); + + // ASSERT + expect(cachedVal).toEqual(stringVal); + }); + + it('can set and get from storage with very long timeout', async () => { + // ARRANGE + + // ACT + cacheProvider.Set(key, stringVal, CacheTimeout.verylong); + const cachedVal: string = await cacheProvider.Get(key); + + // ASSERT + expect(cachedVal).toEqual(stringVal); + }); + + it('can set and get from storage with unspecified timeout', async () => { + // ARRANGE + + // ACT + cacheProvider.Set(key, stringVal); + const cachedVal: string = await cacheProvider.Get(key); + + // ASSERT + expect(cachedVal).toEqual(stringVal); + }); + + it('can set and clear from storage', async () => { + // ARRANGE + + // ACT + cacheProvider.Set(key, stringVal, CacheTimeout.default); + await cacheProvider.Clear(key); + const cachedVal: string = await cacheProvider.Get(key); + + // ASSERT + expect(cachedVal).toBeUndefined(); + }); + + it('can set and get object from storage', async () => { + // ARRANGE + const val = {}; + + // ACT + cacheProvider.Set(key, val, CacheTimeout.default); + const cachedVal: string = await cacheProvider.Get(key); + + // ASSERT + expect(cachedVal).toEqual(val); + }); + + it('can set and get null from storage', async () => { + // ARRANGE + const val = null; + + // ACT + cacheProvider.Set(key, val, CacheTimeout.default); + const cachedVal: string = await cacheProvider.Get(key); + + // ASSERT + expect(cachedVal).toEqual(val); + }); + + it('can support browsers that do not support storage', async () => { + // ARRANGE + const undefinedCacheProvider = new StorageCacheProvider(undefined); + + // ACT + undefinedCacheProvider.Set(key, stringVal, CacheTimeout.default); + const cachedVal: string = await undefinedCacheProvider.Get(key); + + // ASSERT + expect(cachedVal).toBeUndefined(); + }); + + it('can set and get from storage using already prefixed key', async () => { + // ARRANGE + const prefixedKey = `__E2.${key}`; + + // ACT + cacheProvider.Set(prefixedKey, stringVal, CacheTimeout.default); + const cachedVal: string = await cacheProvider.Get(prefixedKey); + + // ASSERT + expect(cachedVal).toEqual(stringVal); + }); + + it('can expire entries', async () => { + // ARRANGE + const timeout = () => { + return new Promise(resolve => setTimeout(() => { + resolve(); + }, 1001)); + }; + + // ACT + cacheProvider.Set(key, stringVal, CacheTimeout.oneSecond); + await timeout(); + const cachedVal: string = await cacheProvider.Get(key); + + // ASSERT + expect(cachedVal).toBeUndefined(); + }); + +}); \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/providers/Cache/StorageCacheProvider.ts b/samples/react-ioc-tests/src/common/providers/Cache/StorageCacheProvider.ts new file mode 100644 index 000000000..2fbff6195 --- /dev/null +++ b/samples/react-ioc-tests/src/common/providers/Cache/StorageCacheProvider.ts @@ -0,0 +1,120 @@ +import ICacheProvider, { CacheTimeout } from "./ICacheProvider"; + +export default class StorageCacheProvider implements ICacheProvider { + private cacheKeyPrefix: string = "__E2."; + private storage: Storage; + + constructor(storage: Storage = window.sessionStorage) { + this.storage = storage; + } + + public IsSupportStorage(): boolean { + let isSupportStorage: boolean = false; + const supportsStorage: boolean = this.storage && JSON && typeof JSON.parse === "function" && typeof JSON.stringify === "function"; + if (supportsStorage) { + // check for dodgy behaviour from iOS Safari in private browsing mode + try { + const testKey: string = "e2-cache-isSupportStorage-testKey"; + this.storage[testKey] = "1"; + this.storage.removeItem(testKey); + isSupportStorage = true; + } catch (ex) { + // private browsing mode in iOS Safari, or possible full cache + } + } + return isSupportStorage; + } + + public async Get(key: string): Promise { + key = this.ensureCacheKeyPrefix(key); + let returnValue: any = undefined; + if (this.IsSupportStorage()) { + if (!this.isCacheExpired(key)) { + returnValue = this.storage[key]; + if (typeof returnValue === "string" && (returnValue.indexOf("{") === 0 || returnValue.indexOf("[") === 0)) { + returnValue = JSON.parse(returnValue); + } + } + } + return returnValue; + } + + public async Set(key: string, valueObj: any, cacheTimeout: CacheTimeout = CacheTimeout.default): Promise { + key = this.ensureCacheKeyPrefix(key); + let didSetInCache: boolean = false; + if (this.IsSupportStorage()) { + // get value as a string + let cacheValue: any = undefined; + if (valueObj === null || valueObj === undefined) { + cacheValue = valueObj; + } else if (typeof valueObj === "object") { + cacheValue = JSON.stringify(valueObj); + } else { + cacheValue = `${valueObj}`; + } + + // cache value + this.storage[key] = cacheValue; + const validityPeriodMs: number = this.getCacheTimeout(cacheTimeout); + // cache expiry + this.storage[this.getExpiryKey(key)] = ((new Date()).getTime() + validityPeriodMs).toString(); + didSetInCache = true; + } + return didSetInCache; + } + + public async Clear(key: string): Promise { + key = this.ensureCacheKeyPrefix(key); + this.storage.removeItem(key); + this.storage.removeItem(this.getExpiryKey(key)); + } + + private getExpiryKey(key: string): string { + return key + "_expiry"; + } + + private isCacheExpired(key: string): boolean { + let isCacheExpired: boolean = true; + const cacheExpiryString: string = this.storage[this.getExpiryKey(key)]; + if (typeof cacheExpiryString === "string" && cacheExpiryString.length > 0) { + const cacheExpiryInt: number = parseInt(cacheExpiryString, 10); + if (cacheExpiryInt > (new Date()).getTime()) { + isCacheExpired = false; + } + } + return isCacheExpired; + } + + private ensureCacheKeyPrefix(key: string): string { + let prefixedKey: string = ""; + if (!key || key.indexOf(this.cacheKeyPrefix) !== 0) { + prefixedKey = `${this.cacheKeyPrefix}${key}`; + } else { + prefixedKey = key; + } + return prefixedKey; + } + + private getCacheTimeout(cacheTimeout: CacheTimeout): number { + const oneMinute: number = 60000; + let timeout: number; + switch (cacheTimeout) { + case CacheTimeout.oneSecond: + timeout = 1000; + break; + case CacheTimeout.short: + timeout = oneMinute; + break; + case CacheTimeout.long: + timeout = oneMinute * 60; // 1 hour + break; + case CacheTimeout.verylong: + timeout = oneMinute * 60 * 24; // 24 hours + break; + default: + timeout = oneMinute * 10; // 10 minutes + break; + } + return timeout; + } +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/providers/DependencyResolver/DependencyResolver.ts b/samples/react-ioc-tests/src/common/providers/DependencyResolver/DependencyResolver.ts new file mode 100644 index 000000000..254d6b517 --- /dev/null +++ b/samples/react-ioc-tests/src/common/providers/DependencyResolver/DependencyResolver.ts @@ -0,0 +1,27 @@ +import StorageCacheProvider from "../Cache/StorageCacheProvider"; +import ConsoleLogProvider from "../Log/ConsoleLogProvider"; +import PnPListsService from "../../services/Lists/PnPListsService"; +import PnPListsServiceExecutor from "../../services/Lists/executor/PnPListsServiceExecutor"; +import ICacheProvider from "../Cache/ICacheProvider"; +import ILogProvider from "../Log/ILogProvider"; +import IListsService from "../../services/Lists/IListsService"; + +export default class DependencyResolver { // implements IDependencyResolver + // private useMockServices: boolean; + + // constructor(useMockServices: boolean = false) { + // this.useMockServices = useMockServices; + // } + + public ResolveICacheProvider(): ICacheProvider { + return new StorageCacheProvider(window.sessionStorage); + } + + public ResolveILogProvider(): ILogProvider { + return new ConsoleLogProvider(); + } + + public ResolveIListsService(webUrl: string): IListsService { + return new PnPListsService(new PnPListsServiceExecutor(webUrl)); + } +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/providers/Log/ConsoleLogProvider.test.ts b/samples/react-ioc-tests/src/common/providers/Log/ConsoleLogProvider.test.ts new file mode 100644 index 000000000..b730098bc --- /dev/null +++ b/samples/react-ioc-tests/src/common/providers/Log/ConsoleLogProvider.test.ts @@ -0,0 +1,120 @@ +/// + +import ConsoleLogProvider from "./ConsoleLogProvider"; +import MockConsole from "./MockConsole"; + +describe('Provider: ConsoleLogProvider', () => { + + beforeEach(() => { + // do nothing + }); + + afterEach(() => { + // do nothing + }); + + it('can log debug', async () => { + // ARRANGE + const mockConsole = new MockConsole(); + const logProvider = new ConsoleLogProvider(mockConsole); + + // ACT + await logProvider.Debug("class name", "my message"); + + // ASSERT + expect(mockConsole.didDebug.indexOf("class name")).toBeGreaterThanOrEqual(0); + expect(mockConsole.didDebug.indexOf("my message")).toBeGreaterThanOrEqual(0); + }); + + it('can log debug with json', async () => { + // ARRANGE + const mockConsole = new MockConsole(); + const logProvider = new ConsoleLogProvider(mockConsole); + + // ACT + await logProvider.Debug("class name", "my message", {}); + + // ASSERT + expect(mockConsole.didDebug.indexOf("class name")).toBeGreaterThanOrEqual(0); + expect(mockConsole.didDebug.indexOf("my message")).toBeGreaterThanOrEqual(0); + }); + + it('can log info', async () => { + // ARRANGE + const logConsole = new MockConsole(); + const logProvider = new ConsoleLogProvider(logConsole); + + // ACT + await logProvider.Info("class name", "my message"); + + // ASSERT + expect(logConsole.didInfo.indexOf("class name")).toBeGreaterThanOrEqual(0); + expect(logConsole.didInfo.indexOf("my message")).toBeGreaterThanOrEqual(0); + }); + + it('can log info with JSON', async () => { + // ARRANGE + const logConsole = new MockConsole(); + const logProvider = new ConsoleLogProvider(logConsole); + + // ACT + await logProvider.Info("class name", "my message", {}); + + // ASSERT + expect(logConsole.didInfo.indexOf("class name")).toBeGreaterThanOrEqual(0); + expect(logConsole.didInfo.indexOf("my message")).toBeGreaterThanOrEqual(0); + }); + + it('can log warn', async () => { + // ARRANGE + const logConsole = new MockConsole(); + const logProvider = new ConsoleLogProvider(logConsole); + + // ACT + await logProvider.Warning("class name", "my message"); + + // ASSERT + expect(logConsole.didWarn.indexOf("class name")).toBeGreaterThanOrEqual(0); + expect(logConsole.didWarn.indexOf("my message")).toBeGreaterThanOrEqual(0); + }); + + it('can log warn with json', async () => { + // ARRANGE + const logConsole = new MockConsole(); + const logProvider = new ConsoleLogProvider(logConsole); + + // ACT + await logProvider.Warning("class name", "my message", {}); + + // ASSERT + expect(logConsole.didWarn.indexOf("class name")).toBeGreaterThanOrEqual(0); + expect(logConsole.didWarn.indexOf("my message")).toBeGreaterThanOrEqual(0); + }); + + it('can log error', async () => { + // ARRANGE + const logConsole = new MockConsole(); + const logProvider = new ConsoleLogProvider(logConsole); + + // ACT + await logProvider.Error("class name", "my message"); + + // ASSERT + expect(logConsole.didError.indexOf("class name")).toBeGreaterThanOrEqual(0); + expect(logConsole.didError.indexOf("my message")).toBeGreaterThanOrEqual(0); + }); + + it('can log error with JSON', async () => { + // ARRANGE + const logConsole = new MockConsole(); + const logProvider = new ConsoleLogProvider(logConsole); + + // ACT + await logProvider.Error("class name", "my message", {}); + + // ASSERT + expect(logConsole.didError.indexOf("class name")).toBeGreaterThanOrEqual(0); + expect(logConsole.didError.indexOf("my message")).toBeGreaterThanOrEqual(0); + }); + +}); \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/providers/Log/ConsoleLogProvider.ts b/samples/react-ioc-tests/src/common/providers/Log/ConsoleLogProvider.ts new file mode 100644 index 000000000..cdc4bdc39 --- /dev/null +++ b/samples/react-ioc-tests/src/common/providers/Log/ConsoleLogProvider.ts @@ -0,0 +1,36 @@ +import ILogProvider from "./ILogProvider"; +import IConsole from "./IConsole"; + +export default class ConsoleLogProvider implements ILogProvider { + private consolelog: IConsole; + constructor(consolelog: IConsole = window.console) { + this.consolelog = consolelog; + } + + public async Debug(className: string, message: string, json: any = undefined): Promise { + const jsonString: string = this.getJsonString(json); + this.internalLog(this.consolelog.debug, className, message, jsonString); + } + public async Info(className: string, message: string, json: any = undefined): Promise { + const jsonString: string = this.getJsonString(json); + this.internalLog(this.consolelog.info, className, message, jsonString); + } + public async Warning(className: string, message: string, json: any = undefined): Promise { + const jsonString: string = this.getJsonString(json); + this.internalLog(this.consolelog.warn, className, message, jsonString); + } + public async Error(className: string, message: string, json: any = undefined): Promise { + const jsonString: string = this.getJsonString(json); + this.internalLog(this.consolelog.error, className, message, jsonString); + } + + private getJsonString(json: any): string { + const jsonString: string = !!json ? JSON.stringify(json) : ""; + return jsonString; + } + + private internalLog(log: (message:string) => void, className: string, message: string, jsonString: string): void { + const logMessage: string = `${className}, ${message}, ${jsonString}`; + log(logMessage); + } +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/providers/Log/IConsole.ts b/samples/react-ioc-tests/src/common/providers/Log/IConsole.ts new file mode 100644 index 000000000..e14237ef2 --- /dev/null +++ b/samples/react-ioc-tests/src/common/providers/Log/IConsole.ts @@ -0,0 +1,7 @@ +export default interface IConsole { + debug(message?: any, ...optionalParams: any[]): void; + info(message?: any, ...optionalParams: any[]): void; + log(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; + error(message?: any, ...optionalParams: any[]): void; +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/providers/Log/ILogProvider.ts b/samples/react-ioc-tests/src/common/providers/Log/ILogProvider.ts new file mode 100644 index 000000000..004117014 --- /dev/null +++ b/samples/react-ioc-tests/src/common/providers/Log/ILogProvider.ts @@ -0,0 +1,6 @@ +export default interface ILogProvider { + Debug(className: string, message: string, json: any): Promise; + Info(className: string, message: string, json: any): Promise; + Warning(className: string, message: string, json: any): Promise; + Error(className: string, message: string, json: any): Promise; +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/providers/Log/MockConsole.ts b/samples/react-ioc-tests/src/common/providers/Log/MockConsole.ts new file mode 100644 index 000000000..eb4f6d4c0 --- /dev/null +++ b/samples/react-ioc-tests/src/common/providers/Log/MockConsole.ts @@ -0,0 +1,117 @@ +import IConsole from "./IConsole"; + +export default class MockConsole implements IConsole { + constructor() { + this.debug = this.debug.bind(this); + this.info = this.info.bind(this); + this.log = this.log.bind(this); + this.warn = this.warn.bind(this); + this.error = this.error.bind(this); + } + + public didDebug: string = ""; + public didInfo: string = ""; + public didLog: string = ""; + public didWarn: string = ""; + public didError: string = ""; + + public debug(message?: any, ...optionalParams: any[]): void { + this.didDebug = message; + } + public info(message?: any, ...optionalParams: any[]): void { + this.didInfo = message; + } + public log(message?: any, ...optionalParams: any[]): void { + this.didLog = message; + } + public warn(message?: any, ...optionalParams: any[]): void { + this.didWarn = message; + } + public error(message?: any, ...optionalParams: any[]): void { + this.didError = message; + } +} + +// export default class MockConsole implements Console { +// public didDebug: boolean = false; +// public didInfo: boolean = false; +// public didLog: boolean = false; +// public didWarn: boolean = false; +// public didError: boolean = false; + +// public debug(message?: any, ...optionalParams: any[]): void { +// this.didDebug = true; +// } +// public info(message?: any, ...optionalParams: any[]): void { +// this.didInfo = true; +// } +// public log(message?: any, ...optionalParams: any[]): void { +// this.didLog = true; +// } +// public warn(message?: any, ...optionalParams: any[]): void { +// this.didWarn = true; +// } +// public error(message?: any, ...optionalParams: any[]): void { +// this.didError = true; +// } + +// // Not required to mock for console logging +// public trace(message?: any, ...optionalParams: any[]): void { +// // do nothing +// } +// public memory: any; +// public assert(condition?: boolean, message?: string, ...data: any[]): void { +// // do nothing +// } +// public clear(): void { +// // do nothing +// } +// public count(label?: string): void { +// // do nothing +// } +// public dir(value?: any, ...optionalParams: any[]): void { +// // do nothing +// } +// public dirxml(value: any): void { +// // do nothing +// } +// public exception(message?: string, ...optionalParams: any[]): void { +// // do nothing +// } +// public group(groupTitle?: string, ...optionalParams: any[]): void { +// // do nothing +// } +// public groupCollapsed(groupTitle?: string, ...optionalParams: any[]): void { +// // do nothing +// } +// public groupEnd(): void { +// // do nothing +// } +// public markTimeline(label?: string): void { +// // do nothing +// } +// public profile(reportName?: string): void { +// // do nothing +// } +// public profileEnd(reportName?: string): void { +// // do nothing +// } +// public table(...tabularData: any[]): void { +// // do nothing +// } +// public time(label?: string): void { +// // do nothing +// } +// public timeEnd(label?: string): void { +// // do nothing +// } +// public timeStamp(label?: string): void { +// // do nothing +// } +// public timeline(label?: string): void { +// // do nothing +// } +// public timelineEnd(label?: string): void { +// // do nothing +// } +// } \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/providers/Log/MockLogProvider.ts b/samples/react-ioc-tests/src/common/providers/Log/MockLogProvider.ts new file mode 100644 index 000000000..005bc8636 --- /dev/null +++ b/samples/react-ioc-tests/src/common/providers/Log/MockLogProvider.ts @@ -0,0 +1,17 @@ +import ILogProvider from "./ILogProvider"; + +export default class MockLogProvider implements ILogProvider { + public async Debug(className: string, message: string, json: any): Promise { + // do nothing + } + public async Info(className: string, message: string, json: any): Promise { + // do nothing + } + public async Warning(className: string, message: string, json: any): Promise { + // do nothing + } + public async Error(className: string, message: string, json: any): Promise { + // do nothing + } + +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/services/Lists/IListsService.ts b/samples/react-ioc-tests/src/common/services/Lists/IListsService.ts new file mode 100644 index 000000000..18d9cf062 --- /dev/null +++ b/samples/react-ioc-tests/src/common/services/Lists/IListsService.ts @@ -0,0 +1,8 @@ +export interface IList { + Title: string; + DefaultViewUrl: string; +} + +export default interface IListsService { + GetLists(): Promise; +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/services/Lists/MockListsService.ts b/samples/react-ioc-tests/src/common/services/Lists/MockListsService.ts new file mode 100644 index 000000000..f5ddb584e --- /dev/null +++ b/samples/react-ioc-tests/src/common/services/Lists/MockListsService.ts @@ -0,0 +1,13 @@ +import IListsService, { IList } from "./IListsService"; + +export default class MockListsService implements IListsService { + private lists: IList[] = []; + + constructor(lists: IList[]) { + this.lists = lists; + } + + public async GetLists(): Promise { + return this.lists; + } +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/services/Lists/PnPListsService.test.ts b/samples/react-ioc-tests/src/common/services/Lists/PnPListsService.test.ts new file mode 100644 index 000000000..b824b421d --- /dev/null +++ b/samples/react-ioc-tests/src/common/services/Lists/PnPListsService.test.ts @@ -0,0 +1,58 @@ +/// + +import PnPListsService from './PnPListsService'; +import MockListsServiceExecutor from './executor/MockListsServiceExecutor'; +import IListsServiceExecutor from './executor/IListsServiceExecutor'; + +describe('Service: PnPListsService', () => { + + beforeEach(() => { + // do nothing + }); + + afterEach(() => { + // do nothing + }); + + it('should get 1 list [Using explict class to mock]', async () => { + // ARRANGE + const service = new PnPListsService(new MockListsServiceExecutor([ + { Title: "Mocked List", DefaultViewUrl: "https://bing.com" } + ])); + + // ACT + const lists = await service.GetLists(); + + // ASSERT + expect(lists.length).toBe(1); + }); + + it('should get 1 list [Using Jest to mock]', async () => { + // ARRANGE + const MockServiceExecutor = jest.fn(() => ({ + Get: jest.fn().mockReturnValue([{ Title: "Mocked List", DefaultViewUrl: "https://bing.com" }]) + })); + const service = new PnPListsService(new MockServiceExecutor()); + + // ACT + const lists = await service.GetLists(); + + // ASSERT + expect(lists.length).toBe(1); + }); + + it('should get 2 lists', async () => { + // ARRANGE + const service = new PnPListsService(new MockListsServiceExecutor([ + { Title: "Mocked List", DefaultViewUrl: "https://bing.com" }, + { Title: "Another List", DefaultViewUrl: "https://bing.com" } + ])); + + // ACT + const lists = await service.GetLists(); + + // ASSERT + expect(lists.length).toBe(2); + }); + +}); \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/services/Lists/PnPListsService.ts b/samples/react-ioc-tests/src/common/services/Lists/PnPListsService.ts new file mode 100644 index 000000000..2973c9481 --- /dev/null +++ b/samples/react-ioc-tests/src/common/services/Lists/PnPListsService.ts @@ -0,0 +1,21 @@ +import IListsService, { IList } from "./IListsService"; +import IListsServiceExecutor from "./executor/IListsServiceExecutor"; + +export default class PnPListsService implements IListsService { + private executor: IListsServiceExecutor; + + constructor(executor: IListsServiceExecutor) { + this.executor = executor; + } + + public async GetLists(): Promise { + const listsData = await this.executor.Get(); + const lists = listsData.map(l => { + return { + Title: l.Title, + DefaultViewUrl: l.DefaultViewUrl + }; + }); + return lists; + } +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/services/Lists/executor/IListsServiceExecutor.ts b/samples/react-ioc-tests/src/common/services/Lists/executor/IListsServiceExecutor.ts new file mode 100644 index 000000000..d174285b2 --- /dev/null +++ b/samples/react-ioc-tests/src/common/services/Lists/executor/IListsServiceExecutor.ts @@ -0,0 +1,4 @@ + +export default interface IListsServiceExecutor { + Get(): Promise; +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/services/Lists/executor/MockListsServiceExecutor.ts b/samples/react-ioc-tests/src/common/services/Lists/executor/MockListsServiceExecutor.ts new file mode 100644 index 000000000..34b12de89 --- /dev/null +++ b/samples/react-ioc-tests/src/common/services/Lists/executor/MockListsServiceExecutor.ts @@ -0,0 +1,13 @@ +import IListsServiceExecutor from "./IListsServiceExecutor"; + +export default class MockListsServiceExecutor implements IListsServiceExecutor { + private listsData: any[]; + + constructor(listsData: any[]) { + this.listsData = listsData; + } + + public async Get(): Promise { + return this.listsData; + } +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/common/services/Lists/executor/PnPListsServiceExecutor.ts b/samples/react-ioc-tests/src/common/services/Lists/executor/PnPListsServiceExecutor.ts new file mode 100644 index 000000000..73a4759cc --- /dev/null +++ b/samples/react-ioc-tests/src/common/services/Lists/executor/PnPListsServiceExecutor.ts @@ -0,0 +1,15 @@ +import IListsServiceExecutor from "./IListsServiceExecutor"; + +export default class PnPListsServiceExecutor implements IListsServiceExecutor { + private webUrl: string; + + constructor(webUrl: string) { + this.webUrl = webUrl; + } + + public async Get(): Promise { + const { Web } = await import(/* webpackChunkName: 'pnp-sp-bundle' */"@pnp/sp"); + const listsData = await new Web(this.webUrl).lists.select("Title", "DefaultViewUrl").get(); + return listsData; + } +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/index.ts b/samples/react-ioc-tests/src/index.ts new file mode 100644 index 000000000..fb81db1e2 --- /dev/null +++ b/samples/react-ioc-tests/src/index.ts @@ -0,0 +1 @@ +// A file is required to be in the root of the /src directory by the TypeScript compiler diff --git a/samples/react-ioc-tests/src/tslint.json b/samples/react-ioc-tests/src/tslint.json new file mode 100644 index 000000000..5dfc4bb8d --- /dev/null +++ b/samples/react-ioc-tests/src/tslint.json @@ -0,0 +1,68 @@ +{ + "rules": { + "export-name": false, + "no-duplicate-switch-case": true, + "no-function-expression": false, + "no-use-before-declare": true, + "prefer-const": true, + "member-ordering": [false], + "no-constant-condition": [false], + + "class-name": false, + "forin": false, + "label-position": false, + "label-undefined": false, + "member-access": true, + "no-arg": true, + "no-console": [true, "log", "error"], + "no-construct": true, + "no-duplicate-variable": true, + "no-eval": true, + "no-internal-module": true, + "no-shadowed-variable": true, + "no-switch-case-fall-through": true, + "no-unused-expression": true, + "no-unused-variable": false, + "semicolon": [true, "always"], + "typedef": [true, "call-signature", "parameter", "member-variable-declaration", "property-declaration"], + "typedef-whitespace": [ + false, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + }, + { + "call-signature": "onespace", + "index-signature": "onespace", + "parameter": "onespace", + "property-declaration": "onespace", + "variable-declaration": "onespace" + } + ], + "variable-name": false, + "whitespace": [false], + "comment-format": [false, "check-space"], + "curly": true, + "indent": [false], + "interface-name": [true, "always-prefix"], + "max-line-length": [true, 150], + "no-any": false, + "no-bitwise": true, + "no-consecutive-blank-lines": false, + "no-debugger": true, + "no-empty": true, + "no-null-keyword": false, + "no-string-literal": true, + "no-trailing-whitespace": false, + "no-var-keyword": true, + "one-line": [true, "check-open-brace"], + "quotemark": [false, "double", "jsx-double", "avoid-escape"], + "radix": false, + "triple-equals": true, + "trailing-comma": [false, {"multiline": "never", "singleline": "never"}], + "object-literal-sort-keys": false + } +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/webparts/iocTests/IoCTestsWebPartPropsDependencyResolver.test.ts b/samples/react-ioc-tests/src/webparts/iocTests/IoCTestsWebPartPropsDependencyResolver.test.ts new file mode 100644 index 000000000..ab637bc5c --- /dev/null +++ b/samples/react-ioc-tests/src/webparts/iocTests/IoCTestsWebPartPropsDependencyResolver.test.ts @@ -0,0 +1,66 @@ +/// + +import IoCTestsWebPartPropsDependencyResolver from "./IoCTestsWebPartPropsDependencyResolver"; +import { IIocTestsWebPartProps } from "./IocTestsWebPart"; + +describe('DependencyResolver: IoCTestsWebPartPropsDependencyResolver', () => { + + let resolver: IoCTestsWebPartPropsDependencyResolver; + + beforeEach(() => { + resolver = new IoCTestsWebPartPropsDependencyResolver(); + }); + + afterEach(() => { + // do nothing + }); + + it('should have valid props with mocked services', async () => { + // ARRANGE + const webUrl = "https://bing.com"; + const properties: IIocTestsWebPartProps = { + description: "This is a description" + }; + + // ACT + const props = resolver.resolve(properties, webUrl); + + // ASSERT + expect(props.logProvider).toBeDefined(); + expect(props.cacheProvider).toBeDefined(); + expect(props.listsService).toBeDefined(); + }); + + it('should have valid props with real services', async () => { + // ARRANGE + const webUrl = "https://bing.com"; + const properties: IIocTestsWebPartProps = { + description: "This is a description" + }; + + // ACT + const props = resolver.resolve(properties, webUrl); + + // ASSERT + expect(props.logProvider).toBeDefined(); + expect(props.cacheProvider).toBeDefined(); + expect(props.listsService).toBeDefined(); + }); + + it('should support empty property', async () => { + // ARRANGE + const webUrl = "https://bing.com"; + const properties: IIocTestsWebPartProps = { + description: "" + }; + + // ACT + const props = resolver.resolve(properties, webUrl); + + // ASSERT + expect(props.logProvider).toBeDefined(); + expect(props.cacheProvider).toBeDefined(); + expect(props.listsService).toBeDefined(); + }); + +}); \ No newline at end of file diff --git a/samples/react-ioc-tests/src/webparts/iocTests/IoCTestsWebPartPropsDependencyResolver.ts b/samples/react-ioc-tests/src/webparts/iocTests/IoCTestsWebPartPropsDependencyResolver.ts new file mode 100644 index 000000000..bc63d53bd --- /dev/null +++ b/samples/react-ioc-tests/src/webparts/iocTests/IoCTestsWebPartPropsDependencyResolver.ts @@ -0,0 +1,26 @@ +import { IIocTestsWebPartProps } from "./IocTestsWebPart"; +import { IListOfListsProps } from "./components/ListOfLists"; +import IListsService from "../../common/services/Lists/IListsService"; +import ICacheProvider from "../../common/providers/Cache/ICacheProvider"; +import ILogProvider from "../../common/providers/Log/ILogProvider"; +import DependencyResolver from "../../common/providers/DependencyResolver/DependencyResolver"; + +export default class IoCTestsWebPartPropsDependencyResolver { + public resolve(properties: IIocTestsWebPartProps, webUrl: string): IListOfListsProps { + + const resolver = new DependencyResolver(); + + const listsService: IListsService = resolver.ResolveIListsService(webUrl); + const cacheProvider: ICacheProvider = resolver.ResolveICacheProvider(); + const logProvider: ILogProvider = resolver.ResolveILogProvider(); + + const props: IListOfListsProps = { + description: properties.description, + listsService: listsService, + cacheProvider: cacheProvider, + logProvider: logProvider + }; + + return props; + } +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/webparts/iocTests/IocTestsWebPart.manifest.json b/samples/react-ioc-tests/src/webparts/iocTests/IocTestsWebPart.manifest.json new file mode 100644 index 000000000..9845ede26 --- /dev/null +++ b/samples/react-ioc-tests/src/webparts/iocTests/IocTestsWebPart.manifest.json @@ -0,0 +1,27 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json", + "id": "52a13e89-ec95-4f70-a66f-c95ddc682a4e", + "alias": "IocTestsWebPart", + "componentType": "WebPart", + + // The "*" signifies that the version should be taken from the package.json + "version": "*", + "manifestVersion": 2, + + // If true, the component can only be installed on sites where Custom Script is allowed. + // Components that allow authors to embed arbitrary script code should set this to true. + // https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f + "requiresCustomScript": false, + "supportedHosts": ["SharePointWebPart"], + + "preconfiguredEntries": [{ + "groupId": "5c03119e-3074-46fd-976b-c60198311f70", // Other + "group": { "default": "Other" }, + "title": { "default": "Ioc Tests" }, + "description": { "default": "Ioc Tests description" }, + "officeFabricIconFontName": "Page", + "properties": { + "description": "Ioc Tests" + } + }] +} diff --git a/samples/react-ioc-tests/src/webparts/iocTests/IocTestsWebPart.ts b/samples/react-ioc-tests/src/webparts/iocTests/IocTestsWebPart.ts new file mode 100644 index 000000000..46edafbcf --- /dev/null +++ b/samples/react-ioc-tests/src/webparts/iocTests/IocTestsWebPart.ts @@ -0,0 +1,58 @@ +import * as React from 'react'; +import * as ReactDom from 'react-dom'; +import { Version } from '@microsoft/sp-core-library'; + +import { BaseClientSideWebPart } from "@microsoft/sp-webpart-base"; +import { IPropertyPaneConfiguration, PropertyPaneTextField } from "@microsoft/sp-property-pane"; + +import * as strings from 'IocTestsWebPartStrings'; +import ListOfLists, { IListOfListsProps } from './components/ListOfLists'; +import IoCTestsWebPartPropsDependencyResolver from './IoCTestsWebPartPropsDependencyResolver'; + +export interface IIocTestsWebPartProps { + description: string; +} + +export default class IocTestsWebPart extends BaseClientSideWebPart { + + public render(): void { + const weburl = this.context.pageContext.web.absoluteUrl; + const props = (new IoCTestsWebPartPropsDependencyResolver()).resolve(this.properties, weburl); + const element: React.ReactElement = React.createElement( + ListOfLists, + props + ); + + ReactDom.render(element, this.domElement); + } + + protected onDispose(): void { + ReactDom.unmountComponentAtNode(this.domElement); + } + + protected get dataVersion(): Version { + return Version.parse('1.0'); + } + + protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration { + return { + pages: [ + { + header: { + description: strings.PropertyPaneDescription + }, + groups: [ + { + groupName: strings.BasicGroupName, + groupFields: [ + PropertyPaneTextField('description', { + label: strings.DescriptionFieldLabel + }) + ] + } + ] + } + ] + }; + } +} diff --git a/samples/react-ioc-tests/src/webparts/iocTests/components/ListOfLists.module.scss b/samples/react-ioc-tests/src/webparts/iocTests/components/ListOfLists.module.scss new file mode 100644 index 000000000..54632fbee --- /dev/null +++ b/samples/react-ioc-tests/src/webparts/iocTests/components/ListOfLists.module.scss @@ -0,0 +1,6 @@ +.ListOfLists { + .container { + max-width: 700px; + margin: 0px auto; + } +} \ No newline at end of file diff --git a/samples/react-ioc-tests/src/webparts/iocTests/components/ListOfLists.test.tsx b/samples/react-ioc-tests/src/webparts/iocTests/components/ListOfLists.test.tsx new file mode 100644 index 000000000..c2b0dff20 --- /dev/null +++ b/samples/react-ioc-tests/src/webparts/iocTests/components/ListOfLists.test.tsx @@ -0,0 +1,189 @@ +/// + +import * as React from 'react'; +import { configure, shallow } from 'enzyme'; +import * as Adapter from 'enzyme-adapter-react-16.3'; + +configure({ adapter: new Adapter() }); + +import ListOfLists from './ListOfLists'; +import MockListsService from '../../../common/services/Lists/MockListsService'; +import MockCacheProvider from '../../../common/providers/Cache/MockCacheProvider'; +import MockLogProvider from '../../../common/providers/Log/MockLogProvider'; + +describe('Component: ListOfLists', () => { + + let reactComponent; + + beforeEach(() => { + // do nothing + }); + + afterEach(() => { + reactComponent.unmount(); + }); + + it('should render in loading state', async () => { + // ARRANGE + reactComponent = shallow(React.createElement( + ListOfLists, + { + description: "", + listsService: new MockListsService([{ Title: "Mocked List", DefaultViewUrl: "https://bing.com" }]), + cacheProvider: new MockCacheProvider(), + logProvider: new MockLogProvider() + } + )); + + // ACT + const element = reactComponent.first("div"); + + // ASSERT + expect(element.length).toBeGreaterThan(0); + expect(element.text().trim()).toEqual("Loading..."); + }); + + it('should render 1 item with no cache', async () => { + // ARRANGE + reactComponent = shallow(React.createElement( + ListOfLists, + { + description: "Web part desciption", + listsService: new MockListsService([ + { Title: "Mocked List", DefaultViewUrl: "https://bing.com" } + ]), + cacheProvider: new MockCacheProvider(), + logProvider: new MockLogProvider() + } + )); + + // ACT + await (reactComponent.instance().componentDidMount() as Promise); + const element = reactComponent.find("a"); + + // ASSERT + expect(element.length).toEqual(1); + }); + + it('should render 2 items with no cache', async () => { + // ARRANGE + reactComponent = shallow(React.createElement( + ListOfLists, + { + description: "Web part desciption", + listsService: new MockListsService([ + { Title: "Mocked List", DefaultViewUrl: "https://bing.com" }, + { Title: "Another List", DefaultViewUrl: "https://bing.com" } + ]), + cacheProvider: new MockCacheProvider(), + logProvider: new MockLogProvider() + } + )); + + // ACT + await (reactComponent.instance().componentDidMount() as Promise); + const element = reactComponent.find("a"); + + // ASSERT + expect(element.length).toEqual(2); + }); + + it('should render 1 item with primed cache', async () => { + // ARRANGE + reactComponent = shallow(React.createElement( + ListOfLists, + { + description: "Web part desciption", + listsService: new MockListsService(null), + cacheProvider: new MockCacheProvider([ + { Title: "Mocked List", DefaultViewUrl: "https://bing.com" } + ]), + logProvider: new MockLogProvider() + } + )); + + // ACT + await (reactComponent.instance().componentDidMount() as Promise); + const items = reactComponent.find("a"); + + // ASSERT + expect(items.length).toEqual(1); + }); + + it('should render 1 item with primed cache', async () => { + // ARRANGE + reactComponent = shallow(React.createElement( + ListOfLists, + { + description: "Web part desciption", + listsService: new MockListsService(null), + cacheProvider: new MockCacheProvider([ + { Title: "Mocked List", DefaultViewUrl: "https://bing.com" }, + { Title: "Another List", DefaultViewUrl: "https://bing.com" } + ]), + logProvider: new MockLogProvider() + } + )); + + // ACT + await (reactComponent.instance().componentDidMount() as Promise); + const items = reactComponent.find("a"); + + // ASSERT + expect(items.length).toEqual(2); + }); + + it('should render description', async () => { + // ARRANGE + const webPartDesciption = "Web part desciption"; + reactComponent = shallow(React.createElement( + ListOfLists, + { + description: webPartDesciption, + listsService: new MockListsService([]), + cacheProvider: new MockCacheProvider([]), + logProvider: new MockLogProvider() + } + )); + + // ACT + await (reactComponent.instance().componentDidMount() as Promise); + const items = reactComponent.find("a"); + + // ACT + const element = reactComponent.first("div"); + + // ASSERT + expect(element.length).toBeGreaterThan(0); + expect(element.text().trim()).toEqual(webPartDesciption); + }); + + it('should not render empty description', async () => { + // ARRANGE + reactComponent = shallow(React.createElement( + ListOfLists, + { + description: null, + listsService: new MockListsService([]), + cacheProvider: new MockCacheProvider([]), + logProvider: new MockLogProvider() + } + )); + + // ACT + await (reactComponent.instance().componentDidMount() as Promise); + const items = reactComponent.find("a"); + + // ACT + const element = reactComponent.first("div"); + + // ASSERT + expect(element.length).toBeGreaterThan(0); + expect(element.text().trim()).toEqual(""); + }); + +}); + +// Usefull links: +// https://reactjs.org/docs/test-renderer.html +// https://github.com/airbnb/enzyme \ No newline at end of file diff --git a/samples/react-ioc-tests/src/webparts/iocTests/components/ListOfLists.tsx b/samples/react-ioc-tests/src/webparts/iocTests/components/ListOfLists.tsx new file mode 100644 index 000000000..ca82ffafd --- /dev/null +++ b/samples/react-ioc-tests/src/webparts/iocTests/components/ListOfLists.tsx @@ -0,0 +1,75 @@ +import * as React from 'react'; +import styles from './ListOfLists.module.scss'; +import IListsService, { IList } from '../../../common/services/Lists/IListsService'; +import ICacheProvider, { CacheTimeout } from '../../../common/providers/Cache/ICacheProvider'; +import ILogProvider from '../../../common/providers/Log/ILogProvider'; + +export interface IListOfListsProps { + description: string; + cacheProvider: ICacheProvider; + logProvider: ILogProvider; + listsService: IListsService; +} + +export interface IListOfListsState { + lists: IList[]; + isLoading: boolean; +} + +export default class ListOfLists extends React.Component { + private className: string = "ListOfLists"; + + constructor(props: IListOfListsProps) { + super(props); + this.state = { + lists: [], + isLoading: true + }; + } + + public async componentDidMount(): Promise { + // LOG PROVIDER + await this.props.logProvider.Debug(this.className, "componentDidMount", null); + + // CACHE PROVIDER + const cacheKey = "ListOfListsGetLists"; + let lists: IList[] = await this.props.cacheProvider.Get(cacheKey); + if (!lists) { + // LISTS SERVICE + lists = await this.props.listsService.GetLists(); + + // CACHE PROVIDER + await this.props.cacheProvider.Set(cacheKey, lists, CacheTimeout.default); + } + + this.setState({ + lists: lists, + isLoading: false + }); + } + + public render(): React.ReactElement { + this.props.logProvider.Debug(this.className, "render", null); + + return ( +
+
+ { !!this.props.description && +
{this.props.description}
+ } + { !!this.state.isLoading && + Loading... + } + { this.state.lists.map(l => { + return ( +
+ {l.Title} +
+ ); + }) + } +
+
+ ); + } +} diff --git a/samples/react-ioc-tests/src/webparts/iocTests/loc/en-us.js b/samples/react-ioc-tests/src/webparts/iocTests/loc/en-us.js new file mode 100644 index 000000000..89f98bc1e --- /dev/null +++ b/samples/react-ioc-tests/src/webparts/iocTests/loc/en-us.js @@ -0,0 +1,7 @@ +define([], function() { + return { + "PropertyPaneDescription": "Description", + "BasicGroupName": "Group Name", + "DescriptionFieldLabel": "Description Field" + } +}); \ No newline at end of file diff --git a/samples/react-ioc-tests/src/webparts/iocTests/loc/mystrings.d.ts b/samples/react-ioc-tests/src/webparts/iocTests/loc/mystrings.d.ts new file mode 100644 index 000000000..bc19695db --- /dev/null +++ b/samples/react-ioc-tests/src/webparts/iocTests/loc/mystrings.d.ts @@ -0,0 +1,10 @@ +declare interface IIocTestsWebPartStrings { + PropertyPaneDescription: string; + BasicGroupName: string; + DescriptionFieldLabel: string; +} + +declare module 'IocTestsWebPartStrings' { + const strings: IIocTestsWebPartStrings; + export = strings; +} diff --git a/samples/react-ioc-tests/tsconfig.json b/samples/react-ioc-tests/tsconfig.json new file mode 100644 index 000000000..db10b4f1e --- /dev/null +++ b/samples/react-ioc-tests/tsconfig.json @@ -0,0 +1,36 @@ +{ + "extends": "./node_modules/@microsoft/rush-stack-compiler-3.3/includes/tsconfig-web.json", + "compilerOptions": { + "strict": true, + "target": "es5", + "forceConsistentCasingInFileNames": true, + "module": "esnext", + "moduleResolution": "node", + "jsx": "react", + "declaration": true, + "sourceMap": true, + "experimentalDecorators": true, + "skipLibCheck": true, + "outDir": "lib", + "typeRoots": [ + "./node_modules/@types", + "./node_modules/@microsoft" + ], + "types": [ + "es6-promise", + "webpack-env" + ], + "lib": [ + "es5", + "dom", + "es2015.collection" + ] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "node_modules", + "lib" + ] +} diff --git a/samples/react-ioc-tests/tslint.json b/samples/react-ioc-tests/tslint.json new file mode 100644 index 000000000..23fa2aa43 --- /dev/null +++ b/samples/react-ioc-tests/tslint.json @@ -0,0 +1,30 @@ +{ + "extends": "@microsoft/sp-tslint-rules/base-tslint.json", + "rules": { + "class-name": false, + "export-name": false, + "forin": false, + "label-position": false, + "member-access": true, + "no-arg": false, + "no-console": false, + "no-construct": false, + "no-duplicate-variable": true, + "no-eval": false, + "no-function-expression": true, + "no-internal-module": true, + "no-shadowed-variable": true, + "no-switch-case-fall-through": true, + "no-unnecessary-semicolons": true, + "no-unused-expression": true, + "no-use-before-declare": true, + "no-with-statement": true, + "semicolon": true, + "trailing-comma": false, + "typedef": false, + "typedef-whitespace": false, + "use-named-parameter": true, + "variable-name": false, + "whitespace": false + } +} \ No newline at end of file diff --git a/samples/react-ioc-tests/vscode/README.md b/samples/react-ioc-tests/vscode/README.md new file mode 100644 index 000000000..555029a8b --- /dev/null +++ b/samples/react-ioc-tests/vscode/README.md @@ -0,0 +1,8 @@ +# vscode folder + +## This folder contains Visual Studio Code settings files for expected desired local configuration + +Copying the launch.json from this folder to the .vscode folder will enable debugging of unit tests + +Copying the settings.json from this folder to the .vscode folder will hide folders from the solution explorer + diff --git a/samples/react-ioc-tests/vscode/launch.json b/samples/react-ioc-tests/vscode/launch.json new file mode 100644 index 000000000..249e64628 --- /dev/null +++ b/samples/react-ioc-tests/vscode/launch.json @@ -0,0 +1,73 @@ +{ + /** + * Install Chrome Debugger Extension for Visual Studio Code to debug your components with the + * Chrome browser: https://aka.ms/spfx-debugger-extensions + */ + "version": "0.2.0", + "configurations": [{ + "name": "Local workbench", + "type": "chrome", + "request": "launch", + "url": "https://localhost:4321/temp/workbench.html", + "webRoot": "${workspaceRoot}", + "sourceMaps": true, + "sourceMapPathOverrides": { + "webpack:///.././src/*": "${webRoot}/src/*", + "webpack:///../../../src/*": "${webRoot}/src/*", + "webpack:///../../../../src/*": "${webRoot}/src/*", + "webpack:///../../../../../src/*": "${webRoot}/src/*" + }, + "runtimeArgs": [ + "--remote-debugging-port=9222" + ] + }, + { + "name": "Hosted workbench", + "type": "chrome", + "request": "launch", + "url": "https://enter-your-SharePoint-site/_layouts/workbench.aspx", + "webRoot": "${workspaceRoot}", + "sourceMaps": true, + "sourceMapPathOverrides": { + "webpack:///.././src/*": "${webRoot}/src/*", + "webpack:///../../../src/*": "${webRoot}/src/*", + "webpack:///../../../../src/*": "${webRoot}/src/*", + "webpack:///../../../../../src/*": "${webRoot}/src/*" + }, + "runtimeArgs": [ + "--remote-debugging-port=9222", + "-incognito" + ] + }, + //https://github.com/Microsoft/vscode-recipes/tree/master/debugging-jest-tests + //https://github.com/facebook/jest/issues/1652 + { + "type": "node", + "request": "launch", + "name": "Jest All", + "program": "${workspaceFolder}/node_modules/jest/bin/jest", + "args": ["--runInBand"], + "console": "integratedTerminal", + "internalConsoleOptions": "neverOpen" + }, + { + "type": "node", + "request": "launch", + "name": "Jest Watch", + "program": "${workspaceFolder}/node_modules/jest/bin/jest", + "args": ["--runInBand","--watch"], // jest --watch #runs jest -o by default + "console": "integratedTerminal", + "internalConsoleOptions": "neverOpen" + }, + { + //https://facebook.github.io/jest/docs/en/cli.html + "type": "node", + "request": "launch", + "name": "Jest Watch All", + "program": "${workspaceFolder}/node_modules/jest/bin/jest", + "args": ["--runInBand","--watchAll"], + "console": "integratedTerminal", + "internalConsoleOptions": "neverOpen" + } + ] +} \ No newline at end of file diff --git a/samples/react-ioc-tests/vscode/settings.json b/samples/react-ioc-tests/vscode/settings.json new file mode 100644 index 000000000..e718f02ce --- /dev/null +++ b/samples/react-ioc-tests/vscode/settings.json @@ -0,0 +1,18 @@ +// Place your settings in this file to overwrite default and user settings. +{ + // Configure glob patterns for excluding files and folders in the file explorer. + "files.exclude": { + "**/.git": true, + "**/.DS_Store": true, + "**/bower_components": true, + "**/coverage": true, + "**/lib-amd": true, + "src/**/*.scss.ts": true, + "node_modules": true, + "jest": true, + "dist": true, + "lib": true, + "temp": true + }, + "typescript.tsdk": ".\\node_modules\\typescript\\lib" +} \ No newline at end of file