[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#987262: [pre-approval] unblock: node-lodash/4.17.21+dfsg+~cs8.31.189.20210220-2



Package: release.debian.org
User: release.debian.org@packages.debian.org
Usertags: unblock
Severity: normal

Please unblock package node-lodash/4.17.21+dfsg+~cs8.31.189.20210220-2

I'd like to include this in bullseye if possible. Attaching the debdiff (uploaded to experimental already). Since I was not sure, I did not upload to unstable.

[ Reason ]
This fixes #979531 but it uses a new upstream version of lodash-cli which is embedded in node-lodash. We were unaware of the new location of this fork and were not able to build a part of node-lodash. Thanks to Akshay, we figured out the new location of lodash-cli and fixed the build.

[ Impact ]
The issue #979531 will remain unfixed in bullseye

[ Tests ]
This only adds new files to the binary package.

[ Risks ]
Since it only adds new files, there is no risk of breaking existing stuff.

[ Checklist ]
 [x] all changes are documented in the d/changelog
 [x] I reviewed all changes and I approve them
 [x] attach debdiff against the package in testing

unblock node-lodash/4.17.21+dfsg+~cs8.31.189.20210220-2

Thanks
Praveen

diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/debian/changelog node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/debian/changelog
--- node-lodash-4.17.21+dfsg+~cs8.31.173/debian/changelog	2021-03-13 12:38:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/debian/changelog	2021-04-20 19:42:01.000000000 +0530
@@ -1,3 +1,18 @@
+node-lodash (4.17.21+dfsg+~cs8.31.189.20210220-1) experimental; urgency=medium
+
+  [ Yadd ]
+  * Fix GitHub tags regex
+
+  [ Pirate Praveen ]
+  * Update watch file to use a maintained fork of lodash-cli (thanks to Akshay)
+  * New upstream version 4.17.21+dfsg+~cs8.31.189.20210220
+  * The patch add-isArray is now included in upstream (Thanks to Akshay)
+
+  [ Akshay S Dinesh ]
+  * Fix fp modules build (Closes: #979531)
+
+ -- Pirate Praveen <praveen@debian.org>  Tue, 20 Apr 2021 19:42:01 +0530
+
 node-lodash (4.17.21+dfsg+~cs8.31.173-1) unstable; urgency=medium
 
   * Team upload
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/debian/patches/add-isArray-dep-to-baseOrderBy.patch node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/debian/patches/add-isArray-dep-to-baseOrderBy.patch
--- node-lodash-4.17.21+dfsg+~cs8.31.173/debian/patches/add-isArray-dep-to-baseOrderBy.patch	2020-10-14 09:11:04.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/debian/patches/add-isArray-dep-to-baseOrderBy.patch	1970-01-01 05:30:00.000000000 +0530
@@ -1,13 +0,0 @@
-Description: Add isArray dep to baseOrderBy
-Forwarded: https://github.com/lodash-archive/lodash-cli/pull/141
---- a/lodash-cli/lib/mapping.js
-+++ b/lodash-cli/lib/mapping.js
-@@ -847,7 +847,7 @@
-   'baseMerge': ['assignMergeValue', 'baseFor', 'baseMergeDeep', 'isObject', 'keysIn', 'safeGet', 'Stack'],
-   'baseMergeDeep': ['assignMergeValue', 'cloneBuffer', 'cloneTypedArray', 'copyArray', 'initCloneObject', 'isArguments', 'isArray', 'isArrayLikeObject', 'isBuffer', 'isFunction', 'isObject', 'isPlainObject', 'isTypedArray', 'safeGet', 'toPlainObject'],
-   'baseNth': ['isIndex'],
--  'baseOrderBy': ['arrayMap', 'baseMap', 'baseSortBy', 'baseUnary', 'compareMultiple', 'getIteratee', 'identity'],
-+  'baseOrderBy': ['arrayMap', 'baseMap', 'baseSortBy', 'baseUnary', 'compareMultiple', 'getIteratee', 'identity', 'isArray'],
-   'basePick': ['basePickBy', 'hasIn'],
-   'basePickBy': ['baseGet', 'baseSet', 'castPath'],
-   'baseProperty': [],
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/debian/patches/series node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/debian/patches/series
--- node-lodash-4.17.21+dfsg+~cs8.31.173/debian/patches/series	2021-03-13 12:36:53.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/debian/patches/series	2021-04-20 19:42:01.000000000 +0530
@@ -1,3 +1,2 @@
 support-globalThis.diff
-add-isArray-dep-to-baseOrderBy.patch
 webpack-4-compat.patch
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/debian/rules node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/debian/rules
--- node-lodash-4.17.21+dfsg+~cs8.31.173/debian/rules	2021-03-13 12:35:40.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/debian/rules	2021-04-20 19:42:01.000000000 +0530
@@ -12,8 +12,8 @@
 	node lodash-cli/bin/lodash modularize exports=npm -o packages
 	node lodash-cli/bin/lodash modularize exports=es -o es
 	node lib/main/build-dist.js
-	node lib/main/build-modules.js debian/build
-	node lib/fp/build-modules.js  dist
+	node lib/main/build-modules.js modules
+	node lib/fp/build-modules.js  modules
 	node lib/fp/build-dist.js
 	uglifyjs -o dist/lodash.min.js dist/lodash.js
 	rm dist/lodash.fp.min.js # this is empty
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/debian/watch node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/debian/watch
--- node-lodash-4.17.21+dfsg+~cs8.31.173/debian/watch	2021-03-13 12:35:41.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/debian/watch	2021-04-20 19:42:01.000000000 +0530
@@ -5,11 +5,11 @@
 repack,\
 filenamemangle=s/.*?v?(@ANY_VERSION@@ARCHIVE_EXT@)/@PACKAGE@-$1/,\
 dversionmangle=auto \
-https://github.com/lodash/lodash/tags .*/archive/v?(\d[\d\.]*).tar.gz group
+https://github.com/lodash/lodash/tags .*/archive/.*/v?(\d[\d\.]*).tar.gz group
 
-opts="searchmode=plain,pgpmode=none,ctype=nodejs,component=lodash-cli" \
- https://registry.npmjs.org/lodash-cli \
- https://registry.npmjs.org/lodash-cli/-/lodash-cli-(4.[\d\.]*)@ARCHIVE_EXT@ checksum
+# Taken from https://github.com/lodash/lodash/blob/4.17/.travis.yml
+opts="mode=git,pretty=4.17.21.%cd,pgpmode=none,ctype=nodejs,component=lodash-cli" \
+https://github.com/bnjmnt4n/lodash-cli HEAD checksum
 
 # It is not recommended use npmregistry. Please investigate more.
 # Take a look at https://wiki.debian.org/debian/watch/
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/.babelrc node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/.babelrc
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/.babelrc	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/.babelrc	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1,9 @@
+{
+  "presets": [
+    ["env", {
+      "targets": {
+        "node": 4
+      }
+    }]
+  ]
+}
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/bin/lodash node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/bin/lodash
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/bin/lodash	2017-02-04 04:22:36.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/bin/lodash	2021-02-20 21:05:39.000000000 +0530
@@ -1578,7 +1578,7 @@
     );
   }
   if (funcDepMap) {
-    funcDepMap.createFlow = ['baseFlatten', 'baseRest'];
+    funcDepMap.createFlow = ['baseFlatten', 'flatRest'];
   }
   if (varDepMap) {
     source = removeVar(source, 'realNames');
@@ -1588,7 +1588,7 @@
   }
   source = replaceFunction(source, 'createFlow', [
     'function createFlow(fromRight) {',
-    '  return baseRest(function(funcs) {',
+    '  return flatRest(function(funcs) {',
     '    funcs = baseFlatten(funcs, 1);',
     '',
     '    var length = funcs.length,',
@@ -2956,7 +2956,8 @@
           funcDepMap[funcName].push('wrapperValue');
         });
       }
-      if (isCore || isModularize) {
+      if (isModularize ||
+          (isCore && _.isEmpty(plusFuncs))) {
         source = removeGetIteratee(source, funcDepMap);
       }
       // Remove iteratee shorthand support from `iteratee`.
@@ -3092,7 +3093,15 @@
 
         // Remove default `sourceURL` value.
         return modifyVar(match, 'sourceURL', function(match) {
-          return match.replace(/=[\s\S]+?(?=;\n$)/, "= 'sourceURL' in options ? '//# sourceURL=' + options.sourceURL + '\\n' : ''");
+          return match.replace(/^( *)(var\s+sourceURL\s*=\s*)[\s\S]+?(?=;\n$)/m, function(submatch, indent, left) {
+            return indent + left + [
+              "hasOwnProperty.call(options, 'sourceURL')",
+              indent + "  ? ('//# sourceURL=' +",
+              indent + "     (options.sourceURL + '').replace(/\\s/g, ' ') +",
+              indent + "     '\\n')",
+              indent + "  : ''"
+            ].join('\n');
+          });
         });
       });
 
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/.gitattributes node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/.gitattributes
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/.gitattributes	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/.gitattributes	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1 @@
+* text=auto
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/.github/CONTRIBUTING.md node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/.github/CONTRIBUTING.md
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/.github/CONTRIBUTING.md	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/.github/CONTRIBUTING.md	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1,46 @@
+# Contributing to lodash-cli
+
+Contributions are always welcome. Before contributing please read the
+[code of conduct](https://js.foundation/community/code-of-conduct) &
+[search the issue tracker](https://github.com/lodash/lodash-cli/issues); your issue
+may have already been discussed or fixed in `master`. To contribute,
+[fork](https://help.github.com/articles/fork-a-repo/) Lodash, commit your changes,
+& [send a pull request](https://help.github.com/articles/using-pull-requests/).
+
+## Pull Requests
+
+Before running the unit tests youâ??ll need to install, `npm i`,
+[development dependencies](https://docs.npmjs.com/files/package.json#devdependencies).
+Run unit tests from the command-line via `npm test`.
+
+## Contributor License Agreement
+
+lodash-cli is a member of the [Open JS Foundation](https://openjsf.org/).
+As such, we request that all contributors sign our
+[contributor license agreement (CLA)](https://js.foundation/CLA/).
+
+For more information about CLAs, please check out Alex Russellâ??s excellent post,
+[â??Why Do I Need to Sign This?â??](https://infrequently.org/2008/06/why-do-i-need-to-sign-this/).
+
+## Coding Guidelines
+
+In addition to the following guidelines, please follow the conventions already
+established in the code.
+
+- **Spacing**:<br>
+  Use two spaces for indentation. No tabs.
+
+- **Naming**:<br>
+  Keep variable & method names concise & descriptive.<br>
+  Variable names `index`, `array`, & `iteratee` are preferable to
+  `i`, `arr`, & `fn`.
+
+- **Quotes**:<br>
+  Single-quoted strings are preferred to double-quoted strings; however,
+  please use a double-quoted string if the value contains a single-quote
+  character to avoid unnecessary escaping.
+
+- **Comments**:<br>
+  Please use single-line comments to annotate significant additions, &
+  [JSDoc-style](http://www.2ality.com/2011/08/jsdoc-intro.html) comments for
+  functions.
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/.gitignore node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/.gitignore
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/.gitignore	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/.gitignore	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1,3 @@
+.DS_Store
+*.log
+node_modules
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/lib/mapping.js node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/lib/mapping.js
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/lib/mapping.js	2018-02-04 09:47:06.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/lib/mapping.js	2021-02-20 21:05:39.000000000 +0530
@@ -718,7 +718,7 @@
   'toInteger': ['toFinite'],
   'toLength': ['baseClamp', 'toInteger'],
   'toLower': ['toString'],
-  'toNumber': ['isObject', 'isSymbol'],
+  'toNumber': ['baseTrim', 'isObject', 'isSymbol'],
   'toPairs': ['createToPairs', 'keys'],
   'toPairsIn': ['createToPairs', 'keysIn'],
   'toPath': ['arrayMap', 'copyArray', 'isArray', 'isSymbol', 'stringToPath', 'toKey', 'toString'],
@@ -727,8 +727,8 @@
   'toString': ['baseToString'],
   'toUpper': ['toString'],
   'transform': ['arrayEach', 'baseCreate', 'baseForOwn', 'getIteratee', 'getPrototype', 'isArray', 'isBuffer', 'isFunction', 'isObject', 'isTypedArray'],
-  'trim': ['baseToString', 'castSlice', 'charsEndIndex', 'charsStartIndex', 'stringToArray', 'toString'],
-  'trimEnd': ['baseToString', 'castSlice', 'charsEndIndex', 'stringToArray', 'toString'],
+  'trim': ['baseToString', 'baseTrim', 'castSlice', 'charsEndIndex', 'charsStartIndex', 'stringToArray', 'toString'],
+  'trimEnd': ['baseToString', 'castSlice', 'charsEndIndex', 'stringToArray', 'toString', 'trimmedEndIndex'],
   'trimStart': ['baseToString', 'castSlice', 'charsStartIndex', 'stringToArray', 'toString'],
   'truncate': ['baseToString', 'castSlice', 'hasUnicode', 'isObject', 'isRegExp', 'stringSize', 'stringToArray', 'toInteger', 'toString'],
   'unary': ['ary'],
@@ -790,7 +790,7 @@
   'baseAssignValue': ['defineProperty'],
   'baseAt': ['get'],
   'baseClamp': [],
-  'baseClone': ['arrayEach', 'assignValue', 'baseAssign', 'baseAssignIn', 'cloneBuffer', 'copyArray', 'copySymbols', 'copySymbolsIn', 'getAllKeys', 'getAllKeysIn', 'getTag', 'initCloneArray', 'initCloneByTag', 'initCloneObject', 'isArray', 'isBuffer', 'isMap', 'isObject', 'isSet', 'keys', 'Stack'],
+  'baseClone': ['arrayEach', 'assignValue', 'baseAssign', 'baseAssignIn', 'cloneBuffer', 'copyArray', 'copySymbols', 'copySymbolsIn', 'getAllKeys', 'getAllKeysIn', 'getTag', 'initCloneArray', 'initCloneByTag', 'initCloneObject', 'isArray', 'isBuffer', 'isMap', 'isObject', 'isSet', 'keys', 'keysIn', 'Stack'],
   'baseConforms': ['baseConformsTo', 'keys'],
   'baseConformsTo': [],
   'baseCreate': ['isObject'],
@@ -847,7 +847,7 @@
   'baseMerge': ['assignMergeValue', 'baseFor', 'baseMergeDeep', 'isObject', 'keysIn', 'safeGet', 'Stack'],
   'baseMergeDeep': ['assignMergeValue', 'cloneBuffer', 'cloneTypedArray', 'copyArray', 'initCloneObject', 'isArguments', 'isArray', 'isArrayLikeObject', 'isBuffer', 'isFunction', 'isObject', 'isPlainObject', 'isTypedArray', 'safeGet', 'toPlainObject'],
   'baseNth': ['isIndex'],
-  'baseOrderBy': ['arrayMap', 'baseMap', 'baseSortBy', 'baseUnary', 'compareMultiple', 'getIteratee', 'identity'],
+  'baseOrderBy': ['arrayMap', 'baseGet', 'baseMap', 'baseSortBy', 'baseUnary', 'compareMultiple', 'getIteratee', 'identity', 'isArray'],
   'basePick': ['basePickBy', 'hasIn'],
   'basePickBy': ['baseGet', 'baseSet', 'castPath'],
   'baseProperty': [],
@@ -877,6 +877,7 @@
   'baseToPairs': ['arrayMap'],
   'baseToNumber': ['isSymbol'],
   'baseToString': ['arrayMap', 'isArray', 'isSymbol', 'Symbol'],
+  'baseTrim': ['trimmedEndIndex'],
   'baseUnary': [],
   'baseUniq': ['arrayIncludes', 'arrayIncludesWith', 'cacheHas', 'createSet', 'SetCache', 'setToArray'],
   'baseUnset': ['castPath', 'last', 'parent', 'toKey'],
@@ -1012,6 +1013,7 @@
   'stringToPath': ['memoizeCapped'],
   'toKey': ['isSymbol'],
   'toSource': [],
+  'trimmedEndIndex': [],
   'unescapeHtmlChar': ['basePropertyOf'],
   'unicodeSize': [],
   'unicodeToArray': [],
@@ -1092,6 +1094,7 @@
   'createCurry': ['root'],
   'createHybrid': ['root'],
   'createPartial': ['root'],
+  'createRound': ['root'],
   'getData': ['metaMap'],
   'getFuncName': ['realNames'],
   'isMasked': ['coreJsData'],
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/lib/preprocess.js node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/lib/preprocess.js
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/lib/preprocess.js	2017-02-04 04:22:36.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/lib/preprocess.js	2021-02-20 21:05:39.000000000 +0530
@@ -57,8 +57,14 @@
     snippet = snippet.replace('";__p+=\'"', '";\\n__p+=\'"');
 
     // Remove default `sourceURL` value.
-    return snippet.replace(/^( *var\s+sourceURL\s*=\s*)[\s\S]+?(?=;\n$)/m, function(match, left) {
-      return left + "'sourceURL' in options ? '//# sourceURL=' + options.sourceURL + '\\n' : ''";
+    return snippet.replace(/^( *)(var\s+sourceURL\s*=\s*)[\s\S]+?(?=;\n$)/m, function(match, indent, left) {
+      return indent + left + [
+        "hasOwnProperty.call(options, 'sourceURL')",
+        indent + "  ? ('//# sourceURL=' +",
+        indent + "     (options.sourceURL + '').replace(/\\s/g, ' ') +",
+        indent + "     '\\n')",
+        indent + "  : ''"
+      ].join('\n');
     });
   });
 
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/LICENSE node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/LICENSE
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/LICENSE	2017-02-04 04:22:36.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/LICENSE	2021-02-20 21:05:39.000000000 +0530
@@ -1,4 +1,4 @@
-Copyright JS Foundation and other contributors <https://js.foundation/>
+Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
 
 This software consists of voluntary contributions made by many
 individuals. For exact contribution history, see the revision history
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/npm-shrinkwrap.json node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/npm-shrinkwrap.json
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/npm-shrinkwrap.json	2018-02-04 09:47:18.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/npm-shrinkwrap.json	2021-02-20 21:05:39.000000000 +0530
@@ -1,204 +1,3541 @@
 {
   "name": "lodash-cli",
-  "version": "4.17.5",
+  "version": "4.17.20",
+  "lockfileVersion": 1,
+  "requires": true,
   "dependencies": {
+    "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
+    },
+    "anymatch": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz";,
+      "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "micromatch": "^2.1.5",
+        "normalize-path": "^2.0.0"
+      }
+    },
+    "arr-diff": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz";,
+      "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "arr-flatten": "^1.0.1"
+      }
+    },
+    "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,
+      "optional": 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,
+      "optional": true
+    },
+    "array-unique": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz";,
+      "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+      "dev": true,
+      "optional": 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,
+      "optional": true
+    },
+    "async-each": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.2.tgz";,
+      "integrity": "sha512-6xrbvN0MOBKSJDdonmSSz2OwFSgxRaVtBDes26mj9KIGtDo+g9xosFRSC+i1gQh2oAN/tQ62AI/pGZGQjVOiRg==",
+      "dev": true,
+      "optional": 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,
+      "optional": true
+    },
+    "babel-cli": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz";,
+      "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=",
+      "dev": true,
+      "requires": {
+        "babel-core": "^6.26.0",
+        "babel-polyfill": "^6.26.0",
+        "babel-register": "^6.26.0",
+        "babel-runtime": "^6.26.0",
+        "chokidar": "^1.6.1",
+        "commander": "^2.11.0",
+        "convert-source-map": "^1.5.0",
+        "fs-readdir-recursive": "^1.0.0",
+        "glob": "^7.1.2",
+        "lodash": "^4.17.4",
+        "output-file-sync": "^1.1.2",
+        "path-is-absolute": "^1.0.1",
+        "slash": "^1.0.0",
+        "source-map": "^0.5.6",
+        "v8flags": "^2.1.1"
+      },
+      "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.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          }
+        }
+      }
+    },
+    "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"
+      }
+    },
+    "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.0",
+        "babel-helpers": "^6.24.1",
+        "babel-messages": "^6.23.0",
+        "babel-register": "^6.26.0",
+        "babel-runtime": "^6.26.0",
+        "babel-template": "^6.26.0",
+        "babel-traverse": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "babylon": "^6.18.0",
+        "convert-source-map": "^1.5.1",
+        "debug": "^2.6.9",
+        "json5": "^0.5.1",
+        "lodash": "^4.17.4",
+        "minimatch": "^3.0.4",
+        "path-is-absolute": "^1.0.1",
+        "private": "^0.1.8",
+        "slash": "^1.0.0",
+        "source-map": "^0.5.7"
+      }
+    },
+    "babel-generator": {
+      "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.4",
+        "source-map": "^0.5.7",
+        "trim-right": "^1.0.1"
+      }
+    },
+    "babel-helper-builder-binary-assignment-operator-visitor": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz";,
+      "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
+      "dev": true,
+      "requires": {
+        "babel-helper-explode-assignable-expression": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-helper-call-delegate": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz";,
+      "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
+      "dev": true,
+      "requires": {
+        "babel-helper-hoist-variables": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-helper-define-map": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz";,
+      "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
+      "dev": true,
+      "requires": {
+        "babel-helper-function-name": "^6.24.1",
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "lodash": "^4.17.4"
+      }
+    },
+    "babel-helper-explode-assignable-expression": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz";,
+      "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-helper-function-name": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz";,
+      "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+      "dev": true,
+      "requires": {
+        "babel-helper-get-function-arity": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-helper-get-function-arity": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz";,
+      "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-helper-hoist-variables": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz";,
+      "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-helper-optimise-call-expression": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz";,
+      "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-helper-regex": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz";,
+      "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "lodash": "^4.17.4"
+      }
+    },
+    "babel-helper-remap-async-to-generator": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz";,
+      "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
+      "dev": true,
+      "requires": {
+        "babel-helper-function-name": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-helper-replace-supers": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz";,
+      "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
+      "dev": true,
+      "requires": {
+        "babel-helper-optimise-call-expression": "^6.24.1",
+        "babel-messages": "^6.23.0",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-helpers": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz";,
+      "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
+      }
+    },
+    "babel-messages": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz";,
+      "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-check-es2015-constants": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz";,
+      "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-syntax-async-functions": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz";,
+      "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
+      "dev": true
+    },
+    "babel-plugin-syntax-exponentiation-operator": {
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz";,
+      "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
+      "dev": true
+    },
+    "babel-plugin-syntax-trailing-function-commas": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz";,
+      "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
+      "dev": true
+    },
+    "babel-plugin-transform-async-to-generator": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz";,
+      "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
+      "dev": true,
+      "requires": {
+        "babel-helper-remap-async-to-generator": "^6.24.1",
+        "babel-plugin-syntax-async-functions": "^6.8.0",
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-es2015-arrow-functions": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz";,
+      "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-es2015-block-scoped-functions": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz";,
+      "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-es2015-block-scoping": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz";,
+      "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.26.0",
+        "babel-template": "^6.26.0",
+        "babel-traverse": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "lodash": "^4.17.4"
+      }
+    },
+    "babel-plugin-transform-es2015-classes": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz";,
+      "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
+      "dev": true,
+      "requires": {
+        "babel-helper-define-map": "^6.24.1",
+        "babel-helper-function-name": "^6.24.1",
+        "babel-helper-optimise-call-expression": "^6.24.1",
+        "babel-helper-replace-supers": "^6.24.1",
+        "babel-messages": "^6.23.0",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-plugin-transform-es2015-computed-properties": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz";,
+      "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
+      }
+    },
+    "babel-plugin-transform-es2015-destructuring": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz";,
+      "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-es2015-duplicate-keys": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz";,
+      "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-plugin-transform-es2015-for-of": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz";,
+      "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-es2015-function-name": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz";,
+      "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
+      "dev": true,
+      "requires": {
+        "babel-helper-function-name": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-plugin-transform-es2015-literals": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz";,
+      "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-es2015-modules-amd": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz";,
+      "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
+      "dev": true,
+      "requires": {
+        "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
+      }
+    },
+    "babel-plugin-transform-es2015-modules-commonjs": {
+      "version": "6.26.2",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz";,
+      "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
+      "dev": true,
+      "requires": {
+        "babel-plugin-transform-strict-mode": "^6.24.1",
+        "babel-runtime": "^6.26.0",
+        "babel-template": "^6.26.0",
+        "babel-types": "^6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-modules-systemjs": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz";,
+      "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
+      "dev": true,
+      "requires": {
+        "babel-helper-hoist-variables": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
+      }
+    },
+    "babel-plugin-transform-es2015-modules-umd": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz";,
+      "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
+      "dev": true,
+      "requires": {
+        "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1"
+      }
+    },
+    "babel-plugin-transform-es2015-object-super": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz";,
+      "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
+      "dev": true,
+      "requires": {
+        "babel-helper-replace-supers": "^6.24.1",
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-es2015-parameters": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz";,
+      "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
+      "dev": true,
+      "requires": {
+        "babel-helper-call-delegate": "^6.24.1",
+        "babel-helper-get-function-arity": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-template": "^6.24.1",
+        "babel-traverse": "^6.24.1",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-plugin-transform-es2015-shorthand-properties": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz";,
+      "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-plugin-transform-es2015-spread": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz";,
+      "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-es2015-sticky-regex": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz";,
+      "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
+      "dev": true,
+      "requires": {
+        "babel-helper-regex": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-plugin-transform-es2015-template-literals": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz";,
+      "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-es2015-typeof-symbol": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz";,
+      "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-es2015-unicode-regex": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz";,
+      "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
+      "dev": true,
+      "requires": {
+        "babel-helper-regex": "^6.24.1",
+        "babel-runtime": "^6.22.0",
+        "regexpu-core": "^2.0.0"
+      }
+    },
+    "babel-plugin-transform-exponentiation-operator": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz";,
+      "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
+      "dev": true,
+      "requires": {
+        "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
+        "babel-plugin-syntax-exponentiation-operator": "^6.8.0",
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-regenerator": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz";,
+      "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
+      "dev": true,
+      "requires": {
+        "regenerator-transform": "^0.10.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.22.0",
+        "babel-types": "^6.24.1"
+      }
+    },
+    "babel-polyfill": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz";,
+      "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.26.0",
+        "core-js": "^2.5.0",
+        "regenerator-runtime": "^0.10.5"
+      },
+      "dependencies": {
+        "regenerator-runtime": {
+          "version": "0.10.5",
+          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz";,
+          "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
+          "dev": true
+        }
+      }
+    },
+    "babel-preset-env": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz";,
+      "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==",
+      "dev": true,
+      "requires": {
+        "babel-plugin-check-es2015-constants": "^6.22.0",
+        "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
+        "babel-plugin-transform-async-to-generator": "^6.22.0",
+        "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
+        "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
+        "babel-plugin-transform-es2015-block-scoping": "^6.23.0",
+        "babel-plugin-transform-es2015-classes": "^6.23.0",
+        "babel-plugin-transform-es2015-computed-properties": "^6.22.0",
+        "babel-plugin-transform-es2015-destructuring": "^6.23.0",
+        "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0",
+        "babel-plugin-transform-es2015-for-of": "^6.23.0",
+        "babel-plugin-transform-es2015-function-name": "^6.22.0",
+        "babel-plugin-transform-es2015-literals": "^6.22.0",
+        "babel-plugin-transform-es2015-modules-amd": "^6.22.0",
+        "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
+        "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0",
+        "babel-plugin-transform-es2015-modules-umd": "^6.23.0",
+        "babel-plugin-transform-es2015-object-super": "^6.22.0",
+        "babel-plugin-transform-es2015-parameters": "^6.23.0",
+        "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0",
+        "babel-plugin-transform-es2015-spread": "^6.22.0",
+        "babel-plugin-transform-es2015-sticky-regex": "^6.22.0",
+        "babel-plugin-transform-es2015-template-literals": "^6.22.0",
+        "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0",
+        "babel-plugin-transform-es2015-unicode-regex": "^6.22.0",
+        "babel-plugin-transform-exponentiation-operator": "^6.22.0",
+        "babel-plugin-transform-regenerator": "^6.22.0",
+        "browserslist": "^3.2.6",
+        "invariant": "^2.2.2",
+        "semver": "^5.3.0"
+      }
+    },
+    "babel-register": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz";,
+      "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
+      "dev": true,
+      "requires": {
+        "babel-core": "^6.26.0",
+        "babel-runtime": "^6.26.0",
+        "core-js": "^2.5.0",
+        "home-or-tmp": "^2.0.0",
+        "lodash": "^4.17.4",
+        "mkdirp": "^0.5.1",
+        "source-map-support": "^0.4.15"
+      }
+    },
+    "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.4.0",
+        "regenerator-runtime": "^0.11.0"
+      }
+    },
+    "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.4"
+      }
+    },
+    "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.8",
+        "globals": "^9.18.0",
+        "invariant": "^2.2.2",
+        "lodash": "^4.17.4"
+      }
+    },
+    "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.4",
+        "to-fast-properties": "^1.0.3"
+      }
+    },
+    "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="
+    },
+    "base": {
+      "version": "0.11.2",
+      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz";,
+      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "cache-base": "^1.0.1",
+        "class-utils": "^0.3.5",
+        "component-emitter": "^1.2.1",
+        "define-property": "^1.0.0",
+        "isobject": "^3.0.1",
+        "mixin-deep": "^1.2.0",
+        "pascalcase": "^0.1.1"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz";,
+          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-descriptor": "^1.0.0"
+          }
+        },
+        "is-accessor-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";,
+          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "kind-of": "^6.0.0"
+          }
+        },
+        "is-data-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";,
+          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "kind-of": "^6.0.0"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz";,
+          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-accessor-descriptor": "^1.0.0",
+            "is-data-descriptor": "^1.0.0",
+            "kind-of": "^6.0.2"
+          }
+        },
+        "isobject": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";,
+          "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+          "dev": true,
+          "optional": 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,
+          "optional": 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,
+      "optional": 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": "1.8.5",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz";,
+      "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "expand-range": "^1.8.1",
+        "preserve": "^0.2.0",
+        "repeat-element": "^1.1.2"
+      }
+    },
+    "browserslist": {
+      "version": "3.2.8",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz";,
+      "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==",
+      "dev": true,
+      "requires": {
+        "caniuse-lite": "^1.0.30000844",
+        "electron-to-chromium": "^1.3.47"
+      }
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "collection-visit": "^1.0.0",
+        "component-emitter": "^1.2.1",
+        "get-value": "^2.0.6",
+        "has-value": "^1.0.0",
+        "isobject": "^3.0.1",
+        "set-value": "^2.0.0",
+        "to-object-path": "^0.3.0",
+        "union-value": "^1.0.0",
+        "unset-value": "^1.0.0"
+      },
+      "dependencies": {
+        "isobject": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";,
+          "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+          "dev": true,
+          "optional": true
+        }
+      }
+    },
+    "caniuse-lite": {
+      "version": "1.0.30000951",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000951.tgz";,
+      "integrity": "sha512-eRhP+nQ6YUkIcNQ6hnvdhMkdc7n3zadog0KXNRxAZTT2kHjUb1yGn71OrPhSn8MOvlX97g5CR97kGVj8fMsXWg==",
+      "dev": true
+    },
+    "chalk": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";,
+      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+      "dev": true,
+      "requires": {
+        "ansi-styles": "^2.2.1",
+        "escape-string-regexp": "^1.0.2",
+        "has-ansi": "^2.0.0",
+        "strip-ansi": "^3.0.0",
+        "supports-color": "^2.0.0"
+      }
+    },
+    "chokidar": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz";,
+      "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "anymatch": "^1.3.0",
+        "async-each": "^1.0.0",
+        "fsevents": "^1.0.0",
+        "glob-parent": "^2.0.0",
+        "inherits": "^2.0.1",
+        "is-binary-path": "^1.0.0",
+        "is-glob": "^2.0.0",
+        "path-is-absolute": "^1.0.0",
+        "readdirp": "^2.0.0"
+      }
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "arr-union": "^3.1.0",
+        "define-property": "^0.2.5",
+        "isobject": "^3.0.0",
+        "static-extend": "^0.1.1"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz";,
+          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-descriptor": "^0.1.0"
+          }
+        },
+        "isobject": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";,
+          "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+          "dev": true,
+          "optional": true
+        }
+      }
+    },
     "closure-compiler": {
       "version": "0.2.12",
-      "from": "https://registry.npmjs.org/closure-compiler/-/closure-compiler-0.2.12.tgz";,
       "resolved": "https://registry.npmjs.org/closure-compiler/-/closure-compiler-0.2.12.tgz";,
+      "integrity": "sha1-bDCHytEnQseeR/DOUOh6+Rz44XE=",
+      "requires": {
+        "google-closure-compiler": "20150901.x"
+      },
       "dependencies": {
         "google-closure-compiler": {
           "version": "20150901.0.0",
-          "from": "https://registry.npmjs.org/google-closure-compiler/-/google-closure-compiler-20150901.0.0.tgz";,
-          "resolved": "https://registry.npmjs.org/google-closure-compiler/-/google-closure-compiler-20150901.0.0.tgz";
+          "resolved": "https://registry.npmjs.org/google-closure-compiler/-/google-closure-compiler-20150901.0.0.tgz";,
+          "integrity": "sha1-PQHGyt5leQqb+04wshWLdjWsut4="
+        }
+      }
+    },
+    "collection-visit": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz";,
+      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "map-visit": "^1.0.0",
+        "object-visit": "^1.0.0"
+      }
+    },
+    "commander": {
+      "version": "2.19.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz";,
+      "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
+      "dev": true
+    },
+    "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,
+      "optional": true
+    },
+    "concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";,
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+    },
+    "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.1"
+      }
+    },
+    "copy-descriptor": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz";,
+      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+      "dev": true,
+      "optional": true
+    },
+    "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
+    },
+    "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,
+      "optional": true
+    },
+    "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"
+      }
+    },
+    "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,
+      "optional": true
+    },
+    "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,
+      "optional": 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,
+          "optional": true,
+          "requires": {
+            "kind-of": "^6.0.0"
+          }
+        },
+        "is-data-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";,
+          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "kind-of": "^6.0.0"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz";,
+          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-accessor-descriptor": "^1.0.0",
+            "is-data-descriptor": "^1.0.0",
+            "kind-of": "^6.0.2"
+          }
+        },
+        "isobject": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";,
+          "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+          "dev": true,
+          "optional": 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,
+          "optional": 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.0"
+      }
+    },
+    "electron-to-chromium": {
+      "version": "1.3.117",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.117.tgz";,
+      "integrity": "sha512-BxNTJ9Zu+WW5hbBg0fnjGfS1X8AOfJEtBmYlVDenPmkmkXmt3WgbPw7y/47mAZomcVB4F2/NZQB/KNz7OdCC2g==",
+      "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
+    },
+    "esutils": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz";,
+      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+      "dev": true
+    },
+    "expand-brackets": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz";,
+      "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "is-posix-bracket": "^0.1.0"
+      }
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "fill-range": "^2.1.0"
+      }
+    },
+    "extend-shallow": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz";,
+      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "assign-symbols": "^1.0.0",
+        "is-extendable": "^1.0.1"
+      },
+      "dependencies": {
+        "is-extendable": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz";,
+          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-plain-object": "^2.0.4"
+          }
         }
       }
     },
+    "extglob": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz";,
+      "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "is-extglob": "^1.0.0"
+      }
+    },
+    "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,
+      "optional": true
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "is-number": "^2.1.0",
+        "isobject": "^2.0.0",
+        "randomatic": "^3.0.0",
+        "repeat-element": "^1.1.2",
+        "repeat-string": "^1.5.2"
+      }
+    },
+    "for-in": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz";,
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+      "dev": true,
+      "optional": true
+    },
+    "for-own": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz";,
+      "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "for-in": "^1.0.1"
+      }
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "map-cache": "^0.2.2"
+      }
+    },
+    "fs-readdir-recursive": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz";,
+      "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
+      "dev": true
+    },
+    "fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";,
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+      "dev": true
+    },
+    "fsevents": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz";,
+      "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "nan": "^2.9.2",
+        "node-pre-gyp": "^0.10.0"
+      },
+      "dependencies": {
+        "abbrev": {
+          "version": "1.1.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "ansi-regex": {
+          "version": "2.1.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "aproba": {
+          "version": "1.2.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "are-we-there-yet": {
+          "version": "1.1.5",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "delegates": "^1.0.0",
+            "readable-stream": "^2.0.6"
+          }
+        },
+        "balanced-match": {
+          "version": "1.0.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "brace-expansion": {
+          "version": "1.1.11",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "balanced-match": "^1.0.0",
+            "concat-map": "0.0.1"
+          }
+        },
+        "chownr": {
+          "version": "1.1.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "code-point-at": {
+          "version": "1.1.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "concat-map": {
+          "version": "0.0.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "console-control-strings": {
+          "version": "1.1.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "core-util-is": {
+          "version": "1.0.2",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "debug": {
+          "version": "2.6.9",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "deep-extend": {
+          "version": "0.6.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "delegates": {
+          "version": "1.0.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "detect-libc": {
+          "version": "1.0.3",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "fs-minipass": {
+          "version": "1.2.5",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "minipass": "^2.2.1"
+          }
+        },
+        "fs.realpath": {
+          "version": "1.0.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "gauge": {
+          "version": "2.7.4",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "aproba": "^1.0.3",
+            "console-control-strings": "^1.0.0",
+            "has-unicode": "^2.0.0",
+            "object-assign": "^4.1.0",
+            "signal-exit": "^3.0.0",
+            "string-width": "^1.0.1",
+            "strip-ansi": "^3.0.1",
+            "wide-align": "^1.1.0"
+          }
+        },
+        "glob": {
+          "version": "7.1.3",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          }
+        },
+        "has-unicode": {
+          "version": "2.0.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "iconv-lite": {
+          "version": "0.4.24",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "safer-buffer": ">= 2.1.2 < 3"
+          }
+        },
+        "ignore-walk": {
+          "version": "3.0.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "minimatch": "^3.0.4"
+          }
+        },
+        "inflight": {
+          "version": "1.0.6",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "once": "^1.3.0",
+            "wrappy": "1"
+          }
+        },
+        "inherits": {
+          "version": "2.0.3",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "ini": {
+          "version": "1.3.5",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "is-fullwidth-code-point": {
+          "version": "1.0.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "number-is-nan": "^1.0.0"
+          }
+        },
+        "isarray": {
+          "version": "1.0.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "minimatch": {
+          "version": "3.0.4",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "brace-expansion": "^1.1.7"
+          }
+        },
+        "minimist": {
+          "version": "0.0.8",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "minipass": {
+          "version": "2.3.5",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "safe-buffer": "^5.1.2",
+            "yallist": "^3.0.0"
+          }
+        },
+        "minizlib": {
+          "version": "1.2.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "minipass": "^2.2.1"
+          }
+        },
+        "mkdirp": {
+          "version": "0.5.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "needle": {
+          "version": "2.2.4",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "debug": "^2.1.2",
+            "iconv-lite": "^0.4.4",
+            "sax": "^1.2.4"
+          }
+        },
+        "node-pre-gyp": {
+          "version": "0.10.3",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "detect-libc": "^1.0.2",
+            "mkdirp": "^0.5.1",
+            "needle": "^2.2.1",
+            "nopt": "^4.0.1",
+            "npm-packlist": "^1.1.6",
+            "npmlog": "^4.0.2",
+            "rc": "^1.2.7",
+            "rimraf": "^2.6.1",
+            "semver": "^5.3.0",
+            "tar": "^4"
+          }
+        },
+        "nopt": {
+          "version": "4.0.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "abbrev": "1",
+            "osenv": "^0.1.4"
+          }
+        },
+        "npm-bundled": {
+          "version": "1.0.5",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "npm-packlist": {
+          "version": "1.2.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "ignore-walk": "^3.0.1",
+            "npm-bundled": "^1.0.1"
+          }
+        },
+        "npmlog": {
+          "version": "4.1.2",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "are-we-there-yet": "~1.1.2",
+            "console-control-strings": "~1.1.0",
+            "gauge": "~2.7.3",
+            "set-blocking": "~2.0.0"
+          }
+        },
+        "number-is-nan": {
+          "version": "1.0.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "object-assign": {
+          "version": "4.1.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "once": {
+          "version": "1.4.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "wrappy": "1"
+          }
+        },
+        "os-homedir": {
+          "version": "1.0.2",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "os-tmpdir": {
+          "version": "1.0.2",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "osenv": {
+          "version": "0.1.5",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "os-homedir": "^1.0.0",
+            "os-tmpdir": "^1.0.0"
+          }
+        },
+        "path-is-absolute": {
+          "version": "1.0.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "process-nextick-args": {
+          "version": "2.0.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "rc": {
+          "version": "1.2.8",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "deep-extend": "^0.6.0",
+            "ini": "~1.3.0",
+            "minimist": "^1.2.0",
+            "strip-json-comments": "~2.0.1"
+          },
+          "dependencies": {
+            "minimist": {
+              "version": "1.2.0",
+              "bundled": true,
+              "dev": true,
+              "optional": true
+            }
+          }
+        },
+        "readable-stream": {
+          "version": "2.3.6",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.3",
+            "isarray": "~1.0.0",
+            "process-nextick-args": "~2.0.0",
+            "safe-buffer": "~5.1.1",
+            "string_decoder": "~1.1.1",
+            "util-deprecate": "~1.0.1"
+          }
+        },
+        "rimraf": {
+          "version": "2.6.3",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "safer-buffer": {
+          "version": "2.1.2",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "sax": {
+          "version": "1.2.4",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "semver": {
+          "version": "5.6.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "set-blocking": {
+          "version": "2.0.0",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "signal-exit": {
+          "version": "3.0.2",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "string-width": {
+          "version": "1.0.2",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "code-point-at": "^1.0.0",
+            "is-fullwidth-code-point": "^1.0.0",
+            "strip-ansi": "^3.0.0"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "safe-buffer": "~5.1.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "3.0.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "ansi-regex": "^2.0.0"
+          }
+        },
+        "strip-json-comments": {
+          "version": "2.0.1",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "tar": {
+          "version": "4.4.8",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "chownr": "^1.1.1",
+            "fs-minipass": "^1.2.5",
+            "minipass": "^2.3.4",
+            "minizlib": "^1.1.1",
+            "mkdirp": "^0.5.0",
+            "safe-buffer": "^5.1.2",
+            "yallist": "^3.0.2"
+          }
+        },
+        "util-deprecate": {
+          "version": "1.0.2",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "wide-align": {
+          "version": "1.1.3",
+          "bundled": true,
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "string-width": "^1.0.2 || 2"
+          }
+        },
+        "wrappy": {
+          "version": "1.0.2",
+          "bundled": true,
+          "dev": true,
+          "optional": true
+        },
+        "yallist": {
+          "version": "3.0.3",
+          "bundled": true,
+          "dev": true,
+          "optional": 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,
+      "optional": true
+    },
     "glob": {
       "version": "7.1.1",
-      "from": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz";,
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz";,
+      "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+      "requires": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.2",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
       "dependencies": {
+        "brace-expansion": {
+          "version": "1.1.11",
+          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";,
+          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+          "requires": {
+            "balanced-match": "^1.0.0",
+            "concat-map": "0.0.1"
+          }
+        },
         "fs.realpath": {
           "version": "1.0.0",
-          "from": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";,
-          "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+          "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";,
+          "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
         },
         "inflight": {
           "version": "1.0.6",
-          "from": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";,
           "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";,
+          "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+          "requires": {
+            "once": "^1.3.0",
+            "wrappy": "1"
+          },
           "dependencies": {
             "wrappy": {
               "version": "1.0.2",
-              "from": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";,
-              "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+              "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";,
+              "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
             }
           }
         },
         "inherits": {
           "version": "2.0.3",
-          "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";,
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";,
+          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
         },
         "minimatch": {
           "version": "3.0.3",
-          "from": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz";,
           "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz";,
-          "dependencies": {
-            "brace-expansion": {
-              "version": "1.1.6",
-              "from": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz";,
-              "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz";,
-              "dependencies": {
-                "balanced-match": {
-                  "version": "0.4.2",
-                  "from": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz";,
-                  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz";
-                },
-                "concat-map": {
-                  "version": "0.0.1",
-                  "from": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";,
-                  "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
-                }
-              }
-            }
+          "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
+          "requires": {
+            "brace-expansion": "^1.0.0"
           }
         },
         "once": {
           "version": "1.4.0",
-          "from": "https://registry.npmjs.org/once/-/once-1.4.0.tgz";,
           "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz";,
+          "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+          "requires": {
+            "wrappy": "1"
+          },
           "dependencies": {
             "wrappy": {
               "version": "1.0.2",
-              "from": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";,
-              "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+              "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";,
+              "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
             }
           }
         },
         "path-is-absolute": {
           "version": "1.0.1",
-          "from": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";,
-          "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+          "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";,
+          "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+        }
+      }
+    },
+    "glob-base": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz";,
+      "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "glob-parent": "^2.0.0",
+        "is-glob": "^2.0.0"
+      }
+    },
+    "glob-parent": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz";,
+      "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "is-glob": "^2.0.0"
+      }
+    },
+    "globals": {
+      "version": "9.18.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz";,
+      "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+      "dev": true
+    },
+    "graceful-fs": {
+      "version": "4.1.15",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz";,
+      "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
+      "dev": true
+    },
+    "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.0.0"
+      }
+    },
+    "has-value": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz";,
+      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "get-value": "^2.0.6",
+        "has-values": "^1.0.0",
+        "isobject": "^3.0.0"
+      },
+      "dependencies": {
+        "isobject": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";,
+          "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+          "dev": true,
+          "optional": true
+        }
+      }
+    },
+    "has-values": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz";,
+      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "is-number": "^3.0.0",
+        "kind-of": "^4.0.0"
+      },
+      "dependencies": {
+        "is-number": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz";,
+          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "kind-of": "^3.0.2"
+          },
+          "dependencies": {
+            "kind-of": {
+              "version": "3.2.2",
+              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";,
+              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+              "dev": true,
+              "optional": true,
+              "requires": {
+                "is-buffer": "^1.1.5"
+              }
+            }
+          }
+        },
+        "kind-of": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz";,
+          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-buffer": "^1.1.5"
+          }
         }
       }
     },
+    "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.0",
+        "os-tmpdir": "^1.0.1"
+      }
+    },
+    "inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";,
+      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "dev": true,
+      "requires": {
+        "once": "^1.3.0",
+        "wrappy": "1"
+      }
+    },
+    "inherits": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";,
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+      "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.0.0"
+      }
+    },
+    "is-accessor-descriptor": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";,
+      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "kind-of": "^3.0.2"
+      }
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "binary-extensions": "^1.0.0"
+      }
+    },
+    "is-buffer": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";,
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+      "dev": true,
+      "optional": true
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "kind-of": "^3.0.2"
+      }
+    },
+    "is-descriptor": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz";,
+      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "is-accessor-descriptor": "^0.1.6",
+        "is-data-descriptor": "^0.1.4",
+        "kind-of": "^5.0.0"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz";,
+          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+          "dev": true,
+          "optional": 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,
+      "optional": 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,
+      "optional": 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,
+      "optional": true
+    },
+    "is-extglob": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz";,
+      "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+      "dev": true,
+      "optional": 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.0"
+      }
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "is-extglob": "^1.0.0"
+      }
+    },
+    "is-number": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz";,
+      "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "kind-of": "^3.0.2"
+      }
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "isobject": "^3.0.1"
+      },
+      "dependencies": {
+        "isobject": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";,
+          "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+          "dev": true,
+          "optional": true
+        }
+      }
+    },
+    "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,
+      "optional": 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,
+      "optional": 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,
+      "optional": true
+    },
+    "isarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";,
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+      "dev": true,
+      "optional": true
+    },
+    "isobject": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz";,
+      "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "isarray": "1.0.0"
+      }
+    },
+    "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
+    },
+    "jsesc": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz";,
+      "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+      "dev": true
+    },
+    "json5": {
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz";,
+      "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+      "dev": true
+    },
+    "kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";,
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "is-buffer": "^1.1.5"
+      }
+    },
     "lodash": {
-      "version": "4.17.5"
+      "version": "4.17.20",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz";,
+      "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
+    },
+    "loose-envify": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz";,
+      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+      "dev": true,
+      "requires": {
+        "js-tokens": "^3.0.0 || ^4.0.0"
+      }
+    },
+    "map-cache": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz";,
+      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+      "dev": true,
+      "optional": 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,
+      "optional": true,
+      "requires": {
+        "object-visit": "^1.0.0"
+      }
+    },
+    "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,
+      "optional": true
+    },
+    "micromatch": {
+      "version": "2.3.11",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz";,
+      "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "arr-diff": "^2.0.0",
+        "array-unique": "^0.2.1",
+        "braces": "^1.8.2",
+        "expand-brackets": "^0.1.4",
+        "extglob": "^0.3.1",
+        "filename-regex": "^2.0.0",
+        "is-extglob": "^1.0.0",
+        "is-glob": "^2.0.1",
+        "kind-of": "^3.0.2",
+        "normalize-path": "^2.0.1",
+        "object.omit": "^2.0.0",
+        "parse-glob": "^3.0.4",
+        "regex-cache": "^0.4.2"
+      }
+    },
+    "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.7"
+      }
+    },
+    "minimist": {
+      "version": "0.0.8",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";,
+      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+      "dev": true
+    },
+    "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,
+      "optional": 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,
+          "optional": 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"
+      }
+    },
+    "ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";,
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true
+    },
+    "nan": {
+      "version": "2.13.1",
+      "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.1.tgz";,
+      "integrity": "sha512-I6YB/YEuDeUZMmhscXKxGgZlFnhsn5y0hgOZBadkzfTRrZBtJDZeg6eQf7PYMIEclwmorTKK8GztsyOUSVBREA==",
+      "dev": true,
+      "optional": true
+    },
+    "nanomatch": {
+      "version": "1.2.13",
+      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz";,
+      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "arr-diff": "^4.0.0",
+        "array-unique": "^0.3.2",
+        "define-property": "^2.0.2",
+        "extend-shallow": "^3.0.2",
+        "fragment-cache": "^0.2.1",
+        "is-windows": "^1.0.2",
+        "kind-of": "^6.0.2",
+        "object.pick": "^1.3.0",
+        "regex-not": "^1.0.0",
+        "snapdragon": "^0.8.1",
+        "to-regex": "^3.0.1"
+      },
+      "dependencies": {
+        "arr-diff": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz";,
+          "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+          "dev": true,
+          "optional": 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,
+          "optional": 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,
+          "optional": true
+        }
+      }
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "remove-trailing-separator": "^1.0.1"
+      }
+    },
+    "number-is-nan": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz";,
+      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+      "dev": true
+    },
+    "object-assign": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";,
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+      "dev": true
+    },
+    "object-copy": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz";,
+      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "copy-descriptor": "^0.1.0",
+        "define-property": "^0.2.5",
+        "kind-of": "^3.0.3"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz";,
+          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-descriptor": "^0.1.0"
+          }
+        }
+      }
+    },
+    "object-visit": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz";,
+      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "isobject": "^3.0.0"
+      },
+      "dependencies": {
+        "isobject": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";,
+          "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+          "dev": true,
+          "optional": true
+        }
+      }
+    },
+    "object.omit": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz";,
+      "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "for-own": "^0.1.4",
+        "is-extendable": "^0.1.1"
+      }
+    },
+    "object.pick": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz";,
+      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "isobject": "^3.0.1"
+      },
+      "dependencies": {
+        "isobject": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";,
+          "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+          "dev": true,
+          "optional": true
+        }
+      }
+    },
+    "once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz";,
+      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+      "dev": true,
+      "requires": {
+        "wrappy": "1"
+      }
+    },
+    "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-tmpdir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";,
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+      "dev": true
+    },
+    "output-file-sync": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz";,
+      "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "^4.1.4",
+        "mkdirp": "^0.5.1",
+        "object-assign": "^4.1.0"
+      }
+    },
+    "parse-glob": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz";,
+      "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "glob-base": "^0.3.0",
+        "is-dotfile": "^1.0.0",
+        "is-extglob": "^1.0.0",
+        "is-glob": "^2.0.0"
+      }
+    },
+    "pascalcase": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz";,
+      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+      "dev": true,
+      "optional": 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
+    },
+    "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,
+      "optional": true
+    },
+    "preserve": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz";,
+      "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+      "dev": true,
+      "optional": 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-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,
+      "optional": true
+    },
+    "qunit-extras": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/qunit-extras/-/qunit-extras-3.0.0.tgz";,
+      "integrity": "sha1-quDi4OIumAtYolz8/0lK+ZWYRts=",
+      "dev": true
+    },
+    "qunitjs": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/qunitjs/-/qunitjs-2.1.0.tgz";,
+      "integrity": "sha1-speAUB37yChf58u6bBhPSxowchY=",
+      "dev": true
+    },
+    "randomatic": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz";,
+      "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "is-number": "^4.0.0",
+        "kind-of": "^6.0.0",
+        "math-random": "^1.0.1"
+      },
+      "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,
+          "optional": 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,
+          "optional": true
+        }
+      }
+    },
+    "readable-stream": {
+      "version": "2.3.6",
+      "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";,
+      "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "graceful-fs": "^4.1.11",
+        "micromatch": "^3.1.10",
+        "readable-stream": "^2.0.2"
+      },
+      "dependencies": {
+        "arr-diff": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz";,
+          "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+          "dev": true,
+          "optional": 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,
+          "optional": true
+        },
+        "braces": {
+          "version": "2.3.2",
+          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz";,
+          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "arr-flatten": "^1.1.0",
+            "array-unique": "^0.3.2",
+            "extend-shallow": "^2.0.1",
+            "fill-range": "^4.0.0",
+            "isobject": "^3.0.1",
+            "repeat-element": "^1.1.2",
+            "snapdragon": "^0.8.1",
+            "snapdragon-node": "^2.0.1",
+            "split-string": "^3.0.2",
+            "to-regex": "^3.0.1"
+          },
+          "dependencies": {
+            "extend-shallow": {
+              "version": "2.0.1",
+              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";,
+              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+              "dev": true,
+              "optional": true,
+              "requires": {
+                "is-extendable": "^0.1.0"
+              }
+            }
+          }
+        },
+        "expand-brackets": {
+          "version": "2.1.4",
+          "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz";,
+          "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "debug": "^2.3.3",
+            "define-property": "^0.2.5",
+            "extend-shallow": "^2.0.1",
+            "posix-character-classes": "^0.1.0",
+            "regex-not": "^1.0.0",
+            "snapdragon": "^0.8.1",
+            "to-regex": "^3.0.1"
+          },
+          "dependencies": {
+            "define-property": {
+              "version": "0.2.5",
+              "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz";,
+              "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+              "dev": true,
+              "optional": true,
+              "requires": {
+                "is-descriptor": "^0.1.0"
+              }
+            },
+            "extend-shallow": {
+              "version": "2.0.1",
+              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";,
+              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+              "dev": true,
+              "optional": true,
+              "requires": {
+                "is-extendable": "^0.1.0"
+              }
+            },
+            "is-accessor-descriptor": {
+              "version": "0.1.6",
+              "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";,
+              "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+              "dev": true,
+              "optional": true,
+              "requires": {
+                "kind-of": "^3.0.2"
+              },
+              "dependencies": {
+                "kind-of": {
+                  "version": "3.2.2",
+                  "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";,
+                  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+                  "dev": true,
+                  "optional": true,
+                  "requires": {
+                    "is-buffer": "^1.1.5"
+                  }
+                }
+              }
+            },
+            "is-data-descriptor": {
+              "version": "0.1.4",
+              "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";,
+              "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+              "dev": true,
+              "optional": true,
+              "requires": {
+                "kind-of": "^3.0.2"
+              },
+              "dependencies": {
+                "kind-of": {
+                  "version": "3.2.2",
+                  "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";,
+                  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+                  "dev": true,
+                  "optional": true,
+                  "requires": {
+                    "is-buffer": "^1.1.5"
+                  }
+                }
+              }
+            },
+            "is-descriptor": {
+              "version": "0.1.6",
+              "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz";,
+              "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+              "dev": true,
+              "optional": true,
+              "requires": {
+                "is-accessor-descriptor": "^0.1.6",
+                "is-data-descriptor": "^0.1.4",
+                "kind-of": "^5.0.0"
+              }
+            },
+            "kind-of": {
+              "version": "5.1.0",
+              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz";,
+              "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+              "dev": true,
+              "optional": true
+            }
+          }
+        },
+        "extglob": {
+          "version": "2.0.4",
+          "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz";,
+          "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "array-unique": "^0.3.2",
+            "define-property": "^1.0.0",
+            "expand-brackets": "^2.1.4",
+            "extend-shallow": "^2.0.1",
+            "fragment-cache": "^0.2.1",
+            "regex-not": "^1.0.0",
+            "snapdragon": "^0.8.1",
+            "to-regex": "^3.0.1"
+          },
+          "dependencies": {
+            "define-property": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz";,
+              "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+              "dev": true,
+              "optional": true,
+              "requires": {
+                "is-descriptor": "^1.0.0"
+              }
+            },
+            "extend-shallow": {
+              "version": "2.0.1",
+              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";,
+              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+              "dev": true,
+              "optional": true,
+              "requires": {
+                "is-extendable": "^0.1.0"
+              }
+            }
+          }
+        },
+        "fill-range": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz";,
+          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "extend-shallow": "^2.0.1",
+            "is-number": "^3.0.0",
+            "repeat-string": "^1.6.1",
+            "to-regex-range": "^2.1.0"
+          },
+          "dependencies": {
+            "extend-shallow": {
+              "version": "2.0.1",
+              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";,
+              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+              "dev": true,
+              "optional": true,
+              "requires": {
+                "is-extendable": "^0.1.0"
+              }
+            }
+          }
+        },
+        "is-accessor-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";,
+          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "kind-of": "^6.0.0"
+          }
+        },
+        "is-data-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";,
+          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "kind-of": "^6.0.0"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz";,
+          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-accessor-descriptor": "^1.0.0",
+            "is-data-descriptor": "^1.0.0",
+            "kind-of": "^6.0.2"
+          }
+        },
+        "is-number": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz";,
+          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "kind-of": "^3.0.2"
+          },
+          "dependencies": {
+            "kind-of": {
+              "version": "3.2.2",
+              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";,
+              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+              "dev": true,
+              "optional": true,
+              "requires": {
+                "is-buffer": "^1.1.5"
+              }
+            }
+          }
+        },
+        "isobject": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";,
+          "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+          "dev": true,
+          "optional": 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,
+          "optional": true
+        },
+        "micromatch": {
+          "version": "3.1.10",
+          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz";,
+          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "arr-diff": "^4.0.0",
+            "array-unique": "^0.3.2",
+            "braces": "^2.3.1",
+            "define-property": "^2.0.2",
+            "extend-shallow": "^3.0.2",
+            "extglob": "^2.0.4",
+            "fragment-cache": "^0.2.1",
+            "kind-of": "^6.0.2",
+            "nanomatch": "^1.2.9",
+            "object.pick": "^1.3.0",
+            "regex-not": "^1.0.0",
+            "snapdragon": "^0.8.1",
+            "to-regex": "^3.0.2"
+          }
+        }
+      }
+    },
+    "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
+    },
+    "regenerator-transform": {
+      "version": "0.10.1",
+      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz";,
+      "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "^6.18.0",
+        "babel-types": "^6.19.0",
+        "private": "^0.1.6"
+      }
+    },
+    "regex-cache": {
+      "version": "0.4.4",
+      "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz";,
+      "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+      "dev": true,
+      "optional": 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,
+      "optional": true,
+      "requires": {
+        "extend-shallow": "^3.0.2",
+        "safe-regex": "^1.1.0"
+      }
+    },
+    "regexpu-core": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz";,
+      "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+      "dev": true,
+      "requires": {
+        "regenerate": "^1.2.1",
+        "regjsgen": "^0.2.0",
+        "regjsparser": "^0.1.4"
+      }
+    },
+    "regjsgen": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz";,
+      "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+      "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
+        }
+      }
+    },
+    "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,
+      "optional": 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,
+      "optional": 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,
+      "optional": 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.0"
+      }
+    },
+    "resolve-url": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz";,
+      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+      "dev": true,
+      "optional": true
+    },
+    "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,
+      "optional": 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,
+      "optional": true,
+      "requires": {
+        "ret": "~0.1.10"
+      }
     },
     "semver": {
       "version": "5.3.0",
-      "from": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz";,
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz";,
+      "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "extend-shallow": "^2.0.1",
+        "is-extendable": "^0.1.1",
+        "is-plain-object": "^2.0.3",
+        "split-string": "^3.0.1"
+      },
+      "dependencies": {
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";,
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-extendable": "^0.1.0"
+          }
+        }
+      }
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "base": "^0.11.1",
+        "debug": "^2.2.0",
+        "define-property": "^0.2.5",
+        "extend-shallow": "^2.0.1",
+        "map-cache": "^0.2.2",
+        "source-map": "^0.5.6",
+        "source-map-resolve": "^0.5.0",
+        "use": "^3.1.0"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "0.2.5",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz";,
+          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-descriptor": "^0.1.0"
+          }
+        },
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";,
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-extendable": "^0.1.0"
+          }
+        }
+      }
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "define-property": "^1.0.0",
+        "isobject": "^3.0.0",
+        "snapdragon-util": "^3.0.1"
+      },
+      "dependencies": {
+        "define-property": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz";,
+          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-descriptor": "^1.0.0"
+          }
+        },
+        "is-accessor-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";,
+          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "kind-of": "^6.0.0"
+          }
+        },
+        "is-data-descriptor": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";,
+          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "kind-of": "^6.0.0"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz";,
+          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-accessor-descriptor": "^1.0.0",
+            "is-data-descriptor": "^1.0.0",
+            "kind-of": "^6.0.2"
+          }
+        },
+        "isobject": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";,
+          "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+          "dev": true,
+          "optional": 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,
+          "optional": true
+        }
+      }
+    },
+    "snapdragon-util": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz";,
+      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "kind-of": "^3.2.0"
+      }
+    },
+    "source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";,
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "atob": "^2.1.1",
+        "decode-uri-component": "^0.2.0",
+        "resolve-url": "^0.2.1",
+        "source-map-url": "^0.4.0",
+        "urix": "^0.1.0"
+      }
+    },
+    "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.6"
+      }
+    },
+    "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,
+      "optional": true
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "extend-shallow": "^3.0.0"
+      }
+    },
+    "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,
+      "optional": 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,
+          "optional": true,
+          "requires": {
+            "is-descriptor": "^0.1.0"
+          }
+        }
+      }
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "strip-ansi": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";,
+      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "^2.0.0"
+      }
+    },
+    "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
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "kind-of": "^3.0.2"
+      }
+    },
+    "to-regex": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz";,
+      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+      "dev": true,
+      "optional": 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,
+      "optional": true,
+      "requires": {
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1"
+      },
+      "dependencies": {
+        "is-number": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz";,
+          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "kind-of": "^3.0.2"
+          }
+        }
+      }
+    },
+    "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
     },
     "uglify-js": {
       "version": "2.7.5",
-      "from": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz";,
       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz";,
+      "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=",
+      "requires": {
+        "async": "~0.2.6",
+        "source-map": "~0.5.1",
+        "uglify-to-browserify": "~1.0.0",
+        "yargs": "~3.10.0"
+      },
       "dependencies": {
         "async": {
           "version": "0.2.10",
-          "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz";,
-          "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz";
+          "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz";,
+          "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E="
         },
         "source-map": {
           "version": "0.5.6",
-          "from": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz";,
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz";
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz";,
+          "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI="
         },
         "uglify-to-browserify": {
           "version": "1.0.2",
-          "from": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";,
-          "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+          "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";,
+          "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc="
         },
         "yargs": {
           "version": "3.10.0",
-          "from": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";,
           "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";,
+          "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+          "requires": {
+            "camelcase": "^1.0.2",
+            "cliui": "^2.1.0",
+            "decamelize": "^1.0.0",
+            "window-size": "0.1.0"
+          },
           "dependencies": {
             "camelcase": {
               "version": "1.2.1",
-              "from": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";,
-              "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";
+              "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";,
+              "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk="
             },
             "cliui": {
               "version": "2.1.0",
-              "from": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";,
               "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";,
+              "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+              "requires": {
+                "center-align": "^0.1.1",
+                "right-align": "^0.1.1",
+                "wordwrap": "0.0.2"
+              },
               "dependencies": {
                 "center-align": {
                   "version": "0.1.3",
-                  "from": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";,
                   "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";,
+                  "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+                  "requires": {
+                    "align-text": "^0.1.3",
+                    "lazy-cache": "^1.0.3"
+                  },
                   "dependencies": {
                     "align-text": {
                       "version": "0.1.4",
-                      "from": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";,
                       "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";,
+                      "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+                      "requires": {
+                        "kind-of": "^3.0.2",
+                        "longest": "^1.0.1",
+                        "repeat-string": "^1.5.2"
+                      },
                       "dependencies": {
                         "kind-of": {
                           "version": "3.1.0",
-                          "from": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz";,
                           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz";,
+                          "integrity": "sha1-R11pil5J/15T0U4+cyQp3Iv0z0c=",
+                          "requires": {
+                            "is-buffer": "^1.0.2"
+                          },
                           "dependencies": {
                             "is-buffer": {
                               "version": "1.1.4",
-                              "from": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz";,
-                              "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz";
+                              "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz";,
+                              "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys="
                             }
                           }
                         },
                         "longest": {
                           "version": "1.0.1",
-                          "from": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";,
-                          "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
+                          "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";,
+                          "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
                         },
                         "repeat-string": {
                           "version": "1.6.1",
-                          "from": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";,
-                          "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
+                          "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";,
+                          "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
                         }
                       }
                     },
                     "lazy-cache": {
                       "version": "1.0.4",
-                      "from": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";,
-                      "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";
+                      "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";,
+                      "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
                     }
                   }
                 },
                 "right-align": {
                   "version": "0.1.3",
-                  "from": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";,
                   "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";,
+                  "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+                  "requires": {
+                    "align-text": "^0.1.1"
+                  },
                   "dependencies": {
                     "align-text": {
                       "version": "0.1.4",
-                      "from": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";,
                       "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";,
+                      "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+                      "requires": {
+                        "kind-of": "^3.0.2",
+                        "longest": "^1.0.1",
+                        "repeat-string": "^1.5.2"
+                      },
                       "dependencies": {
                         "kind-of": {
                           "version": "3.1.0",
-                          "from": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz";,
                           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz";,
+                          "integrity": "sha1-R11pil5J/15T0U4+cyQp3Iv0z0c=",
+                          "requires": {
+                            "is-buffer": "^1.0.2"
+                          },
                           "dependencies": {
                             "is-buffer": {
                               "version": "1.1.4",
-                              "from": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz";,
-                              "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz";
+                              "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz";,
+                              "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys="
                             }
                           }
                         },
                         "longest": {
                           "version": "1.0.1",
-                          "from": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";,
-                          "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
+                          "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";,
+                          "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
                         },
                         "repeat-string": {
                           "version": "1.6.1",
-                          "from": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";,
-                          "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
+                          "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";,
+                          "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
                         }
                       }
                     }
@@ -206,24 +3543,155 @@
                 },
                 "wordwrap": {
                   "version": "0.0.2",
-                  "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";,
-                  "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+                  "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";,
+                  "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
                 }
               }
             },
             "decamelize": {
               "version": "1.2.0",
-              "from": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";,
-              "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+              "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";,
+              "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
             },
             "window-size": {
               "version": "0.1.0",
-              "from": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";,
-              "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
+              "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";,
+              "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0="
+            }
+          }
+        }
+      }
+    },
+    "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,
+      "optional": 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,
+          "optional": true,
+          "requires": {
+            "is-extendable": "^0.1.0"
+          }
+        },
+        "set-value": {
+          "version": "0.4.3",
+          "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz";,
+          "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "extend-shallow": "^2.0.1",
+            "is-extendable": "^0.1.1",
+            "is-plain-object": "^2.0.1",
+            "to-object-path": "^0.3.0"
+          }
+        }
+      }
+    },
+    "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,
+      "optional": true,
+      "requires": {
+        "has-value": "^0.3.1",
+        "isobject": "^3.0.0"
+      },
+      "dependencies": {
+        "has-value": {
+          "version": "0.3.1",
+          "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz";,
+          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "get-value": "^2.0.3",
+            "has-values": "^0.1.4",
+            "isobject": "^2.0.0"
+          },
+          "dependencies": {
+            "isobject": {
+              "version": "2.1.0",
+              "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz";,
+              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+              "dev": true,
+              "optional": 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,
+          "optional": true
+        },
+        "isobject": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";,
+          "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+          "dev": true,
+          "optional": true
         }
       }
+    },
+    "urix": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz";,
+      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+      "dev": true,
+      "optional": 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,
+      "optional": 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-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";,
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+      "dev": true,
+      "optional": 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"
+      }
+    },
+    "wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";,
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+      "dev": true
     }
   }
 }
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/package.json node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/package.json
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/package.json	2018-02-04 09:47:18.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/package.json	2021-02-20 21:05:39.000000000 +0530
@@ -1,6 +1,6 @@
 {
   "name": "lodash-cli",
-  "version": "4.17.5",
+  "version": "4.17.21",
   "description": "The Lodash command-line interface.",
   "keywords": "builder, compile, customize, lodash",
   "homepage": "https://lodash.com/custom-builds";,
@@ -11,10 +11,11 @@
   "bin": {
     "lodash": "bin/lodash"
   },
-  "author": "John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
+  "author": "John-David Dalton <john.david.dalton@gmail.com>",
   "contributors": [
-    "John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
-    "Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)"
+    "John-David Dalton <john.david.dalton@gmail.com>",
+    "Mathias Bynens <mathias@qiwi.be>",
+    "Benjamin Tan <demoneaux@gmail.com>"
   ],
   "scripts": {
     "test": "node test"
@@ -22,7 +23,7 @@
   "dependencies": {
     "closure-compiler": "0.2.12",
     "glob": "7.1.1",
-    "lodash": "4.17.5",
+    "lodash": "4.17.20",
     "semver": "5.3.0",
     "uglify-js": "2.7.5"
   },
@@ -30,7 +31,7 @@
     "babel-cli": "^6.18.0",
     "babel-preset-env": "^1.1.4",
     "qunit-extras": "^3.0.0",
-    "qunitjs": "^2.1.0"
+    "qunitjs": "2.1.0"
   },
   "files": [
     "bin",
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/README.md node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/README.md
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/README.md	2018-02-04 09:47:18.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/README.md	2021-02-20 21:05:39.000000000 +0530
@@ -1,4 +1,4 @@
-# lodash-cli v4.17.5
+# lodash-cli
 
 The [Lodash](https://lodash.com/) command-line interface for creating custom builds & precompiling templates.
 
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/template/license.jst node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/template/license.jst
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/template/license.jst	2017-02-04 04:22:36.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/template/license.jst	2021-02-20 21:05:39.000000000 +0530
@@ -1,4 +1,4 @@
-Copyright JS Foundation and other contributors <https://js.foundation/>
+Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
 
 Based on Underscore.js, copyright Jeremy Ashkenas,
 DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/template/package.jst node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/template/package.jst
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/template/package.jst	2018-02-04 09:47:06.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/template/package.jst	2021-02-20 21:05:39.000000000 +0530
@@ -8,10 +8,10 @@
   var basename = name.split('.')[1];
   print('\n  "keywords": "lodash-modularized, ' + basename + '",');
   %>
-  "author": "John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
+  "author": "John-David Dalton <john.david.dalton@gmail.com>",
   "contributors": [
-    "John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)",
-    "Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)"
+    "John-David Dalton <john.david.dalton@gmail.com>",
+    "Mathias Bynens <mathias@qiwi.be>"
   ],
   "repository": "lodash/lodash",
   "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" }<%
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/a.jst node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/a.jst
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/a.jst	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/a.jst	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1,3 @@
+<ul>
+<% _.forEach(people, function(name) { %><li><%- name %></li><% }); %>
+</ul>
\ No newline at end of file
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/b.jst node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/b.jst
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/b.jst	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/b.jst	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1 @@
+<% print("hello " + name); %>!
\ No newline at end of file
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/c/c.jst node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/c/c.jst
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/c/c.jst	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/c/c.jst	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1 @@
+hello <%= name %>!
\ No newline at end of file
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/c.jst node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/c.jst
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/c.jst	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/c.jst	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1 @@
+hello ${ name }
\ No newline at end of file
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/d.jst node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/d.jst
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/d.jst	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/d.jst	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1 @@
+<span>hello <%- name %>!</span>
\ No newline at end of file
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/e.jst node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/e.jst
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/e.jst	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/e.jst	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1,4 @@
+function  () {
+;
+  return <%= value %> ;
+} ;
\ No newline at end of file
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/f.tpl node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/f.tpl
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/fixture/f.tpl	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/fixture/f.tpl	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1 @@
+hallå {{ name }}!
\ No newline at end of file
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/index.js node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/index.js
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/index.js	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/index.js	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1,1463 @@
+'use strict';
+
+var _ = require('lodash'),
+    vm = require('vm'),
+    build = require('../bin/lodash'),
+    mapping = require('../lib/mapping'),
+    QUnit = require('qunit-extras'),
+    util = require('../lib/util');
+
+var fs = util.fs,
+    path = util.path;
+
+var cwd = process.cwd(),
+    push = Array.prototype.push;
+
+/** Used to prefix relative paths from the current directory. */
+var relativePrefix = '.' + path.sep;
+
+/** Used to match the copyright header in builds. */
+var reHeader = /^\/\**\s+\* @license[\s\S]+?\*\/\n/;
+
+/** The time limit for the tests to run (milliseconds). */
+var timeLimit = _.reduce(process.argv, function(result, value, index) {
+  if (/--time-limit/.test(value)) {
+    return parseInt(process.argv[index + 1].replace(/(\d+h)?(\d+m)?(\d+s)?/, function(match, h, m, s) {
+      return ((parseInt(h) || 0) * 3600000) +
+             ((parseInt(m) || 0) * 60000) +
+             ((parseInt(s) || 0) * 1000);
+    })) || result;
+  }
+  return result;
+}, 0);
+
+/*----------------------------------------------------------------------------*/
+
+/**
+ * Creates a context object to use with `vm.runInContext`.
+ *
+ * @private
+ * @param {string} [type=global] The export type (i.e. "amd", "global", or "node").
+ * @returns {Object} Returns a new context object.
+ */
+function createContext(type) {
+  var context = vm.createContext({
+    'clearTimeout': clearTimeout,
+    'console': console,
+    'setTimeout': setTimeout
+  });
+
+  switch (type) {
+    case 'amd':
+      context.define = function(factory) { context._ = factory(); };
+      context.define.amd = {};
+      break;
+    case 'node':
+      context.Array = Array;
+      context.Date = Date;
+      context.Error = Error;
+      context.Function = Function;
+      context.Object = Object;
+      context.Math = Math;
+      context.RegExp = RegExp;
+      context.String = String;
+      context.TypeError = TypeError;
+      context.exports = {};
+      context.module = {};
+      context.global = _.clone(context);
+  }
+  return context;
+}
+
+/**
+ * Removes all own enumerable properties from a given object.
+ *
+ * @private
+ * @param {Object} object The object to empty.
+ */
+function emptyObject(object) {
+  _.forOwn(object, function(value, key, object) {
+    delete object[key];
+  });
+}
+
+/**
+ * Expands a list of function names to include real and alias names.
+ *
+ * @private
+ * @param {Array} funcNames The array of function names to expand.
+ * @returns {Array} Returns a new array of expanded function names.
+ */
+function expandFuncNames(funcNames) {
+  return _.reduce(funcNames, function(result, funcName) {
+    var realName = getRealName(funcName);
+    result.push(realName);
+    push.apply(result, getAliases(realName));
+    return result;
+  }, []);
+}
+
+/**
+ * Gets the aliases associated with a given identifier.
+ *
+ * @private
+ * @param {string} identifier The identifier to get aliases for.
+ * @returns {Array} Returns an array of aliases.
+ */
+function getAliases(identifier) {
+  return _.get(mapping.realToAlias, identifier, []);
+}
+
+/**
+ * Gets the real category of `alias`.
+ *
+ * @private
+ * @param {string} alias The alias to resolve.
+ * @returns {string} Returns the real category.
+ */
+function getRealCategory(alias) {
+  return _.get(mapping.oldCategory, alias, alias);
+}
+
+/**
+ * Gets the real name of `alias`.
+ *
+ * @private
+ * @param {string} alias The alias to resolve.
+ * @returns {string} Returns the real name.
+ */
+function getRealName(alias) {
+  return _.get(mapping.aliasToReal, alias, alias);
+}
+
+/**
+ * Tests if a given method can be called successfully.
+ *
+ * @private
+ * @param {Object} assert The QUnit assert object.
+ * @param {Object} lodash The built lodash object.
+ * @param {string} funcName The name of the method to test.
+ * @param {string} message The unit test message.
+ */
+function testMethod(assert, lodash, methodName, message) {
+  var pass = true,
+      array = [['a', 1], ['b', 2], ['c', 3]],
+      object = { 'a': 1, 'b': 2, 'c': 3 },
+      string = 'abc',
+      template = '<%= a %>',
+      func = lodash[methodName];
+
+  try {
+    if (_.includes(mapping.category.Array, methodName)) {
+      if (/^(?:indexOf|lastIndexOf|sorted(?:Last)?Index|without)$/.test(methodName)) {
+        func(array, string);
+      } else {
+        func(array);
+      }
+    }
+    else if (_.includes(mapping.category.Seq, methodName)) {
+      lodash(array)[methodName](_.noop);
+    }
+    else if (_.includes(mapping.category.Collection, methodName)) {
+      if (methodName == 'at') {
+        func(array, 0, 2);
+        func(object, 'a', 'c');
+      } else if (/^invoke(?:Map)?$/.test(methodName)) {
+        func(array, 'slice');
+        func(object, 'constructor');
+      } else if (/^(?:count|group|key|sort)By$/.test(methodName)) {
+        func(array, _.noop);
+        func(array, string);
+        func(object, _.noop);
+        func(object, string);
+      } else if (/^(?:size|toArray)$/.test(methodName)) {
+        func(array);
+        func(object);
+      } else {
+        func(array, _.noop, object);
+        func(object, _.noop, object);
+      }
+    }
+    else if (_.includes(mapping.category.Lang, methodName)) {
+      if (/^clone(?:Deep)$/.test(methodName)) {
+        func(object);
+      }
+    }
+    else if (_.includes(mapping.category.Function, methodName)) {
+      if (methodName == 'bindKey') {
+        func(lodash, 'identity');
+      } else if (/^(?:after|before)$/.test(methodName)) {
+        func(2, _.noop);
+      } else if (/^(?:bind|partial(?:Right)?)$/.test(methodName)) {
+        func(_.noop, object, 'a', 'c');
+      } else if (/^(?:debounce|throttle)$/.test(methodName)) {
+        func(_.noop, 100);
+      } else if (/^(?:memoize|wrap)$/.test(methodName)) {
+        func(_.noop, _.noop)();
+      } else {
+        func(_.noop);
+      }
+    }
+    else if (_.includes(mapping.category.Object, methodName)) {
+      if (methodName == 'has') {
+        func(object, string);
+      } else if (/^(?:assign(?:In)?|defaults|extend|merge)$/.test(methodName)) {
+        func({}, object);
+      } else if (/^for(?:In|Own)(?:Right)?$/.test(methodName)) {
+        func(object, _.noop);
+      } else if (/^(?:get|omit|pick|result)$/.test(methodName)) {
+        func(object, 'b');
+      } else {
+        func(object);
+      }
+    }
+    else if (_.includes(mapping.category.String, methodName)) {
+      if (methodName == 'template') {
+        func(template)(object);
+        func(template, { 'imports': object })(object);
+      }
+    }
+    else if (_.includes(mapping.category.Util, methodName)) {
+      if (methodName == 'bindAll') {
+        func({ 'noop': _.noop });
+      } else if (methodName == 'mixin') {
+        func({});
+      } else if (methodName == 'runInContext') {
+        func();
+      } else if (methodName == 'times') {
+        func(2, _.noop, object);
+      } else if (/^flow(?:Right)?$/.test(methodName)) {
+        func(_.noop, _.noop)();
+      } else if (/^range(?:Right)?$/.test(methodName)) {
+        func(2, 4);
+      }
+    }
+  }
+  catch (e) {
+    console.log(e);
+    pass = false;
+  }
+  assert.ok(pass, '_.' + methodName + ': ' + message);
+}
+
+/*----------------------------------------------------------------------------*/
+
+console.log('test.js invoked with arguments: ' + JSON.stringify(process.argv));
+
+QUnit.module('build command checks');
+
+(function() {
+  var reHelp = /lodash --help/;
+
+  var commands = [
+    'csp',
+    'exports=es',
+    'exports=es6',
+    'exports=npm'
+  ];
+
+  _.each(commands, function(command) {
+    QUnit.test('`lodash ' + command +'` is invalid', function(assert) {
+      var done = assert.async();
+
+      build(command.split(' '), function(data) {
+        assert.ok(reHelp.test(data.source));
+        done();
+      });
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('minified AMD snippet');
+
+(function() {
+  QUnit.test('r.js build optimizer check', function(assert) {
+    var done = assert.async(),
+        start = _.after(2, _.once(done));
+
+    build(['minus='], function(data) {
+      // Test using the same regexp from the r.js build optimizer.
+      var basename = path.basename(data.outputPath, '.js'),
+          defineHasRegExp = /typeof\s+define\s*==(=)?\s*['"]function['"]\s*&&\s*typeof\s+define\.amd\s*==(=)?\s*['"]object['"]\s*&&\s*define\.amd/g;
+
+      assert.ok(defineHasRegExp.test(data.source), basename);
+      start();
+    });
+  });
+
+  QUnit.test('Dojo builder check', function(assert) {
+    var done = assert.async(),
+        reSpaceDefine = /\sdefine\(/,
+        start = _.after(2, _.once(done));
+
+    build(['minus='], function(data) {
+      var basename = path.basename(data.outputPath, '.js');
+      assert.ok(reSpaceDefine.test(data.source), basename);
+      start();
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('template builds');
+
+(function() {
+  var isWindows = process.platform == 'win32',
+      templatePath = path.join(__dirname, 'fixture'),
+      quotesTemplatePath = path.join(templatePath, 'c', '\'".jst'),
+      reWildcard = /=\*/;
+
+  var commands = [
+    'template=' + path.join('fixture', '*.jst'),
+    'template=' + relativePrefix + path.join('fixture','*.jst'),
+    'template=' + path.join(templatePath, '*.jst'),
+    'template=' + '*.jst'
+  ];
+
+  _.each(commands, function(command) {
+    QUnit.test('`lodash ' + command +'`', function(assert) {
+      var done = assert.async();
+
+      var start = _.after(2, _.once(function() {
+        process.chdir(cwd);
+        done();
+      }));
+
+      process.chdir(reWildcard.test(command) ? templatePath : __dirname);
+
+      build([command], function(data) {
+        var basename = path.basename(data.outputPath, '.js'),
+            context = createContext();
+
+        var object = {
+          'a': { 'people': ['fred', 'barney', 'pebbles'] },
+          'b': { 'name': 'fred' },
+          'c': { 'name': 'es' }
+        };
+
+        context._ = _;
+        vm.runInContext(data.source, context);
+
+        assert.ok(_.includes(basename, 'lodash.templates'), basename);
+
+        var actual = _.templates.a(object.a);
+        assert.strictEqual(actual.replace(/[\r\n]+/g, ''), '<ul><li>fred</li><li>barney</li><li>pebbles</li></ul>', basename);
+
+        assert.strictEqual(_.templates.b(object.b), 'hello fred!', basename);
+        assert.strictEqual(_.templates.c(object.c), 'hello es', basename);
+        assert.deepEqual(_.difference(['a', 'b', 'c', 'd', 'e'], _.keys(_.templates)), [], basename);
+
+        delete _.templates;
+        start();
+      });
+    });
+  });
+
+  commands = [
+    'template=' + path.join(templatePath, '**', '*.jst'),
+    'template=' + path.join('**', '*.jst')
+  ];
+
+  _.each(commands, function(command, index) {
+    QUnit.test('recursive path `' + command + '`', function(assert) {
+      var done = assert.async();
+
+      var start = _.after(2, _.once(function() {
+        if (!isWindows) {
+          fs.unlinkSync(quotesTemplatePath);
+        }
+        process.chdir(cwd);
+        done();
+      }));
+
+      if (index) {
+        process.chdir(templatePath);
+      }
+      if (!isWindows) {
+        // Manually create template `'".jst` to avoid issues in Windows.
+        fs.writeFileSync(quotesTemplatePath, 'hello <%= name %>', 'utf8');
+      }
+      build([command], function(data) {
+        var basename = path.basename(data.outputPath, '.js'),
+            context = createContext();
+
+        context._ = _;
+        vm.runInContext(data.source, context);
+
+        assert.strictEqual(_.templates.b({ 'name': 'fred' }), 'hello fred!', basename);
+        assert.strictEqual(_.templates.c({ 'name': 'barney' }), 'hello barney', basename);
+        assert.strictEqual(_.templates.c.c({ 'name': 'pebbles' }), 'hello pebbles!', basename);
+
+        if (!isWindows) {
+          assert.strictEqual(_.templates.c['\'"']({ 'name': 'quotes' }), 'hello quotes', basename);
+        }
+        delete _.templates;
+        start();
+      });
+    });
+  });
+
+  commands = [
+    'exports=amd',
+    'exports=global',
+    'exports=node',
+    'exports=none'
+  ];
+
+  _.each(commands, function(command) {
+    var type = command.split('=')[1];
+
+    QUnit.test('should work with `' + command +'`', function(assert) {
+      var done = assert.async(),
+          start = _.after(2, _.once(done));
+
+      build([ 'template=' + path.join(templatePath, 'c.jst'), command], function(data) {
+        var templates,
+            basename = path.basename(data.outputPath, '.js'),
+            context = createContext(type),
+            defaultTemplates = { 'c': function() { return ''; } },
+            source = data.source;
+
+        switch(type) {
+          case 'amd':
+            context.define = function(requires, factory) { factory(_); };
+            context.define.amd = {};
+            vm.runInContext(source, context);
+
+            templates = _.templates || defaultTemplates;
+            break;
+
+          case 'global':
+            context._ = _;
+            vm.runInContext(source, context);
+
+            templates = context._.templates || defaultTemplates;
+            break;
+
+          case 'node':
+            context.require = function() { return _; };
+            vm.runInContext(source, context);
+
+            templates = context.module.exports || defaultTemplates;
+            break;
+
+          case 'none':
+            vm.runInContext(source, context);
+            assert.strictEqual(context._, undefined, basename);
+        }
+        if (templates) {
+          assert.strictEqual(templates.c({ 'name': 'fred' }), 'hello fred', basename);
+        }
+        delete _.templates;
+        start();
+      });
+    });
+  });
+
+  commands = [
+    '',
+    'moduleId=underscore'
+  ];
+
+  _.each(commands, function(command) {
+    var expectedId = _.get(/moduleId=(\w+)/.exec(command), 1, 'lodash');
+
+    QUnit.test('`lodash exports=amd' + (command ? ' ' + command + '`' : '` using the default `moduleId`'), function(assert) {
+      var done = assert.async(),
+          start = _.after(2, _.once(done));
+
+      build(['template=' + path.join(templatePath, '*.jst'), 'exports=amd'].concat(command || []), function(data) {
+        var actualId,
+            basename = path.basename(data.outputPath, '.js'),
+            context = createContext('amd');
+
+        context.define = function(requires, factory) {
+          factory(_);
+          actualId = requires[0];
+        };
+
+        context.define.amd = {};
+        vm.runInContext(data.source, context);
+
+        assert.strictEqual(actualId, expectedId, basename);
+
+        delete _.templates;
+        start();
+      });
+    });
+
+    QUnit.test('`lodash settings=...' + (command ? ' ' + command : '') + '`', function(assert) {
+      var done = assert.async(),
+          start = _.after(2, _.once(done));
+
+      build(['template=' + path.join(templatePath, '*.tpl'), 'settings={interpolate:/{{([\\s\\S]+?)}}/}'].concat(command || []), function(data) {
+        var actualId,
+            basename = path.basename(data.outputPath, '.js'),
+            context = createContext('amd');
+
+        context.define = function(requires, factory) {
+          factory(_);
+          actualId = requires[0];
+        };
+
+        context.define.amd = {};
+        vm.runInContext(data.source, context);
+
+        assert.strictEqual(actualId, expectedId, basename);
+        assert.strictEqual(_.templates.f({ 'name': 'mustache' }), 'hall\xe5 mustache!', basename);
+
+        delete _.templates;
+        start();
+      });
+    });
+  });
+
+  commands = [
+    'moduleId=underscore',
+    'moduleId=none'
+  ];
+
+  _.each(commands, function(command) {
+    var expectedId = _.get(/moduleId=(?!none)(\w+)/.exec(command), 1, '');
+
+    QUnit.test('should work with `' + command + '`', function(assert) {
+      var done = assert.async(),
+          start = _.after(2, _.once(done));
+
+      build(['template=' + path.join(templatePath, 'd.jst'), command], function(data) {
+        var actualId = '',
+            basename = path.basename(data.outputPath, '.js'),
+            context = createContext('node');
+
+        if (expectedId != 'none') {
+          context.require = function(id) {
+            actualId = id;
+            return _;
+          };
+        } else {
+          context.require = function() {
+            throw new ReferenceError;
+          };
+        }
+        vm.runInContext(data.source, context);
+
+        var templates = context.module.exports || { 'd': function() { return ''; } },
+            actual = templates.d({ 'name': 'fred & barney' });
+
+        assert.strictEqual(actualId, expectedId, basename);
+        assert.strictEqual(actual, '<span>hello fred &amp; barney!</span>', basename);
+
+        delete _.templates;
+        start();
+      });
+    });
+  });
+
+  QUnit.test('`lodash iife=%output%`', function(assert) {
+    var done = assert.async(),
+        start = _.after(2, _.once(done));
+
+    build(['template=' + path.join(templatePath, 'c.jst'), 'iife=%output%'], function(data) {
+      var basename = path.basename(data.outputPath, '.js'),
+          context = createContext(),
+          source = data.source;
+
+      assert.notOk(_.startsWith(source, 'null'), basename);
+
+      context._ = _;
+      vm.runInContext(source, context);
+
+      assert.strictEqual(_.templates.c({ 'name': 'fred' }), 'hello fred', basename);
+
+      delete _.templates;
+      start();
+    });
+  });
+
+  QUnit.test('should normalize template file path patterns', function(assert) {
+    var done = assert.async(),
+        start = _.after(2, _.once(done));
+
+    build(['template=' + templatePath + path.sep + path.sep + 'c.jst'], function(data) {
+      var basename = path.basename(data.outputPath, '.js'),
+          context = createContext();
+
+      context._ = _;
+      vm.runInContext(data.source, context);
+
+      assert.strictEqual(_.templates.c({ 'name': 'fred' }), 'hello fred', basename);
+
+      delete _.templates;
+      start();
+    });
+  });
+
+  QUnit.test('should not modify whitespace in templates', function(assert) {
+    var done = assert.async(),
+        start = _.after(2, _.once(done));
+
+    build(['template=' + path.join(templatePath, 'e.jst')], function(data) {
+      var basename = path.basename(data.outputPath, '.js'),
+          context = createContext();
+
+      context._ = _;
+      vm.runInContext(data.source, context);
+
+      assert.strictEqual(_.templates.e({ 'value': '1' }), 'function  () {\n;\n  return 1 ;\n} ;', basename);
+
+      delete _.templates;
+      start();
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('independent builds');
+
+(function() {
+  var options = [
+    '-d',
+    '--development'
+  ];
+
+  _.each(options, function(option) {
+    QUnit.test('development build using `' + option + '`' , function(assert) {
+      var done = assert.async(),
+          start = _.once(done);
+
+      build([option], function(data) {
+        assert.strictEqual(path.basename(data.outputPath, '.js'), 'lodash');
+        start();
+      });
+    });
+
+    QUnit.test('development custom build using `' + option + '`', function(assert) {
+      var done = assert.async(),
+          start = _.once(done);
+
+      build([option, 'strict'], function(data) {
+        var comment = _.get(data.source.match(reHeader), 0, '');
+        assert.ok(_.includes(comment, 'Custom Build'));
+        assert.strictEqual(path.basename(data.outputPath, '.js'), 'lodash.custom');
+        start();
+      });
+    });
+  });
+
+  options = [
+    '-p',
+    '--production'
+  ];
+
+  _.each(options, function(option) {
+    QUnit.test('production build using `' + option + '`', function(assert) {
+      var done = assert.async(),
+          start = _.once(done);
+
+      build([option], function(data) {
+        assert.strictEqual(path.basename(data.outputPath, '.js'), 'lodash.min');
+        start();
+      });
+    });
+
+    QUnit.test('production custom build using `' + option + '`', function(assert) {
+      var done = assert.async(),
+          start = _.once(done);
+
+      build([option, 'strict'], function(data) {
+        var comment = _.get(data.source.match(reHeader), 0, '');
+        assert.ok(_.includes(comment, 'Custom Build'));
+        assert.strictEqual(path.basename(data.outputPath, '.js'), 'lodash.custom.min');
+        start();
+      });
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('modularize modifier');
+
+(function() {
+  var outputPath = path.join(__dirname, 'a');
+
+  function setup() {
+    process.chdir(__dirname);
+    fs.rmrfSync(outputPath);
+  }
+
+  var categories = [
+    'array',
+    'collection',
+    'date',
+    'function',
+    'lang',
+    'number',
+    'object',
+    'seq',
+    'string',
+    'util'
+  ];
+
+  QUnit.test('module aliases for `exports=node`', function(assert) {
+    var done = assert.async();
+
+    var start = _.once(function() {
+      process.chdir(cwd);
+      done();
+    });
+
+    setup();
+
+    build(['modularize', 'exports=node', '-o', outputPath], function() {
+      emptyObject(require.cache);
+
+      var lodash = require(outputPath);
+
+      _.each(categories, function(category) {
+        var funcNames = mapping.category[_.capitalize(category)],
+            object = require(path.join(outputPath, category));
+
+        _.each(funcNames, function(funcName) {
+          var aliases = _.without(getAliases(funcName), 'wrapperLodash');
+          _.each(aliases, function(alias) {
+            var objects = [(category == 'seq' ? lodash.prototype : lodash), object];
+            _.each(objects, function(object, index) {
+              var value = (!index && alias == 'toIterator')
+                ? object[Symbol.iterator]
+                : object[alias];
+
+              assert.ok(_.isFunction(value), '`' + alias + '` is an alias of `' + funcName + '`');
+            });
+          });
+        });
+      });
+
+      start();
+    });
+  });
+
+  var funcNames = [
+    'mixin',
+    'template'
+  ];
+
+  _.each(funcNames, function(funcName) {
+    QUnit.test('`lodash modularize include=' + funcName + ' exports=node`', function(assert) {
+      var done = assert.async();
+
+      var start = _.once(function() {
+        process.chdir(cwd);
+        done();
+      });
+
+      setup();
+
+      build(['modularize', 'include=' + funcName, 'exports=node', '-o', outputPath], function() {
+        emptyObject(require.cache);
+
+        var modulePath = path.join(outputPath, funcName);
+
+        var lodash = {};
+        lodash[funcName] = require(modulePath);
+
+        testMethod(assert, lodash, funcName);
+
+        assert.notOk(fs.existsSync(path.join(outputPath, 'index.js')), '`include=' + funcName + '` should not create an `index.js` file');
+        assert.notOk(reHeader.test(fs.readFileSync(require.resolve(modulePath), 'utf8')), funcName + ' module should not preserve the copyright header');
+        start();
+      });
+    });
+  });
+
+  QUnit.test('`lodash modularize include=main exports=node`', function(assert) {
+    var done = assert.async();
+
+    var start = _.once(function() {
+      process.chdir(cwd);
+      done();
+    });
+
+    setup();
+
+    build(['modularize', 'include=main', 'exports=node', '-o', outputPath], function() {
+      emptyObject(require.cache);
+
+      var lodash = require(outputPath);
+
+      assert.ok(lodash(1) instanceof lodash, outputPath, '`lodash()` should return a `lodash` instance');
+      assert.ok(reHeader.test(fs.readFileSync(path.join(outputPath, 'lodash.js'), 'utf8')), 'lodash module should preserve the copyright header');
+      start();
+    });
+  });
+
+  QUnit.test('`lodash modularize include=partial exports=node`', function(assert) {
+    var done = assert.async();
+
+    var start = _.once(function() {
+      process.chdir(cwd);
+      done();
+    });
+
+    setup();
+
+    build(['modularize', 'include=partial', 'exports=node', '-o', outputPath], function() {
+      emptyObject(require.cache);
+
+      var modulePath = path.join(outputPath, 'partial');
+
+      var lodash = {};
+      lodash.partial = require(modulePath);
+
+      assert.deepEqual(lodash.partial.placeholder, {}, 'should have a `placeholder` property');
+      testMethod(assert, lodash, 'partial');
+      start();
+    });
+  });
+
+  QUnit.test('`lodash modularize include=iteratee minus=matches,property`', function(assert) {
+    var done = assert.async();
+
+    var start = _.once(function() {
+      process.chdir(cwd);
+      done();
+    });
+
+    setup();
+
+    build(['modularize', 'include=iteratee', 'minus=matches,property', 'exports=node', '-o', outputPath], function() {
+      emptyObject(require.cache);
+
+      var modulePath = path.join(outputPath, 'util'),
+          util = require(modulePath),
+          iteratee = util.iteratee('x'),
+          object = { 'x': 1 };
+
+      assert.strictEqual(iteratee(object), object);
+
+      iteratee = util.iteratee(object);
+      assert.strictEqual(iteratee(object), object);
+      start();
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('source-map modifier');
+
+(function() {
+  var mapCommands = [
+    '-m',
+    '-m custom.map',
+    '--source-map',
+    '--source-map custom.map'
+  ];
+
+  var outputCommands = [
+    '',
+    '-o foo.js',
+    '-p -o bar.js'
+  ];
+
+  _.each(mapCommands, function(mapCommand) {
+    _.each(outputCommands, function(outputCommand) {
+      QUnit.test('`lodash ' + mapCommand + (outputCommand ? ' ' + outputCommand : '') + '`', function(assert) {
+        var done = assert.async();
+
+        var callback = _.once(function(data) {
+          var basename = path.basename(data.outputPath, '.js'),
+              sources = [_.get(/\w+\.js$/.exec(outputCommand), 0, 'lodash.custom.js')],
+              sourceMap = JSON.parse(data.sourceMap),
+              sourceMapURL = _.get(/\w+\.map$/.exec(mapCommand), 0, basename + '.map');
+
+          assert.ok(RegExp('\\n//# sourceMappingURL=' + sourceMapURL + '$').test(data.source), basename);
+          assert.strictEqual(sourceMap.file, basename + '.js', basename);
+          assert.deepEqual(sourceMap.sources, sources, basename);
+
+          process.chdir(cwd);
+          done();
+        });
+
+        process.chdir(__dirname);
+
+        outputCommand = outputCommand ? outputCommand.split(' ') : [];
+        if (!_.includes(outputCommand, '-p')) {
+          callback = _.after(2, callback);
+        }
+        build(mapCommand.split(' ').concat(outputCommand), callback);
+      });
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('strict modifier');
+
+(function() {
+  var object = Object.freeze({
+    'a': _.identity,
+    'b': undefined
+  });
+
+  var modes = [
+    'non-strict',
+    'strict'
+  ];
+
+  _.each(modes, function(strictMode, index) {
+    QUnit.test(strictMode + ' should ' + (index ? 'error': 'silently fail') + ' attempting to overwrite read-only properties', function(assert) {
+      var done = assert.async(),
+          start = _.after(2, _.once(done)),
+          commands = ['include=bindAll,defaults,extend'];
+
+      if (index) {
+        commands.push('strict');
+      }
+      build(commands, function(data) {
+        var basename = path.basename(data.outputPath, '.js'),
+            context = createContext();
+
+        vm.runInContext(data.source, context);
+
+        var lodash = context._;
+
+        var actual = _.every([
+          function() { lodash.bindAll(object, 'a'); },
+          function() { lodash.extend(object, { 'a': 1 }); },
+          function() { lodash.defaults(object, { 'b': 2 }); }
+        ], function(fn) {
+          var pass = !index;
+          try {
+            fn();
+          } catch (e) {
+            pass = !!index;
+          }
+          return pass;
+        });
+
+        assert.ok(actual, basename);
+        start();
+      });
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('minus command');
+
+(function() {
+  QUnit.test('`lodash minus=runInContext`', function(assert) {
+    var done = assert.async(),
+        start = _.after(2, _.once(done));
+
+    build(['minus=runInContext'], function(data) {
+      var basename = path.basename(data.outputPath, '.js'),
+          context = createContext();
+
+      vm.runInContext(data.source, context);
+
+      assert.notOk('runInContext' in context._, basename);
+      start();
+    });
+  });
+
+  QUnit.test('`lodash minus=value`', function(assert) {
+    var done = assert.async(),
+        start = _.after(2, _.once(done));
+
+    build(['minus=value'], function(data) {
+      var basename = path.basename(data.outputPath, '.js'),
+          context = createContext();
+
+      vm.runInContext(data.source, context);
+
+      var lodash = context._;
+
+      assert.ok(lodash() instanceof lodash, basename);
+      assert.deepEqual(_.keys(lodash.prototype), [], basename);
+      start();
+    });
+  });
+
+  QUnit.test('`lodash minus=matches`', function(assert) {
+    var done = assert.async(),
+        start = _.after(2, _.once(done));
+
+    build(['minus=matches'], function(data) {
+      var basename = path.basename(data.outputPath, '.js'),
+          context = createContext();
+
+      vm.runInContext(data.source, context);
+
+      var lodash = context._,
+          iteratee = lodash.iteratee('x'),
+          object = { 'x': 1 };
+
+      assert.strictEqual(iteratee(object), 1, basename);
+
+      iteratee = lodash.iteratee(object);
+      assert.strictEqual(iteratee(object), object, basename);
+      start();
+    });
+  });
+
+  QUnit.test('`lodash minus=property`', function(assert) {
+    var done = assert.async(),
+        start = _.after(2, _.once(done));
+
+    build(['minus=property'], function(data) {
+      var basename = path.basename(data.outputPath, '.js'),
+          context = createContext();
+
+      vm.runInContext(data.source, context);
+
+      var lodash = context._,
+          iteratee = lodash.iteratee('x'),
+          object = { 'x': 1 };
+
+      assert.strictEqual(iteratee(object), object, basename);
+
+      iteratee = lodash.iteratee(object);
+      assert.strictEqual(iteratee(object), true, basename);
+      start();
+    });
+  });
+
+  QUnit.test('`lodash minus=matches,property`', function(assert) {
+    var done = assert.async(),
+        start = _.after(2, _.once(done));
+
+    build(['minus=matches,property'], function(data) {
+      var basename = path.basename(data.outputPath, '.js'),
+          context = createContext();
+
+      vm.runInContext(data.source, context);
+
+      var lodash = context._,
+          iteratee = lodash.iteratee('x'),
+          object = { 'x': 1 };
+
+      assert.strictEqual(iteratee(object), object, basename);
+
+      iteratee = lodash.iteratee(object);
+      assert.strictEqual(iteratee(object), object, basename);
+      start();
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('plus command');
+
+(function() {
+  QUnit.test('`lodash core plus=isBuffer`', function(assert) {
+    var done = assert.async(),
+        start = _.after(2, _.once(done));
+
+    build(['core', 'plus=isBuffer'], function(data) {
+      var basename = path.basename(data.outputPath, '.js'),
+          context = createContext();
+
+      vm.runInContext(data.source, context);
+
+      assert.ok('isBuffer' in context._, basename);
+      start();
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('exports command');
+
+(function() {
+  var commands = [
+    'exports=amd',
+    'exports=global',
+    'exports=node',
+    'exports=none',
+    'exports=umd'
+  ];
+
+  _.each(commands, function(command) {
+    var type = command.split('=')[1],
+        types = type == 'umd' ? ['amd', 'global', 'node'] : [type];
+
+    QUnit.test('`lodash ' + command +'`', function(assert) {
+      var done = assert.async(),
+          start = _.after(2, _.once(done));
+
+      build([command], function(data) {
+        _.each(types, function(type) {
+          var basename = path.basename(data.outputPath, '.js'),
+              context = createContext(type),
+              pass = false,
+              source = data.source;
+
+          switch(type) {
+            case 'amd':
+              context.define = function(factory) {
+                pass = true;
+                context._ = factory();
+              };
+              context.define.amd = {};
+              vm.runInContext(source, context);
+
+              assert.ok(pass, basename);
+              assert.ok(_.isFunction(context._), basename);
+              break;
+
+            case 'global':
+              vm.runInContext(source, context);
+              assert.ok(_.isFunction(context._), basename);
+              break;
+
+            case 'node':
+              vm.runInContext(source, context);
+              assert.ok(_.isFunction(context.module.exports), basename);
+              assert.strictEqual(context._, undefined, basename);
+              break;
+
+            case 'none':
+              vm.runInContext(source, context);
+              assert.strictEqual(context._, undefined, basename);
+          }
+        });
+        start();
+      });
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('iife command');
+
+(function() {
+  var commands = [
+    'iife=this["lodash"]=(function(){%output%;return _}())',
+    'iife=define(function(){return (function(){%output%;return _}())});'
+  ];
+
+  _.each(commands, function(command) {
+    QUnit.test('`lodash ' + command +'`', function(assert) {
+      var done = assert.async(),
+          start = _.after(2, _.once(done));
+
+      build(['exports=none', command], function(data) {
+        var basename = path.basename(data.outputPath, '.js'),
+            context = createContext('amd');
+
+        context.define = function(func) { context.lodash = func(); };
+        context.define.amd = {};
+
+        try {
+          vm.runInContext(data.source, context);
+        } catch (e) {
+          console.log(e);
+        }
+        var lodash = context.lodash || {};
+        assert.ok(_.isString(lodash.VERSION), basename);
+        start();
+      });
+    });
+  });
+
+  QUnit.test('should add `iife` commands to the copyright header', function(assert) {
+    var done = assert.async(),
+        start = _.once(done),
+        command = 'iife=;(function(){/*\r\n*/%output%; root.lodash = _}.call(this))',
+        expected = 'iife=";(function(){/*\\r\\n*\\/%output%; root.lodash = _}.call(this))"';
+
+    build([command], function(data) {
+      var basename = path.basename(data.outputPath, '.js'),
+          comment = _.get(data.source.match(reHeader), 0, '');
+
+      assert.ok(_.includes(comment, expected), basename);
+      start();
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('include command');
+
+(function() {
+  var commands = [
+    'include=chain',
+    'include=mixin',
+    'include=tap',
+    'include=value'
+  ];
+
+  _.each(commands, function(command) {
+    QUnit.test('`lodash ' + command +'`', function(assert) {
+      var done = assert.async(),
+          start = _.after(2, _.once(done));
+
+      build([command], function(data) {
+        var basename = path.basename(data.outputPath, '.js'),
+            context = createContext();
+
+        vm.runInContext(data.source, context);
+
+        var lodash = context._;
+        lodash.mixin({ 'x': _.noop });
+
+        assert.strictEqual(lodash.x, _.noop, basename);
+        assert.strictEqual(typeof lodash.prototype.x, 'function', basename);
+        assert.ok(lodash() instanceof lodash, basename);
+        start();
+      });
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('moduleId command');
+
+(function() {
+  var commands = [
+    'moduleId=underscore',
+    'moduleId=lodash exports=amd'
+  ];
+
+  _.each(commands, function(command) {
+    var expectedId = /moduleId=(\w+)/.exec(command)[1];
+
+    QUnit.test('`lodash ' + command +'`', function(assert) {
+      var done = assert.async(),
+          start = _.after(2, _.once(done));
+
+      build(command.split(' '), function(data) {
+        var actualId,
+            basename = path.basename(data.outputPath, '.js'),
+            context = createContext('amd');
+
+        context.define = function(id, factory) {
+          actualId = id;
+          context._ = factory();
+        };
+
+        context.define.amd = {};
+        vm.runInContext(data.source, context);
+
+        assert.strictEqual(actualId, expectedId, basename);
+        assert.ok(_.isFunction(context._), basename);
+        start();
+      });
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('output option');
+
+(function() {
+  var outputPath = path.join(__dirname, 'a'),
+      nestedPath = path.join(outputPath, 'b');
+
+  var commands = [
+    '-o a.js',
+    '--output b.js',
+    '-o ' + path.join('a', 'b', 'c.js'),
+    '-o ' + relativePrefix + path.join('a', 'b', 'c.js'),
+    '-o ' + path.join(nestedPath, 'c.js'),
+    '-o name_with_keywords_like_category_include_plus_minus.js'
+  ];
+
+  _.each(commands, function(command) {
+    QUnit.test('`lodash ' + command +'`', function(assert) {
+      var counter = 0,
+          dirs = _.includes(command, 'c.js'),
+          done = assert.async(),
+          expected = /(\w+)(?=\.js$)/.exec(command)[0];
+
+      var start = _.after(2, _.once(function() {
+        if (dirs) {
+          fs.rmrfSync(outputPath);
+        }
+        process.chdir(cwd);
+        done();
+      }));
+
+      process.chdir(__dirname);
+
+      build(command.split(' '), function(data) {
+        var basename = path.basename(data.outputPath, '.js');
+        assert.strictEqual(basename, expected + (counter++ ? '.min' : ''), command);
+        start();
+      });
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('stdout option');
+
+(function() {
+  var write = process.stdout.write;
+
+  var commands = [
+    '-c',
+    '-c -d',
+    '--stdout'
+  ];
+
+  _.each(commands, function(command) {
+    QUnit.test('`lodash ' + command +'`', function(assert) {
+      var written,
+          done = assert.async(),
+          start = _.once(done);
+
+      process.stdout.write = function(string) {
+        written = string;
+      };
+
+      build(['exports=none', 'include=none'].concat(command.split(' ')), function(data) {
+        assert.notOk('outputPath' in data);
+        assert.strictEqual(written, data.source);
+        assert.strictEqual(arguments.length, 1);
+
+        process.stdout.write = write;
+        start();
+      });
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+QUnit.module('lodash build');
+
+(function() {
+  var reInclude = /\binclude=/,
+      reIncludeValue = /\binclude=(\S*)/,
+      reCategory = /\bcategory=/,
+      reCategoryValue = /\bcategory=(\S*)/,
+      reComma = /, */,
+      reMinus = /\bminus=/,
+      reMinusValue = /\bminus=(\S*)/,
+      rePlus =/\bplus=/,
+      rePlusValue = /\bplus=(\S*)/;
+
+  var allFuncNames = _.reject(_.functions(_).sort(), function(funcName) {
+    return _.startsWith(funcName, '_');
+  });
+
+  var commands = [
+    'strict',
+    'category=array',
+    'category=collection',
+    'category=date',
+    'category=function',
+    'category=lang',
+    'category=number',
+    'category=object',
+    'category=seq',
+    'category=string',
+    'category=util',
+    'minus=union,uniq,zip',
+    'include=each,filter,map',
+    'include=once plus=bind,Seq',
+    'category=collection,function',
+    'include=defer',
+    'strict category=function exports=amd,global plus=pick,uniq',
+    'strict include=isArguments,isArray,isFunction,isPlainObject,keys'
+  ];
+
+  push.apply(commands, _.map(allFuncNames, function(funcName) {
+    return 'include=' + funcName;
+  }));
+
+  _.each(commands, function(command) {
+    QUnit.test('`lodash ' + command +'`', function(assert) {
+      var done = assert.async(),
+          start = _.after(2, _.once(done));
+
+      build(command.split(' '), function(data) {
+        var basename = path.basename(data.outputPath, '.js'),
+            context = createContext();
+
+        try {
+          vm.runInContext(data.source, context);
+        } catch (e) {
+          console.log(e);
+        }
+        // Add function names explicitly.
+        if (reInclude.test(command)) {
+          var funcNames = command.match(reIncludeValue)[1].split(reComma);
+        }
+        if (reCategory.test(command)) {
+          var categories = command.match(reCategoryValue)[1].split(reComma);
+          funcNames || (funcNames = []);
+          push.apply(funcNames, _.map(categories, function(category) {
+            return getRealCategory(_.capitalize(category.toLowerCase()));
+          }));
+        }
+        if (!funcNames) {
+          funcNames = allFuncNames.slice();
+        }
+        if (rePlus.test(command)) {
+          var otherNames = command.match(rePlusValue)[1].split(reComma);
+          push.apply(funcNames, expandFuncNames(otherNames));
+        }
+        if (reMinus.test(command)) {
+          otherNames = command.match(reMinusValue)[1].split(reComma);
+          funcNames = _.difference(funcNames, expandFuncNames(otherNames));
+        }
+        // Expand categories to function names.
+        _.each(funcNames.slice(), function(category) {
+          var otherNames = _.filter(mapping.category[category], function(key) {
+            var type = typeof _[key];
+            return type == 'function' || type == 'undefined';
+          });
+
+          // Limit function names to those available for specific builds.
+          otherNames = _.intersection(otherNames, allFuncNames);
+
+          if (!_.isEmpty(otherNames)) {
+            _.pull(funcNames, category);
+            push.apply(funcNames, otherNames);
+          }
+        });
+
+        // Expand aliases and remove nonexistent and duplicate function names.
+        funcNames = _.uniq(_.intersection(expandFuncNames(funcNames), allFuncNames));
+
+        var lodash = context._ || {};
+
+        _.each(funcNames, function(funcName) {
+          testMethod(assert, lodash, funcName, basename);
+        });
+
+        start();
+      });
+    });
+  });
+}());
+
+/*----------------------------------------------------------------------------*/
+
+if (timeLimit > 0) {
+  setTimeout(function() {
+    process.exit(QUnit.config.stats.bad ? 1 : 0);
+  }, timeLimit);
+}
+QUnit.config.hidepassed = true;
+QUnit.config.noglobals = true;
+
+QUnit.load();
+QUnit.start();
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/npm/index.js node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/npm/index.js
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/test/npm/index.js	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/test/npm/index.js	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1,337 @@
+var functions = require('lodash.functions'),
+    isObject = require('lodash.isobject'),
+    keys = require('lodash.keys'),
+    mixin = require('lodash.mixin'),
+    templateSettings = require('lodash.templatesettings');
+
+// Wrap `_.mixin` so it works when provided only one argument.
+mixin = (function(func) {
+  return function(object, source, options) {
+    var isObj = isObject(source),
+        noOpts = options == null,
+        props = noOpts && isObj && keys(source),
+        methodNames = props && functions(source);
+
+    if ((props && props.length && !methodNames.length) || (noOpts && !isObj)) {
+      if (noOpts) {
+        options = source;
+      }
+      source = object;
+      object = this;
+    }
+    return func(object, source, options);
+  };
+}(mixin));
+
+// The lodash namespace.
+var lodash = function() {};
+
+// Add functions.
+lodash.add = require('lodash.add');
+lodash.after = require('lodash.after');
+lodash.ary = require('lodash.ary');
+lodash.assign = require('lodash.assign');
+lodash.assignIn = require('lodash.assignin');
+lodash.assignInWith = require('lodash.assigninwith');
+lodash.assignWith = require('lodash.assignwith');
+lodash.at = require('lodash.at');
+lodash.attempt = require('lodash.attempt');
+lodash.before = require('lodash.before');
+lodash.bind = require('lodash.bind');
+lodash.bindAll = require('lodash.bindall');
+lodash.bindKey = require('lodash.bindkey');
+lodash.camelCase = require('lodash.camelcase');
+lodash.capitalize = require('lodash.capitalize');
+lodash.castArray = require('lodash.castarray');
+lodash.ceil = require('lodash.ceil');
+lodash.chunk = require('lodash.chunk');
+lodash.clamp = require('lodash.clamp');
+lodash.clone = require('lodash.clone');
+lodash.cloneDeep = require('lodash.clonedeep');
+lodash.cloneDeepWith = require('lodash.clonedeepwith');
+lodash.cloneWith = require('lodash.clonewith');
+lodash.compact = require('lodash.compact');
+lodash.concat = require('lodash.concat');
+lodash.cond = require('lodash.cond');
+lodash.conforms = require('lodash.conforms');
+lodash.conformsTo = require('lodash.conformsto');
+lodash.constant = require('lodash.constant');
+lodash.countBy = require('lodash.countby');
+lodash.create = require('lodash.create');
+lodash.curry = require('lodash.curry');
+lodash.curryRight = require('lodash.curryright');
+lodash.debounce = require('lodash.debounce');
+lodash.deburr = require('lodash.deburr');
+lodash.defaults = require('lodash.defaults');
+lodash.defaultsDeep = require('lodash.defaultsdeep');
+lodash.defaultTo = require('lodash.defaultto');
+lodash.defer = require('lodash.defer');
+lodash.delay = require('lodash.delay');
+lodash.difference = require('lodash.difference');
+lodash.differenceBy = require('lodash.differenceby');
+lodash.differenceWith = require('lodash.differencewith');
+lodash.divide = require('lodash.divide');
+lodash.drop = require('lodash.drop');
+lodash.dropRight = require('lodash.dropright');
+lodash.dropRightWhile = require('lodash.droprightwhile');
+lodash.dropWhile = require('lodash.dropwhile');
+lodash.endsWith = require('lodash.endswith');
+lodash.eq = require('lodash.eq');
+lodash.escape = require('lodash.escape');
+lodash.escapeRegExp = require('lodash.escaperegexp');
+lodash.every = require('lodash.every');
+lodash.fill = require('lodash.fill');
+lodash.filter = require('lodash.filter');
+lodash.find = require('lodash.find');
+lodash.findIndex = require('lodash.findindex');
+lodash.findKey = require('lodash.findkey');
+lodash.findLast = require('lodash.findlast');
+lodash.findLastIndex = require('lodash.findlastindex');
+lodash.findLastKey = require('lodash.findlastkey');
+lodash.flatMap = require('lodash.flatmap');
+lodash.flatMapDeep = require('lodash.flatmapdeep');
+lodash.flatMapDepth = require('lodash.flatmapdepth');
+lodash.flatten = require('lodash.flatten');
+lodash.flattenDeep = require('lodash.flattendeep');
+lodash.flattenDepth = require('lodash.flattendepth');
+lodash.flip = require('lodash.flip');
+lodash.floor = require('lodash.floor');
+lodash.flow = require('lodash.flow');
+lodash.flowRight = require('lodash.flowright');
+lodash.forEach = require('lodash.foreach');
+lodash.forEachRight = require('lodash.foreachright');
+lodash.forIn = require('lodash.forin');
+lodash.forInRight = require('lodash.forinright');
+lodash.forOwn = require('lodash.forown');
+lodash.forOwnRight = require('lodash.forownright');
+lodash.fromPairs = require('lodash.frompairs');
+lodash.functions = require('lodash.functions');
+lodash.functionsIn = require('lodash.functionsin');
+lodash.get = require('lodash.get');
+lodash.groupBy = require('lodash.groupby');
+lodash.gt = require('lodash.gt');
+lodash.gte = require('lodash.gte');
+lodash.has = require('lodash.has');
+lodash.hasIn = require('lodash.hasin');
+lodash.head = require('lodash.head');
+lodash.identity = require('lodash.identity');
+lodash.includes = require('lodash.includes');
+lodash.indexOf = require('lodash.indexof');
+lodash.initial = require('lodash.initial');
+lodash.inRange = require('lodash.inrange');
+lodash.intersection = require('lodash.intersection');
+lodash.intersectionBy = require('lodash.intersectionby');
+lodash.intersectionWith = require('lodash.intersectionwith');
+lodash.invert = require('lodash.invert');
+lodash.invertBy = require('lodash.invertby');
+lodash.invoke = require('lodash.invoke');
+lodash.invokeMap = require('lodash.invokemap');
+lodash.isArguments = require('lodash.isarguments');
+lodash.isArray = require('lodash.isarray');
+lodash.isArrayBuffer = require('lodash.isarraybuffer');
+lodash.isArrayLike = require('lodash.isarraylike');
+lodash.isArrayLikeObject = require('lodash.isarraylikeobject');
+lodash.isBoolean = require('lodash.isboolean');
+lodash.isBuffer = require('lodash.isbuffer');
+lodash.isDate = require('lodash.isdate');
+lodash.isElement = require('lodash.iselement');
+lodash.isEmpty = require('lodash.isempty');
+lodash.isEqual = require('lodash.isequal');
+lodash.isEqualWith = require('lodash.isequalwith');
+lodash.isError = require('lodash.iserror');
+lodash.isFinite = require('lodash.isfinite');
+lodash.isFunction = require('lodash.isfunction');
+lodash.isInteger = require('lodash.isinteger');
+lodash.isLength = require('lodash.islength');
+lodash.isMap = require('lodash.ismap');
+lodash.isMatch = require('lodash.ismatch');
+lodash.isMatchWith = require('lodash.ismatchwith');
+lodash.isNaN = require('lodash.isnan');
+lodash.isNative = require('lodash.isnative');
+lodash.isNil = require('lodash.isnil');
+lodash.isNull = require('lodash.isnull');
+lodash.isNumber = require('lodash.isnumber');
+lodash.isObject = require('lodash.isobject');
+lodash.isObjectLike = require('lodash.isobjectlike');
+lodash.isPlainObject = require('lodash.isplainobject');
+lodash.isRegExp = require('lodash.isregexp');
+lodash.isSafeInteger = require('lodash.issafeinteger');
+lodash.isSet = require('lodash.isset');
+lodash.isString = require('lodash.isstring');
+lodash.isSymbol = require('lodash.issymbol');
+lodash.isUndefined = require('lodash.isundefined');
+lodash.isWeakMap = require('lodash.isweakmap');
+lodash.isWeakSet = require('lodash.isweakset');
+lodash.isTypedArray = require('lodash.istypedarray');
+lodash.iteratee = require('lodash.iteratee');
+lodash.join = require('lodash.join');
+lodash.kebabCase = require('lodash.kebabcase');
+lodash.keyBy = require('lodash.keyby');
+lodash.keys = require('lodash.keys');
+lodash.keysIn = require('lodash.keysin');
+lodash.last = require('lodash.last');
+lodash.lastIndexOf = require('lodash.lastindexof');
+lodash.lowerCase = require('lodash.lowercase');
+lodash.lowerFirst = require('lodash.lowerfirst');
+lodash.lt = require('lodash.lt');
+lodash.lte = require('lodash.lte');
+lodash.map = require('lodash.map');
+lodash.mapKeys = require('lodash.mapkeys');
+lodash.mapValues = require('lodash.mapvalues');
+lodash.matches = require('lodash.matches');
+lodash.matchesProperty = require('lodash.matchesproperty');
+lodash.max = require('lodash.max');
+lodash.maxBy = require('lodash.maxby');
+lodash.mean = require('lodash.mean');
+lodash.meanBy = require('lodash.meanby');
+lodash.method = require('lodash.method');
+lodash.methodOf = require('lodash.methodof');
+lodash.memoize = require('lodash.memoize');
+lodash.merge = require('lodash.merge');
+lodash.mergeWith = require('lodash.mergewith');
+lodash.min = require('lodash.min');
+lodash.minBy = require('lodash.minby');
+lodash.mixin = mixin;
+lodash.multiply = require('lodash.multiply');
+lodash.negate = require('lodash.negate');
+lodash.noop = require('lodash.noop');
+lodash.now = require('lodash.now');
+lodash.nth = require('lodash.nth');
+lodash.nthArg = require('lodash.ntharg');
+lodash.omit = require('lodash.omit');
+lodash.omitBy = require('lodash.omitby');
+lodash.once = require('lodash.once');
+lodash.orderBy = require('lodash.orderby');
+lodash.over = require('lodash.over');
+lodash.overArgs = require('lodash.overargs');
+lodash.overEvery = require('lodash.overevery');
+lodash.overSome = require('lodash.oversome');
+lodash.pad = require('lodash.pad');
+lodash.padEnd = require('lodash.padend');
+lodash.padStart = require('lodash.padstart');
+lodash.parseInt = require('lodash.parseint');
+lodash.partial = require('lodash.partial');
+lodash.partialRight = require('lodash.partialright');
+lodash.partition = require('lodash.partition');
+lodash.pick = require('lodash.pick');
+lodash.pickBy = require('lodash.pickby');
+lodash.property = require('lodash.property');
+lodash.propertyOf = require('lodash.propertyof');
+lodash.pull = require('lodash.pull');
+lodash.pullAll = require('lodash.pullall');
+lodash.pullAllBy = require('lodash.pullallby');
+lodash.pullAllWith = require('lodash.pullallwith');
+lodash.pullAt = require('lodash.pullat');
+lodash.random = require('lodash.random');
+lodash.range = require('lodash.range');
+lodash.rangeRight = require('lodash.rangeright');
+lodash.rearg = require('lodash.rearg');
+lodash.reduce = require('lodash.reduce');
+lodash.reduceRight = require('lodash.reduceright');
+lodash.reject = require('lodash.reject');
+lodash.remove = require('lodash.remove');
+lodash.repeat = require('lodash.repeat');
+lodash.replace = require('lodash.replace');
+lodash.rest = require('lodash.rest');
+lodash.result = require('lodash.result');
+lodash.reverse = require('lodash.reverse');
+lodash.round = require('lodash.round');
+lodash.sample = require('lodash.sample');
+lodash.sampleSize = require('lodash.samplesize');
+lodash.set = require('lodash.set');
+lodash.setWith = require('lodash.setwith');
+lodash.shuffle = require('lodash.shuffle');
+lodash.size = require('lodash.size');
+lodash.slice = require('lodash.slice');
+lodash.snakeCase = require('lodash.snakecase');
+lodash.some = require('lodash.some');
+lodash.sortBy = require('lodash.sortby');
+lodash.sortedIndex = require('lodash.sortedindex');
+lodash.sortedIndexBy = require('lodash.sortedindexby');
+lodash.sortedIndexOf = require('lodash.sortedindexof');
+lodash.sortedLastIndex = require('lodash.sortedlastindex');
+lodash.sortedLastIndexBy = require('lodash.sortedlastindexby');
+lodash.sortedLastIndexOf = require('lodash.sortedlastindexof');
+lodash.sortedUniq = require('lodash.sorteduniq');
+lodash.sortedUniqBy = require('lodash.sorteduniqby');
+lodash.split = require('lodash.split');
+lodash.spread = require('lodash.spread');
+lodash.startCase = require('lodash.startcase');
+lodash.startsWith = require('lodash.startswith');
+lodash.stubArray = require('lodash.stubarray');
+lodash.stubFalse = require('lodash.stubfalse');
+lodash.stubObject = require('lodash.stubobject');
+lodash.stubTrue = require('lodash.stubtrue');
+lodash.stubString = require('lodash.stubstring');
+lodash.subtract = require('lodash.subtract');
+lodash.sum = require('lodash.sum');
+lodash.sumBy = require('lodash.sumby');
+lodash.tail = require('lodash.tail');
+lodash.take = require('lodash.take');
+lodash.takeRight = require('lodash.takeright');
+lodash.takeRightWhile = require('lodash.takerightwhile');
+lodash.takeWhile = require('lodash.takewhile');
+lodash.template = require('lodash.template');
+lodash.throttle = require('lodash.throttle');
+lodash.times = require('lodash.times');
+lodash.toArray = require('lodash.toarray');
+lodash.toFinite = require('lodash.tofinite');
+lodash.toInteger = require('lodash.tointeger');
+lodash.toLength = require('lodash.tolength');
+lodash.toLower = require('lodash.tolower');
+lodash.toNumber = require('lodash.tonumber');
+lodash.toPairs = require('lodash.topairs');
+lodash.toPairsIn = require('lodash.topairsin');
+lodash.toPath = require('lodash.topath');
+lodash.toPlainObject = require('lodash.toplainobject');
+lodash.toSafeInteger = require('lodash.tosafeinteger');
+lodash.toString = require('lodash.tostring');
+lodash.toUpper = require('lodash.toupper');
+lodash.transform = require('lodash.transform');
+lodash.trim = require('lodash.trim');
+lodash.trimEnd = require('lodash.trimend');
+lodash.trimStart = require('lodash.trimstart');
+lodash.truncate = require('lodash.truncate');
+lodash.unary = require('lodash.unary');
+lodash.unescape = require('lodash.unescape');
+lodash.union = require('lodash.union');
+lodash.unionBy = require('lodash.unionby');
+lodash.unionWith = require('lodash.unionwith');
+lodash.uniq = require('lodash.uniq');
+lodash.uniqBy = require('lodash.uniqby');
+lodash.uniqWith = require('lodash.uniqwith');
+lodash.uniqueId = require('lodash.uniqueid');
+lodash.unset = require('lodash.unset');
+lodash.unzip = require('lodash.unzip');
+lodash.unzipWith = require('lodash.unzipwith');
+lodash.update = require('lodash.update');
+lodash.updateWith = require('lodash.updatewith');
+lodash.upperCase = require('lodash.uppercase');
+lodash.upperFirst = require('lodash.upperfirst');
+lodash.values = require('lodash.values');
+lodash.valuesIn = require('lodash.valuesin');
+lodash.without = require('lodash.without');
+lodash.words = require('lodash.words');
+lodash.wrap = require('lodash.wrap');
+lodash.xor = require('lodash.xor');
+lodash.xorBy = require('lodash.xorby');
+lodash.xorWith = require('lodash.xorwith');
+lodash.zip = require('lodash.zip');
+lodash.zipObject = require('lodash.zipobject');
+lodash.zipObjectDeep = require('lodash.zipobjectdeep');
+lodash.zipWith = require('lodash.zipwith');
+
+// Add aliases.
+lodash.each = lodash.forEach;
+lodash.eachRight = lodash.forEachRight;
+lodash.entries = lodash.toPairs;
+lodash.entriesIn = lodash.toPairsIn;
+lodash.extend = lodash.assignIn;
+lodash.extendWith = lodash.assignInWith;
+lodash.first = lodash.head;
+
+// Add other properties.
+(lodash.templateSettings = templateSettings).imports._ = lodash;
+lodash.VERSION = require('lodash').VERSION;
+
+module.exports = lodash;
diff -Nru node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/.travis.yml node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/.travis.yml
--- node-lodash-4.17.21+dfsg+~cs8.31.173/lodash-cli/.travis.yml	1970-01-01 05:30:00.000000000 +0530
+++ node-lodash-4.17.21+dfsg+~cs8.31.189.20210220/lodash-cli/.travis.yml	2021-02-20 21:05:39.000000000 +0530
@@ -0,0 +1,95 @@
+language: node_js
+sudo: false
+node_js:
+  - 7
+
+cache:
+  directories:
+    - ~/.npm
+
+env:
+  global:
+    - EXPORTS=node
+    - QUERY="" TEST_BUILDS=false
+    - RUNNER_PATH=node_modules/lodash/test
+    - SAUCE_PATH=$RUNNER_PATH/saucelabs.js SAUCE_USERNAME=lodash
+    - secure: HUCzn6i9XZ53278fYMICHuHWaVtTZmJCfY4wv3BEu57CGshw9T399Vxul849vIusw3x9cf4iNrrry0RaZga7KfaJIVSESy4zeY4vnsJ+5QCiXGbobpNPYnhU50eTo95MqDh1/Uds+cv2HCo+4VH8yb+6k/p9xX0CC3TvvToX60M=
+
+  matrix:
+    -
+    - EXPORTS=es
+    - EXPORTS=npm
+    - EXPORTS=amd
+    - TEST_BUILDS=true
+
+matrix:
+  include:
+    - node_js: 6
+      env:
+    - node_js: 6
+      env: EXPORTS=npm
+git:
+  depth: 10
+
+branches:
+  only:
+    - master
+
+before_install:
+  # Use exact Node version.
+  - nvm use $TRAVIS_NODE_VERSION
+
+  # Setup npm.
+  - npm set loglevel error
+  - npm set progress false
+  - npm i -g npm@"^2.0.0"
+
+  # Set path variables.
+  - OUTPUT_PATH="./$EXPORTS"
+  - TARGET_PATH="../../../$EXPORTS/index.js"
+  - |
+      if [ $EXPORTS = 'amd' ]; then
+        TARGET_PATH="../../../amd/main.js"
+        TAGS="requirejs,amd,development"
+        QUERY="build=$TARGET_PATH&loader=requirejs&noglobals=true"
+      elif [ $EXPORTS = 'es' ]; then
+        TARGET_PATH="../../../$EXPORTS/lodash.js"
+      elif [ $EXPORTS = 'npm' ]; then
+        OUTPUT_PATH="./npm/node_modules"
+      fi
+
+  # Use lodash from GitHub.
+  - git clone --depth=10 --branch=4.17.20 git://github.com/lodash/lodash ./node_modules/lodash
+  - cd ./node_modules/lodash; npm i; cd ../../
+
+  # Create builds.
+  - |
+      if [ $TEST_BUILDS != true ]; then
+        npm i
+        node ./bin/lodash modularize exports=$EXPORTS -o $OUTPUT_PATH
+        if [ $EXPORTS = 'es' ]; then
+          node ./bin/lodash modularize exports=node minus=main -o ./node_modules/lodash
+          babel ./$EXPORTS --out-dir ./$EXPORTS
+        elif [ $EXPORTS = 'npm' ]; then
+          cd ./npm; cp ../test/npm/index.js ./index.js; cd ../
+        fi
+      fi
+
+script:
+  # Test in Node.js.
+  - |
+      if [ $EXPORTS != 'amd' ]; then
+        if [ $TEST_BUILDS = true ]; then
+          node test --time-limit 45m
+        else
+          node $RUNNER_PATH/test.js $TARGET_PATH
+        fi
+      fi
+
+  # Test in Sauce Labs.
+  - |
+      if [ $EXPORTS = 'amd' ]; then
+        node $SAUCE_PATH name="lodash tests"     runner="$RUNNER_PATH/index.html?$QUERY"      tags=$TAGS
+        node $SAUCE_PATH name="backbone tests"   runner="$RUNNER_PATH/backbone.html?$QUERY"   tags=$TAGS,backbone
+        node $SAUCE_PATH name="underscore tests" runner="$RUNNER_PATH/underscore.html?$QUERY" tags=$TAGS,underscore
+      fi

Reply to: