Browse Source

updated jake and fs-extra to flatten out with the new npm. Also created a package.json and npm-shrinkwrap.json to lock down the version

Shaddock Heath 10 years ago
parent
commit
13709379dd
100 changed files with 436 additions and 5348 deletions
  1. 0 0
      Build/node_modules/ansi-styles/ansi-styles.js
  2. 78 52
      Build/node_modules/ansi-styles/package.json
  3. 0 0
      Build/node_modules/ansi-styles/readme.md
  4. 0 0
      Build/node_modules/async/.travis.yml
  5. 0 0
      Build/node_modules/async/LICENSE
  6. 0 0
      Build/node_modules/async/README.md
  7. 0 0
      Build/node_modules/async/bower.json
  8. 0 0
      Build/node_modules/async/component.json
  9. 0 0
      Build/node_modules/async/lib/async.js
  10. 82 56
      Build/node_modules/async/package.json
  11. 0 0
      Build/node_modules/async/support/sync-package-managers.js
  12. 0 0
      Build/node_modules/chalk/index.js
  13. 76 51
      Build/node_modules/chalk/package.json
  14. 0 0
      Build/node_modules/chalk/readme.md
  15. 0 0
      Build/node_modules/filelist/Jakefile
  16. 0 0
      Build/node_modules/filelist/README.md
  17. 0 0
      Build/node_modules/filelist/index.js
  18. 0 0
      Build/node_modules/filelist/node_modules/minimatch/.npmignore
  19. 0 0
      Build/node_modules/filelist/node_modules/minimatch/LICENSE
  20. 0 0
      Build/node_modules/filelist/node_modules/minimatch/README.md
  21. 0 0
      Build/node_modules/filelist/node_modules/minimatch/minimatch.js
  22. 82 0
      Build/node_modules/filelist/node_modules/minimatch/package.json
  23. 0 0
      Build/node_modules/filelist/node_modules/minimatch/test/basic.js
  24. 0 0
      Build/node_modules/filelist/node_modules/minimatch/test/brace-expand.js
  25. 0 0
      Build/node_modules/filelist/node_modules/minimatch/test/caching.js
  26. 0 0
      Build/node_modules/filelist/node_modules/minimatch/test/defaults.js
  27. 0 0
      Build/node_modules/filelist/node_modules/minimatch/test/extglob-ending-with-state-char.js
  28. 0 0
      Build/node_modules/filelist/node_modules/utilities/Jakefile
  29. 0 0
      Build/node_modules/filelist/node_modules/utilities/README.md
  30. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/array.js
  31. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/async.js
  32. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/core.js
  33. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/date.js
  34. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/event_buffer.js
  35. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/file.js
  36. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/i18n.js
  37. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/index.js
  38. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/inflection.js
  39. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/log.js
  40. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/network.js
  41. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/object.js
  42. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/request.js
  43. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/sorted_collection.js
  44. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/string.js
  45. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/uri.js
  46. 0 0
      Build/node_modules/filelist/node_modules/utilities/lib/xml.js
  47. 59 33
      Build/node_modules/filelist/node_modules/utilities/package.json
  48. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/array.js
  49. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/core.js
  50. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/date.js
  51. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/event_buffer.js
  52. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/file.js
  53. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/i18n.js
  54. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/inflection.js
  55. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/logging.js
  56. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/network.js
  57. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/object.js
  58. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/sorted_collection.js
  59. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/string.js
  60. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/uri.js
  61. 0 0
      Build/node_modules/filelist/node_modules/utilities/test/xml.js
  62. 59 30
      Build/node_modules/filelist/package.json
  63. 0 1
      Build/node_modules/fs-extra/node_modules/.bin/rimraf
  64. 0 31
      Build/node_modules/fs-extra/node_modules/jsonfile/package.json
  65. 0 343
      Build/node_modules/fs-extra/node_modules/jsonfile/test.js
  66. 0 20
      Build/node_modules/fs-extra/node_modules/path-is-absolute/index.js
  67. 0 21
      Build/node_modules/fs-extra/node_modules/path-is-absolute/license
  68. 0 70
      Build/node_modules/fs-extra/node_modules/path-is-absolute/package.json
  69. 0 51
      Build/node_modules/fs-extra/node_modules/path-is-absolute/readme.md
  70. 0 38
      Build/node_modules/fs-extra/node_modules/rimraf/README.md
  71. 0 377
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/README.md
  72. 0 245
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/common.js
  73. 0 752
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/glob.js
  74. 0 17
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/.eslintrc
  75. 0 15
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/LICENSE
  76. 0 37
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/README.md
  77. 0 44
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js
  78. 0 36
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md
  79. 0 36
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json
  80. 0 51
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js
  81. 0 33
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js
  82. 0 36
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json
  83. 0 97
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/test.js
  84. 0 16
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/LICENSE
  85. 0 42
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/README.md
  86. 0 1
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits.js
  87. 0 23
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits_browser.js
  88. 0 35
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/package.json
  89. 0 25
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/test.js
  90. 0 15
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/LICENSE
  91. 0 216
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/README.md
  92. 0 1159
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/browser.js
  93. 0 912
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/minimatch.js
  94. 0 2
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore
  95. 0 3
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml
  96. 0 121
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md
  97. 0 8
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js
  98. 0 191
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js
  99. 0 2
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore
  100. 0 4
      Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml

+ 0 - 0
Build/node_modules/jake/node_modules/chalk/node_modules/ansi-styles/ansi-styles.js → Build/node_modules/ansi-styles/ansi-styles.js


+ 78 - 52
Build/node_modules/jake/node_modules/chalk/node_modules/ansi-styles/package.json → Build/node_modules/ansi-styles/package.json

@@ -1,75 +1,101 @@
 {
-  "name": "ansi-styles",
-  "version": "1.0.0",
-  "description": "ANSI escape codes for colorizing strings in the terminal",
-  "keywords": [
-    "ansi",
-    "styles",
-    "color",
-    "colour",
-    "colors",
-    "terminal",
-    "console",
-    "cli",
-    "string",
-    "tty",
-    "escape",
-    "formatting",
-    "rgb",
-    "256",
-    "shell",
-    "xterm",
-    "log",
-    "logging",
-    "command-line",
-    "text"
+  "_args": [
+    [
+      "ansi-styles@~1.0.0",
+      "/Users/shaddockh/Development/AtomicProjects/AtomicGameEngineFork/AtomicGameEngine/Build/node_modules/chalk"
+    ]
   ],
-  "homepage": "https://github.com/sindresorhus/ansi-styles",
-  "bugs": {
-    "url": "https://github.com/sindresorhus/ansi-styles/issues"
+  "_from": "ansi-styles@>=1.0.0 <1.1.0",
+  "_id": "[email protected]",
+  "_inCache": true,
+  "_installable": true,
+  "_location": "/ansi-styles",
+  "_npmUser": {
+    "email": "[email protected]",
+    "name": "sindresorhus"
   },
-  "license": "MIT",
+  "_npmVersion": "1.3.15",
+  "_phantomChildren": {},
+  "_requested": {
+    "name": "ansi-styles",
+    "raw": "ansi-styles@~1.0.0",
+    "rawSpec": "~1.0.0",
+    "scope": null,
+    "spec": ">=1.0.0 <1.1.0",
+    "type": "range"
+  },
+  "_requiredBy": [
+    "/chalk"
+  ],
+  "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz",
+  "_shasum": "cb102df1c56f5123eab8b67cd7b98027a0279178",
+  "_shrinkwrap": null,
+  "_spec": "ansi-styles@~1.0.0",
+  "_where": "/Users/shaddockh/Development/AtomicProjects/AtomicGameEngineFork/AtomicGameEngine/Build/node_modules/chalk",
   "author": {
-    "name": "Sindre Sorhus",
     "email": "[email protected]",
+    "name": "Sindre Sorhus",
     "url": "http://sindresorhus.com"
   },
-  "files": [
-    "ansi-styles.js"
-  ],
-  "main": "ansi-styles",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/sindresorhus/ansi-styles.git"
-  },
-  "scripts": {
-    "test": "mocha"
+  "bugs": {
+    "url": "https://github.com/sindresorhus/ansi-styles/issues"
   },
+  "dependencies": {},
+  "description": "ANSI escape codes for colorizing strings in the terminal",
   "devDependencies": {
     "mocha": "~1.12.0"
   },
-  "engines": {
-    "node": ">=0.8.0"
-  },
-  "_id": "[email protected]",
+  "directories": {},
   "dist": {
     "shasum": "cb102df1c56f5123eab8b67cd7b98027a0279178",
     "tarball": "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz"
   },
-  "_from": "ansi-styles@>=1.0.0 <1.1.0",
-  "_npmVersion": "1.3.15",
-  "_npmUser": {
-    "name": "sindresorhus",
-    "email": "[email protected]"
+  "engines": {
+    "node": ">=0.8.0"
   },
+  "files": [
+    "ansi-styles.js"
+  ],
+  "homepage": "https://github.com/sindresorhus/ansi-styles",
+  "keywords": [
+    "256",
+    "ansi",
+    "cli",
+    "color",
+    "colors",
+    "colour",
+    "command-line",
+    "console",
+    "escape",
+    "formatting",
+    "log",
+    "logging",
+    "rgb",
+    "shell",
+    "string",
+    "styles",
+    "terminal",
+    "text",
+    "tty",
+    "xterm"
+  ],
+  "license": "MIT",
+  "main": "ansi-styles",
   "maintainers": [
     {
       "name": "sindresorhus",
       "email": "[email protected]"
     }
   ],
-  "directories": {},
-  "_shasum": "cb102df1c56f5123eab8b67cd7b98027a0279178",
-  "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz",
-  "readme": "ERROR: No README data found!"
+  "name": "ansi-styles",
+  "optionalDependencies": {},
+  "readme": "ERROR: No README data found!",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/sindresorhus/ansi-styles.git"
+  },
+  "scripts": {
+    "test": "mocha"
+  },
+  "version": "1.0.0"
 }

+ 0 - 0
Build/node_modules/jake/node_modules/chalk/node_modules/ansi-styles/readme.md → Build/node_modules/ansi-styles/readme.md


+ 0 - 0
Build/node_modules/jake/node_modules/async/.travis.yml → Build/node_modules/async/.travis.yml


+ 0 - 0
Build/node_modules/jake/node_modules/async/LICENSE → Build/node_modules/async/LICENSE


+ 0 - 0
Build/node_modules/jake/node_modules/async/README.md → Build/node_modules/async/README.md


+ 0 - 0
Build/node_modules/jake/node_modules/async/bower.json → Build/node_modules/async/bower.json


+ 0 - 0
Build/node_modules/jake/node_modules/async/component.json → Build/node_modules/async/component.json


+ 0 - 0
Build/node_modules/jake/node_modules/async/lib/async.js → Build/node_modules/async/lib/async.js


+ 82 - 56
Build/node_modules/jake/node_modules/async/package.json → Build/node_modules/async/package.json

@@ -1,69 +1,78 @@
 {
-  "name": "async",
-  "description": "Higher-order functions and common patterns for asynchronous code",
-  "main": "lib/async.js",
-  "author": {
-    "name": "Caolan McMahon"
+  "_args": [
+    [
+      "[email protected]",
+      "/Users/shaddockh/Development/AtomicProjects/AtomicGameEngineFork/AtomicGameEngine/Build/node_modules/jake"
+    ]
+  ],
+  "_from": "async@>=0.9.0 <0.10.0",
+  "_id": "[email protected]",
+  "_inCache": true,
+  "_installable": true,
+  "_location": "/async",
+  "_nodeVersion": "2.0.1",
+  "_npmUser": {
+    "email": "[email protected]",
+    "name": "beaugunderson"
   },
-  "version": "0.9.2",
-  "keywords": [
-    "async",
-    "callback",
-    "utility",
-    "module"
+  "_npmVersion": "2.9.0",
+  "_phantomChildren": {},
+  "_requested": {
+    "name": "async",
+    "raw": "[email protected]",
+    "rawSpec": "0.9.x",
+    "scope": null,
+    "spec": ">=0.9.0 <0.10.0",
+    "type": "range"
+  },
+  "_requiredBy": [
+    "/jake"
   ],
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/caolan/async.git"
+  "_resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+  "_shasum": "aea74d5e61c1f899613bf64bda66d4c78f2fd17d",
+  "_shrinkwrap": null,
+  "_spec": "[email protected]",
+  "_where": "/Users/shaddockh/Development/AtomicProjects/AtomicGameEngineFork/AtomicGameEngine/Build/node_modules/jake",
+  "author": {
+    "name": "Caolan McMahon"
   },
   "bugs": {
     "url": "https://github.com/caolan/async/issues"
   },
-  "license": "MIT",
+  "dependencies": {},
+  "description": "Higher-order functions and common patterns for asynchronous code",
   "devDependencies": {
-    "nodeunit": ">0.0.0",
-    "uglify-js": "1.2.x",
+    "lodash": ">=2.4.1",
     "nodelint": ">0.0.0",
-    "lodash": ">=2.4.1"
+    "nodeunit": ">0.0.0",
+    "uglify-js": "1.2.x"
+  },
+  "directories": {},
+  "dist": {
+    "shasum": "aea74d5e61c1f899613bf64bda66d4c78f2fd17d",
+    "tarball": "http://registry.npmjs.org/async/-/async-0.9.2.tgz"
   },
+  "gitHead": "de3a16091d5125384eff4a54deb3998b13c3814c",
+  "homepage": "https://github.com/caolan/async#readme",
   "jam": {
-    "main": "lib/async.js",
+    "categories": [
+      "Utilities"
+    ],
     "include": [
-      "lib/async.js",
+      "LICENSE",
       "README.md",
-      "LICENSE"
+      "lib/async.js"
     ],
-    "categories": [
-      "Utilities"
-    ]
-  },
-  "scripts": {
-    "test": "nodeunit test/test-async.js"
-  },
-  "spm": {
     "main": "lib/async.js"
   },
-  "volo": {
-    "main": "lib/async.js",
-    "ignore": [
-      "**/.*",
-      "node_modules",
-      "bower_components",
-      "test",
-      "tests"
-    ]
-  },
-  "gitHead": "de3a16091d5125384eff4a54deb3998b13c3814c",
-  "homepage": "https://github.com/caolan/async#readme",
-  "_id": "[email protected]",
-  "_shasum": "aea74d5e61c1f899613bf64bda66d4c78f2fd17d",
-  "_from": "async@>=0.9.0 <0.10.0",
-  "_npmVersion": "2.9.0",
-  "_nodeVersion": "2.0.1",
-  "_npmUser": {
-    "name": "beaugunderson",
-    "email": "[email protected]"
-  },
+  "keywords": [
+    "async",
+    "callback",
+    "module",
+    "utility"
+  ],
+  "license": "MIT",
+  "main": "lib/async.js",
   "maintainers": [
     {
       "name": "caolan",
@@ -74,11 +83,28 @@
       "email": "[email protected]"
     }
   ],
-  "dist": {
-    "shasum": "aea74d5e61c1f899613bf64bda66d4c78f2fd17d",
-    "tarball": "http://registry.npmjs.org/async/-/async-0.9.2.tgz"
+  "name": "async",
+  "optionalDependencies": {},
+  "readme": "ERROR: No README data found!",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/caolan/async.git"
   },
-  "directories": {},
-  "_resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
-  "readme": "ERROR: No README data found!"
+  "scripts": {
+    "test": "nodeunit test/test-async.js"
+  },
+  "spm": {
+    "main": "lib/async.js"
+  },
+  "version": "0.9.2",
+  "volo": {
+    "ignore": [
+      "**/.*",
+      "bower_components",
+      "node_modules",
+      "test",
+      "tests"
+    ],
+    "main": "lib/async.js"
+  }
 }

+ 0 - 0
Build/node_modules/jake/node_modules/async/support/sync-package-managers.js → Build/node_modules/async/support/sync-package-managers.js


+ 0 - 0
Build/node_modules/jake/node_modules/chalk/index.js → Build/node_modules/chalk/index.js


+ 76 - 51
Build/node_modules/jake/node_modules/chalk/package.json → Build/node_modules/chalk/package.json

@@ -1,78 +1,103 @@
 {
-  "name": "chalk",
-  "version": "0.4.0",
-  "description": "Terminal string styling done right. Created because the `colors` module does some really horrible things.",
-  "license": "MIT",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/sindresorhus/chalk.git"
+  "_args": [
+    [
+      "[email protected]",
+      "/Users/shaddockh/Development/AtomicProjects/AtomicGameEngineFork/AtomicGameEngine/Build/node_modules/jake"
+    ]
+  ],
+  "_from": "chalk@>=0.4.0 <0.5.0",
+  "_id": "[email protected]",
+  "_inCache": true,
+  "_installable": true,
+  "_location": "/chalk",
+  "_npmUser": {
+    "email": "[email protected]",
+    "name": "sindresorhus"
+  },
+  "_npmVersion": "1.3.17",
+  "_phantomChildren": {},
+  "_requested": {
+    "name": "chalk",
+    "raw": "[email protected]",
+    "rawSpec": "0.4.x",
+    "scope": null,
+    "spec": ">=0.4.0 <0.5.0",
+    "type": "range"
   },
+  "_requiredBy": [
+    "/jake"
+  ],
+  "_resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
+  "_shasum": "5199a3ddcd0c1efe23bc08c1b027b06176e0c64f",
+  "_shrinkwrap": null,
+  "_spec": "[email protected]",
+  "_where": "/Users/shaddockh/Development/AtomicProjects/AtomicGameEngineFork/AtomicGameEngine/Build/node_modules/jake",
   "author": {
-    "name": "Sindre Sorhus",
     "email": "[email protected]",
+    "name": "Sindre Sorhus",
     "url": "http://sindresorhus.com"
   },
+  "bugs": {
+    "url": "https://github.com/sindresorhus/chalk/issues"
+  },
+  "dependencies": {
+    "ansi-styles": "~1.0.0",
+    "has-color": "~0.1.0",
+    "strip-ansi": "~0.1.0"
+  },
+  "description": "Terminal string styling done right. Created because the `colors` module does some really horrible things.",
+  "devDependencies": {
+    "mocha": "~1.x"
+  },
+  "directories": {},
+  "dist": {
+    "shasum": "5199a3ddcd0c1efe23bc08c1b027b06176e0c64f",
+    "tarball": "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz"
+  },
   "engines": {
     "node": ">=0.8.0"
   },
-  "scripts": {
-    "test": "mocha"
-  },
   "files": [
     "index.js"
   ],
+  "homepage": "https://github.com/sindresorhus/chalk",
   "keywords": [
+    "256",
+    "ansi",
+    "cli",
     "color",
-    "colour",
     "colors",
-    "terminal",
+    "colour",
+    "command-line",
     "console",
-    "cli",
-    "string",
-    "ansi",
-    "styles",
-    "tty",
     "formatting",
-    "rgb",
-    "256",
-    "shell",
-    "xterm",
     "log",
     "logging",
-    "command-line",
-    "text"
+    "rgb",
+    "shell",
+    "string",
+    "styles",
+    "terminal",
+    "text",
+    "tty",
+    "xterm"
   ],
-  "dependencies": {
-    "has-color": "~0.1.0",
-    "ansi-styles": "~1.0.0",
-    "strip-ansi": "~0.1.0"
-  },
-  "devDependencies": {
-    "mocha": "~1.x"
-  },
-  "bugs": {
-    "url": "https://github.com/sindresorhus/chalk/issues"
-  },
-  "homepage": "https://github.com/sindresorhus/chalk",
-  "_id": "[email protected]",
-  "dist": {
-    "shasum": "5199a3ddcd0c1efe23bc08c1b027b06176e0c64f",
-    "tarball": "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz"
-  },
-  "_from": "chalk@>=0.4.0 <0.5.0",
-  "_npmVersion": "1.3.17",
-  "_npmUser": {
-    "name": "sindresorhus",
-    "email": "[email protected]"
-  },
+  "license": "MIT",
   "maintainers": [
     {
       "name": "sindresorhus",
       "email": "[email protected]"
     }
   ],
-  "directories": {},
-  "_shasum": "5199a3ddcd0c1efe23bc08c1b027b06176e0c64f",
-  "_resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
-  "readme": "ERROR: No README data found!"
+  "name": "chalk",
+  "optionalDependencies": {},
+  "readme": "ERROR: No README data found!",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/sindresorhus/chalk.git"
+  },
+  "scripts": {
+    "test": "mocha"
+  },
+  "version": "0.4.0"
 }

+ 0 - 0
Build/node_modules/jake/node_modules/chalk/readme.md → Build/node_modules/chalk/readme.md


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/Jakefile → Build/node_modules/filelist/Jakefile


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/README.md → Build/node_modules/filelist/README.md


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/index.js → Build/node_modules/filelist/index.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/minimatch/.npmignore → Build/node_modules/filelist/node_modules/minimatch/.npmignore


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/minimatch/LICENSE → Build/node_modules/filelist/node_modules/minimatch/LICENSE


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/minimatch/README.md → Build/node_modules/filelist/node_modules/minimatch/README.md


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/minimatch/minimatch.js → Build/node_modules/filelist/node_modules/minimatch/minimatch.js


+ 82 - 0
Build/node_modules/filelist/node_modules/minimatch/package.json

@@ -0,0 +1,82 @@
+{
+  "_args": [
+    [
+      "[email protected]",
+      "/Users/shaddockh/Development/AtomicProjects/AtomicGameEngineFork/AtomicGameEngine/Build/node_modules/filelist"
+    ]
+  ],
+  "_from": "[email protected]",
+  "_id": "[email protected]",
+  "_inCache": true,
+  "_installable": true,
+  "_location": "/filelist/minimatch",
+  "_npmUser": {
+    "email": "[email protected]",
+    "name": "isaacs"
+  },
+  "_npmVersion": "1.4.10",
+  "_phantomChildren": {},
+  "_requested": {
+    "name": "minimatch",
+    "raw": "[email protected]",
+    "rawSpec": "0.3.0",
+    "scope": null,
+    "spec": "0.3.0",
+    "type": "version"
+  },
+  "_requiredBy": [
+    "/filelist"
+  ],
+  "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+  "_shasum": "275d8edaac4f1bb3326472089e7949c8394699dd",
+  "_shrinkwrap": null,
+  "_spec": "[email protected]",
+  "_where": "/Users/shaddockh/Development/AtomicProjects/AtomicGameEngineFork/AtomicGameEngine/Build/node_modules/filelist",
+  "author": {
+    "email": "[email protected]",
+    "name": "Isaac Z. Schlueter",
+    "url": "http://blog.izs.me"
+  },
+  "bugs": {
+    "url": "https://github.com/isaacs/minimatch/issues"
+  },
+  "dependencies": {
+    "lru-cache": "2",
+    "sigmund": "~1.0.0"
+  },
+  "description": "a glob matcher in javascript",
+  "devDependencies": {
+    "tap": ""
+  },
+  "directories": {},
+  "dist": {
+    "shasum": "275d8edaac4f1bb3326472089e7949c8394699dd",
+    "tarball": "http://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz"
+  },
+  "engines": {
+    "node": "*"
+  },
+  "homepage": "https://github.com/isaacs/minimatch",
+  "license": {
+    "type": "MIT",
+    "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE"
+  },
+  "main": "minimatch.js",
+  "maintainers": [
+    {
+      "name": "isaacs",
+      "email": "[email protected]"
+    }
+  ],
+  "name": "minimatch",
+  "optionalDependencies": {},
+  "readme": "ERROR: No README data found!",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/isaacs/minimatch.git"
+  },
+  "scripts": {
+    "test": "tap test/*.js"
+  },
+  "version": "0.3.0"
+}

+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/minimatch/test/basic.js → Build/node_modules/filelist/node_modules/minimatch/test/basic.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/minimatch/test/brace-expand.js → Build/node_modules/filelist/node_modules/minimatch/test/brace-expand.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/minimatch/test/caching.js → Build/node_modules/filelist/node_modules/minimatch/test/caching.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/minimatch/test/defaults.js → Build/node_modules/filelist/node_modules/minimatch/test/defaults.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/minimatch/test/extglob-ending-with-state-char.js → Build/node_modules/filelist/node_modules/minimatch/test/extglob-ending-with-state-char.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/Jakefile → Build/node_modules/filelist/node_modules/utilities/Jakefile


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/README.md → Build/node_modules/filelist/node_modules/utilities/README.md


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/array.js → Build/node_modules/filelist/node_modules/utilities/lib/array.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/async.js → Build/node_modules/filelist/node_modules/utilities/lib/async.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/core.js → Build/node_modules/filelist/node_modules/utilities/lib/core.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/date.js → Build/node_modules/filelist/node_modules/utilities/lib/date.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/event_buffer.js → Build/node_modules/filelist/node_modules/utilities/lib/event_buffer.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/file.js → Build/node_modules/filelist/node_modules/utilities/lib/file.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/i18n.js → Build/node_modules/filelist/node_modules/utilities/lib/i18n.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/index.js → Build/node_modules/filelist/node_modules/utilities/lib/index.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/inflection.js → Build/node_modules/filelist/node_modules/utilities/lib/inflection.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/log.js → Build/node_modules/filelist/node_modules/utilities/lib/log.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/network.js → Build/node_modules/filelist/node_modules/utilities/lib/network.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/object.js → Build/node_modules/filelist/node_modules/utilities/lib/object.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/request.js → Build/node_modules/filelist/node_modules/utilities/lib/request.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/sorted_collection.js → Build/node_modules/filelist/node_modules/utilities/lib/sorted_collection.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/string.js → Build/node_modules/filelist/node_modules/utilities/lib/string.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/uri.js → Build/node_modules/filelist/node_modules/utilities/lib/uri.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/lib/xml.js → Build/node_modules/filelist/node_modules/utilities/lib/xml.js


+ 59 - 33
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/package.json → Build/node_modules/filelist/node_modules/utilities/package.json

@@ -1,55 +1,81 @@
 {
-  "name": "utilities",
-  "description": "A classic collection of JavaScript utilities",
-  "keywords": [
-    "utilities",
-    "utils",
-    "jake",
-    "geddy"
+  "_args": [
+    [
+      "[email protected]",
+      "/Users/shaddockh/Development/AtomicProjects/AtomicGameEngineFork/AtomicGameEngine/Build/node_modules/filelist"
+    ]
   ],
-  "version": "0.0.37",
+  "_from": "[email protected]",
+  "_id": "[email protected]",
+  "_inCache": true,
+  "_installable": true,
+  "_location": "/filelist/utilities",
+  "_npmUser": {
+    "email": "[email protected]",
+    "name": "mde"
+  },
+  "_npmVersion": "1.4.9",
+  "_phantomChildren": {},
+  "_requested": {
+    "name": "utilities",
+    "raw": "[email protected]",
+    "rawSpec": "0.0.37",
+    "scope": null,
+    "spec": "0.0.37",
+    "type": "version"
+  },
+  "_requiredBy": [
+    "/filelist"
+  ],
+  "_resolved": "https://registry.npmjs.org/utilities/-/utilities-0.0.37.tgz",
+  "_shasum": "a3470d0a7f688142d9e8a57cee1128f12e19e196",
+  "_shrinkwrap": null,
+  "_spec": "[email protected]",
+  "_where": "/Users/shaddockh/Development/AtomicProjects/AtomicGameEngineFork/AtomicGameEngine/Build/node_modules/filelist",
   "author": {
-    "name": "Matthew Eernisse",
     "email": "[email protected]",
+    "name": "Matthew Eernisse",
     "url": "http://fleegix.org"
   },
-  "main": "./lib/index.js",
-  "scripts": {
-    "test": "jake test"
-  },
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/mde/utilities.git"
+  "bugs": {
+    "url": "https://github.com/mde/utilities/issues"
   },
+  "dependencies": {},
+  "description": "A classic collection of JavaScript utilities",
   "devDependencies": {
     "jake": "latest"
   },
+  "directories": {},
+  "dist": {
+    "shasum": "a3470d0a7f688142d9e8a57cee1128f12e19e196",
+    "tarball": "http://registry.npmjs.org/utilities/-/utilities-0.0.37.tgz"
+  },
   "engines": {
     "node": "*"
   },
-  "bugs": {
-    "url": "https://github.com/mde/utilities/issues"
-  },
   "homepage": "https://github.com/mde/utilities",
-  "_id": "[email protected]",
-  "_shasum": "a3470d0a7f688142d9e8a57cee1128f12e19e196",
-  "_resolved": "https://registry.npmjs.org/utilities/-/utilities-0.0.37.tgz",
-  "_from": "[email protected]",
-  "_npmVersion": "1.4.9",
-  "_npmUser": {
-    "name": "mde",
-    "email": "[email protected]"
-  },
+  "keywords": [
+    "geddy",
+    "jake",
+    "utilities",
+    "utils"
+  ],
+  "main": "./lib/index.js",
   "maintainers": [
     {
       "name": "mde",
       "email": "[email protected]"
     }
   ],
-  "dist": {
-    "shasum": "a3470d0a7f688142d9e8a57cee1128f12e19e196",
-    "tarball": "http://registry.npmjs.org/utilities/-/utilities-0.0.37.tgz"
+  "name": "utilities",
+  "optionalDependencies": {},
+  "readme": "ERROR: No README data found!",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/mde/utilities.git"
   },
-  "directories": {},
-  "readme": "ERROR: No README data found!"
+  "scripts": {
+    "test": "jake test"
+  },
+  "version": "0.0.37"
 }

+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/array.js → Build/node_modules/filelist/node_modules/utilities/test/array.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/core.js → Build/node_modules/filelist/node_modules/utilities/test/core.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/date.js → Build/node_modules/filelist/node_modules/utilities/test/date.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/event_buffer.js → Build/node_modules/filelist/node_modules/utilities/test/event_buffer.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/file.js → Build/node_modules/filelist/node_modules/utilities/test/file.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/i18n.js → Build/node_modules/filelist/node_modules/utilities/test/i18n.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/inflection.js → Build/node_modules/filelist/node_modules/utilities/test/inflection.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/logging.js → Build/node_modules/filelist/node_modules/utilities/test/logging.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/network.js → Build/node_modules/filelist/node_modules/utilities/test/network.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/object.js → Build/node_modules/filelist/node_modules/utilities/test/object.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/sorted_collection.js → Build/node_modules/filelist/node_modules/utilities/test/sorted_collection.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/string.js → Build/node_modules/filelist/node_modules/utilities/test/string.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/uri.js → Build/node_modules/filelist/node_modules/utilities/test/uri.js


+ 0 - 0
Build/node_modules/jake/node_modules/filelist/node_modules/utilities/test/xml.js → Build/node_modules/filelist/node_modules/utilities/test/xml.js


+ 59 - 30
Build/node_modules/jake/node_modules/filelist/package.json → Build/node_modules/filelist/package.json

@@ -1,54 +1,83 @@
 {
-  "name": "filelist",
-  "version": "0.0.4",
-  "description": "Lazy-evaluating list of files, based on globs or regex patterns",
-  "main": "index.js",
-  "scripts": {
-    "test": "echo \"Error: no test specified\" && exit 1"
+  "_args": [
+    [
+      "[email protected]",
+      "/Users/shaddockh/Development/AtomicProjects/AtomicGameEngineFork/AtomicGameEngine/Build/node_modules/jake"
+    ]
+  ],
+  "_from": "filelist@>=0.0.0 <0.1.0",
+  "_id": "[email protected]",
+  "_inCache": true,
+  "_installable": true,
+  "_location": "/filelist",
+  "_nodeVersion": "0.10.33",
+  "_npmUser": {
+    "email": "[email protected]",
+    "name": "mde"
   },
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/mde/filelist.git"
+  "_npmVersion": "2.1.11",
+  "_phantomChildren": {
+    "lru-cache": "2.7.3",
+    "sigmund": "1.0.1"
   },
-  "keywords": [
-    "file",
-    "utility",
-    "glob"
+  "_requested": {
+    "name": "filelist",
+    "raw": "[email protected]",
+    "rawSpec": "0.0.x",
+    "scope": null,
+    "spec": ">=0.0.0 <0.1.0",
+    "type": "range"
+  },
+  "_requiredBy": [
+    "/jake"
   ],
+  "_resolved": "https://registry.npmjs.org/filelist/-/filelist-0.0.4.tgz",
+  "_shasum": "d7d65a03748b788906676996fc45a0c680ded8d5",
+  "_shrinkwrap": null,
+  "_spec": "[email protected]",
+  "_where": "/Users/shaddockh/Development/AtomicProjects/AtomicGameEngineFork/AtomicGameEngine/Build/node_modules/jake",
   "author": {
-    "name": "Matthew Eernisse",
     "email": "[email protected]",
+    "name": "Matthew Eernisse",
     "url": "http://fleegix.org"
   },
-  "license": "Apache 2",
   "bugs": {
     "url": "https://github.com/mde/filelist/issues"
   },
-  "homepage": "https://github.com/mde/filelist",
   "dependencies": {
     "minimatch": "0.3.0",
     "utilities": "0.0.37"
   },
-  "_id": "[email protected]",
-  "_shasum": "d7d65a03748b788906676996fc45a0c680ded8d5",
-  "_resolved": "https://registry.npmjs.org/filelist/-/filelist-0.0.4.tgz",
-  "_from": "filelist@>=0.0.0 <0.1.0",
-  "_npmVersion": "2.1.11",
-  "_nodeVersion": "0.10.33",
-  "_npmUser": {
-    "name": "mde",
-    "email": "[email protected]"
+  "description": "Lazy-evaluating list of files, based on globs or regex patterns",
+  "devDependencies": {},
+  "directories": {},
+  "dist": {
+    "shasum": "d7d65a03748b788906676996fc45a0c680ded8d5",
+    "tarball": "http://registry.npmjs.org/filelist/-/filelist-0.0.4.tgz"
   },
+  "homepage": "https://github.com/mde/filelist",
+  "keywords": [
+    "file",
+    "glob",
+    "utility"
+  ],
+  "license": "Apache 2",
+  "main": "index.js",
   "maintainers": [
     {
       "name": "mde",
       "email": "[email protected]"
     }
   ],
-  "dist": {
-    "shasum": "d7d65a03748b788906676996fc45a0c680ded8d5",
-    "tarball": "http://registry.npmjs.org/filelist/-/filelist-0.0.4.tgz"
+  "name": "filelist",
+  "optionalDependencies": {},
+  "readme": "ERROR: No README data found!",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/mde/filelist.git"
   },
-  "directories": {},
-  "readme": "ERROR: No README data found!"
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "version": "0.0.4"
 }

+ 0 - 1
Build/node_modules/fs-extra/node_modules/.bin/rimraf

@@ -1 +0,0 @@
-../rimraf/bin.js

File diff suppressed because it is too large
+ 0 - 31
Build/node_modules/fs-extra/node_modules/jsonfile/package.json


+ 0 - 343
Build/node_modules/fs-extra/node_modules/jsonfile/test.js

@@ -1,343 +0,0 @@
-var assert = require('assert')
-var fs = require('fs')
-var os = require('os')
-var path = require('path')
-var rimraf = require('rimraf')
-var jf = require('./')
-
-/* global describe it beforeEach afterEach */
-
-describe('jsonfile', function () {
-  var TEST_DIR
-
-  beforeEach(function (done) {
-    TEST_DIR = path.join(os.tmpdir(), 'jsonfile-tests')
-    rimraf(TEST_DIR, function () {
-      fs.mkdir(TEST_DIR, done)
-    })
-  })
-
-  afterEach(function (done) {
-    rimraf(TEST_DIR, done)
-  })
-
-  describe('+ readFile()', function () {
-    it('should read and parse JSON', function (done) {
-      var file = path.join(TEST_DIR, 'somefile.json')
-      var obj = {name: 'JP'}
-      fs.writeFileSync(file, JSON.stringify(obj))
-
-      jf.readFile(file, function (err, obj2) {
-        assert.ifError(err)
-        assert.equal(obj2.name, obj.name)
-        done()
-      })
-    })
-
-    describe('> when JSON reviver is set', function () {
-      it('should transform the JSON', function (done) {
-        var file = path.join(TEST_DIR, 'somefile.json')
-        var sillyReviver = function (k, v) {
-          if (typeof v !== 'string') return v
-          if (v.indexOf('date:') < 0) return v
-          return new Date(v.split('date:')[1])
-        }
-
-        var obj = {
-          name: 'jp',
-          day: 'date:2015-06-19T11:41:26.815Z'
-        }
-
-        fs.writeFileSync(file, JSON.stringify(obj))
-        jf.readFile(file, {reviver: sillyReviver}, function (err, data) {
-          assert.ifError(err)
-          assert.strictEqual(data.name, 'jp')
-          assert(data.day instanceof Date)
-          assert.strictEqual(data.day.toISOString(), '2015-06-19T11:41:26.815Z')
-          done()
-        })
-      })
-    })
-
-    describe('> when passing null and callback', function () {
-      it('should not throw an error', function (done) {
-        var file = path.join(TEST_DIR, 'somefile.json')
-
-        var obj = {
-          name: 'jp'
-        }
-        fs.writeFileSync(file, JSON.stringify(obj))
-
-        jf.readFile(file, null, function (err) {
-          assert.ifError(err)
-          assert.strictEqual(obj.name, 'jp')
-          done()
-        })
-      })
-    })
-
-    describe('> when passing encoding string as option', function () {
-      it('should not throw an error', function (done) {
-        var file = path.join(TEST_DIR, 'somefile.json')
-
-        var obj = {
-          name: 'jp'
-        }
-        fs.writeFileSync(file, JSON.stringify(obj))
-
-        jf.readFile(file, 'utf8', function (err) {
-          assert.ifError(err)
-          assert.strictEqual(obj.name, 'jp')
-          done()
-        })
-      })
-    })
-  })
-
-  describe('+ readFileSync()', function () {
-    it('should read and parse JSON', function () {
-      var file = path.join(TEST_DIR, 'somefile3.json')
-      var obj = {name: 'JP'}
-      fs.writeFileSync(file, JSON.stringify(obj))
-
-      try {
-        var obj2 = jf.readFileSync(file)
-        assert.equal(obj2.name, obj.name)
-      } catch (err) {
-        assert(err)
-      }
-    })
-
-    describe('> when invalid JSON and throws set to false', function () {
-      it('should return null', function () {
-        var file = path.join(TEST_DIR, 'somefile4-invalid.json')
-        var data = '{not valid JSON'
-        fs.writeFileSync(file, data)
-
-        assert.throws(function () {
-          jf.readFileSync(file)
-        })
-
-        var obj = jf.readFileSync(file, {throws: false})
-        assert.strictEqual(obj, null)
-      })
-    })
-
-    describe('> when JSON reviver is set', function () {
-      it('should transform the JSON', function () {
-        var file = path.join(TEST_DIR, 'somefile.json')
-        var sillyReviver = function (k, v) {
-          if (typeof v !== 'string') return v
-          if (v.indexOf('date:') < 0) return v
-          return new Date(v.split('date:')[1])
-        }
-
-        var obj = {
-          name: 'jp',
-          day: 'date:2015-06-19T11:41:26.815Z'
-        }
-
-        fs.writeFileSync(file, JSON.stringify(obj))
-        var data = jf.readFileSync(file, {reviver: sillyReviver})
-        assert.strictEqual(data.name, 'jp')
-        assert(data.day instanceof Date)
-        assert.strictEqual(data.day.toISOString(), '2015-06-19T11:41:26.815Z')
-      })
-    })
-
-    describe('> when passing encoding string as option', function () {
-      it('should not throw an error', function () {
-        var file = path.join(TEST_DIR, 'somefile.json')
-
-        var obj = {
-          name: 'jp'
-        }
-        fs.writeFileSync(file, JSON.stringify(obj))
-
-        try {
-          var data = jf.readFileSync(file, 'utf8')
-        } catch (err) {
-          assert.ifError(err)
-        }
-        assert.strictEqual(data.name, 'jp')
-      })
-    })
-  })
-
-  describe('+ writeFile()', function () {
-    it('should serialize and write JSON', function (done) {
-      var file = path.join(TEST_DIR, 'somefile2.json')
-      var obj = {name: 'JP'}
-
-      jf.writeFile(file, obj, function (err) {
-        assert.ifError(err)
-        fs.readFile(file, 'utf8', function (err, data) {
-          assert.ifError(err)
-          var obj2 = JSON.parse(data)
-          assert.equal(obj2.name, obj.name)
-
-          // verify EOL
-          assert.equal(data[data.length - 1], '\n')
-          done()
-        })
-      })
-    })
-
-    describe('> when global spaces is set', function () {
-      it('should write JSON with spacing', function (done) {
-        var file = path.join(TEST_DIR, 'somefile.json')
-        var obj = {name: 'JP'}
-        jf.spaces = 2
-        jf.writeFile(file, obj, function (err) {
-          assert.ifError(err)
-
-          var data = fs.readFileSync(file, 'utf8')
-          assert.equal(data, '{\n  "name": "JP"\n}\n')
-
-          // restore default
-          jf.spaces = null
-          done()
-        })
-      })
-    })
-
-    describe('> when JSON replacer is set', function () {
-      it('should replace JSON', function (done) {
-        var file = path.join(TEST_DIR, 'somefile.json')
-        var sillyReplacer = function (k, v) {
-          if (!(v instanceof RegExp)) return v
-          return 'regex:' + v.toString()
-        }
-
-        var obj = {
-          name: 'jp',
-          reg: new RegExp(/hello/g)
-        }
-
-        jf.writeFile(file, obj, {replacer: sillyReplacer}, function (err) {
-          assert.ifError(err)
-
-          var data = JSON.parse(fs.readFileSync(file))
-          assert.strictEqual(data.name, 'jp')
-          assert.strictEqual(typeof data.reg, 'string')
-          assert.strictEqual(data.reg, 'regex:/hello/g')
-          done()
-        })
-      })
-    })
-
-    describe('> when passing null and callback', function () {
-      it('should not throw an error', function (done) {
-        var file = path.join(TEST_DIR, 'somefile.json')
-        var obj = { name: 'jp' }
-        jf.writeFile(file, obj, null, function (err) {
-          assert.ifError(err)
-          done()
-        })
-      })
-    })
-
-    describe('> when spaces passed as an option', function () {
-      it('should write file with spaces', function (done) {
-        var file = path.join(TEST_DIR, 'somefile.json')
-        var obj = { name: 'jp' }
-        jf.writeFile(file, obj, {spaces: 8}, function (err) {
-          assert.ifError(err)
-          var data = fs.readFileSync(file, 'utf8')
-          assert.strictEqual(data, JSON.stringify(obj, null, 8) + '\n')
-          done()
-        })
-      })
-    })
-
-    describe('> when passing encoding string as options', function () {
-      it('should not error', function (done) {
-        var file = path.join(TEST_DIR, 'somefile.json')
-        var obj = { name: 'jp' }
-        jf.writeFile(file, obj, 'utf8', function (err) {
-          assert.ifError(err)
-          var data = fs.readFileSync(file, 'utf8')
-          assert.strictEqual(data, JSON.stringify(obj) + '\n')
-          done()
-        })
-      })
-    })
-  })
-
-  describe('+ writeFileSync()', function () {
-    it('should serialize the JSON and write it to file', function () {
-      var file = path.join(TEST_DIR, 'somefile4.json')
-      var obj = {name: 'JP'}
-
-      jf.writeFileSync(file, obj)
-
-      var data = fs.readFileSync(file, 'utf8')
-      var obj2 = JSON.parse(data)
-      assert.equal(obj2.name, obj.name)
-      assert.equal(data[data.length - 1], '\n')
-      assert.equal(data, '{"name":"JP"}\n')
-    })
-
-    describe('> when global spaces is set', function () {
-      it('should write JSON with spacing', function () {
-        var file = path.join(TEST_DIR, 'somefile.json')
-        var obj = {name: 'JP'}
-        jf.spaces = 2
-        jf.writeFileSync(file, obj)
-
-        var data = fs.readFileSync(file, 'utf8')
-        assert.equal(data, '{\n  "name": "JP"\n}\n')
-
-        // restore default
-        jf.spaces = null
-      })
-    })
-
-    describe('> when JSON replacer is set', function () {
-      it('should replace JSON', function () {
-        var file = path.join(TEST_DIR, 'somefile.json')
-        var sillyReplacer = function (k, v) {
-          if (!(v instanceof RegExp)) return v
-          return 'regex:' + v.toString()
-        }
-
-        var obj = {
-          name: 'jp',
-          reg: new RegExp(/hello/g)
-        }
-
-        jf.writeFileSync(file, obj, {replacer: sillyReplacer})
-        var data = JSON.parse(fs.readFileSync(file))
-        assert.strictEqual(data.name, 'jp')
-        assert.strictEqual(typeof data.reg, 'string')
-        assert.strictEqual(data.reg, 'regex:/hello/g')
-      })
-    })
-
-    describe('> when spaces passed as an option', function () {
-      it('should write file with spaces', function () {
-        var file = path.join(TEST_DIR, 'somefile.json')
-        var obj = { name: 'JP' }
-        jf.writeFileSync(file, obj, {spaces: 8})
-        var data = fs.readFileSync(file, 'utf8')
-        assert.strictEqual(data, JSON.stringify(obj, null, 8) + '\n')
-      })
-    })
-
-    describe('> when passing encoding string as options', function () {
-      it('should not error', function () {
-        var file = path.join(TEST_DIR, 'somefile6.json')
-        var obj = { name: 'jp' }
-        jf.writeFileSync(file, obj, 'utf8')
-        var data = fs.readFileSync(file, 'utf8')
-        assert.strictEqual(data, JSON.stringify(obj) + '\n')
-      })
-    })
-  })
-
-  describe('spaces', function () {
-    it('should default to null', function () {
-      assert.strictEqual(jf.spaces, null)
-    })
-  })
-})

+ 0 - 20
Build/node_modules/fs-extra/node_modules/path-is-absolute/index.js

@@ -1,20 +0,0 @@
-'use strict';
-
-function posix(path) {
-	return path.charAt(0) === '/';
-};
-
-function win32(path) {
-	// https://github.com/joyent/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56
-	var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
-	var result = splitDeviceRe.exec(path);
-	var device = result[1] || '';
-	var isUnc = !!device && device.charAt(1) !== ':';
-
-	// UNC paths are always absolute
-	return !!result[2] || isUnc;
-};
-
-module.exports = process.platform === 'win32' ? win32 : posix;
-module.exports.posix = posix;
-module.exports.win32 = win32;

+ 0 - 21
Build/node_modules/fs-extra/node_modules/path-is-absolute/license

@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <[email protected]> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.

+ 0 - 70
Build/node_modules/fs-extra/node_modules/path-is-absolute/package.json

@@ -1,70 +0,0 @@
-{
-  "name": "path-is-absolute",
-  "version": "1.0.0",
-  "description": "Node.js 0.12 path.isAbsolute() ponyfill",
-  "license": "MIT",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/sindresorhus/path-is-absolute.git"
-  },
-  "author": {
-    "name": "Sindre Sorhus",
-    "email": "[email protected]",
-    "url": "sindresorhus.com"
-  },
-  "engines": {
-    "node": ">=0.10.0"
-  },
-  "scripts": {
-    "test": "node test.js"
-  },
-  "files": [
-    "index.js"
-  ],
-  "keywords": [
-    "path",
-    "paths",
-    "file",
-    "dir",
-    "absolute",
-    "isabsolute",
-    "is-absolute",
-    "built-in",
-    "util",
-    "utils",
-    "core",
-    "ponyfill",
-    "polyfill",
-    "shim",
-    "is",
-    "detect",
-    "check"
-  ],
-  "gitHead": "7a76a0c9f2263192beedbe0a820e4d0baee5b7a1",
-  "bugs": {
-    "url": "https://github.com/sindresorhus/path-is-absolute/issues"
-  },
-  "homepage": "https://github.com/sindresorhus/path-is-absolute",
-  "_id": "[email protected]",
-  "_shasum": "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912",
-  "_from": "path-is-absolute@^1.0.0",
-  "_npmVersion": "2.5.1",
-  "_nodeVersion": "0.12.0",
-  "_npmUser": {
-    "name": "sindresorhus",
-    "email": "[email protected]"
-  },
-  "maintainers": [
-    {
-      "name": "sindresorhus",
-      "email": "[email protected]"
-    }
-  ],
-  "dist": {
-    "shasum": "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912",
-    "tarball": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
-  },
-  "directories": {},
-  "_resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz",
-  "readme": "ERROR: No README data found!"
-}

+ 0 - 51
Build/node_modules/fs-extra/node_modules/path-is-absolute/readme.md

@@ -1,51 +0,0 @@
-# path-is-absolute [![Build Status](https://travis-ci.org/sindresorhus/path-is-absolute.svg?branch=master)](https://travis-ci.org/sindresorhus/path-is-absolute)
-
-> Node.js 0.12 [`path.isAbsolute()`](http://nodejs.org/api/path.html#path_path_isabsolute_path) ponyfill
-
-> Ponyfill: A polyfill that doesn't overwrite the native method
-
-
-## Install
-
-```
-$ npm install --save path-is-absolute
-```
-
-
-## Usage
-
-```js
-var pathIsAbsolute = require('path-is-absolute');
-
-// Linux
-pathIsAbsolute('/home/foo');
-//=> true
-
-// Windows
-pathIsAbsolute('C:/Users/');
-//=> true
-
-// Any OS
-pathIsAbsolute.posix('/home/foo');
-//=> true
-```
-
-
-## API
-
-See the [`path.isAbsolute()` docs](http://nodejs.org/api/path.html#path_path_isabsolute_path).
-
-### pathIsAbsolute(path)
-
-### pathIsAbsolute.posix(path)
-
-The Posix specific version.
-
-### pathIsAbsolute.win32(path)
-
-The Windows specific version.
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)

+ 0 - 38
Build/node_modules/fs-extra/node_modules/rimraf/README.md

@@ -1,38 +0,0 @@
-[![Build Status](https://travis-ci.org/isaacs/rimraf.svg?branch=master)](https://travis-ci.org/isaacs/rimraf) [![Dependency Status](https://david-dm.org/isaacs/rimraf.svg)](https://david-dm.org/isaacs/rimraf) [![devDependency Status](https://david-dm.org/isaacs/rimraf/dev-status.svg)](https://david-dm.org/isaacs/rimraf#info=devDependencies)
-
-The [UNIX command](http://en.wikipedia.org/wiki/Rm_(Unix)) `rm -rf` for node.  
-
-Install with `npm install rimraf`, or just drop rimraf.js somewhere.
-
-## API
-
-`rimraf(f, callback)`
-
-The callback will be called with an error if there is one.  Certain
-errors are handled for you:
-
-* Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of
-  `opts.maxBusyTries` times before giving up, adding 100ms of wait
-  between each attempt.  The default `maxBusyTries` is 3.
-* `ENOENT` - If the file doesn't exist, rimraf will return
-  successfully, since your desired outcome is already the case.
-* `EMFILE` - Since `readdir` requires opening a file descriptor, it's
-  possible to hit `EMFILE` if too many file descriptors are in use.
-  In the sync case, there's nothing to be done for this.  But in the
-  async case, rimraf will gradually back off with timeouts up to
-  `opts.emfileWait` ms, which defaults to 1000.
-
-## rimraf.sync
-
-It can remove stuff synchronously, too.  But that's not so good.  Use
-the async API.  It's better.
-
-## CLI
-
-If installed with `npm install rimraf -g` it can be used as a global
-command `rimraf <path> [<path> ...]` which is useful for cross platform support.
-
-## mkdirp
-
-If you need to create a directory recursively, check out
-[mkdirp](https://github.com/substack/node-mkdirp).

+ 0 - 377
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/README.md

@@ -1,377 +0,0 @@
-[![Build Status](https://travis-ci.org/isaacs/node-glob.svg?branch=master)](https://travis-ci.org/isaacs/node-glob/) [![Dependency Status](https://david-dm.org/isaacs/node-glob.svg)](https://david-dm.org/isaacs/node-glob) [![devDependency Status](https://david-dm.org/isaacs/node-glob/dev-status.svg)](https://david-dm.org/isaacs/node-glob#info=devDependencies) [![optionalDependency Status](https://david-dm.org/isaacs/node-glob/optional-status.svg)](https://david-dm.org/isaacs/node-glob#info=optionalDependencies)
-
-# Glob
-
-Match files using the patterns the shell uses, like stars and stuff.
-
-This is a glob implementation in JavaScript.  It uses the `minimatch`
-library to do its matching.
-
-![](oh-my-glob.gif)
-
-## Usage
-
-```javascript
-var glob = require("glob")
-
-// options is optional
-glob("**/*.js", options, function (er, files) {
-  // files is an array of filenames.
-  // If the `nonull` option is set, and nothing
-  // was found, then files is ["**/*.js"]
-  // er is an error object or null.
-})
-```
-
-## Glob Primer
-
-"Globs" are the patterns you type when you do stuff like `ls *.js` on
-the command line, or put `build/*` in a `.gitignore` file.
-
-Before parsing the path part patterns, braced sections are expanded
-into a set.  Braced sections start with `{` and end with `}`, with any
-number of comma-delimited sections within.  Braced sections may contain
-slash characters, so `a{/b/c,bcd}` would expand into `a/b/c` and `abcd`.
-
-The following characters have special magic meaning when used in a
-path portion:
-
-* `*` Matches 0 or more characters in a single path portion
-* `?` Matches 1 character
-* `[...]` Matches a range of characters, similar to a RegExp range.
-  If the first character of the range is `!` or `^` then it matches
-  any character not in the range.
-* `!(pattern|pattern|pattern)` Matches anything that does not match
-  any of the patterns provided.
-* `?(pattern|pattern|pattern)` Matches zero or one occurrence of the
-  patterns provided.
-* `+(pattern|pattern|pattern)` Matches one or more occurrences of the
-  patterns provided.
-* `*(a|b|c)` Matches zero or more occurrences of the patterns provided
-* `@(pattern|pat*|pat?erN)` Matches exactly one of the patterns
-  provided
-* `**` If a "globstar" is alone in a path portion, then it matches
-  zero or more directories and subdirectories searching for matches.
-  It does not crawl symlinked directories.
-
-### Dots
-
-If a file or directory path portion has a `.` as the first character,
-then it will not match any glob pattern unless that pattern's
-corresponding path part also has a `.` as its first character.
-
-For example, the pattern `a/.*/c` would match the file at `a/.b/c`.
-However the pattern `a/*/c` would not, because `*` does not start with
-a dot character.
-
-You can make glob treat dots as normal characters by setting
-`dot:true` in the options.
-
-### Basename Matching
-
-If you set `matchBase:true` in the options, and the pattern has no
-slashes in it, then it will seek for any file anywhere in the tree
-with a matching basename.  For example, `*.js` would match
-`test/simple/basic.js`.
-
-### Negation
-
-The intent for negation would be for a pattern starting with `!` to
-match everything that *doesn't* match the supplied pattern.  However,
-the implementation is weird, and for the time being, this should be
-avoided.  The behavior is deprecated in version 5, and will be removed
-entirely in version 6.
-
-### Empty Sets
-
-If no matching files are found, then an empty array is returned.  This
-differs from the shell, where the pattern itself is returned.  For
-example:
-
-    $ echo a*s*d*f
-    a*s*d*f
-
-To get the bash-style behavior, set the `nonull:true` in the options.
-
-### See Also:
-
-* `man sh`
-* `man bash` (Search for "Pattern Matching")
-* `man 3 fnmatch`
-* `man 5 gitignore`
-* [minimatch documentation](https://github.com/isaacs/minimatch)
-
-## glob.hasMagic(pattern, [options])
-
-Returns `true` if there are any special characters in the pattern, and
-`false` otherwise.
-
-Note that the options affect the results.  If `noext:true` is set in
-the options object, then `+(a|b)` will not be considered a magic
-pattern.  If the pattern has a brace expansion, like `a/{b/c,x/y}`
-then that is considered magical, unless `nobrace:true` is set in the
-options.
-
-## glob(pattern, [options], cb)
-
-* `pattern` {String} Pattern to be matched
-* `options` {Object}
-* `cb` {Function}
-  * `err` {Error | null}
-  * `matches` {Array<String>} filenames found matching the pattern
-
-Perform an asynchronous glob search.
-
-## glob.sync(pattern, [options])
-
-* `pattern` {String} Pattern to be matched
-* `options` {Object}
-* return: {Array<String>} filenames found matching the pattern
-
-Perform a synchronous glob search.
-
-## Class: glob.Glob
-
-Create a Glob object by instantiating the `glob.Glob` class.
-
-```javascript
-var Glob = require("glob").Glob
-var mg = new Glob(pattern, options, cb)
-```
-
-It's an EventEmitter, and starts walking the filesystem to find matches
-immediately.
-
-### new glob.Glob(pattern, [options], [cb])
-
-* `pattern` {String} pattern to search for
-* `options` {Object}
-* `cb` {Function} Called when an error occurs, or matches are found
-  * `err` {Error | null}
-  * `matches` {Array<String>} filenames found matching the pattern
-
-Note that if the `sync` flag is set in the options, then matches will
-be immediately available on the `g.found` member.
-
-### Properties
-
-* `minimatch` The minimatch object that the glob uses.
-* `options` The options object passed in.
-* `aborted` Boolean which is set to true when calling `abort()`.  There
-  is no way at this time to continue a glob search after aborting, but
-  you can re-use the statCache to avoid having to duplicate syscalls.
-* `cache` Convenience object.  Each field has the following possible
-  values:
-  * `false` - Path does not exist
-  * `true` - Path exists
-  * `'DIR'` - Path exists, and is not a directory
-  * `'FILE'` - Path exists, and is a directory
-  * `[file, entries, ...]` - Path exists, is a directory, and the
-    array value is the results of `fs.readdir`
-* `statCache` Cache of `fs.stat` results, to prevent statting the same
-  path multiple times.
-* `symlinks` A record of which paths are symbolic links, which is
-  relevant in resolving `**` patterns.
-* `realpathCache` An optional object which is passed to `fs.realpath`
-  to minimize unnecessary syscalls.  It is stored on the instantiated
-  Glob object, and may be re-used.
-
-### Events
-
-* `end` When the matching is finished, this is emitted with all the
-  matches found.  If the `nonull` option is set, and no match was found,
-  then the `matches` list contains the original pattern.  The matches
-  are sorted, unless the `nosort` flag is set.
-* `match` Every time a match is found, this is emitted with the matched.
-* `error` Emitted when an unexpected error is encountered, or whenever
-  any fs error occurs if `options.strict` is set.
-* `abort` When `abort()` is called, this event is raised.
-
-### Methods
-
-* `pause` Temporarily stop the search
-* `resume` Resume the search
-* `abort` Stop the search forever
-
-### Options
-
-All the options that can be passed to Minimatch can also be passed to
-Glob to change pattern matching behavior.  Also, some have been added,
-or have glob-specific ramifications.
-
-All options are false by default, unless otherwise noted.
-
-All options are added to the Glob object, as well.
-
-If you are running many `glob` operations, you can pass a Glob object
-as the `options` argument to a subsequent operation to shortcut some
-`stat` and `readdir` calls.  At the very least, you may pass in shared
-`symlinks`, `statCache`, `realpathCache`, and `cache` options, so that
-parallel glob operations will be sped up by sharing information about
-the filesystem.
-
-* `cwd` The current working directory in which to search.  Defaults
-  to `process.cwd()`.
-* `root` The place where patterns starting with `/` will be mounted
-  onto.  Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix
-  systems, and `C:\` or some such on Windows.)
-* `dot` Include `.dot` files in normal matches and `globstar` matches.
-  Note that an explicit dot in a portion of the pattern will always
-  match dot files.
-* `nomount` By default, a pattern starting with a forward-slash will be
-  "mounted" onto the root setting, so that a valid filesystem path is
-  returned.  Set this flag to disable that behavior.
-* `mark` Add a `/` character to directory matches.  Note that this
-  requires additional stat calls.
-* `nosort` Don't sort the results.
-* `stat` Set to true to stat *all* results.  This reduces performance
-  somewhat, and is completely unnecessary, unless `readdir` is presumed
-  to be an untrustworthy indicator of file existence.
-* `silent` When an unusual error is encountered when attempting to
-  read a directory, a warning will be printed to stderr.  Set the
-  `silent` option to true to suppress these warnings.
-* `strict` When an unusual error is encountered when attempting to
-  read a directory, the process will just continue on in search of
-  other matches.  Set the `strict` option to raise an error in these
-  cases.
-* `cache` See `cache` property above.  Pass in a previously generated
-  cache object to save some fs calls.
-* `statCache` A cache of results of filesystem information, to prevent
-  unnecessary stat calls.  While it should not normally be necessary
-  to set this, you may pass the statCache from one glob() call to the
-  options object of another, if you know that the filesystem will not
-  change between calls.  (See "Race Conditions" below.)
-* `symlinks` A cache of known symbolic links.  You may pass in a
-  previously generated `symlinks` object to save `lstat` calls when
-  resolving `**` matches.
-* `sync` DEPRECATED: use `glob.sync(pattern, opts)` instead.
-* `nounique` In some cases, brace-expanded patterns can result in the
-  same file showing up multiple times in the result set.  By default,
-  this implementation prevents duplicates in the result set.  Set this
-  flag to disable that behavior.
-* `nonull` Set to never return an empty set, instead returning a set
-  containing the pattern itself.  This is the default in glob(3).
-* `debug` Set to enable debug logging in minimatch and glob.
-* `nobrace` Do not expand `{a,b}` and `{1..3}` brace sets.
-* `noglobstar` Do not match `**` against multiple filenames.  (Ie,
-  treat it as a normal `*` instead.)
-* `noext` Do not match `+(a|b)` "extglob" patterns.
-* `nocase` Perform a case-insensitive match.  Note: on
-  case-insensitive filesystems, non-magic patterns will match by
-  default, since `stat` and `readdir` will not raise errors.
-* `matchBase` Perform a basename-only match if the pattern does not
-  contain any slash characters.  That is, `*.js` would be treated as
-  equivalent to `**/*.js`, matching all js files in all directories.
-* `nodir` Do not match directories, only files.  (Note: to match
-  *only* directories, simply put a `/` at the end of the pattern.)
-* `ignore` Add a pattern or an array of patterns to exclude matches.
-* `follow` Follow symlinked directories when expanding `**` patterns.
-  Note that this can result in a lot of duplicate references in the
-  presence of cyclic links.
-* `realpath` Set to true to call `fs.realpath` on all of the results.
-  In the case of a symlink that cannot be resolved, the full absolute
-  path to the matched entry is returned (though it will usually be a
-  broken symlink)
-* `nonegate` Suppress deprecated `negate` behavior.  (See below.)
-  Default=true
-* `nocomment` Suppress deprecated `comment` behavior.  (See below.)
-  Default=true
-
-## Comparisons to other fnmatch/glob implementations
-
-While strict compliance with the existing standards is a worthwhile
-goal, some discrepancies exist between node-glob and other
-implementations, and are intentional.
-
-The double-star character `**` is supported by default, unless the
-`noglobstar` flag is set.  This is supported in the manner of bsdglob
-and bash 4.3, where `**` only has special significance if it is the only
-thing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but
-`a/**b` will not.
-
-Note that symlinked directories are not crawled as part of a `**`,
-though their contents may match against subsequent portions of the
-pattern.  This prevents infinite loops and duplicates and the like.
-
-If an escaped pattern has no matches, and the `nonull` flag is set,
-then glob returns the pattern as-provided, rather than
-interpreting the character escapes.  For example,
-`glob.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than
-`"*a?"`.  This is akin to setting the `nullglob` option in bash, except
-that it does not resolve escaped pattern characters.
-
-If brace expansion is not disabled, then it is performed before any
-other interpretation of the glob pattern.  Thus, a pattern like
-`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded
-**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are
-checked for validity.  Since those two are valid, matching proceeds.
-
-### Comments and Negation
-
-**Note**: In version 5 of this module, negation and comments are
-**disabled** by default.  You can explicitly set `nonegate:false` or
-`nocomment:false` to re-enable them.  They are going away entirely in
-version 6.
-
-The intent for negation would be for a pattern starting with `!` to
-match everything that *doesn't* match the supplied pattern.  However,
-the implementation is weird.  It is better to use the `ignore` option
-to set a pattern or set of patterns to exclude from matches.  If you
-want the "everything except *x*" type of behavior, you can use `**` as
-the main pattern, and set an `ignore` for the things to exclude.
-
-The comments feature is added in minimatch, primarily to more easily
-support use cases like ignore files, where a `#` at the start of a
-line makes the pattern "empty".  However, in the context of a
-straightforward filesystem globber, "comments" don't make much sense.
-
-## Windows
-
-**Please only use forward-slashes in glob expressions.**
-
-Though windows uses either `/` or `\` as its path separator, only `/`
-characters are used by this glob implementation.  You must use
-forward-slashes **only** in glob expressions.  Back-slashes will always
-be interpreted as escape characters, not path separators.
-
-Results from absolute patterns such as `/foo/*` are mounted onto the
-root setting using `path.join`.  On windows, this will by default result
-in `/foo/*` matching `C:\foo\bar.txt`.
-
-## Race Conditions
-
-Glob searching, by its very nature, is susceptible to race conditions,
-since it relies on directory walking and such.
-
-As a result, it is possible that a file that exists when glob looks for
-it may have been deleted or modified by the time it returns the result.
-
-As part of its internal implementation, this program caches all stat
-and readdir calls that it makes, in order to cut down on system
-overhead.  However, this also makes it even more susceptible to races,
-especially if the cache or statCache objects are reused between glob
-calls.
-
-Users are thus advised not to use a glob result as a guarantee of
-filesystem state in the face of rapid changes.  For the vast majority
-of operations, this is never a problem.
-
-## Contributing
-
-Any change to behavior (including bugfixes) must come with a test.
-
-Patches that fail tests or reduce performance will be rejected.
-
-```
-# to run tests
-npm test
-
-# to re-generate test fixtures
-npm run test-regen
-
-# to benchmark against bash/zsh
-npm run bench
-
-# to profile javascript
-npm run prof
-```

+ 0 - 245
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/common.js

@@ -1,245 +0,0 @@
-exports.alphasort = alphasort
-exports.alphasorti = alphasorti
-exports.setopts = setopts
-exports.ownProp = ownProp
-exports.makeAbs = makeAbs
-exports.finish = finish
-exports.mark = mark
-exports.isIgnored = isIgnored
-exports.childrenIgnored = childrenIgnored
-
-function ownProp (obj, field) {
-  return Object.prototype.hasOwnProperty.call(obj, field)
-}
-
-var path = require("path")
-var minimatch = require("minimatch")
-var isAbsolute = require("path-is-absolute")
-var Minimatch = minimatch.Minimatch
-
-function alphasorti (a, b) {
-  return a.toLowerCase().localeCompare(b.toLowerCase())
-}
-
-function alphasort (a, b) {
-  return a.localeCompare(b)
-}
-
-function setupIgnores (self, options) {
-  self.ignore = options.ignore || []
-
-  if (!Array.isArray(self.ignore))
-    self.ignore = [self.ignore]
-
-  if (self.ignore.length) {
-    self.ignore = self.ignore.map(ignoreMap)
-  }
-}
-
-function ignoreMap (pattern) {
-  var gmatcher = null
-  if (pattern.slice(-3) === '/**') {
-    var gpattern = pattern.replace(/(\/\*\*)+$/, '')
-    gmatcher = new Minimatch(gpattern)
-  }
-
-  return {
-    matcher: new Minimatch(pattern),
-    gmatcher: gmatcher
-  }
-}
-
-function setopts (self, pattern, options) {
-  if (!options)
-    options = {}
-
-  // base-matching: just use globstar for that.
-  if (options.matchBase && -1 === pattern.indexOf("/")) {
-    if (options.noglobstar) {
-      throw new Error("base matching requires globstar")
-    }
-    pattern = "**/" + pattern
-  }
-
-  self.silent = !!options.silent
-  self.pattern = pattern
-  self.strict = options.strict !== false
-  self.realpath = !!options.realpath
-  self.realpathCache = options.realpathCache || Object.create(null)
-  self.follow = !!options.follow
-  self.dot = !!options.dot
-  self.mark = !!options.mark
-  self.nodir = !!options.nodir
-  if (self.nodir)
-    self.mark = true
-  self.sync = !!options.sync
-  self.nounique = !!options.nounique
-  self.nonull = !!options.nonull
-  self.nosort = !!options.nosort
-  self.nocase = !!options.nocase
-  self.stat = !!options.stat
-  self.noprocess = !!options.noprocess
-
-  self.maxLength = options.maxLength || Infinity
-  self.cache = options.cache || Object.create(null)
-  self.statCache = options.statCache || Object.create(null)
-  self.symlinks = options.symlinks || Object.create(null)
-
-  setupIgnores(self, options)
-
-  self.changedCwd = false
-  var cwd = process.cwd()
-  if (!ownProp(options, "cwd"))
-    self.cwd = cwd
-  else {
-    self.cwd = options.cwd
-    self.changedCwd = path.resolve(options.cwd) !== cwd
-  }
-
-  self.root = options.root || path.resolve(self.cwd, "/")
-  self.root = path.resolve(self.root)
-  if (process.platform === "win32")
-    self.root = self.root.replace(/\\/g, "/")
-
-  self.nomount = !!options.nomount
-
-  // disable comments and negation unless the user explicitly
-  // passes in false as the option.
-  options.nonegate = options.nonegate === false ? false : true
-  options.nocomment = options.nocomment === false ? false : true
-  deprecationWarning(options)
-
-  self.minimatch = new Minimatch(pattern, options)
-  self.options = self.minimatch.options
-}
-
-// TODO(isaacs): remove entirely in v6
-// exported to reset in tests
-exports.deprecationWarned
-function deprecationWarning(options) {
-  if (!options.nonegate || !options.nocomment) {
-    if (process.noDeprecation !== true && !exports.deprecationWarned) {
-      var msg = 'glob WARNING: comments and negation will be disabled in v6'
-      if (process.throwDeprecation)
-        throw new Error(msg)
-      else if (process.traceDeprecation)
-        console.trace(msg)
-      else
-        console.error(msg)
-
-      exports.deprecationWarned = true
-    }
-  }
-}
-
-function finish (self) {
-  var nou = self.nounique
-  var all = nou ? [] : Object.create(null)
-
-  for (var i = 0, l = self.matches.length; i < l; i ++) {
-    var matches = self.matches[i]
-    if (!matches || Object.keys(matches).length === 0) {
-      if (self.nonull) {
-        // do like the shell, and spit out the literal glob
-        var literal = self.minimatch.globSet[i]
-        if (nou)
-          all.push(literal)
-        else
-          all[literal] = true
-      }
-    } else {
-      // had matches
-      var m = Object.keys(matches)
-      if (nou)
-        all.push.apply(all, m)
-      else
-        m.forEach(function (m) {
-          all[m] = true
-        })
-    }
-  }
-
-  if (!nou)
-    all = Object.keys(all)
-
-  if (!self.nosort)
-    all = all.sort(self.nocase ? alphasorti : alphasort)
-
-  // at *some* point we statted all of these
-  if (self.mark) {
-    for (var i = 0; i < all.length; i++) {
-      all[i] = self._mark(all[i])
-    }
-    if (self.nodir) {
-      all = all.filter(function (e) {
-        return !(/\/$/.test(e))
-      })
-    }
-  }
-
-  if (self.ignore.length)
-    all = all.filter(function(m) {
-      return !isIgnored(self, m)
-    })
-
-  self.found = all
-}
-
-function mark (self, p) {
-  var abs = makeAbs(self, p)
-  var c = self.cache[abs]
-  var m = p
-  if (c) {
-    var isDir = c === 'DIR' || Array.isArray(c)
-    var slash = p.slice(-1) === '/'
-
-    if (isDir && !slash)
-      m += '/'
-    else if (!isDir && slash)
-      m = m.slice(0, -1)
-
-    if (m !== p) {
-      var mabs = makeAbs(self, m)
-      self.statCache[mabs] = self.statCache[abs]
-      self.cache[mabs] = self.cache[abs]
-    }
-  }
-
-  return m
-}
-
-// lotta situps...
-function makeAbs (self, f) {
-  var abs = f
-  if (f.charAt(0) === '/') {
-    abs = path.join(self.root, f)
-  } else if (isAbsolute(f) || f === '') {
-    abs = f
-  } else if (self.changedCwd) {
-    abs = path.resolve(self.cwd, f)
-  } else {
-    abs = path.resolve(f)
-  }
-  return abs
-}
-
-
-// Return true, if pattern ends with globstar '**', for the accompanying parent directory.
-// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents
-function isIgnored (self, path) {
-  if (!self.ignore.length)
-    return false
-
-  return self.ignore.some(function(item) {
-    return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path))
-  })
-}
-
-function childrenIgnored (self, path) {
-  if (!self.ignore.length)
-    return false
-
-  return self.ignore.some(function(item) {
-    return !!(item.gmatcher && item.gmatcher.match(path))
-  })
-}

+ 0 - 752
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/glob.js

@@ -1,752 +0,0 @@
-// Approach:
-//
-// 1. Get the minimatch set
-// 2. For each pattern in the set, PROCESS(pattern, false)
-// 3. Store matches per-set, then uniq them
-//
-// PROCESS(pattern, inGlobStar)
-// Get the first [n] items from pattern that are all strings
-// Join these together.  This is PREFIX.
-//   If there is no more remaining, then stat(PREFIX) and
-//   add to matches if it succeeds.  END.
-//
-// If inGlobStar and PREFIX is symlink and points to dir
-//   set ENTRIES = []
-// else readdir(PREFIX) as ENTRIES
-//   If fail, END
-//
-// with ENTRIES
-//   If pattern[n] is GLOBSTAR
-//     // handle the case where the globstar match is empty
-//     // by pruning it out, and testing the resulting pattern
-//     PROCESS(pattern[0..n] + pattern[n+1 .. $], false)
-//     // handle other cases.
-//     for ENTRY in ENTRIES (not dotfiles)
-//       // attach globstar + tail onto the entry
-//       // Mark that this entry is a globstar match
-//       PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true)
-//
-//   else // not globstar
-//     for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot)
-//       Test ENTRY against pattern[n]
-//       If fails, continue
-//       If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $])
-//
-// Caveat:
-//   Cache all stats and readdirs results to minimize syscall.  Since all
-//   we ever care about is existence and directory-ness, we can just keep
-//   `true` for files, and [children,...] for directories, or `false` for
-//   things that don't exist.
-
-module.exports = glob
-
-var fs = require('fs')
-var minimatch = require('minimatch')
-var Minimatch = minimatch.Minimatch
-var inherits = require('inherits')
-var EE = require('events').EventEmitter
-var path = require('path')
-var assert = require('assert')
-var isAbsolute = require('path-is-absolute')
-var globSync = require('./sync.js')
-var common = require('./common.js')
-var alphasort = common.alphasort
-var alphasorti = common.alphasorti
-var setopts = common.setopts
-var ownProp = common.ownProp
-var inflight = require('inflight')
-var util = require('util')
-var childrenIgnored = common.childrenIgnored
-var isIgnored = common.isIgnored
-
-var once = require('once')
-
-function glob (pattern, options, cb) {
-  if (typeof options === 'function') cb = options, options = {}
-  if (!options) options = {}
-
-  if (options.sync) {
-    if (cb)
-      throw new TypeError('callback provided to sync glob')
-    return globSync(pattern, options)
-  }
-
-  return new Glob(pattern, options, cb)
-}
-
-glob.sync = globSync
-var GlobSync = glob.GlobSync = globSync.GlobSync
-
-// old api surface
-glob.glob = glob
-
-glob.hasMagic = function (pattern, options_) {
-  var options = util._extend({}, options_)
-  options.noprocess = true
-
-  var g = new Glob(pattern, options)
-  var set = g.minimatch.set
-  if (set.length > 1)
-    return true
-
-  for (var j = 0; j < set[0].length; j++) {
-    if (typeof set[0][j] !== 'string')
-      return true
-  }
-
-  return false
-}
-
-glob.Glob = Glob
-inherits(Glob, EE)
-function Glob (pattern, options, cb) {
-  if (typeof options === 'function') {
-    cb = options
-    options = null
-  }
-
-  if (options && options.sync) {
-    if (cb)
-      throw new TypeError('callback provided to sync glob')
-    return new GlobSync(pattern, options)
-  }
-
-  if (!(this instanceof Glob))
-    return new Glob(pattern, options, cb)
-
-  setopts(this, pattern, options)
-  this._didRealPath = false
-
-  // process each pattern in the minimatch set
-  var n = this.minimatch.set.length
-
-  // The matches are stored as {<filename>: true,...} so that
-  // duplicates are automagically pruned.
-  // Later, we do an Object.keys() on these.
-  // Keep them as a list so we can fill in when nonull is set.
-  this.matches = new Array(n)
-
-  if (typeof cb === 'function') {
-    cb = once(cb)
-    this.on('error', cb)
-    this.on('end', function (matches) {
-      cb(null, matches)
-    })
-  }
-
-  var self = this
-  var n = this.minimatch.set.length
-  this._processing = 0
-  this.matches = new Array(n)
-
-  this._emitQueue = []
-  this._processQueue = []
-  this.paused = false
-
-  if (this.noprocess)
-    return this
-
-  if (n === 0)
-    return done()
-
-  for (var i = 0; i < n; i ++) {
-    this._process(this.minimatch.set[i], i, false, done)
-  }
-
-  function done () {
-    --self._processing
-    if (self._processing <= 0)
-      self._finish()
-  }
-}
-
-Glob.prototype._finish = function () {
-  assert(this instanceof Glob)
-  if (this.aborted)
-    return
-
-  if (this.realpath && !this._didRealpath)
-    return this._realpath()
-
-  common.finish(this)
-  this.emit('end', this.found)
-}
-
-Glob.prototype._realpath = function () {
-  if (this._didRealpath)
-    return
-
-  this._didRealpath = true
-
-  var n = this.matches.length
-  if (n === 0)
-    return this._finish()
-
-  var self = this
-  for (var i = 0; i < this.matches.length; i++)
-    this._realpathSet(i, next)
-
-  function next () {
-    if (--n === 0)
-      self._finish()
-  }
-}
-
-Glob.prototype._realpathSet = function (index, cb) {
-  var matchset = this.matches[index]
-  if (!matchset)
-    return cb()
-
-  var found = Object.keys(matchset)
-  var self = this
-  var n = found.length
-
-  if (n === 0)
-    return cb()
-
-  var set = this.matches[index] = Object.create(null)
-  found.forEach(function (p, i) {
-    // If there's a problem with the stat, then it means that
-    // one or more of the links in the realpath couldn't be
-    // resolved.  just return the abs value in that case.
-    p = self._makeAbs(p)
-    fs.realpath(p, self.realpathCache, function (er, real) {
-      if (!er)
-        set[real] = true
-      else if (er.syscall === 'stat')
-        set[p] = true
-      else
-        self.emit('error', er) // srsly wtf right here
-
-      if (--n === 0) {
-        self.matches[index] = set
-        cb()
-      }
-    })
-  })
-}
-
-Glob.prototype._mark = function (p) {
-  return common.mark(this, p)
-}
-
-Glob.prototype._makeAbs = function (f) {
-  return common.makeAbs(this, f)
-}
-
-Glob.prototype.abort = function () {
-  this.aborted = true
-  this.emit('abort')
-}
-
-Glob.prototype.pause = function () {
-  if (!this.paused) {
-    this.paused = true
-    this.emit('pause')
-  }
-}
-
-Glob.prototype.resume = function () {
-  if (this.paused) {
-    this.emit('resume')
-    this.paused = false
-    if (this._emitQueue.length) {
-      var eq = this._emitQueue.slice(0)
-      this._emitQueue.length = 0
-      for (var i = 0; i < eq.length; i ++) {
-        var e = eq[i]
-        this._emitMatch(e[0], e[1])
-      }
-    }
-    if (this._processQueue.length) {
-      var pq = this._processQueue.slice(0)
-      this._processQueue.length = 0
-      for (var i = 0; i < pq.length; i ++) {
-        var p = pq[i]
-        this._processing--
-        this._process(p[0], p[1], p[2], p[3])
-      }
-    }
-  }
-}
-
-Glob.prototype._process = function (pattern, index, inGlobStar, cb) {
-  assert(this instanceof Glob)
-  assert(typeof cb === 'function')
-
-  if (this.aborted)
-    return
-
-  this._processing++
-  if (this.paused) {
-    this._processQueue.push([pattern, index, inGlobStar, cb])
-    return
-  }
-
-  //console.error('PROCESS %d', this._processing, pattern)
-
-  // Get the first [n] parts of pattern that are all strings.
-  var n = 0
-  while (typeof pattern[n] === 'string') {
-    n ++
-  }
-  // now n is the index of the first one that is *not* a string.
-
-  // see if there's anything else
-  var prefix
-  switch (n) {
-    // if not, then this is rather simple
-    case pattern.length:
-      this._processSimple(pattern.join('/'), index, cb)
-      return
-
-    case 0:
-      // pattern *starts* with some non-trivial item.
-      // going to readdir(cwd), but not include the prefix in matches.
-      prefix = null
-      break
-
-    default:
-      // pattern has some string bits in the front.
-      // whatever it starts with, whether that's 'absolute' like /foo/bar,
-      // or 'relative' like '../baz'
-      prefix = pattern.slice(0, n).join('/')
-      break
-  }
-
-  var remain = pattern.slice(n)
-
-  // get the list of entries.
-  var read
-  if (prefix === null)
-    read = '.'
-  else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) {
-    if (!prefix || !isAbsolute(prefix))
-      prefix = '/' + prefix
-    read = prefix
-  } else
-    read = prefix
-
-  var abs = this._makeAbs(read)
-
-  //if ignored, skip _processing
-  if (childrenIgnored(this, read))
-    return cb()
-
-  var isGlobStar = remain[0] === minimatch.GLOBSTAR
-  if (isGlobStar)
-    this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb)
-  else
-    this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb)
-}
-
-Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) {
-  var self = this
-  this._readdir(abs, inGlobStar, function (er, entries) {
-    return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb)
-  })
-}
-
-Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {
-
-  // if the abs isn't a dir, then nothing can match!
-  if (!entries)
-    return cb()
-
-  // It will only match dot entries if it starts with a dot, or if
-  // dot is set.  Stuff like @(.foo|.bar) isn't allowed.
-  var pn = remain[0]
-  var negate = !!this.minimatch.negate
-  var rawGlob = pn._glob
-  var dotOk = this.dot || rawGlob.charAt(0) === '.'
-
-  var matchedEntries = []
-  for (var i = 0; i < entries.length; i++) {
-    var e = entries[i]
-    if (e.charAt(0) !== '.' || dotOk) {
-      var m
-      if (negate && !prefix) {
-        m = !e.match(pn)
-      } else {
-        m = e.match(pn)
-      }
-      if (m)
-        matchedEntries.push(e)
-    }
-  }
-
-  //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries)
-
-  var len = matchedEntries.length
-  // If there are no matched entries, then nothing matches.
-  if (len === 0)
-    return cb()
-
-  // if this is the last remaining pattern bit, then no need for
-  // an additional stat *unless* the user has specified mark or
-  // stat explicitly.  We know they exist, since readdir returned
-  // them.
-
-  if (remain.length === 1 && !this.mark && !this.stat) {
-    if (!this.matches[index])
-      this.matches[index] = Object.create(null)
-
-    for (var i = 0; i < len; i ++) {
-      var e = matchedEntries[i]
-      if (prefix) {
-        if (prefix !== '/')
-          e = prefix + '/' + e
-        else
-          e = prefix + e
-      }
-
-      if (e.charAt(0) === '/' && !this.nomount) {
-        e = path.join(this.root, e)
-      }
-      this._emitMatch(index, e)
-    }
-    // This was the last one, and no stats were needed
-    return cb()
-  }
-
-  // now test all matched entries as stand-ins for that part
-  // of the pattern.
-  remain.shift()
-  for (var i = 0; i < len; i ++) {
-    var e = matchedEntries[i]
-    var newPattern
-    if (prefix) {
-      if (prefix !== '/')
-        e = prefix + '/' + e
-      else
-        e = prefix + e
-    }
-    this._process([e].concat(remain), index, inGlobStar, cb)
-  }
-  cb()
-}
-
-Glob.prototype._emitMatch = function (index, e) {
-  if (this.aborted)
-    return
-
-  if (this.matches[index][e])
-    return
-
-  if (isIgnored(this, e))
-    return
-
-  if (this.paused) {
-    this._emitQueue.push([index, e])
-    return
-  }
-
-  var abs = this._makeAbs(e)
-
-  if (this.nodir) {
-    var c = this.cache[abs]
-    if (c === 'DIR' || Array.isArray(c))
-      return
-  }
-
-  if (this.mark)
-    e = this._mark(e)
-
-  this.matches[index][e] = true
-
-  var st = this.statCache[abs]
-  if (st)
-    this.emit('stat', e, st)
-
-  this.emit('match', e)
-}
-
-Glob.prototype._readdirInGlobStar = function (abs, cb) {
-  if (this.aborted)
-    return
-
-  // follow all symlinked directories forever
-  // just proceed as if this is a non-globstar situation
-  if (this.follow)
-    return this._readdir(abs, false, cb)
-
-  var lstatkey = 'lstat\0' + abs
-  var self = this
-  var lstatcb = inflight(lstatkey, lstatcb_)
-
-  if (lstatcb)
-    fs.lstat(abs, lstatcb)
-
-  function lstatcb_ (er, lstat) {
-    if (er)
-      return cb()
-
-    var isSym = lstat.isSymbolicLink()
-    self.symlinks[abs] = isSym
-
-    // If it's not a symlink or a dir, then it's definitely a regular file.
-    // don't bother doing a readdir in that case.
-    if (!isSym && !lstat.isDirectory()) {
-      self.cache[abs] = 'FILE'
-      cb()
-    } else
-      self._readdir(abs, false, cb)
-  }
-}
-
-Glob.prototype._readdir = function (abs, inGlobStar, cb) {
-  if (this.aborted)
-    return
-
-  cb = inflight('readdir\0'+abs+'\0'+inGlobStar, cb)
-  if (!cb)
-    return
-
-  //console.error('RD %j %j', +inGlobStar, abs)
-  if (inGlobStar && !ownProp(this.symlinks, abs))
-    return this._readdirInGlobStar(abs, cb)
-
-  if (ownProp(this.cache, abs)) {
-    var c = this.cache[abs]
-    if (!c || c === 'FILE')
-      return cb()
-
-    if (Array.isArray(c))
-      return cb(null, c)
-  }
-
-  var self = this
-  fs.readdir(abs, readdirCb(this, abs, cb))
-}
-
-function readdirCb (self, abs, cb) {
-  return function (er, entries) {
-    if (er)
-      self._readdirError(abs, er, cb)
-    else
-      self._readdirEntries(abs, entries, cb)
-  }
-}
-
-Glob.prototype._readdirEntries = function (abs, entries, cb) {
-  if (this.aborted)
-    return
-
-  // if we haven't asked to stat everything, then just
-  // assume that everything in there exists, so we can avoid
-  // having to stat it a second time.
-  if (!this.mark && !this.stat) {
-    for (var i = 0; i < entries.length; i ++) {
-      var e = entries[i]
-      if (abs === '/')
-        e = abs + e
-      else
-        e = abs + '/' + e
-      this.cache[e] = true
-    }
-  }
-
-  this.cache[abs] = entries
-  return cb(null, entries)
-}
-
-Glob.prototype._readdirError = function (f, er, cb) {
-  if (this.aborted)
-    return
-
-  // handle errors, and cache the information
-  switch (er.code) {
-    case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205
-    case 'ENOTDIR': // totally normal. means it *does* exist.
-      this.cache[this._makeAbs(f)] = 'FILE'
-      break
-
-    case 'ENOENT': // not terribly unusual
-    case 'ELOOP':
-    case 'ENAMETOOLONG':
-    case 'UNKNOWN':
-      this.cache[this._makeAbs(f)] = false
-      break
-
-    default: // some unusual error.  Treat as failure.
-      this.cache[this._makeAbs(f)] = false
-      if (this.strict) {
-        this.emit('error', er)
-        // If the error is handled, then we abort
-        // if not, we threw out of here
-        this.abort()
-      }
-      if (!this.silent)
-        console.error('glob error', er)
-      break
-  }
-
-  return cb()
-}
-
-Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) {
-  var self = this
-  this._readdir(abs, inGlobStar, function (er, entries) {
-    self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb)
-  })
-}
-
-
-Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {
-  //console.error('pgs2', prefix, remain[0], entries)
-
-  // no entries means not a dir, so it can never have matches
-  // foo.txt/** doesn't match foo.txt
-  if (!entries)
-    return cb()
-
-  // test without the globstar, and with every child both below
-  // and replacing the globstar.
-  var remainWithoutGlobStar = remain.slice(1)
-  var gspref = prefix ? [ prefix ] : []
-  var noGlobStar = gspref.concat(remainWithoutGlobStar)
-
-  // the noGlobStar pattern exits the inGlobStar state
-  this._process(noGlobStar, index, false, cb)
-
-  var isSym = this.symlinks[abs]
-  var len = entries.length
-
-  // If it's a symlink, and we're in a globstar, then stop
-  if (isSym && inGlobStar)
-    return cb()
-
-  for (var i = 0; i < len; i++) {
-    var e = entries[i]
-    if (e.charAt(0) === '.' && !this.dot)
-      continue
-
-    // these two cases enter the inGlobStar state
-    var instead = gspref.concat(entries[i], remainWithoutGlobStar)
-    this._process(instead, index, true, cb)
-
-    var below = gspref.concat(entries[i], remain)
-    this._process(below, index, true, cb)
-  }
-
-  cb()
-}
-
-Glob.prototype._processSimple = function (prefix, index, cb) {
-  // XXX review this.  Shouldn't it be doing the mounting etc
-  // before doing stat?  kinda weird?
-  var self = this
-  this._stat(prefix, function (er, exists) {
-    self._processSimple2(prefix, index, er, exists, cb)
-  })
-}
-Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) {
-
-  //console.error('ps2', prefix, exists)
-
-  if (!this.matches[index])
-    this.matches[index] = Object.create(null)
-
-  // If it doesn't exist, then just mark the lack of results
-  if (!exists)
-    return cb()
-
-  if (prefix && isAbsolute(prefix) && !this.nomount) {
-    var trail = /[\/\\]$/.test(prefix)
-    if (prefix.charAt(0) === '/') {
-      prefix = path.join(this.root, prefix)
-    } else {
-      prefix = path.resolve(this.root, prefix)
-      if (trail)
-        prefix += '/'
-    }
-  }
-
-  if (process.platform === 'win32')
-    prefix = prefix.replace(/\\/g, '/')
-
-  // Mark this as a match
-  this._emitMatch(index, prefix)
-  cb()
-}
-
-// Returns either 'DIR', 'FILE', or false
-Glob.prototype._stat = function (f, cb) {
-  var abs = this._makeAbs(f)
-  var needDir = f.slice(-1) === '/'
-
-  if (f.length > this.maxLength)
-    return cb()
-
-  if (!this.stat && ownProp(this.cache, abs)) {
-    var c = this.cache[abs]
-
-    if (Array.isArray(c))
-      c = 'DIR'
-
-    // It exists, but maybe not how we need it
-    if (!needDir || c === 'DIR')
-      return cb(null, c)
-
-    if (needDir && c === 'FILE')
-      return cb()
-
-    // otherwise we have to stat, because maybe c=true
-    // if we know it exists, but not what it is.
-  }
-
-  var exists
-  var stat = this.statCache[abs]
-  if (stat !== undefined) {
-    if (stat === false)
-      return cb(null, stat)
-    else {
-      var type = stat.isDirectory() ? 'DIR' : 'FILE'
-      if (needDir && type === 'FILE')
-        return cb()
-      else
-        return cb(null, type, stat)
-    }
-  }
-
-  var self = this
-  var statcb = inflight('stat\0' + abs, lstatcb_)
-  if (statcb)
-    fs.lstat(abs, statcb)
-
-  function lstatcb_ (er, lstat) {
-    if (lstat && lstat.isSymbolicLink()) {
-      // If it's a symlink, then treat it as the target, unless
-      // the target does not exist, then treat it as a file.
-      return fs.stat(abs, function (er, stat) {
-        if (er)
-          self._stat2(f, abs, null, lstat, cb)
-        else
-          self._stat2(f, abs, er, stat, cb)
-      })
-    } else {
-      self._stat2(f, abs, er, lstat, cb)
-    }
-  }
-}
-
-Glob.prototype._stat2 = function (f, abs, er, stat, cb) {
-  if (er) {
-    this.statCache[abs] = false
-    return cb()
-  }
-
-  var needDir = f.slice(-1) === '/'
-  this.statCache[abs] = stat
-
-  if (abs.slice(-1) === '/' && !stat.isDirectory())
-    return cb(null, false, stat)
-
-  var c = stat.isDirectory() ? 'DIR' : 'FILE'
-  this.cache[abs] = this.cache[abs] || c
-
-  if (needDir && c !== 'DIR')
-    return cb()
-
-  return cb(null, c, stat)
-}

+ 0 - 17
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/.eslintrc

@@ -1,17 +0,0 @@
-{
-  "env" : {
-    "node" : true
-  },
-  "rules" : {
-    "semi": [2, "never"],
-    "strict": 0,
-    "quotes": [1, "single", "avoid-escape"],
-    "no-use-before-define": 0,
-    "curly": 0,
-    "no-underscore-dangle": 0,
-    "no-lonely-if": 1,
-    "no-unused-vars": [2, {"vars" : "all", "args" : "after-used"}],
-    "no-mixed-requires": 0,
-    "space-infix-ops": 0
-  }
-}

+ 0 - 15
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/LICENSE

@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

+ 0 - 37
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/README.md

@@ -1,37 +0,0 @@
-# inflight
-
-Add callbacks to requests in flight to avoid async duplication
-
-## USAGE
-
-```javascript
-var inflight = require('inflight')
-
-// some request that does some stuff
-function req(key, callback) {
-  // key is any random string.  like a url or filename or whatever.
-  //
-  // will return either a falsey value, indicating that the
-  // request for this key is already in flight, or a new callback
-  // which when called will call all callbacks passed to inflightk
-  // with the same key
-  callback = inflight(key, callback)
-
-  // If we got a falsey value back, then there's already a req going
-  if (!callback) return
-
-  // this is where you'd fetch the url or whatever
-  // callback is also once()-ified, so it can safely be assigned
-  // to multiple events etc.  First call wins.
-  setTimeout(function() {
-    callback(null, key)
-  }, 100)
-}
-
-// only assigns a single setTimeout
-// when it dings, all cbs get called
-req('foo', cb1)
-req('foo', cb2)
-req('foo', cb3)
-req('foo', cb4)
-```

+ 0 - 44
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js

@@ -1,44 +0,0 @@
-var wrappy = require('wrappy')
-var reqs = Object.create(null)
-var once = require('once')
-
-module.exports = wrappy(inflight)
-
-function inflight (key, cb) {
-  if (reqs[key]) {
-    reqs[key].push(cb)
-    return null
-  } else {
-    reqs[key] = [cb]
-    return makeres(key)
-  }
-}
-
-function makeres (key) {
-  return once(function RES () {
-    var cbs = reqs[key]
-    var len = cbs.length
-    var args = slice(arguments)
-    for (var i = 0; i < len; i++) {
-      cbs[i].apply(null, args)
-    }
-    if (cbs.length > len) {
-      // added more in the interim.
-      // de-zalgo, just in case, but don't call again.
-      cbs.splice(0, len)
-      process.nextTick(function () {
-        RES.apply(null, args)
-      })
-    } else {
-      delete reqs[key]
-    }
-  })
-}
-
-function slice (args) {
-  var length = args.length
-  var array = []
-
-  for (var i = 0; i < length; i++) array[i] = args[i]
-  return array
-}

+ 0 - 36
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md

@@ -1,36 +0,0 @@
-# wrappy
-
-Callback wrapping utility
-
-## USAGE
-
-```javascript
-var wrappy = require("wrappy")
-
-// var wrapper = wrappy(wrapperFunction)
-
-// make sure a cb is called only once
-// See also: http://npm.im/once for this specific use case
-var once = wrappy(function (cb) {
-  var called = false
-  return function () {
-    if (called) return
-    called = true
-    return cb.apply(this, arguments)
-  }
-})
-
-function printBoo () {
-  console.log('boo')
-}
-// has some rando property
-printBoo.iAmBooPrinter = true
-
-var onlyPrintOnce = once(printBoo)
-
-onlyPrintOnce() // prints 'boo'
-onlyPrintOnce() // does nothing
-
-// random property is retained!
-assert.equal(onlyPrintOnce.iAmBooPrinter, true)
-```

+ 0 - 36
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json

@@ -1,36 +0,0 @@
-{
-  "name": "wrappy",
-  "version": "1.0.1",
-  "description": "Callback wrapping utility",
-  "main": "wrappy.js",
-  "directories": {
-    "test": "test"
-  },
-  "dependencies": {},
-  "devDependencies": {
-    "tap": "^0.4.12"
-  },
-  "scripts": {
-    "test": "tap test/*.js"
-  },
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/npm/wrappy.git"
-  },
-  "author": {
-    "name": "Isaac Z. Schlueter",
-    "email": "[email protected]",
-    "url": "http://blog.izs.me/"
-  },
-  "license": "ISC",
-  "bugs": {
-    "url": "https://github.com/npm/wrappy/issues"
-  },
-  "homepage": "https://github.com/npm/wrappy",
-  "readme": "# wrappy\n\nCallback wrapping utility\n\n## USAGE\n\n```javascript\nvar wrappy = require(\"wrappy\")\n\n// var wrapper = wrappy(wrapperFunction)\n\n// make sure a cb is called only once\n// See also: http://npm.im/once for this specific use case\nvar once = wrappy(function (cb) {\n  var called = false\n  return function () {\n    if (called) return\n    called = true\n    return cb.apply(this, arguments)\n  }\n})\n\nfunction printBoo () {\n  console.log('boo')\n}\n// has some rando property\nprintBoo.iAmBooPrinter = true\n\nvar onlyPrintOnce = once(printBoo)\n\nonlyPrintOnce() // prints 'boo'\nonlyPrintOnce() // does nothing\n\n// random property is retained!\nassert.equal(onlyPrintOnce.iAmBooPrinter, true)\n```\n",
-  "readmeFilename": "README.md",
-  "_id": "[email protected]",
-  "_shasum": "1e65969965ccbc2db4548c6b84a6f2c5aedd4739",
-  "_from": "wrappy@1",
-  "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
-}

+ 0 - 51
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js

@@ -1,51 +0,0 @@
-var test = require('tap').test
-var wrappy = require('../wrappy.js')
-
-test('basic', function (t) {
-  function onceifier (cb) {
-    var called = false
-    return function () {
-      if (called) return
-      called = true
-      return cb.apply(this, arguments)
-    }
-  }
-  onceifier.iAmOnce = {}
-  var once = wrappy(onceifier)
-  t.equal(once.iAmOnce, onceifier.iAmOnce)
-
-  var called = 0
-  function boo () {
-    t.equal(called, 0)
-    called++
-  }
-  // has some rando property
-  boo.iAmBoo = true
-
-  var onlyPrintOnce = once(boo)
-
-  onlyPrintOnce() // prints 'boo'
-  onlyPrintOnce() // does nothing
-  t.equal(called, 1)
-
-  // random property is retained!
-  t.equal(onlyPrintOnce.iAmBoo, true)
-
-  var logs = []
-  var logwrap = wrappy(function (msg, cb) {
-    logs.push(msg + ' wrapping cb')
-    return function () {
-      logs.push(msg + ' before cb')
-      var ret = cb.apply(this, arguments)
-      logs.push(msg + ' after cb')
-    }
-  })
-
-  var c = logwrap('foo', function () {
-    t.same(logs, [ 'foo wrapping cb', 'foo before cb' ])
-  })
-  c()
-  t.same(logs, [ 'foo wrapping cb', 'foo before cb', 'foo after cb' ])
-
-  t.end()
-})

+ 0 - 33
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js

@@ -1,33 +0,0 @@
-// Returns a wrapper function that returns a wrapped callback
-// The wrapper function should do some stuff, and return a
-// presumably different callback function.
-// This makes sure that own properties are retained, so that
-// decorations and such are not lost along the way.
-module.exports = wrappy
-function wrappy (fn, cb) {
-  if (fn && cb) return wrappy(fn)(cb)
-
-  if (typeof fn !== 'function')
-    throw new TypeError('need wrapper function')
-
-  Object.keys(fn).forEach(function (k) {
-    wrapper[k] = fn[k]
-  })
-
-  return wrapper
-
-  function wrapper() {
-    var args = new Array(arguments.length)
-    for (var i = 0; i < args.length; i++) {
-      args[i] = arguments[i]
-    }
-    var ret = fn.apply(this, args)
-    var cb = args[args.length-1]
-    if (typeof ret === 'function' && ret !== cb) {
-      Object.keys(cb).forEach(function (k) {
-        ret[k] = cb[k]
-      })
-    }
-    return ret
-  }
-}

+ 0 - 36
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json

@@ -1,36 +0,0 @@
-{
-  "name": "inflight",
-  "version": "1.0.4",
-  "description": "Add callbacks to requests in flight to avoid async duplication",
-  "main": "inflight.js",
-  "dependencies": {
-    "once": "^1.3.0",
-    "wrappy": "1"
-  },
-  "devDependencies": {
-    "tap": "^0.4.10"
-  },
-  "scripts": {
-    "test": "tap test.js"
-  },
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/isaacs/inflight.git"
-  },
-  "author": {
-    "name": "Isaac Z. Schlueter",
-    "email": "[email protected]",
-    "url": "http://blog.izs.me/"
-  },
-  "bugs": {
-    "url": "https://github.com/isaacs/inflight/issues"
-  },
-  "homepage": "https://github.com/isaacs/inflight",
-  "license": "ISC",
-  "readme": "# inflight\n\nAdd callbacks to requests in flight to avoid async duplication\n\n## USAGE\n\n```javascript\nvar inflight = require('inflight')\n\n// some request that does some stuff\nfunction req(key, callback) {\n  // key is any random string.  like a url or filename or whatever.\n  //\n  // will return either a falsey value, indicating that the\n  // request for this key is already in flight, or a new callback\n  // which when called will call all callbacks passed to inflightk\n  // with the same key\n  callback = inflight(key, callback)\n\n  // If we got a falsey value back, then there's already a req going\n  if (!callback) return\n\n  // this is where you'd fetch the url or whatever\n  // callback is also once()-ified, so it can safely be assigned\n  // to multiple events etc.  First call wins.\n  setTimeout(function() {\n    callback(null, key)\n  }, 100)\n}\n\n// only assigns a single setTimeout\n// when it dings, all cbs get called\nreq('foo', cb1)\nreq('foo', cb2)\nreq('foo', cb3)\nreq('foo', cb4)\n```\n",
-  "readmeFilename": "README.md",
-  "_id": "[email protected]",
-  "_shasum": "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a",
-  "_from": "inflight@^1.0.4",
-  "_resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz"
-}

+ 0 - 97
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/test.js

@@ -1,97 +0,0 @@
-var test = require('tap').test
-var inf = require('./inflight.js')
-
-
-function req (key, cb) {
-  cb = inf(key, cb)
-  if (cb) setTimeout(function () {
-    cb(key)
-    cb(key)
-  })
-  return cb
-}
-
-test('basic', function (t) {
-  var calleda = false
-  var a = req('key', function (k) {
-    t.notOk(calleda)
-    calleda = true
-    t.equal(k, 'key')
-    if (calledb) t.end()
-  })
-  t.ok(a, 'first returned cb function')
-
-  var calledb = false
-  var b = req('key', function (k) {
-    t.notOk(calledb)
-    calledb = true
-    t.equal(k, 'key')
-    if (calleda) t.end()
-  })
-
-  t.notOk(b, 'second should get falsey inflight response')
-})
-
-test('timing', function (t) {
-  var expect = [
-    'method one',
-    'start one',
-    'end one',
-    'two',
-    'tick',
-    'three'
-  ]
-  var i = 0
-
-  function log (m) {
-    t.equal(m, expect[i], m + ' === ' + expect[i])
-    ++i
-    if (i === expect.length)
-      t.end()
-  }
-
-  function method (name, cb) {
-    log('method ' + name)
-    process.nextTick(cb)
-  }
-
-  var one = inf('foo', function () {
-    log('start one')
-    var three = inf('foo', function () {
-      log('three')
-    })
-    if (three) method('three', three)
-    log('end one')
-  })
-
-  method('one', one)
-
-  var two = inf('foo', function () {
-    log('two')
-  })
-  if (two) method('one', two)
-
-  process.nextTick(log.bind(null, 'tick'))
-})
-
-test('parameters', function (t) {
-  t.plan(8)
-
-  var a = inf('key', function (first, second, third) {
-    t.equal(first, 1)
-    t.equal(second, 2)
-    t.equal(third, 3)
-  })
-  t.ok(a, 'first returned cb function')
-
-  var b = inf('key', function (first, second, third) {
-    t.equal(first, 1)
-    t.equal(second, 2)
-    t.equal(third, 3)
-  })
-  t.notOk(b, 'second should get falsey inflight response')
-
-  setTimeout(function () {
-    a(1, 2, 3)
-  })
-})

+ 0 - 16
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/LICENSE

@@ -1,16 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
-REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-

+ 0 - 42
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/README.md

@@ -1,42 +0,0 @@
-Browser-friendly inheritance fully compatible with standard node.js
-[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).
-
-This package exports standard `inherits` from node.js `util` module in
-node environment, but also provides alternative browser-friendly
-implementation through [browser
-field](https://gist.github.com/shtylman/4339901). Alternative
-implementation is a literal copy of standard one located in standalone
-module to avoid requiring of `util`. It also has a shim for old
-browsers with no `Object.create` support.
-
-While keeping you sure you are using standard `inherits`
-implementation in node.js environment, it allows bundlers such as
-[browserify](https://github.com/substack/node-browserify) to not
-include full `util` package to your client code if all you need is
-just `inherits` function. It worth, because browser shim for `util`
-package is large and `inherits` is often the single function you need
-from it.
-
-It's recommended to use this package instead of
-`require('util').inherits` for any code that has chances to be used
-not only in node.js but in browser too.
-
-## usage
-
-```js
-var inherits = require('inherits');
-// then use exactly as the standard one
-```
-
-## note on version ~1.0
-
-Version ~1.0 had completely different motivation and is not compatible
-neither with 2.0 nor with standard node.js `inherits`.
-
-If you are using version ~1.0 and planning to switch to ~2.0, be
-careful:
-
-* new version uses `super_` instead of `super` for referencing
-  superclass
-* new version overwrites current prototype while old one preserves any
-  existing fields on it

+ 0 - 1
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits.js

@@ -1 +0,0 @@
-module.exports = require('util').inherits

+ 0 - 23
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits_browser.js

@@ -1,23 +0,0 @@
-if (typeof Object.create === 'function') {
-  // implementation from standard node.js 'util' module
-  module.exports = function inherits(ctor, superCtor) {
-    ctor.super_ = superCtor
-    ctor.prototype = Object.create(superCtor.prototype, {
-      constructor: {
-        value: ctor,
-        enumerable: false,
-        writable: true,
-        configurable: true
-      }
-    });
-  };
-} else {
-  // old school shim for old browsers
-  module.exports = function inherits(ctor, superCtor) {
-    ctor.super_ = superCtor
-    var TempCtor = function () {}
-    TempCtor.prototype = superCtor.prototype
-    ctor.prototype = new TempCtor()
-    ctor.prototype.constructor = ctor
-  }
-}

+ 0 - 35
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/package.json

@@ -1,35 +0,0 @@
-{
-  "name": "inherits",
-  "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",
-  "version": "2.0.1",
-  "keywords": [
-    "inheritance",
-    "class",
-    "klass",
-    "oop",
-    "object-oriented",
-    "inherits",
-    "browser",
-    "browserify"
-  ],
-  "main": "./inherits.js",
-  "browser": "./inherits_browser.js",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/isaacs/inherits.git"
-  },
-  "license": "ISC",
-  "scripts": {
-    "test": "node test"
-  },
-  "readme": "Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt's recommended to use this package instead of\n`require('util').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require('inherits');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n  superclass\n* new version overwrites current prototype while old one preserves any\n  existing fields on it\n",
-  "readmeFilename": "README.md",
-  "bugs": {
-    "url": "https://github.com/isaacs/inherits/issues"
-  },
-  "homepage": "https://github.com/isaacs/inherits",
-  "_id": "[email protected]",
-  "_shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1",
-  "_from": "inherits@2",
-  "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
-}

+ 0 - 25
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/test.js

@@ -1,25 +0,0 @@
-var inherits = require('./inherits.js')
-var assert = require('assert')
-
-function test(c) {
-  assert(c.constructor === Child)
-  assert(c.constructor.super_ === Parent)
-  assert(Object.getPrototypeOf(c) === Child.prototype)
-  assert(Object.getPrototypeOf(Object.getPrototypeOf(c)) === Parent.prototype)
-  assert(c instanceof Child)
-  assert(c instanceof Parent)
-}
-
-function Child() {
-  Parent.call(this)
-  test(this)
-}
-
-function Parent() {}
-
-inherits(Child, Parent)
-
-var c = new Child
-test(c)
-
-console.log('ok')

+ 0 - 15
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/LICENSE

@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

+ 0 - 216
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/README.md

@@ -1,216 +0,0 @@
-# minimatch
-
-A minimal matching utility.
-
-[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)
-
-
-This is the matching library used internally by npm.
-
-It works by converting glob expressions into JavaScript `RegExp`
-objects.
-
-## Usage
-
-```javascript
-var minimatch = require("minimatch")
-
-minimatch("bar.foo", "*.foo") // true!
-minimatch("bar.foo", "*.bar") // false!
-minimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy!
-```
-
-## Features
-
-Supports these glob features:
-
-* Brace Expansion
-* Extended glob matching
-* "Globstar" `**` matching
-
-See:
-
-* `man sh`
-* `man bash`
-* `man 3 fnmatch`
-* `man 5 gitignore`
-
-## Minimatch Class
-
-Create a minimatch object by instanting the `minimatch.Minimatch` class.
-
-```javascript
-var Minimatch = require("minimatch").Minimatch
-var mm = new Minimatch(pattern, options)
-```
-
-### Properties
-
-* `pattern` The original pattern the minimatch object represents.
-* `options` The options supplied to the constructor.
-* `set` A 2-dimensional array of regexp or string expressions.
-  Each row in the
-  array corresponds to a brace-expanded pattern.  Each item in the row
-  corresponds to a single path-part.  For example, the pattern
-  `{a,b/c}/d` would expand to a set of patterns like:
-
-        [ [ a, d ]
-        , [ b, c, d ] ]
-
-    If a portion of the pattern doesn't have any "magic" in it
-    (that is, it's something like `"foo"` rather than `fo*o?`), then it
-    will be left as a string rather than converted to a regular
-    expression.
-
-* `regexp` Created by the `makeRe` method.  A single regular expression
-  expressing the entire pattern.  This is useful in cases where you wish
-  to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.
-* `negate` True if the pattern is negated.
-* `comment` True if the pattern is a comment.
-* `empty` True if the pattern is `""`.
-
-### Methods
-
-* `makeRe` Generate the `regexp` member if necessary, and return it.
-  Will return `false` if the pattern is invalid.
-* `match(fname)` Return true if the filename matches the pattern, or
-  false otherwise.
-* `matchOne(fileArray, patternArray, partial)` Take a `/`-split
-  filename, and match it against a single row in the `regExpSet`.  This
-  method is mainly for internal use, but is exposed so that it can be
-  used by a glob-walker that needs to avoid excessive filesystem calls.
-
-All other methods are internal, and will be called as necessary.
-
-## Functions
-
-The top-level exported function has a `cache` property, which is an LRU
-cache set to store 100 items.  So, calling these methods repeatedly
-with the same pattern and options will use the same Minimatch object,
-saving the cost of parsing it multiple times.
-
-### minimatch(path, pattern, options)
-
-Main export.  Tests a path against the pattern using the options.
-
-```javascript
-var isJS = minimatch(file, "*.js", { matchBase: true })
-```
-
-### minimatch.filter(pattern, options)
-
-Returns a function that tests its
-supplied argument, suitable for use with `Array.filter`.  Example:
-
-```javascript
-var javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))
-```
-
-### minimatch.match(list, pattern, options)
-
-Match against the list of
-files, in the style of fnmatch or glob.  If nothing is matched, and
-options.nonull is set, then return a list containing the pattern itself.
-
-```javascript
-var javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))
-```
-
-### minimatch.makeRe(pattern, options)
-
-Make a regular expression object from the pattern.
-
-## Options
-
-All options are `false` by default.
-
-### debug
-
-Dump a ton of stuff to stderr.
-
-### nobrace
-
-Do not expand `{a,b}` and `{1..3}` brace sets.
-
-### noglobstar
-
-Disable `**` matching against multiple folder names.
-
-### dot
-
-Allow patterns to match filenames starting with a period, even if
-the pattern does not explicitly have a period in that spot.
-
-Note that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`
-is set.
-
-### noext
-
-Disable "extglob" style patterns like `+(a|b)`.
-
-### nocase
-
-Perform a case-insensitive match.
-
-### nonull
-
-When a match is not found by `minimatch.match`, return a list containing
-the pattern itself if this option is set.  When not set, an empty list
-is returned if there are no matches.
-
-### matchBase
-
-If set, then patterns without slashes will be matched
-against the basename of the path if it contains slashes.  For example,
-`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.
-
-### nocomment
-
-Suppress the behavior of treating `#` at the start of a pattern as a
-comment.
-
-### nonegate
-
-Suppress the behavior of treating a leading `!` character as negation.
-
-### flipNegate
-
-Returns from negate expressions the same as if they were not negated.
-(Ie, true on a hit, false on a miss.)
-
-
-## Comparisons to other fnmatch/glob implementations
-
-While strict compliance with the existing standards is a worthwhile
-goal, some discrepancies exist between minimatch and other
-implementations, and are intentional.
-
-If the pattern starts with a `!` character, then it is negated.  Set the
-`nonegate` flag to suppress this behavior, and treat leading `!`
-characters normally.  This is perhaps relevant if you wish to start the
-pattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`
-characters at the start of a pattern will negate the pattern multiple
-times.
-
-If a pattern starts with `#`, then it is treated as a comment, and
-will not match anything.  Use `\#` to match a literal `#` at the
-start of a line, or set the `nocomment` flag to suppress this behavior.
-
-The double-star character `**` is supported by default, unless the
-`noglobstar` flag is set.  This is supported in the manner of bsdglob
-and bash 4.1, where `**` only has special significance if it is the only
-thing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but
-`a/**b` will not.
-
-If an escaped pattern has no matches, and the `nonull` flag is set,
-then minimatch.match returns the pattern as-provided, rather than
-interpreting the character escapes.  For example,
-`minimatch.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than
-`"*a?"`.  This is akin to setting the `nullglob` option in bash, except
-that it does not resolve escaped pattern characters.
-
-If brace expansion is not disabled, then it is performed before any
-other interpretation of the glob pattern.  Thus, a pattern like
-`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded
-**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are
-checked for validity.  Since those two are valid, matching proceeds.

+ 0 - 1159
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/browser.js

@@ -1,1159 +0,0 @@
-(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.minimatch = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-module.exports = minimatch
-minimatch.Minimatch = Minimatch
-
-var path = { sep: '/' }
-try {
-  path = require('path')
-} catch (er) {}
-
-var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
-var expand = require('brace-expansion')
-
-// any single thing other than /
-// don't need to escape / when using new RegExp()
-var qmark = '[^/]'
-
-// * => any number of characters
-var star = qmark + '*?'
-
-// ** when dots are allowed.  Anything goes, except .. and .
-// not (^ or / followed by one or two dots followed by $ or /),
-// followed by anything, any number of times.
-var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?'
-
-// not a ^ or / followed by a dot,
-// followed by anything, any number of times.
-var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?'
-
-// characters that need to be escaped in RegExp.
-var reSpecials = charSet('().*{}+?[]^$\\!')
-
-// "abc" -> { a:true, b:true, c:true }
-function charSet (s) {
-  return s.split('').reduce(function (set, c) {
-    set[c] = true
-    return set
-  }, {})
-}
-
-// normalizes slashes.
-var slashSplit = /\/+/
-
-minimatch.filter = filter
-function filter (pattern, options) {
-  options = options || {}
-  return function (p, i, list) {
-    return minimatch(p, pattern, options)
-  }
-}
-
-function ext (a, b) {
-  a = a || {}
-  b = b || {}
-  var t = {}
-  Object.keys(b).forEach(function (k) {
-    t[k] = b[k]
-  })
-  Object.keys(a).forEach(function (k) {
-    t[k] = a[k]
-  })
-  return t
-}
-
-minimatch.defaults = function (def) {
-  if (!def || !Object.keys(def).length) return minimatch
-
-  var orig = minimatch
-
-  var m = function minimatch (p, pattern, options) {
-    return orig.minimatch(p, pattern, ext(def, options))
-  }
-
-  m.Minimatch = function Minimatch (pattern, options) {
-    return new orig.Minimatch(pattern, ext(def, options))
-  }
-
-  return m
-}
-
-Minimatch.defaults = function (def) {
-  if (!def || !Object.keys(def).length) return Minimatch
-  return minimatch.defaults(def).Minimatch
-}
-
-function minimatch (p, pattern, options) {
-  if (typeof pattern !== 'string') {
-    throw new TypeError('glob pattern string required')
-  }
-
-  if (!options) options = {}
-
-  // shortcut: comments match nothing.
-  if (!options.nocomment && pattern.charAt(0) === '#') {
-    return false
-  }
-
-  // "" only matches ""
-  if (pattern.trim() === '') return p === ''
-
-  return new Minimatch(pattern, options).match(p)
-}
-
-function Minimatch (pattern, options) {
-  if (!(this instanceof Minimatch)) {
-    return new Minimatch(pattern, options)
-  }
-
-  if (typeof pattern !== 'string') {
-    throw new TypeError('glob pattern string required')
-  }
-
-  if (!options) options = {}
-  pattern = pattern.trim()
-
-  // windows support: need to use /, not \
-  if (path.sep !== '/') {
-    pattern = pattern.split(path.sep).join('/')
-  }
-
-  this.options = options
-  this.set = []
-  this.pattern = pattern
-  this.regexp = null
-  this.negate = false
-  this.comment = false
-  this.empty = false
-
-  // make the set of regexps etc.
-  this.make()
-}
-
-Minimatch.prototype.debug = function () {}
-
-Minimatch.prototype.make = make
-function make () {
-  // don't do it more than once.
-  if (this._made) return
-
-  var pattern = this.pattern
-  var options = this.options
-
-  // empty patterns and comments match nothing.
-  if (!options.nocomment && pattern.charAt(0) === '#') {
-    this.comment = true
-    return
-  }
-  if (!pattern) {
-    this.empty = true
-    return
-  }
-
-  // step 1: figure out negation, etc.
-  this.parseNegate()
-
-  // step 2: expand braces
-  var set = this.globSet = this.braceExpand()
-
-  if (options.debug) this.debug = console.error
-
-  this.debug(this.pattern, set)
-
-  // step 3: now we have a set, so turn each one into a series of path-portion
-  // matching patterns.
-  // These will be regexps, except in the case of "**", which is
-  // set to the GLOBSTAR object for globstar behavior,
-  // and will not contain any / characters
-  set = this.globParts = set.map(function (s) {
-    return s.split(slashSplit)
-  })
-
-  this.debug(this.pattern, set)
-
-  // glob --> regexps
-  set = set.map(function (s, si, set) {
-    return s.map(this.parse, this)
-  }, this)
-
-  this.debug(this.pattern, set)
-
-  // filter out everything that didn't compile properly.
-  set = set.filter(function (s) {
-    return s.indexOf(false) === -1
-  })
-
-  this.debug(this.pattern, set)
-
-  this.set = set
-}
-
-Minimatch.prototype.parseNegate = parseNegate
-function parseNegate () {
-  var pattern = this.pattern
-  var negate = false
-  var options = this.options
-  var negateOffset = 0
-
-  if (options.nonegate) return
-
-  for (var i = 0, l = pattern.length
-    ; i < l && pattern.charAt(i) === '!'
-    ; i++) {
-    negate = !negate
-    negateOffset++
-  }
-
-  if (negateOffset) this.pattern = pattern.substr(negateOffset)
-  this.negate = negate
-}
-
-// Brace expansion:
-// a{b,c}d -> abd acd
-// a{b,}c -> abc ac
-// a{0..3}d -> a0d a1d a2d a3d
-// a{b,c{d,e}f}g -> abg acdfg acefg
-// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
-//
-// Invalid sets are not expanded.
-// a{2..}b -> a{2..}b
-// a{b}c -> a{b}c
-minimatch.braceExpand = function (pattern, options) {
-  return braceExpand(pattern, options)
-}
-
-Minimatch.prototype.braceExpand = braceExpand
-
-function braceExpand (pattern, options) {
-  if (!options) {
-    if (this instanceof Minimatch) {
-      options = this.options
-    } else {
-      options = {}
-    }
-  }
-
-  pattern = typeof pattern === 'undefined'
-    ? this.pattern : pattern
-
-  if (typeof pattern === 'undefined') {
-    throw new Error('undefined pattern')
-  }
-
-  if (options.nobrace ||
-    !pattern.match(/\{.*\}/)) {
-    // shortcut. no need to expand.
-    return [pattern]
-  }
-
-  return expand(pattern)
-}
-
-// parse a component of the expanded set.
-// At this point, no pattern may contain "/" in it
-// so we're going to return a 2d array, where each entry is the full
-// pattern, split on '/', and then turned into a regular expression.
-// A regexp is made at the end which joins each array with an
-// escaped /, and another full one which joins each regexp with |.
-//
-// Following the lead of Bash 4.1, note that "**" only has special meaning
-// when it is the *only* thing in a path portion.  Otherwise, any series
-// of * is equivalent to a single *.  Globstar behavior is enabled by
-// default, and can be disabled by setting options.noglobstar.
-Minimatch.prototype.parse = parse
-var SUBPARSE = {}
-function parse (pattern, isSub) {
-  var options = this.options
-
-  // shortcuts
-  if (!options.noglobstar && pattern === '**') return GLOBSTAR
-  if (pattern === '') return ''
-
-  var re = ''
-  var hasMagic = !!options.nocase
-  var escaping = false
-  // ? => one single character
-  var patternListStack = []
-  var negativeLists = []
-  var plType
-  var stateChar
-  var inClass = false
-  var reClassStart = -1
-  var classStart = -1
-  // . and .. never match anything that doesn't start with .,
-  // even when options.dot is set.
-  var patternStart = pattern.charAt(0) === '.' ? '' // anything
-  // not (start or / followed by . or .. followed by / or end)
-  : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))'
-  : '(?!\\.)'
-  var self = this
-
-  function clearStateChar () {
-    if (stateChar) {
-      // we had some state-tracking character
-      // that wasn't consumed by this pass.
-      switch (stateChar) {
-        case '*':
-          re += star
-          hasMagic = true
-        break
-        case '?':
-          re += qmark
-          hasMagic = true
-        break
-        default:
-          re += '\\' + stateChar
-        break
-      }
-      self.debug('clearStateChar %j %j', stateChar, re)
-      stateChar = false
-    }
-  }
-
-  for (var i = 0, len = pattern.length, c
-    ; (i < len) && (c = pattern.charAt(i))
-    ; i++) {
-    this.debug('%s\t%s %s %j', pattern, i, re, c)
-
-    // skip over any that are escaped.
-    if (escaping && reSpecials[c]) {
-      re += '\\' + c
-      escaping = false
-      continue
-    }
-
-    switch (c) {
-      case '/':
-        // completely not allowed, even escaped.
-        // Should already be path-split by now.
-        return false
-
-      case '\\':
-        clearStateChar()
-        escaping = true
-      continue
-
-      // the various stateChar values
-      // for the "extglob" stuff.
-      case '?':
-      case '*':
-      case '+':
-      case '@':
-      case '!':
-        this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c)
-
-        // all of those are literals inside a class, except that
-        // the glob [!a] means [^a] in regexp
-        if (inClass) {
-          this.debug('  in class')
-          if (c === '!' && i === classStart + 1) c = '^'
-          re += c
-          continue
-        }
-
-        // if we already have a stateChar, then it means
-        // that there was something like ** or +? in there.
-        // Handle the stateChar, then proceed with this one.
-        self.debug('call clearStateChar %j', stateChar)
-        clearStateChar()
-        stateChar = c
-        // if extglob is disabled, then +(asdf|foo) isn't a thing.
-        // just clear the statechar *now*, rather than even diving into
-        // the patternList stuff.
-        if (options.noext) clearStateChar()
-      continue
-
-      case '(':
-        if (inClass) {
-          re += '('
-          continue
-        }
-
-        if (!stateChar) {
-          re += '\\('
-          continue
-        }
-
-        plType = stateChar
-        patternListStack.push({
-          type: plType,
-          start: i - 1,
-          reStart: re.length
-        })
-        // negation is (?:(?!js)[^/]*)
-        re += stateChar === '!' ? '(?:(?!(?:' : '(?:'
-        this.debug('plType %j %j', stateChar, re)
-        stateChar = false
-      continue
-
-      case ')':
-        if (inClass || !patternListStack.length) {
-          re += '\\)'
-          continue
-        }
-
-        clearStateChar()
-        hasMagic = true
-        re += ')'
-        var pl = patternListStack.pop()
-        plType = pl.type
-        // negation is (?:(?!js)[^/]*)
-        // The others are (?:<pattern>)<type>
-        switch (plType) {
-          case '!':
-            negativeLists.push(pl)
-            re += ')[^/]*?)'
-            pl.reEnd = re.length
-            break
-          case '?':
-          case '+':
-          case '*':
-            re += plType
-            break
-          case '@': break // the default anyway
-        }
-      continue
-
-      case '|':
-        if (inClass || !patternListStack.length || escaping) {
-          re += '\\|'
-          escaping = false
-          continue
-        }
-
-        clearStateChar()
-        re += '|'
-      continue
-
-      // these are mostly the same in regexp and glob
-      case '[':
-        // swallow any state-tracking char before the [
-        clearStateChar()
-
-        if (inClass) {
-          re += '\\' + c
-          continue
-        }
-
-        inClass = true
-        classStart = i
-        reClassStart = re.length
-        re += c
-      continue
-
-      case ']':
-        //  a right bracket shall lose its special
-        //  meaning and represent itself in
-        //  a bracket expression if it occurs
-        //  first in the list.  -- POSIX.2 2.8.3.2
-        if (i === classStart + 1 || !inClass) {
-          re += '\\' + c
-          escaping = false
-          continue
-        }
-
-        // handle the case where we left a class open.
-        // "[z-a]" is valid, equivalent to "\[z-a\]"
-        if (inClass) {
-          // split where the last [ was, make sure we don't have
-          // an invalid re. if so, re-walk the contents of the
-          // would-be class to re-translate any characters that
-          // were passed through as-is
-          // TODO: It would probably be faster to determine this
-          // without a try/catch and a new RegExp, but it's tricky
-          // to do safely.  For now, this is safe and works.
-          var cs = pattern.substring(classStart + 1, i)
-          try {
-            RegExp('[' + cs + ']')
-          } catch (er) {
-            // not a valid class!
-            var sp = this.parse(cs, SUBPARSE)
-            re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]'
-            hasMagic = hasMagic || sp[1]
-            inClass = false
-            continue
-          }
-        }
-
-        // finish up the class.
-        hasMagic = true
-        inClass = false
-        re += c
-      continue
-
-      default:
-        // swallow any state char that wasn't consumed
-        clearStateChar()
-
-        if (escaping) {
-          // no need
-          escaping = false
-        } else if (reSpecials[c]
-          && !(c === '^' && inClass)) {
-          re += '\\'
-        }
-
-        re += c
-
-    } // switch
-  } // for
-
-  // handle the case where we left a class open.
-  // "[abc" is valid, equivalent to "\[abc"
-  if (inClass) {
-    // split where the last [ was, and escape it
-    // this is a huge pita.  We now have to re-walk
-    // the contents of the would-be class to re-translate
-    // any characters that were passed through as-is
-    cs = pattern.substr(classStart + 1)
-    sp = this.parse(cs, SUBPARSE)
-    re = re.substr(0, reClassStart) + '\\[' + sp[0]
-    hasMagic = hasMagic || sp[1]
-  }
-
-  // handle the case where we had a +( thing at the *end*
-  // of the pattern.
-  // each pattern list stack adds 3 chars, and we need to go through
-  // and escape any | chars that were passed through as-is for the regexp.
-  // Go through and escape them, taking care not to double-escape any
-  // | chars that were already escaped.
-  for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
-    var tail = re.slice(pl.reStart + 3)
-    // maybe some even number of \, then maybe 1 \, followed by a |
-    tail = tail.replace(/((?:\\{2})*)(\\?)\|/g, function (_, $1, $2) {
-      if (!$2) {
-        // the | isn't already escaped, so escape it.
-        $2 = '\\'
-      }
-
-      // need to escape all those slashes *again*, without escaping the
-      // one that we need for escaping the | character.  As it works out,
-      // escaping an even number of slashes can be done by simply repeating
-      // it exactly after itself.  That's why this trick works.
-      //
-      // I am sorry that you have to see this.
-      return $1 + $1 + $2 + '|'
-    })
-
-    this.debug('tail=%j\n   %s', tail, tail)
-    var t = pl.type === '*' ? star
-      : pl.type === '?' ? qmark
-      : '\\' + pl.type
-
-    hasMagic = true
-    re = re.slice(0, pl.reStart) + t + '\\(' + tail
-  }
-
-  // handle trailing things that only matter at the very end.
-  clearStateChar()
-  if (escaping) {
-    // trailing \\
-    re += '\\\\'
-  }
-
-  // only need to apply the nodot start if the re starts with
-  // something that could conceivably capture a dot
-  var addPatternStart = false
-  switch (re.charAt(0)) {
-    case '.':
-    case '[':
-    case '(': addPatternStart = true
-  }
-
-  // Hack to work around lack of negative lookbehind in JS
-  // A pattern like: *.!(x).!(y|z) needs to ensure that a name
-  // like 'a.xyz.yz' doesn't match.  So, the first negative
-  // lookahead, has to look ALL the way ahead, to the end of
-  // the pattern.
-  for (var n = negativeLists.length - 1; n > -1; n--) {
-    var nl = negativeLists[n]
-
-    var nlBefore = re.slice(0, nl.reStart)
-    var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)
-    var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)
-    var nlAfter = re.slice(nl.reEnd)
-
-    nlLast += nlAfter
-
-    // Handle nested stuff like *(*.js|!(*.json)), where open parens
-    // mean that we should *not* include the ) in the bit that is considered
-    // "after" the negated section.
-    var openParensBefore = nlBefore.split('(').length - 1
-    var cleanAfter = nlAfter
-    for (i = 0; i < openParensBefore; i++) {
-      cleanAfter = cleanAfter.replace(/\)[+*?]?/, '')
-    }
-    nlAfter = cleanAfter
-
-    var dollar = ''
-    if (nlAfter === '' && isSub !== SUBPARSE) {
-      dollar = '$'
-    }
-    var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast
-    re = newRe
-  }
-
-  // if the re is not "" at this point, then we need to make sure
-  // it doesn't match against an empty path part.
-  // Otherwise a/* will match a/, which it should not.
-  if (re !== '' && hasMagic) {
-    re = '(?=.)' + re
-  }
-
-  if (addPatternStart) {
-    re = patternStart + re
-  }
-
-  // parsing just a piece of a larger pattern.
-  if (isSub === SUBPARSE) {
-    return [re, hasMagic]
-  }
-
-  // skip the regexp for non-magical patterns
-  // unescape anything in it, though, so that it'll be
-  // an exact match against a file etc.
-  if (!hasMagic) {
-    return globUnescape(pattern)
-  }
-
-  var flags = options.nocase ? 'i' : ''
-  var regExp = new RegExp('^' + re + '$', flags)
-
-  regExp._glob = pattern
-  regExp._src = re
-
-  return regExp
-}
-
-minimatch.makeRe = function (pattern, options) {
-  return new Minimatch(pattern, options || {}).makeRe()
-}
-
-Minimatch.prototype.makeRe = makeRe
-function makeRe () {
-  if (this.regexp || this.regexp === false) return this.regexp
-
-  // at this point, this.set is a 2d array of partial
-  // pattern strings, or "**".
-  //
-  // It's better to use .match().  This function shouldn't
-  // be used, really, but it's pretty convenient sometimes,
-  // when you just want to work with a regex.
-  var set = this.set
-
-  if (!set.length) {
-    this.regexp = false
-    return this.regexp
-  }
-  var options = this.options
-
-  var twoStar = options.noglobstar ? star
-    : options.dot ? twoStarDot
-    : twoStarNoDot
-  var flags = options.nocase ? 'i' : ''
-
-  var re = set.map(function (pattern) {
-    return pattern.map(function (p) {
-      return (p === GLOBSTAR) ? twoStar
-      : (typeof p === 'string') ? regExpEscape(p)
-      : p._src
-    }).join('\\\/')
-  }).join('|')
-
-  // must match entire pattern
-  // ending in a * or ** will make it less strict.
-  re = '^(?:' + re + ')$'
-
-  // can match anything, as long as it's not this.
-  if (this.negate) re = '^(?!' + re + ').*$'
-
-  try {
-    this.regexp = new RegExp(re, flags)
-  } catch (ex) {
-    this.regexp = false
-  }
-  return this.regexp
-}
-
-minimatch.match = function (list, pattern, options) {
-  options = options || {}
-  var mm = new Minimatch(pattern, options)
-  list = list.filter(function (f) {
-    return mm.match(f)
-  })
-  if (mm.options.nonull && !list.length) {
-    list.push(pattern)
-  }
-  return list
-}
-
-Minimatch.prototype.match = match
-function match (f, partial) {
-  this.debug('match', f, this.pattern)
-  // short-circuit in the case of busted things.
-  // comments, etc.
-  if (this.comment) return false
-  if (this.empty) return f === ''
-
-  if (f === '/' && partial) return true
-
-  var options = this.options
-
-  // windows: need to use /, not \
-  if (path.sep !== '/') {
-    f = f.split(path.sep).join('/')
-  }
-
-  // treat the test path as a set of pathparts.
-  f = f.split(slashSplit)
-  this.debug(this.pattern, 'split', f)
-
-  // just ONE of the pattern sets in this.set needs to match
-  // in order for it to be valid.  If negating, then just one
-  // match means that we have failed.
-  // Either way, return on the first hit.
-
-  var set = this.set
-  this.debug(this.pattern, 'set', set)
-
-  // Find the basename of the path by looking for the last non-empty segment
-  var filename
-  var i
-  for (i = f.length - 1; i >= 0; i--) {
-    filename = f[i]
-    if (filename) break
-  }
-
-  for (i = 0; i < set.length; i++) {
-    var pattern = set[i]
-    var file = f
-    if (options.matchBase && pattern.length === 1) {
-      file = [filename]
-    }
-    var hit = this.matchOne(file, pattern, partial)
-    if (hit) {
-      if (options.flipNegate) return true
-      return !this.negate
-    }
-  }
-
-  // didn't get any hits.  this is success if it's a negative
-  // pattern, failure otherwise.
-  if (options.flipNegate) return false
-  return this.negate
-}
-
-// set partial to true to test if, for example,
-// "/a/b" matches the start of "/*/b/*/d"
-// Partial means, if you run out of file before you run
-// out of pattern, then that's fine, as long as all
-// the parts match.
-Minimatch.prototype.matchOne = function (file, pattern, partial) {
-  var options = this.options
-
-  this.debug('matchOne',
-    { 'this': this, file: file, pattern: pattern })
-
-  this.debug('matchOne', file.length, pattern.length)
-
-  for (var fi = 0,
-      pi = 0,
-      fl = file.length,
-      pl = pattern.length
-      ; (fi < fl) && (pi < pl)
-      ; fi++, pi++) {
-    this.debug('matchOne loop')
-    var p = pattern[pi]
-    var f = file[fi]
-
-    this.debug(pattern, p, f)
-
-    // should be impossible.
-    // some invalid regexp stuff in the set.
-    if (p === false) return false
-
-    if (p === GLOBSTAR) {
-      this.debug('GLOBSTAR', [pattern, p, f])
-
-      // "**"
-      // a/**/b/**/c would match the following:
-      // a/b/x/y/z/c
-      // a/x/y/z/b/c
-      // a/b/x/b/x/c
-      // a/b/c
-      // To do this, take the rest of the pattern after
-      // the **, and see if it would match the file remainder.
-      // If so, return success.
-      // If not, the ** "swallows" a segment, and try again.
-      // This is recursively awful.
-      //
-      // a/**/b/**/c matching a/b/x/y/z/c
-      // - a matches a
-      // - doublestar
-      //   - matchOne(b/x/y/z/c, b/**/c)
-      //     - b matches b
-      //     - doublestar
-      //       - matchOne(x/y/z/c, c) -> no
-      //       - matchOne(y/z/c, c) -> no
-      //       - matchOne(z/c, c) -> no
-      //       - matchOne(c, c) yes, hit
-      var fr = fi
-      var pr = pi + 1
-      if (pr === pl) {
-        this.debug('** at the end')
-        // a ** at the end will just swallow the rest.
-        // We have found a match.
-        // however, it will not swallow /.x, unless
-        // options.dot is set.
-        // . and .. are *never* matched by **, for explosively
-        // exponential reasons.
-        for (; fi < fl; fi++) {
-          if (file[fi] === '.' || file[fi] === '..' ||
-            (!options.dot && file[fi].charAt(0) === '.')) return false
-        }
-        return true
-      }
-
-      // ok, let's see if we can swallow whatever we can.
-      while (fr < fl) {
-        var swallowee = file[fr]
-
-        this.debug('\nglobstar while', file, fr, pattern, pr, swallowee)
-
-        // XXX remove this slice.  Just pass the start index.
-        if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-          this.debug('globstar found match!', fr, fl, swallowee)
-          // found a match.
-          return true
-        } else {
-          // can't swallow "." or ".." ever.
-          // can only swallow ".foo" when explicitly asked.
-          if (swallowee === '.' || swallowee === '..' ||
-            (!options.dot && swallowee.charAt(0) === '.')) {
-            this.debug('dot detected!', file, fr, pattern, pr)
-            break
-          }
-
-          // ** swallows a segment, and continue.
-          this.debug('globstar swallow a segment, and continue')
-          fr++
-        }
-      }
-
-      // no match was found.
-      // However, in partial mode, we can't say this is necessarily over.
-      // If there's more *pattern* left, then
-      if (partial) {
-        // ran out of file
-        this.debug('\n>>> no match, partial?', file, fr, pattern, pr)
-        if (fr === fl) return true
-      }
-      return false
-    }
-
-    // something other than **
-    // non-magic patterns just have to match exactly
-    // patterns with magic have been turned into regexps.
-    var hit
-    if (typeof p === 'string') {
-      if (options.nocase) {
-        hit = f.toLowerCase() === p.toLowerCase()
-      } else {
-        hit = f === p
-      }
-      this.debug('string match', p, f, hit)
-    } else {
-      hit = f.match(p)
-      this.debug('pattern match', p, f, hit)
-    }
-
-    if (!hit) return false
-  }
-
-  // Note: ending in / means that we'll get a final ""
-  // at the end of the pattern.  This can only match a
-  // corresponding "" at the end of the file.
-  // If the file ends in /, then it can only match a
-  // a pattern that ends in /, unless the pattern just
-  // doesn't have any more for it. But, a/b/ should *not*
-  // match "a/b/*", even though "" matches against the
-  // [^/]*? pattern, except in partial mode, where it might
-  // simply not be reached yet.
-  // However, a/b/ should still satisfy a/*
-
-  // now either we fell off the end of the pattern, or we're done.
-  if (fi === fl && pi === pl) {
-    // ran out of pattern and filename at the same time.
-    // an exact hit!
-    return true
-  } else if (fi === fl) {
-    // ran out of file, but still had pattern left.
-    // this is ok if we're doing the match as part of
-    // a glob fs traversal.
-    return partial
-  } else if (pi === pl) {
-    // ran out of pattern, still have file left.
-    // this is only acceptable if we're on the very last
-    // empty segment of a file with a trailing slash.
-    // a/* should match a/b/
-    var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')
-    return emptyFileEnd
-  }
-
-  // should be unreachable.
-  throw new Error('wtf?')
-}
-
-// replace stuff like \* with *
-function globUnescape (s) {
-  return s.replace(/\\(.)/g, '$1')
-}
-
-function regExpEscape (s) {
-  return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')
-}
-
-},{"brace-expansion":2,"path":undefined}],2:[function(require,module,exports){
-var concatMap = require('concat-map');
-var balanced = require('balanced-match');
-
-module.exports = expandTop;
-
-var escSlash = '\0SLASH'+Math.random()+'\0';
-var escOpen = '\0OPEN'+Math.random()+'\0';
-var escClose = '\0CLOSE'+Math.random()+'\0';
-var escComma = '\0COMMA'+Math.random()+'\0';
-var escPeriod = '\0PERIOD'+Math.random()+'\0';
-
-function numeric(str) {
-  return parseInt(str, 10) == str
-    ? parseInt(str, 10)
-    : str.charCodeAt(0);
-}
-
-function escapeBraces(str) {
-  return str.split('\\\\').join(escSlash)
-            .split('\\{').join(escOpen)
-            .split('\\}').join(escClose)
-            .split('\\,').join(escComma)
-            .split('\\.').join(escPeriod);
-}
-
-function unescapeBraces(str) {
-  return str.split(escSlash).join('\\')
-            .split(escOpen).join('{')
-            .split(escClose).join('}')
-            .split(escComma).join(',')
-            .split(escPeriod).join('.');
-}
-
-
-// Basically just str.split(","), but handling cases
-// where we have nested braced sections, which should be
-// treated as individual members, like {a,{b,c},d}
-function parseCommaParts(str) {
-  if (!str)
-    return [''];
-
-  var parts = [];
-  var m = balanced('{', '}', str);
-
-  if (!m)
-    return str.split(',');
-
-  var pre = m.pre;
-  var body = m.body;
-  var post = m.post;
-  var p = pre.split(',');
-
-  p[p.length-1] += '{' + body + '}';
-  var postParts = parseCommaParts(post);
-  if (post.length) {
-    p[p.length-1] += postParts.shift();
-    p.push.apply(p, postParts);
-  }
-
-  parts.push.apply(parts, p);
-
-  return parts;
-}
-
-function expandTop(str) {
-  if (!str)
-    return [];
-
-  var expansions = expand(escapeBraces(str));
-  return expansions.filter(identity).map(unescapeBraces);
-}
-
-function identity(e) {
-  return e;
-}
-
-function embrace(str) {
-  return '{' + str + '}';
-}
-function isPadded(el) {
-  return /^-?0\d/.test(el);
-}
-
-function lte(i, y) {
-  return i <= y;
-}
-function gte(i, y) {
-  return i >= y;
-}
-
-function expand(str) {
-  var expansions = [];
-
-  var m = balanced('{', '}', str);
-  if (!m || /\$$/.test(m.pre)) return [str];
-
-  var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-  var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-  var isSequence = isNumericSequence || isAlphaSequence;
-  var isOptions = /^(.*,)+(.+)?$/.test(m.body);
-  if (!isSequence && !isOptions) {
-    // {a},b}
-    if (m.post.match(/,.*}/)) {
-      str = m.pre + '{' + m.body + escClose + m.post;
-      return expand(str);
-    }
-    return [str];
-  }
-
-  var n;
-  if (isSequence) {
-    n = m.body.split(/\.\./);
-  } else {
-    n = parseCommaParts(m.body);
-    if (n.length === 1) {
-      // x{{a,b}}y ==> x{a}y x{b}y
-      n = expand(n[0]).map(embrace);
-      if (n.length === 1) {
-        var post = m.post.length
-          ? expand(m.post)
-          : [''];
-        return post.map(function(p) {
-          return m.pre + n[0] + p;
-        });
-      }
-    }
-  }
-
-  // at this point, n is the parts, and we know it's not a comma set
-  // with a single entry.
-
-  // no need to expand pre, since it is guaranteed to be free of brace-sets
-  var pre = m.pre;
-  var post = m.post.length
-    ? expand(m.post)
-    : [''];
-
-  var N;
-
-  if (isSequence) {
-    var x = numeric(n[0]);
-    var y = numeric(n[1]);
-    var width = Math.max(n[0].length, n[1].length)
-    var incr = n.length == 3
-      ? Math.abs(numeric(n[2]))
-      : 1;
-    var test = lte;
-    var reverse = y < x;
-    if (reverse) {
-      incr *= -1;
-      test = gte;
-    }
-    var pad = n.some(isPadded);
-
-    N = [];
-
-    for (var i = x; test(i, y); i += incr) {
-      var c;
-      if (isAlphaSequence) {
-        c = String.fromCharCode(i);
-        if (c === '\\')
-          c = '';
-      } else {
-        c = String(i);
-        if (pad) {
-          var need = width - c.length;
-          if (need > 0) {
-            var z = new Array(need + 1).join('0');
-            if (i < 0)
-              c = '-' + z + c.slice(1);
-            else
-              c = z + c;
-          }
-        }
-      }
-      N.push(c);
-    }
-  } else {
-    N = concatMap(n, function(el) { return expand(el) });
-  }
-
-  for (var j = 0; j < N.length; j++) {
-    for (var k = 0; k < post.length; k++) {
-      expansions.push([pre, N[j], post[k]].join(''))
-    }
-  }
-
-  return expansions;
-}
-
-
-},{"balanced-match":3,"concat-map":4}],3:[function(require,module,exports){
-module.exports = balanced;
-function balanced(a, b, str) {
-  var bal = 0;
-  var m = {};
-  var ended = false;
-
-  for (var i = 0; i < str.length; i++) {
-    if (a == str.substr(i, a.length)) {
-      if (!('start' in m)) m.start = i;
-      bal++;
-    }
-    else if (b == str.substr(i, b.length) && 'start' in m) {
-      ended = true;
-      bal--;
-      if (!bal) {
-        m.end = i;
-        m.pre = str.substr(0, m.start);
-        m.body = (m.end - m.start > 1)
-          ? str.substring(m.start + a.length, m.end)
-          : '';
-        m.post = str.slice(m.end + b.length);
-        return m;
-      }
-    }
-  }
-
-  // if we opened more than we closed, find the one we closed
-  if (bal && ended) {
-    var start = m.start + a.length;
-    m = balanced(a, b, str.substr(start));
-    if (m) {
-      m.start += start;
-      m.end += start;
-      m.pre = str.slice(0, start) + m.pre;
-    }
-    return m;
-  }
-}
-
-},{}],4:[function(require,module,exports){
-module.exports = function (xs, fn) {
-    var res = [];
-    for (var i = 0; i < xs.length; i++) {
-        var x = fn(xs[i], i);
-        if (Array.isArray(x)) res.push.apply(res, x);
-        else res.push(x);
-    }
-    return res;
-};
-
-},{}]},{},[1])(1)
-});

+ 0 - 912
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/minimatch.js

@@ -1,912 +0,0 @@
-module.exports = minimatch
-minimatch.Minimatch = Minimatch
-
-var path = { sep: '/' }
-try {
-  path = require('path')
-} catch (er) {}
-
-var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
-var expand = require('brace-expansion')
-
-// any single thing other than /
-// don't need to escape / when using new RegExp()
-var qmark = '[^/]'
-
-// * => any number of characters
-var star = qmark + '*?'
-
-// ** when dots are allowed.  Anything goes, except .. and .
-// not (^ or / followed by one or two dots followed by $ or /),
-// followed by anything, any number of times.
-var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?'
-
-// not a ^ or / followed by a dot,
-// followed by anything, any number of times.
-var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?'
-
-// characters that need to be escaped in RegExp.
-var reSpecials = charSet('().*{}+?[]^$\\!')
-
-// "abc" -> { a:true, b:true, c:true }
-function charSet (s) {
-  return s.split('').reduce(function (set, c) {
-    set[c] = true
-    return set
-  }, {})
-}
-
-// normalizes slashes.
-var slashSplit = /\/+/
-
-minimatch.filter = filter
-function filter (pattern, options) {
-  options = options || {}
-  return function (p, i, list) {
-    return minimatch(p, pattern, options)
-  }
-}
-
-function ext (a, b) {
-  a = a || {}
-  b = b || {}
-  var t = {}
-  Object.keys(b).forEach(function (k) {
-    t[k] = b[k]
-  })
-  Object.keys(a).forEach(function (k) {
-    t[k] = a[k]
-  })
-  return t
-}
-
-minimatch.defaults = function (def) {
-  if (!def || !Object.keys(def).length) return minimatch
-
-  var orig = minimatch
-
-  var m = function minimatch (p, pattern, options) {
-    return orig.minimatch(p, pattern, ext(def, options))
-  }
-
-  m.Minimatch = function Minimatch (pattern, options) {
-    return new orig.Minimatch(pattern, ext(def, options))
-  }
-
-  return m
-}
-
-Minimatch.defaults = function (def) {
-  if (!def || !Object.keys(def).length) return Minimatch
-  return minimatch.defaults(def).Minimatch
-}
-
-function minimatch (p, pattern, options) {
-  if (typeof pattern !== 'string') {
-    throw new TypeError('glob pattern string required')
-  }
-
-  if (!options) options = {}
-
-  // shortcut: comments match nothing.
-  if (!options.nocomment && pattern.charAt(0) === '#') {
-    return false
-  }
-
-  // "" only matches ""
-  if (pattern.trim() === '') return p === ''
-
-  return new Minimatch(pattern, options).match(p)
-}
-
-function Minimatch (pattern, options) {
-  if (!(this instanceof Minimatch)) {
-    return new Minimatch(pattern, options)
-  }
-
-  if (typeof pattern !== 'string') {
-    throw new TypeError('glob pattern string required')
-  }
-
-  if (!options) options = {}
-  pattern = pattern.trim()
-
-  // windows support: need to use /, not \
-  if (path.sep !== '/') {
-    pattern = pattern.split(path.sep).join('/')
-  }
-
-  this.options = options
-  this.set = []
-  this.pattern = pattern
-  this.regexp = null
-  this.negate = false
-  this.comment = false
-  this.empty = false
-
-  // make the set of regexps etc.
-  this.make()
-}
-
-Minimatch.prototype.debug = function () {}
-
-Minimatch.prototype.make = make
-function make () {
-  // don't do it more than once.
-  if (this._made) return
-
-  var pattern = this.pattern
-  var options = this.options
-
-  // empty patterns and comments match nothing.
-  if (!options.nocomment && pattern.charAt(0) === '#') {
-    this.comment = true
-    return
-  }
-  if (!pattern) {
-    this.empty = true
-    return
-  }
-
-  // step 1: figure out negation, etc.
-  this.parseNegate()
-
-  // step 2: expand braces
-  var set = this.globSet = this.braceExpand()
-
-  if (options.debug) this.debug = console.error
-
-  this.debug(this.pattern, set)
-
-  // step 3: now we have a set, so turn each one into a series of path-portion
-  // matching patterns.
-  // These will be regexps, except in the case of "**", which is
-  // set to the GLOBSTAR object for globstar behavior,
-  // and will not contain any / characters
-  set = this.globParts = set.map(function (s) {
-    return s.split(slashSplit)
-  })
-
-  this.debug(this.pattern, set)
-
-  // glob --> regexps
-  set = set.map(function (s, si, set) {
-    return s.map(this.parse, this)
-  }, this)
-
-  this.debug(this.pattern, set)
-
-  // filter out everything that didn't compile properly.
-  set = set.filter(function (s) {
-    return s.indexOf(false) === -1
-  })
-
-  this.debug(this.pattern, set)
-
-  this.set = set
-}
-
-Minimatch.prototype.parseNegate = parseNegate
-function parseNegate () {
-  var pattern = this.pattern
-  var negate = false
-  var options = this.options
-  var negateOffset = 0
-
-  if (options.nonegate) return
-
-  for (var i = 0, l = pattern.length
-    ; i < l && pattern.charAt(i) === '!'
-    ; i++) {
-    negate = !negate
-    negateOffset++
-  }
-
-  if (negateOffset) this.pattern = pattern.substr(negateOffset)
-  this.negate = negate
-}
-
-// Brace expansion:
-// a{b,c}d -> abd acd
-// a{b,}c -> abc ac
-// a{0..3}d -> a0d a1d a2d a3d
-// a{b,c{d,e}f}g -> abg acdfg acefg
-// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
-//
-// Invalid sets are not expanded.
-// a{2..}b -> a{2..}b
-// a{b}c -> a{b}c
-minimatch.braceExpand = function (pattern, options) {
-  return braceExpand(pattern, options)
-}
-
-Minimatch.prototype.braceExpand = braceExpand
-
-function braceExpand (pattern, options) {
-  if (!options) {
-    if (this instanceof Minimatch) {
-      options = this.options
-    } else {
-      options = {}
-    }
-  }
-
-  pattern = typeof pattern === 'undefined'
-    ? this.pattern : pattern
-
-  if (typeof pattern === 'undefined') {
-    throw new Error('undefined pattern')
-  }
-
-  if (options.nobrace ||
-    !pattern.match(/\{.*\}/)) {
-    // shortcut. no need to expand.
-    return [pattern]
-  }
-
-  return expand(pattern)
-}
-
-// parse a component of the expanded set.
-// At this point, no pattern may contain "/" in it
-// so we're going to return a 2d array, where each entry is the full
-// pattern, split on '/', and then turned into a regular expression.
-// A regexp is made at the end which joins each array with an
-// escaped /, and another full one which joins each regexp with |.
-//
-// Following the lead of Bash 4.1, note that "**" only has special meaning
-// when it is the *only* thing in a path portion.  Otherwise, any series
-// of * is equivalent to a single *.  Globstar behavior is enabled by
-// default, and can be disabled by setting options.noglobstar.
-Minimatch.prototype.parse = parse
-var SUBPARSE = {}
-function parse (pattern, isSub) {
-  var options = this.options
-
-  // shortcuts
-  if (!options.noglobstar && pattern === '**') return GLOBSTAR
-  if (pattern === '') return ''
-
-  var re = ''
-  var hasMagic = !!options.nocase
-  var escaping = false
-  // ? => one single character
-  var patternListStack = []
-  var negativeLists = []
-  var plType
-  var stateChar
-  var inClass = false
-  var reClassStart = -1
-  var classStart = -1
-  // . and .. never match anything that doesn't start with .,
-  // even when options.dot is set.
-  var patternStart = pattern.charAt(0) === '.' ? '' // anything
-  // not (start or / followed by . or .. followed by / or end)
-  : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))'
-  : '(?!\\.)'
-  var self = this
-
-  function clearStateChar () {
-    if (stateChar) {
-      // we had some state-tracking character
-      // that wasn't consumed by this pass.
-      switch (stateChar) {
-        case '*':
-          re += star
-          hasMagic = true
-        break
-        case '?':
-          re += qmark
-          hasMagic = true
-        break
-        default:
-          re += '\\' + stateChar
-        break
-      }
-      self.debug('clearStateChar %j %j', stateChar, re)
-      stateChar = false
-    }
-  }
-
-  for (var i = 0, len = pattern.length, c
-    ; (i < len) && (c = pattern.charAt(i))
-    ; i++) {
-    this.debug('%s\t%s %s %j', pattern, i, re, c)
-
-    // skip over any that are escaped.
-    if (escaping && reSpecials[c]) {
-      re += '\\' + c
-      escaping = false
-      continue
-    }
-
-    switch (c) {
-      case '/':
-        // completely not allowed, even escaped.
-        // Should already be path-split by now.
-        return false
-
-      case '\\':
-        clearStateChar()
-        escaping = true
-      continue
-
-      // the various stateChar values
-      // for the "extglob" stuff.
-      case '?':
-      case '*':
-      case '+':
-      case '@':
-      case '!':
-        this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c)
-
-        // all of those are literals inside a class, except that
-        // the glob [!a] means [^a] in regexp
-        if (inClass) {
-          this.debug('  in class')
-          if (c === '!' && i === classStart + 1) c = '^'
-          re += c
-          continue
-        }
-
-        // if we already have a stateChar, then it means
-        // that there was something like ** or +? in there.
-        // Handle the stateChar, then proceed with this one.
-        self.debug('call clearStateChar %j', stateChar)
-        clearStateChar()
-        stateChar = c
-        // if extglob is disabled, then +(asdf|foo) isn't a thing.
-        // just clear the statechar *now*, rather than even diving into
-        // the patternList stuff.
-        if (options.noext) clearStateChar()
-      continue
-
-      case '(':
-        if (inClass) {
-          re += '('
-          continue
-        }
-
-        if (!stateChar) {
-          re += '\\('
-          continue
-        }
-
-        plType = stateChar
-        patternListStack.push({
-          type: plType,
-          start: i - 1,
-          reStart: re.length
-        })
-        // negation is (?:(?!js)[^/]*)
-        re += stateChar === '!' ? '(?:(?!(?:' : '(?:'
-        this.debug('plType %j %j', stateChar, re)
-        stateChar = false
-      continue
-
-      case ')':
-        if (inClass || !patternListStack.length) {
-          re += '\\)'
-          continue
-        }
-
-        clearStateChar()
-        hasMagic = true
-        re += ')'
-        var pl = patternListStack.pop()
-        plType = pl.type
-        // negation is (?:(?!js)[^/]*)
-        // The others are (?:<pattern>)<type>
-        switch (plType) {
-          case '!':
-            negativeLists.push(pl)
-            re += ')[^/]*?)'
-            pl.reEnd = re.length
-            break
-          case '?':
-          case '+':
-          case '*':
-            re += plType
-            break
-          case '@': break // the default anyway
-        }
-      continue
-
-      case '|':
-        if (inClass || !patternListStack.length || escaping) {
-          re += '\\|'
-          escaping = false
-          continue
-        }
-
-        clearStateChar()
-        re += '|'
-      continue
-
-      // these are mostly the same in regexp and glob
-      case '[':
-        // swallow any state-tracking char before the [
-        clearStateChar()
-
-        if (inClass) {
-          re += '\\' + c
-          continue
-        }
-
-        inClass = true
-        classStart = i
-        reClassStart = re.length
-        re += c
-      continue
-
-      case ']':
-        //  a right bracket shall lose its special
-        //  meaning and represent itself in
-        //  a bracket expression if it occurs
-        //  first in the list.  -- POSIX.2 2.8.3.2
-        if (i === classStart + 1 || !inClass) {
-          re += '\\' + c
-          escaping = false
-          continue
-        }
-
-        // handle the case where we left a class open.
-        // "[z-a]" is valid, equivalent to "\[z-a\]"
-        if (inClass) {
-          // split where the last [ was, make sure we don't have
-          // an invalid re. if so, re-walk the contents of the
-          // would-be class to re-translate any characters that
-          // were passed through as-is
-          // TODO: It would probably be faster to determine this
-          // without a try/catch and a new RegExp, but it's tricky
-          // to do safely.  For now, this is safe and works.
-          var cs = pattern.substring(classStart + 1, i)
-          try {
-            RegExp('[' + cs + ']')
-          } catch (er) {
-            // not a valid class!
-            var sp = this.parse(cs, SUBPARSE)
-            re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]'
-            hasMagic = hasMagic || sp[1]
-            inClass = false
-            continue
-          }
-        }
-
-        // finish up the class.
-        hasMagic = true
-        inClass = false
-        re += c
-      continue
-
-      default:
-        // swallow any state char that wasn't consumed
-        clearStateChar()
-
-        if (escaping) {
-          // no need
-          escaping = false
-        } else if (reSpecials[c]
-          && !(c === '^' && inClass)) {
-          re += '\\'
-        }
-
-        re += c
-
-    } // switch
-  } // for
-
-  // handle the case where we left a class open.
-  // "[abc" is valid, equivalent to "\[abc"
-  if (inClass) {
-    // split where the last [ was, and escape it
-    // this is a huge pita.  We now have to re-walk
-    // the contents of the would-be class to re-translate
-    // any characters that were passed through as-is
-    cs = pattern.substr(classStart + 1)
-    sp = this.parse(cs, SUBPARSE)
-    re = re.substr(0, reClassStart) + '\\[' + sp[0]
-    hasMagic = hasMagic || sp[1]
-  }
-
-  // handle the case where we had a +( thing at the *end*
-  // of the pattern.
-  // each pattern list stack adds 3 chars, and we need to go through
-  // and escape any | chars that were passed through as-is for the regexp.
-  // Go through and escape them, taking care not to double-escape any
-  // | chars that were already escaped.
-  for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
-    var tail = re.slice(pl.reStart + 3)
-    // maybe some even number of \, then maybe 1 \, followed by a |
-    tail = tail.replace(/((?:\\{2})*)(\\?)\|/g, function (_, $1, $2) {
-      if (!$2) {
-        // the | isn't already escaped, so escape it.
-        $2 = '\\'
-      }
-
-      // need to escape all those slashes *again*, without escaping the
-      // one that we need for escaping the | character.  As it works out,
-      // escaping an even number of slashes can be done by simply repeating
-      // it exactly after itself.  That's why this trick works.
-      //
-      // I am sorry that you have to see this.
-      return $1 + $1 + $2 + '|'
-    })
-
-    this.debug('tail=%j\n   %s', tail, tail)
-    var t = pl.type === '*' ? star
-      : pl.type === '?' ? qmark
-      : '\\' + pl.type
-
-    hasMagic = true
-    re = re.slice(0, pl.reStart) + t + '\\(' + tail
-  }
-
-  // handle trailing things that only matter at the very end.
-  clearStateChar()
-  if (escaping) {
-    // trailing \\
-    re += '\\\\'
-  }
-
-  // only need to apply the nodot start if the re starts with
-  // something that could conceivably capture a dot
-  var addPatternStart = false
-  switch (re.charAt(0)) {
-    case '.':
-    case '[':
-    case '(': addPatternStart = true
-  }
-
-  // Hack to work around lack of negative lookbehind in JS
-  // A pattern like: *.!(x).!(y|z) needs to ensure that a name
-  // like 'a.xyz.yz' doesn't match.  So, the first negative
-  // lookahead, has to look ALL the way ahead, to the end of
-  // the pattern.
-  for (var n = negativeLists.length - 1; n > -1; n--) {
-    var nl = negativeLists[n]
-
-    var nlBefore = re.slice(0, nl.reStart)
-    var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)
-    var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)
-    var nlAfter = re.slice(nl.reEnd)
-
-    nlLast += nlAfter
-
-    // Handle nested stuff like *(*.js|!(*.json)), where open parens
-    // mean that we should *not* include the ) in the bit that is considered
-    // "after" the negated section.
-    var openParensBefore = nlBefore.split('(').length - 1
-    var cleanAfter = nlAfter
-    for (i = 0; i < openParensBefore; i++) {
-      cleanAfter = cleanAfter.replace(/\)[+*?]?/, '')
-    }
-    nlAfter = cleanAfter
-
-    var dollar = ''
-    if (nlAfter === '' && isSub !== SUBPARSE) {
-      dollar = '$'
-    }
-    var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast
-    re = newRe
-  }
-
-  // if the re is not "" at this point, then we need to make sure
-  // it doesn't match against an empty path part.
-  // Otherwise a/* will match a/, which it should not.
-  if (re !== '' && hasMagic) {
-    re = '(?=.)' + re
-  }
-
-  if (addPatternStart) {
-    re = patternStart + re
-  }
-
-  // parsing just a piece of a larger pattern.
-  if (isSub === SUBPARSE) {
-    return [re, hasMagic]
-  }
-
-  // skip the regexp for non-magical patterns
-  // unescape anything in it, though, so that it'll be
-  // an exact match against a file etc.
-  if (!hasMagic) {
-    return globUnescape(pattern)
-  }
-
-  var flags = options.nocase ? 'i' : ''
-  var regExp = new RegExp('^' + re + '$', flags)
-
-  regExp._glob = pattern
-  regExp._src = re
-
-  return regExp
-}
-
-minimatch.makeRe = function (pattern, options) {
-  return new Minimatch(pattern, options || {}).makeRe()
-}
-
-Minimatch.prototype.makeRe = makeRe
-function makeRe () {
-  if (this.regexp || this.regexp === false) return this.regexp
-
-  // at this point, this.set is a 2d array of partial
-  // pattern strings, or "**".
-  //
-  // It's better to use .match().  This function shouldn't
-  // be used, really, but it's pretty convenient sometimes,
-  // when you just want to work with a regex.
-  var set = this.set
-
-  if (!set.length) {
-    this.regexp = false
-    return this.regexp
-  }
-  var options = this.options
-
-  var twoStar = options.noglobstar ? star
-    : options.dot ? twoStarDot
-    : twoStarNoDot
-  var flags = options.nocase ? 'i' : ''
-
-  var re = set.map(function (pattern) {
-    return pattern.map(function (p) {
-      return (p === GLOBSTAR) ? twoStar
-      : (typeof p === 'string') ? regExpEscape(p)
-      : p._src
-    }).join('\\\/')
-  }).join('|')
-
-  // must match entire pattern
-  // ending in a * or ** will make it less strict.
-  re = '^(?:' + re + ')$'
-
-  // can match anything, as long as it's not this.
-  if (this.negate) re = '^(?!' + re + ').*$'
-
-  try {
-    this.regexp = new RegExp(re, flags)
-  } catch (ex) {
-    this.regexp = false
-  }
-  return this.regexp
-}
-
-minimatch.match = function (list, pattern, options) {
-  options = options || {}
-  var mm = new Minimatch(pattern, options)
-  list = list.filter(function (f) {
-    return mm.match(f)
-  })
-  if (mm.options.nonull && !list.length) {
-    list.push(pattern)
-  }
-  return list
-}
-
-Minimatch.prototype.match = match
-function match (f, partial) {
-  this.debug('match', f, this.pattern)
-  // short-circuit in the case of busted things.
-  // comments, etc.
-  if (this.comment) return false
-  if (this.empty) return f === ''
-
-  if (f === '/' && partial) return true
-
-  var options = this.options
-
-  // windows: need to use /, not \
-  if (path.sep !== '/') {
-    f = f.split(path.sep).join('/')
-  }
-
-  // treat the test path as a set of pathparts.
-  f = f.split(slashSplit)
-  this.debug(this.pattern, 'split', f)
-
-  // just ONE of the pattern sets in this.set needs to match
-  // in order for it to be valid.  If negating, then just one
-  // match means that we have failed.
-  // Either way, return on the first hit.
-
-  var set = this.set
-  this.debug(this.pattern, 'set', set)
-
-  // Find the basename of the path by looking for the last non-empty segment
-  var filename
-  var i
-  for (i = f.length - 1; i >= 0; i--) {
-    filename = f[i]
-    if (filename) break
-  }
-
-  for (i = 0; i < set.length; i++) {
-    var pattern = set[i]
-    var file = f
-    if (options.matchBase && pattern.length === 1) {
-      file = [filename]
-    }
-    var hit = this.matchOne(file, pattern, partial)
-    if (hit) {
-      if (options.flipNegate) return true
-      return !this.negate
-    }
-  }
-
-  // didn't get any hits.  this is success if it's a negative
-  // pattern, failure otherwise.
-  if (options.flipNegate) return false
-  return this.negate
-}
-
-// set partial to true to test if, for example,
-// "/a/b" matches the start of "/*/b/*/d"
-// Partial means, if you run out of file before you run
-// out of pattern, then that's fine, as long as all
-// the parts match.
-Minimatch.prototype.matchOne = function (file, pattern, partial) {
-  var options = this.options
-
-  this.debug('matchOne',
-    { 'this': this, file: file, pattern: pattern })
-
-  this.debug('matchOne', file.length, pattern.length)
-
-  for (var fi = 0,
-      pi = 0,
-      fl = file.length,
-      pl = pattern.length
-      ; (fi < fl) && (pi < pl)
-      ; fi++, pi++) {
-    this.debug('matchOne loop')
-    var p = pattern[pi]
-    var f = file[fi]
-
-    this.debug(pattern, p, f)
-
-    // should be impossible.
-    // some invalid regexp stuff in the set.
-    if (p === false) return false
-
-    if (p === GLOBSTAR) {
-      this.debug('GLOBSTAR', [pattern, p, f])
-
-      // "**"
-      // a/**/b/**/c would match the following:
-      // a/b/x/y/z/c
-      // a/x/y/z/b/c
-      // a/b/x/b/x/c
-      // a/b/c
-      // To do this, take the rest of the pattern after
-      // the **, and see if it would match the file remainder.
-      // If so, return success.
-      // If not, the ** "swallows" a segment, and try again.
-      // This is recursively awful.
-      //
-      // a/**/b/**/c matching a/b/x/y/z/c
-      // - a matches a
-      // - doublestar
-      //   - matchOne(b/x/y/z/c, b/**/c)
-      //     - b matches b
-      //     - doublestar
-      //       - matchOne(x/y/z/c, c) -> no
-      //       - matchOne(y/z/c, c) -> no
-      //       - matchOne(z/c, c) -> no
-      //       - matchOne(c, c) yes, hit
-      var fr = fi
-      var pr = pi + 1
-      if (pr === pl) {
-        this.debug('** at the end')
-        // a ** at the end will just swallow the rest.
-        // We have found a match.
-        // however, it will not swallow /.x, unless
-        // options.dot is set.
-        // . and .. are *never* matched by **, for explosively
-        // exponential reasons.
-        for (; fi < fl; fi++) {
-          if (file[fi] === '.' || file[fi] === '..' ||
-            (!options.dot && file[fi].charAt(0) === '.')) return false
-        }
-        return true
-      }
-
-      // ok, let's see if we can swallow whatever we can.
-      while (fr < fl) {
-        var swallowee = file[fr]
-
-        this.debug('\nglobstar while', file, fr, pattern, pr, swallowee)
-
-        // XXX remove this slice.  Just pass the start index.
-        if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
-          this.debug('globstar found match!', fr, fl, swallowee)
-          // found a match.
-          return true
-        } else {
-          // can't swallow "." or ".." ever.
-          // can only swallow ".foo" when explicitly asked.
-          if (swallowee === '.' || swallowee === '..' ||
-            (!options.dot && swallowee.charAt(0) === '.')) {
-            this.debug('dot detected!', file, fr, pattern, pr)
-            break
-          }
-
-          // ** swallows a segment, and continue.
-          this.debug('globstar swallow a segment, and continue')
-          fr++
-        }
-      }
-
-      // no match was found.
-      // However, in partial mode, we can't say this is necessarily over.
-      // If there's more *pattern* left, then
-      if (partial) {
-        // ran out of file
-        this.debug('\n>>> no match, partial?', file, fr, pattern, pr)
-        if (fr === fl) return true
-      }
-      return false
-    }
-
-    // something other than **
-    // non-magic patterns just have to match exactly
-    // patterns with magic have been turned into regexps.
-    var hit
-    if (typeof p === 'string') {
-      if (options.nocase) {
-        hit = f.toLowerCase() === p.toLowerCase()
-      } else {
-        hit = f === p
-      }
-      this.debug('string match', p, f, hit)
-    } else {
-      hit = f.match(p)
-      this.debug('pattern match', p, f, hit)
-    }
-
-    if (!hit) return false
-  }
-
-  // Note: ending in / means that we'll get a final ""
-  // at the end of the pattern.  This can only match a
-  // corresponding "" at the end of the file.
-  // If the file ends in /, then it can only match a
-  // a pattern that ends in /, unless the pattern just
-  // doesn't have any more for it. But, a/b/ should *not*
-  // match "a/b/*", even though "" matches against the
-  // [^/]*? pattern, except in partial mode, where it might
-  // simply not be reached yet.
-  // However, a/b/ should still satisfy a/*
-
-  // now either we fell off the end of the pattern, or we're done.
-  if (fi === fl && pi === pl) {
-    // ran out of pattern and filename at the same time.
-    // an exact hit!
-    return true
-  } else if (fi === fl) {
-    // ran out of file, but still had pattern left.
-    // this is ok if we're doing the match as part of
-    // a glob fs traversal.
-    return partial
-  } else if (pi === pl) {
-    // ran out of pattern, still have file left.
-    // this is only acceptable if we're on the very last
-    // empty segment of a file with a trailing slash.
-    // a/* should match a/b/
-    var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')
-    return emptyFileEnd
-  }
-
-  // should be unreachable.
-  throw new Error('wtf?')
-}
-
-// replace stuff like \* with *
-function globUnescape (s) {
-  return s.replace(/\\(.)/g, '$1')
-}
-
-function regExpEscape (s) {
-  return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')
-}

+ 0 - 2
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore

@@ -1,2 +0,0 @@
-node_modules
-*.sw*

+ 0 - 3
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml

@@ -1,3 +0,0 @@
-language: node_js
-node_js:
-  - "0.10"

+ 0 - 121
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md

@@ -1,121 +0,0 @@
-# brace-expansion
-
-[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), 
-as known from sh/bash, in JavaScript.
-
-[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion)
-
-[![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion)
-
-## Example
-
-```js
-var expand = require('brace-expansion');
-
-expand('file-{a,b,c}.jpg')
-// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
-
-expand('-v{,,}')
-// => ['-v', '-v', '-v']
-
-expand('file{0..2}.jpg')
-// => ['file0.jpg', 'file1.jpg', 'file2.jpg']
-
-expand('file-{a..c}.jpg')
-// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
-
-expand('file{2..0}.jpg')
-// => ['file2.jpg', 'file1.jpg', 'file0.jpg']
-
-expand('file{0..4..2}.jpg')
-// => ['file0.jpg', 'file2.jpg', 'file4.jpg']
-
-expand('file-{a..e..2}.jpg')
-// => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg']
-
-expand('file{00..10..5}.jpg')
-// => ['file00.jpg', 'file05.jpg', 'file10.jpg']
-
-expand('{{A..C},{a..c}}')
-// => ['A', 'B', 'C', 'a', 'b', 'c']
-
-expand('ppp{,config,oe{,conf}}')
-// => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf']
-```
-
-## API
-
-```js
-var expand = require('brace-expansion');
-```
-
-### var expanded = expand(str)
-
-Return an array of all possible and valid expansions of `str`. If none are
-found, `[str]` is returned.
-
-Valid expansions are:
-
-```js
-/^(.*,)+(.+)?$/
-// {a,b,...}
-```
-
-A comma seperated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`.
-
-```js
-/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
-// {x..y[..incr]}
-```
-
-A numeric sequence from `x` to `y` inclusive, with optional increment.
-If `x` or `y` start with a leading `0`, all the numbers will be padded
-to have equal length. Negative numbers and backwards iteration work too.
-
-```js
-/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
-// {x..y[..incr]}
-```
-
-An alphabetic sequence from `x` to `y` inclusive, with optional increment.
-`x` and `y` must be exactly one character, and if given, `incr` must be a
-number.
-
-For compatibility reasons, the string `${` is not eligible for brace expansion.
-
-## Installation
-
-With [npm](https://npmjs.org) do:
-
-```bash
-npm install brace-expansion
-```
-
-## Contributors
-
-- [Julian Gruber](https://github.com/juliangruber)
-- [Isaac Z. Schlueter](https://github.com/isaacs)
-
-## License
-
-(MIT)
-
-Copyright (c) 2013 Julian Gruber &lt;[email protected]&gt;
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.

+ 0 - 8
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js

@@ -1,8 +0,0 @@
-var expand = require('./');
-
-console.log(expand('http://any.org/archive{1996..1999}/vol{1..4}/part{a,b,c}.html'));
-console.log(expand('http://www.numericals.com/file{1..100..10}.txt'));
-console.log(expand('http://www.letters.com/file{a..z..2}.txt'));
-console.log(expand('mkdir /usr/local/src/bash/{old,new,dist,bugs}'));
-console.log(expand('chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}'));
-

+ 0 - 191
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js

@@ -1,191 +0,0 @@
-var concatMap = require('concat-map');
-var balanced = require('balanced-match');
-
-module.exports = expandTop;
-
-var escSlash = '\0SLASH'+Math.random()+'\0';
-var escOpen = '\0OPEN'+Math.random()+'\0';
-var escClose = '\0CLOSE'+Math.random()+'\0';
-var escComma = '\0COMMA'+Math.random()+'\0';
-var escPeriod = '\0PERIOD'+Math.random()+'\0';
-
-function numeric(str) {
-  return parseInt(str, 10) == str
-    ? parseInt(str, 10)
-    : str.charCodeAt(0);
-}
-
-function escapeBraces(str) {
-  return str.split('\\\\').join(escSlash)
-            .split('\\{').join(escOpen)
-            .split('\\}').join(escClose)
-            .split('\\,').join(escComma)
-            .split('\\.').join(escPeriod);
-}
-
-function unescapeBraces(str) {
-  return str.split(escSlash).join('\\')
-            .split(escOpen).join('{')
-            .split(escClose).join('}')
-            .split(escComma).join(',')
-            .split(escPeriod).join('.');
-}
-
-
-// Basically just str.split(","), but handling cases
-// where we have nested braced sections, which should be
-// treated as individual members, like {a,{b,c},d}
-function parseCommaParts(str) {
-  if (!str)
-    return [''];
-
-  var parts = [];
-  var m = balanced('{', '}', str);
-
-  if (!m)
-    return str.split(',');
-
-  var pre = m.pre;
-  var body = m.body;
-  var post = m.post;
-  var p = pre.split(',');
-
-  p[p.length-1] += '{' + body + '}';
-  var postParts = parseCommaParts(post);
-  if (post.length) {
-    p[p.length-1] += postParts.shift();
-    p.push.apply(p, postParts);
-  }
-
-  parts.push.apply(parts, p);
-
-  return parts;
-}
-
-function expandTop(str) {
-  if (!str)
-    return [];
-
-  return expand(escapeBraces(str), true).map(unescapeBraces);
-}
-
-function identity(e) {
-  return e;
-}
-
-function embrace(str) {
-  return '{' + str + '}';
-}
-function isPadded(el) {
-  return /^-?0\d/.test(el);
-}
-
-function lte(i, y) {
-  return i <= y;
-}
-function gte(i, y) {
-  return i >= y;
-}
-
-function expand(str, isTop) {
-  var expansions = [];
-
-  var m = balanced('{', '}', str);
-  if (!m || /\$$/.test(m.pre)) return [str];
-
-  var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
-  var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
-  var isSequence = isNumericSequence || isAlphaSequence;
-  var isOptions = /^(.*,)+(.+)?$/.test(m.body);
-  if (!isSequence && !isOptions) {
-    // {a},b}
-    if (m.post.match(/,.*}/)) {
-      str = m.pre + '{' + m.body + escClose + m.post;
-      return expand(str);
-    }
-    return [str];
-  }
-
-  var n;
-  if (isSequence) {
-    n = m.body.split(/\.\./);
-  } else {
-    n = parseCommaParts(m.body);
-    if (n.length === 1) {
-      // x{{a,b}}y ==> x{a}y x{b}y
-      n = expand(n[0], false).map(embrace);
-      if (n.length === 1) {
-        var post = m.post.length
-          ? expand(m.post, false)
-          : [''];
-        return post.map(function(p) {
-          return m.pre + n[0] + p;
-        });
-      }
-    }
-  }
-
-  // at this point, n is the parts, and we know it's not a comma set
-  // with a single entry.
-
-  // no need to expand pre, since it is guaranteed to be free of brace-sets
-  var pre = m.pre;
-  var post = m.post.length
-    ? expand(m.post, false)
-    : [''];
-
-  var N;
-
-  if (isSequence) {
-    var x = numeric(n[0]);
-    var y = numeric(n[1]);
-    var width = Math.max(n[0].length, n[1].length)
-    var incr = n.length == 3
-      ? Math.abs(numeric(n[2]))
-      : 1;
-    var test = lte;
-    var reverse = y < x;
-    if (reverse) {
-      incr *= -1;
-      test = gte;
-    }
-    var pad = n.some(isPadded);
-
-    N = [];
-
-    for (var i = x; test(i, y); i += incr) {
-      var c;
-      if (isAlphaSequence) {
-        c = String.fromCharCode(i);
-        if (c === '\\')
-          c = '';
-      } else {
-        c = String(i);
-        if (pad) {
-          var need = width - c.length;
-          if (need > 0) {
-            var z = new Array(need + 1).join('0');
-            if (i < 0)
-              c = '-' + z + c.slice(1);
-            else
-              c = z + c;
-          }
-        }
-      }
-      N.push(c);
-    }
-  } else {
-    N = concatMap(n, function(el) { return expand(el, false) });
-  }
-
-  for (var j = 0; j < N.length; j++) {
-    for (var k = 0; k < post.length; k++) {
-      var expansion = pre + N[j] + post[k];
-      if (!isTop || isSequence || expansion)
-        expansions.push(expansion);
-    }
-  }
-
-  return expansions;
-}
-

+ 0 - 2
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore

@@ -1,2 +0,0 @@
-node_modules
-.DS_Store

+ 0 - 4
Build/node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml

@@ -1,4 +0,0 @@
-language: node_js
-node_js:
-  - "0.8"
-  - "0.10"

Some files were not shown because too many files changed in this diff