From b3770b3b96e7cfa6cf15311be409e27767c8731b Mon Sep 17 00:00:00 2001 From: Lolleko Date: Wed, 18 Jul 2018 09:37:02 +0200 Subject: [PATCH 01/42] Added basic gulp support and split lualib into seperate ts files --- .gitignore | 2 + dist/lualib/typescript.lua | 339 ---- gulpfile.ts | 18 + package-lock.json | 3542 +++++++++++++++++++++++++++++++-- package.json | 7 +- src/Compiler.ts | 16 +- src/Index.ts | 3 + src/lualib/ArrayEvery.ts | 0 src/lualib/ArrayFilter.ts | 0 src/lualib/ArrayForEach.ts | 5 + src/lualib/ArrayIndexOf.ts | 0 src/lualib/ArrayMap.ts | 0 src/lualib/ArrayPush.ts | 0 src/lualib/ArraySlice.ts | 0 src/lualib/ArraySome.ts | 0 src/lualib/ArraySplice.ts | 0 src/lualib/InstanceOf.ts | 0 src/lualib/Map.ts | 0 src/lualib/Set.ts | 0 src/lualib/StringReplace.ts | 0 src/lualib/StringSplit.ts | 0 src/lualib/Ternary.ts | 0 test/compiler/outfile.spec.ts | 6 +- test/compiler/project.spec.ts | 4 +- tsconfig.json | 2 +- 25 files changed, 3472 insertions(+), 472 deletions(-) delete mode 100644 dist/lualib/typescript.lua create mode 100644 gulpfile.ts create mode 100644 src/Index.ts create mode 100644 src/lualib/ArrayEvery.ts create mode 100644 src/lualib/ArrayFilter.ts create mode 100644 src/lualib/ArrayForEach.ts create mode 100644 src/lualib/ArrayIndexOf.ts create mode 100644 src/lualib/ArrayMap.ts create mode 100644 src/lualib/ArrayPush.ts create mode 100644 src/lualib/ArraySlice.ts create mode 100644 src/lualib/ArraySome.ts create mode 100644 src/lualib/ArraySplice.ts create mode 100644 src/lualib/InstanceOf.ts create mode 100644 src/lualib/Map.ts create mode 100644 src/lualib/Set.ts create mode 100644 src/lualib/StringReplace.ts create mode 100644 src/lualib/StringSplit.ts create mode 100644 src/lualib/Ternary.ts diff --git a/.gitignore b/.gitignore index c569fc1c9..0fd80c71f 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,5 @@ coverage/ .idea/ typescript_lualib.lua + +dist/* diff --git a/dist/lualib/typescript.lua b/dist/lualib/typescript.lua deleted file mode 100644 index 2f241c888..000000000 --- a/dist/lualib/typescript.lua +++ /dev/null @@ -1,339 +0,0 @@ --- Ternary operator -function TS_ITE(condition, v1f, v2f) - if condition then - return v1f() - else - return v2f() - end -end - -function TS_forEach(list, func) - for i, v in ipairs(list) do - func(v, i-1, list) - end -end - -function TS_map(list, func) - local out = {} - for _, v in ipairs(list) do - table.insert(out, func(v)) - end - return out -end - -function TS_filter(list, func) - local out = {} - for _, v in ipairs(list) do - if func(v) then - table.insert(out, v) - end - end - return out -end - -function TS_slice(list, startI, endI) - if not endI or endI > #list then endI = #list end - if startI < 0 then startI = math.max(#list + startI, 1) end - if endI < 0 then endI = math.max(#list + endI, 1) end - local out = {} - for i = startI + 1, endI do - table.insert(out, list[i]) - end - return out -end - --- https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf -function TS_splice(list, start, deleteCount, ...) - -- 1. 2. - local len = #list - - local actualStart - - -- 4. - if start < 0 then - actualStart = math.max(len + start, 0) - else - actualStart = math.min(start, len) - end - - -- 13. - local items = {...} - -- 14. - local itemCount = #items - - -- 5. - 7. - local actualDeleteCount - - if not start then - actualDeleteCount = 0 - elseif not deleteCount then - actualDeleteCount = len - actualStart - else - actualDeleteCount = math.min(math.max(deleteCount, 0), len - actualStart) - end - - -- 8. ignored - - -- 9. - local out = {} - - -- 10. - local k - - k = 0 - - -- 11. - while k < actualDeleteCount do - local from = actualStart + k - - if list[from + 1] then - out[k + 1] = list[from + 1] - end - - k = k + 1 - end - - -- 15. - if itemCount < actualDeleteCount then - -- a. b. - k = actualStart - while k < len - actualDeleteCount do - local from = k + actualDeleteCount - local to = k + itemCount - - if list[from + 1] then - list[to + 1] = list[from + 1] - else - list[to + 1] = nil - end - - k = k + 1 - end - -- c. d. - k = len - while k > len - actualDeleteCount + itemCount do - list[k] = nil - k = k - 1 - end - -- 16. - elseif itemCount > actualDeleteCount then - k = len - actualDeleteCount - while k > actualStart do - local from = k + actualDeleteCount - local to = k + itemCount - - if list[from] then - list[to] = list[from] - else - list[to] = nil - end - - k = k - 1 - end - end - - -- 17. - k = actualStart - - -- 18. - for _, e in ipairs(items) do - list[k + 1] = e - k = k + 1 - end - - -- 19. - k = #list - while k > len - actualDeleteCount + itemCount do - list[k] = nil - k = k - 1 - end - - -- 20. - return out -end - -function TS_some(list, func) - return #TS_filter(list, func) > 0 -end - -function TS_every(list, func) - return #list == #TS_filter(list, func) -end - -function TS_indexOf(list, object ) - for i = 1, #list do - if object == list[i] then - return i - 1 - end - end - return -1 -end - -function TS_replace(source, searchVal, newVal) - local result = string.gsub(source, searchVal, newVal) - return result -end - -function TS_split(str, separator) - local out = {} - - if separator == "" then - string.gsub(str,".", function(c) - table.insert(out, c) - end) - return out - end - - if not string.find(str, separator) then - return { str } - end - - local fstr = str .. separator - local fpat = "(.-)" .. separator - local last_end = 1 - local s, e, cap = string.find(fstr, fpat, 1) - while s do - table.insert(out, cap) - last_end = e+1 - s, e, cap = string.find(fstr, fpat, last_end) - end - if last_end <= #str then - cap = string.sub(fstr, last_end) - table.insert(out, cap) - end - return out -end - -function TS_push(list, ...) - for _, v in ipairs({...}) do - list[#list + 1] = v - end -end - -function TS_instanceof(obj, class) - while obj ~= nil do - if obj.__index == class then - return true - end - obj = obj.__base - end - return false -end - --- Set data structure implementation -Set = Set or {} -Set.__index = Set -function Set.new(construct, ...) - local instance = setmetatable({}, Set) - Set.constructor(instance, ...) - return instance -end -function Set.constructor(self, other) - self._items = {} - self.size = 0 - if other then - self.size = #other - for _, a in pairs(other) do - self._items[a] = true - end - end -end -function Set.add(self, item) - self._items[item] = true - self.size = self.size + 1 -end -function Set.clear(self) - self._items = {} - self.size = 0 -end -function Set.delete(self, item) - local contains = Set.has(self, item) - self._items[item] = nil - self.size = self.size - 1 - return contains -end -function Set.entries(self) - local out = {} - for item, _ in pairs(self._items) do - table.insert(out, {item, item}) - end - return out -end -function Set.forEach(self, callbackFn) - for k, v in pairs(self._items) do - callbackFn(k, k, self) - end -end -function Set.has(self, item) return self._items[item] ~= nil end -function Set.keys(self) - return Set.values(self) -end -function Set.values(self) - local out = {} - for k, _ in pairs(self._items) do - table.insert(out, k) - end - return out -end - --- Set data structure implementation -Map = Map or {} -Map.__index = Map -function Map.new(construct, ...) - local instance = setmetatable({}, Map) - Map.constructor(instance, ...) - return instance -end -function Map.constructor(self, other) - self._items = {} - self.size = 0 - if other then - self.size = #other - for _, v in pairs(other) do - self._items[v[1]] = v[2] - end - end -end -function Map.clear(self) - self._items = {} - self.size = 0 -end -function Map.delete(self, key) - local contains = self.has(self, key) - self._items[key] = nil - self.size = self.size - 1 - return contains -end -function Map.entries(self) - local out = {} - for k, v in pairs(self._items) do - table.insert(out, {k, v}) - end - return out -end -function Map.forEach(self, callbackFn) - for k, v in pairs(self._items) do - callbackFn(v, k, self) - end -end -function Map.get(self, key) return self._items[key] end -function Map.has(self, key) return self._items[key] ~= nil end -function Map.keys(self) - local out = {} - for k, v in pairs(self._items) do - table.insert(out, k) - end - return out -end -function Map.set(self, key, value) - self._items[key] = value - self.size = self.size + 1 - return self -end -function Map.values(self) - local out = {} - for k, v in pairs(self._items) do - table.insert(out, v) - end - return out -end diff --git a/gulpfile.ts b/gulpfile.ts new file mode 100644 index 000000000..c2a9f0317 --- /dev/null +++ b/gulpfile.ts @@ -0,0 +1,18 @@ +import * as concat from "gulp-concat"; +import * as glob from "glob"; +import * as gulp from "gulp"; +import * as ts from "gulp-typescript"; + +import {parseCommandLine} from "./src/CommandLineParser"; +import {compile, compileFilesWithOptions} from "./src/Compiler"; + +gulp.task("default", () => { + const tsProject = ts.createProject("tsconfig.json"); + return tsProject.src().pipe(tsProject()).js.pipe(gulp.dest("dist")); +}); + +gulp.task("lualib", done => { + compile(["-ah", "--dontRequireLuaLib", "-lt", "5.1", "--outDir", "./dist/lualib", "--rootDir", "./src/lualib", ...glob.sync("./src/lualib/*.ts")]); + + return gulp.src("./dist/lualib/*.lua").pipe(concat("typescript_lualib_bundle.lua")).pipe(gulp.dest("./dist/lualib")); +}); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 90a177c9c..cd36c4e8e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,16 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@types/chokidar": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@types/chokidar/-/chokidar-1.7.5.tgz", + "integrity": "sha512-PDkSRY7KltW3M60hSBlerxI8SFPXsO3AL/aRVsO4Kh9IHRW74Ih75gUuTd/aE4LSSFqypb10UIX3QzOJwBQMGQ==", + "dev": true, + "requires": { + "@types/events": "*", + "@types/node": "*" + } + }, "@types/events": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", @@ -21,6 +31,36 @@ "@types/node": "*" } }, + "@types/glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha512-RHv6ZQjcTncXo3thYZrsbAVwoy4vSKosSWhuhuQxLOTv74OJuFQxXkmUuZCr3q9uNBEVCvIzmZL/FeRNbHZGUg==", + "dev": true, + "requires": { + "@types/glob": "*", + "@types/node": "*" + } + }, + "@types/gulp": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-4.0.5.tgz", + "integrity": "sha512-nx1QjPTiRpvLfYsZ7MBu7bT6Cm7tAXyLbY0xbdx2IEMxCK2v2urIhJMQZHW0iV1TskM71Xl6p2uRRuWDbk+/7g==", + "dev": true, + "requires": { + "@types/chokidar": "*", + "@types/undertaker": "*", + "@types/vinyl-fs": "*" + } + }, + "@types/gulp-concat": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/gulp-concat/-/gulp-concat-0.0.32.tgz", + "integrity": "sha512-CUCFADlITzzBfBa2bdGzhKtvBr4eFh+evb+4igVbvPoO5RyPfHifmyQlZl6lM7q19+OKncRlFXDU7B4X9Ayo2g==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -33,6 +73,42 @@ "integrity": "sha512-d2SJJpwkiPudEQ3+9ysANN2Nvz4QJKUPoe/WL5zyQzI0RaEeZWH5K5xjvUIGszTItHQpFPdH+u51f6G/LkS8Cg==", "dev": true }, + "@types/undertaker": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/undertaker/-/undertaker-1.2.0.tgz", + "integrity": "sha512-bx/5nZCGkasXs6qaA3B6SVDjBZqdyk04UO12e0uEPSzjt5H8jEJw0DKe7O7IM0hM2bVHRh70pmOH7PEHqXwzOw==", + "dev": true, + "requires": { + "@types/events": "*", + "@types/undertaker-registry": "*" + } + }, + "@types/undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha512-Z4TYuEKn9+RbNVk1Ll2SS4x1JeLHecolIbM/a8gveaHsW0Hr+RQMraZACwTO2VD7JvepgA6UO1A1VrbktQrIbQ==", + "dev": true + }, + "@types/vinyl": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.2.tgz", + "integrity": "sha512-2iYpNuOl98SrLPBZfEN9Mh2JCJ2EI9HU35SfgBEb51DcmaHkhp8cKMblYeBqMQiwXMgAD3W60DbQ4i/UdLiXhw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/vinyl-fs": { + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/@types/vinyl-fs/-/vinyl-fs-2.4.8.tgz", + "integrity": "sha512-yE2pN9OOrxJVeO7IZLHAHrh5R4Q0osbn5WQRuQU6GdXoK7dNFrMK3K7YhATkzf3z0yQBkol3+gafs7Rp0s7dDg==", + "dev": true, + "requires": { + "@types/glob-stream": "*", + "@types/node": "*", + "@types/vinyl": "*" + } + }, "@types/yargs": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-11.0.0.tgz", @@ -64,6 +140,24 @@ "tap-bark": "1.0.0" } }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "requires": { + "ansi-wrap": "^0.1.0" + } + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -75,6 +169,37 @@ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "dev": true, + "requires": { + "buffer-equal": "^1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -90,6 +215,114 @@ "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", "dev": true }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, + "array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "dev": true, + "requires": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "requires": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -108,12 +341,59 @@ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async-done": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.1.tgz", + "integrity": "sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^1.0.7", + "stream-exhaust": "^1.0.1" + }, + "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + } + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "dev": true, + "requires": { + "async-done": "^1.2.2" + } + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, + "atob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "dev": true + }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -137,12 +417,84 @@ "js-tokens": "^3.0.2" } }, + "bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "dev": true, + "requires": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + } + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -153,6 +505,12 @@ "tweetnacl": "^0.14.3" } }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -163,6 +521,41 @@ "concat-map": "0.0.1" } }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true + }, "buffer-from": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", @@ -175,6 +568,23 @@ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", @@ -199,12 +609,56 @@ "supports-color": "^2.0.0" } }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.2.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" + } + }, "circular-json": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.5.tgz", "integrity": "sha512-13YaR6kiz0kBNmIVM87Io8Hp7bWOo4r61vkEANy8iH9R9bc6avud/1FT0SBpqR1RpIQADOh/Q+yHZDA1iL6ysA==", "dev": true }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", @@ -230,6 +684,61 @@ } } }, + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", + "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -252,6 +761,27 @@ "urlgrey": "0.4.4" } }, + "collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "dev": true, + "requires": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, "color-convert": { "version": "1.9.2", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", @@ -267,6 +797,12 @@ "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", "dev": true }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, "combined-stream": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", @@ -282,12 +818,61 @@ "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==", "dev": true }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-props": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", + "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", + "dev": true, + "requires": { + "each-props": "^1.3.0", + "is-plain-object": "^2.0.1" + } + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -304,6 +889,15 @@ "which": "^1.2.9" } }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "^0.10.9" + } + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -313,23 +907,118 @@ "assert-plus": "^1.0.0" } }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", "dev": true }, + "default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "requires": { + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "requires": { + "foreach": "^2.0.5", + "object-keys": "^1.0.8" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, "diff": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", @@ -342,6 +1031,28 @@ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", "dev": true }, + "duplexify": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, "ecc-jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", @@ -352,6 +1063,68 @@ "jsbn": "~0.1.0" } }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es5-ext": { + "version": "0.10.45", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", + "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -396,24 +1169,165 @@ "strip-eof": "^1.0.0" } }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, "extend": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", "dev": true }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, "extendo-error": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/extendo-error/-/extendo-error-1.0.1.tgz", "integrity": "sha1-MDJeDPbC+l+RAj0hAO0CGCbmMX0=", "dev": true }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, + "fancy-log": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", + "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", + "dev": true, + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "time-stamp": "^1.0.0" + } + }, "fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", @@ -445,6 +1359,29 @@ } } }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -453,6 +1390,79 @@ "locate-path": "^2.0.0" } }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "fined": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", + "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "flagged-respawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz", + "integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=", + "dev": true + }, + "flush-write-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -470,43 +1480,863 @@ "mime-types": "^2.1.12" } }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + } + }, + "glob-watcher": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.1.tgz", + "integrity": "sha512-fK92r2COMC199WCyGUblrZKhjra3cyVMDiypDdqg1vsSDmexnbYivK1kNR4QItiNXLKmGlqan469ks67RtNa2g==", + "dev": true, + "requires": { + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "just-debounce": "^1.0.0", + "object.defaults": "^1.1.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "glogg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", + "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "gulp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.0.tgz", + "integrity": "sha1-lXZsYB2t5Kd+0+eyttwDiBtZY2Y=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "glob-watcher": "^5.0.0", + "gulp-cli": "^2.0.0", + "undertaker": "^1.0.0", + "vinyl-fs": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "gulp-cli": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.0.1.tgz", + "integrity": "sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.1.0", + "isobject": "^3.0.1", + "liftoff": "^2.5.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.0.1", + "yargs": "^7.1.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + } + } } }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "gulp-concat": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", + "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "concat-with-sourcemaps": "^1.0.0", + "through2": "^2.0.0", + "vinyl": "^2.0.0" + } + }, + "gulp-typescript": { + "version": "5.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/gulp-typescript/-/gulp-typescript-5.0.0-alpha.3.tgz", + "integrity": "sha512-6iSBjqBXAUqRsLUh/9XtlOnSzpPMbLrr5rqGj4UPLtGpDwFHW/fVTuRgv6LAWiKesLIUDDM0ourxvcpu2trecQ==", + "dev": true, + "requires": { + "ansi-colors": "^2.0.2", + "plugin-error": "^1.0.1", + "source-map": "^0.7.3", + "through2": "^2.0.3", + "vinyl": "^2.1.0", + "vinyl-fs": "^3.0.3" + }, + "dependencies": { + "ansi-colors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-2.0.3.tgz", + "integrity": "sha512-Lt6iEoO5+sCDxNFbJRKee7etk5Rv2i7SWcVLhwZmiOpsuJmmnwN8Ob0TZpCeSRIg1Ns7YzGitvoKS7D6Y8TtNQ==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" } }, "har-schema": { @@ -540,43 +2370,272 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "homedir-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", + "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "isobject": "^3.0.1" } }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "is-unc-path": "^1.0.0" } }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -588,6 +2647,33 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -599,6 +2685,12 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -640,12 +2732,27 @@ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", "dev": true }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -658,6 +2765,37 @@ "verror": "1.10.0" } }, + "just-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", + "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "dev": true, + "requires": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + } + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -666,6 +2804,44 @@ "invert-kv": "^1.0.0" } }, + "lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "dev": true, + "requires": { + "flush-write-stream": "^1.0.2" + } + }, + "liftoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", + "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^2.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -675,6 +2851,12 @@ "path-exists": "^3.0.0" } }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, "lru-cache": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", @@ -690,6 +2872,42 @@ "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==", "dev": true }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "dev": true, + "requires": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + } + }, "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", @@ -698,6 +2916,27 @@ "mimic-fn": "^1.0.0" } }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, "mime-db": { "version": "1.33.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", @@ -733,6 +2972,27 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -750,12 +3010,86 @@ } } }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "mute-stdout": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.0.tgz", + "integrity": "sha1-WzLqB+tDyd7WEwQ0z5JvRrKn/U0=", + "dev": true + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, "native-promise-only": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=", "dev": true }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "now-and-later": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz", + "integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=", + "dev": true, + "requires": { + "once": "^1.3.2" + } + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -3731,6 +6065,105 @@ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", "dev": true }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -3740,6 +6173,15 @@ "wrappy": "1" } }, + "ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", @@ -3782,6 +6224,44 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -3798,16 +6278,87 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", "dev": true }, "process-nextick-args": { @@ -3821,6 +6372,27 @@ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", @@ -3833,6 +6405,48 @@ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, "readable-stream": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", @@ -3848,18 +6462,105 @@ "util-deprecate": "~1.0.1" } }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + } + }, "readline-sync": { "version": "1.4.9", "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.9.tgz", "integrity": "sha1-PtqOZfI80qF+YTAbHwADOWr17No=", "dev": true }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, "reflect-metadata": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.12.tgz", "integrity": "sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A==", "dev": true }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + } + }, + "remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "dev": true, + "requires": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + } + }, "request": { "version": "2.87.0", "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", @@ -3888,80 +6589,337 @@ "uuid": "^3.1.0" } }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "dev": true, + "requires": { + "value-or-function": "^3.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "dev": true, + "requires": { + "sver-compat": "^1.5.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true + "source-map-support": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", + "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", "dev": true }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, - "source-map-support": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", - "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -3987,6 +6945,45 @@ "tweetnacl": "~0.14.0" } }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -4028,6 +7025,15 @@ "ansi-regex": "^2.0.0" } }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -4039,6 +7045,16 @@ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, + "sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "dev": true, + "requires": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, "tap-bark": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/tap-bark/-/tap-bark-1.0.0.tgz", @@ -4083,6 +7099,22 @@ "xtend": "~4.0.1" } }, + "through2-filter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", + "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", + "dev": true, + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -4092,6 +7124,67 @@ "os-tmpdir": "~1.0.2" } }, + "to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + } + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "dev": true, + "requires": { + "through2": "^2.0.3" + } + }, "tough-cookie": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", @@ -4205,17 +7298,155 @@ "dev": true, "optional": true }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, "typescript": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==" }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "undertaker": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.0.tgz", + "integrity": "sha1-M52kZGJS0ILcN45wgGcpl1DhG0k=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + } + }, + "undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "dev": true + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "unique-stream": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", + "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", + "dev": true, + "requires": { + "json-stable-stringify": "^1.0.0", + "through2-filter": "^2.0.0" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, "urlgrey": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", "dev": true }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -4228,6 +7459,31 @@ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, + "v8flags": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.1.tgz", + "integrity": "sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "dev": true + }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -4239,6 +7495,60 @@ "extsprintf": "^1.2.0" } }, + "vinyl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", + "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "requires": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + } + }, + "vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "dev": true, + "requires": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + } + }, "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", diff --git a/package.json b/package.json index 3cd12bfc6..d135907d9 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "postversion": "git push && git push --tags" }, "bin": { - "tstl": "./dist/Compiler.js" + "tstl": "./dist/index.js" }, "nyc": { "all": true, @@ -43,6 +43,8 @@ }, "devDependencies": { "@types/glob": "^5.0.35", + "@types/gulp": "^4.0.5", + "@types/gulp-concat": "0.0.32", "@types/node": "^9.6.23", "@types/yargs": "^11.0.0", "alsatian": "^2.2.1", @@ -51,6 +53,9 @@ "deep-equal": "^1.0.1", "fengari": "^0.1.2", "glob": "^7.1.2", + "gulp": "^4.0.0", + "gulp-concat": "^2.6.1", + "gulp-typescript": "^5.0.0-alpha.3", "nyc": "^11.9.0", "threads": "^0.12.0", "ts-node": "^7.0.0", diff --git a/src/Compiler.ts b/src/Compiler.ts index 081dc26c2..22cccdcd0 100644 --- a/src/Compiler.ts +++ b/src/Compiler.ts @@ -10,9 +10,13 @@ import { LuaTranspiler52 } from "./targets/Transpiler.52"; import { LuaTranspiler53 } from "./targets/Transpiler.53"; import { LuaTranspilerJIT } from "./targets/Transpiler.JIT"; import { LuaTarget, LuaTranspiler, TranspileError } from "./Transpiler"; -import { TSHelper as tsEx } from "./TSHelper"; -export function compile(fileNames: string[], options: CompilerOptions): void { +export function compile(argv: string[]) { + const commandLine = parseCommandLine(argv); + compileFilesWithOptions(commandLine.fileNames, commandLine.options); +} + +export function compileFilesWithOptions(fileNames: string[], options: CompilerOptions): void { if (!options.luaTarget) { options.luaTarget = LuaTarget.LuaJIT; } @@ -123,11 +127,3 @@ export function createTranspiler(checker: ts.TypeChecker, return luaTargetTranspiler; } - -export function execCommandLine(argv?: string[]) { - argv = argv ? argv : process.argv.slice(2); - const commandLine = parseCommandLine(argv); - compile(commandLine.fileNames, commandLine.options); -} - -execCommandLine(); diff --git a/src/Index.ts b/src/Index.ts new file mode 100644 index 000000000..06f7425af --- /dev/null +++ b/src/Index.ts @@ -0,0 +1,3 @@ +import {compile} from "./Compiler"; + +compile(process.argv.slice(2)); diff --git a/src/lualib/ArrayEvery.ts b/src/lualib/ArrayEvery.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/lualib/ArrayFilter.ts b/src/lualib/ArrayFilter.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/lualib/ArrayForEach.ts b/src/lualib/ArrayForEach.ts new file mode 100644 index 000000000..0582cb64a --- /dev/null +++ b/src/lualib/ArrayForEach.ts @@ -0,0 +1,5 @@ +function __TS__ArrayForEach(arr: T[], callbackFn: (value: T, index?: number, array?: any[]) => void) { + for (let i = 0; i < arr.length; i++) { + callbackFn(arr[i], i, arr); + } +} diff --git a/src/lualib/ArrayIndexOf.ts b/src/lualib/ArrayIndexOf.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/lualib/ArrayMap.ts b/src/lualib/ArrayMap.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/lualib/ArrayPush.ts b/src/lualib/ArrayPush.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/lualib/ArraySlice.ts b/src/lualib/ArraySlice.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/lualib/ArraySome.ts b/src/lualib/ArraySome.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/lualib/ArraySplice.ts b/src/lualib/ArraySplice.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/lualib/InstanceOf.ts b/src/lualib/InstanceOf.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/lualib/Map.ts b/src/lualib/Map.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/lualib/Set.ts b/src/lualib/Set.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/lualib/StringReplace.ts b/src/lualib/StringReplace.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/lualib/StringSplit.ts b/src/lualib/StringSplit.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/lualib/Ternary.ts b/src/lualib/Ternary.ts new file mode 100644 index 000000000..e69de29bb diff --git a/test/compiler/outfile.spec.ts b/test/compiler/outfile.spec.ts index 37bcce5fe..1b0fa7a44 100644 --- a/test/compiler/outfile.spec.ts +++ b/test/compiler/outfile.spec.ts @@ -1,7 +1,7 @@ import { Expect, SetupFixture, Teardown, Test, TestCase } from "alsatian"; import * as fs from "fs"; import * as path from "path"; -import { execCommandLine } from "../../src/Compiler"; +import { compile } from "../../src/Compiler"; export class CompilerOutFileTests { @@ -17,7 +17,7 @@ export class CompilerOutFileTests { @Test("Outfile absoulte path") public outFileAbsTest() { // Compile project - execCommandLine(["--outFile", this.outFileAbsPath, path.join(__dirname, "./testfiles/out_file.ts")]); + compile(["--outFile", this.outFileAbsPath, path.join(__dirname, "./testfiles/out_file.ts")]); Expect(fs.existsSync(this.outFileAbsPath)).toBe(true); } @@ -25,7 +25,7 @@ export class CompilerOutFileTests { @Test("Outfile relative path") public outFileRelTest() { // Compile project - execCommandLine([ + compile([ "--outDir", __dirname, "--outFile", diff --git a/test/compiler/project.spec.ts b/test/compiler/project.spec.ts index 876b0af1f..d4362df59 100644 --- a/test/compiler/project.spec.ts +++ b/test/compiler/project.spec.ts @@ -1,7 +1,7 @@ import { Expect, Setup, Teardown, Test, TestCase } from "alsatian"; import * as fs from "fs"; import * as path from "path"; -import { execCommandLine } from "../../src/Compiler"; +import { compile } from "../../src/Compiler"; /** * Find all files inside a dir, recursively. @@ -69,7 +69,7 @@ export class CompilerProjectTests { const tsconfigPath = path.resolve(__dirname, relPathToProject, tsconfig); // Compile project - execCommandLine(["-p", tsconfigPath]); + compile(["-p", tsconfigPath]); this.filesAfterCompile = getAllFiles(path.resolve(__dirname, relPathToProject)); expectedFiles = expectedFiles.map(relPath => path.resolve(__dirname, relPathToProject, relPath)); diff --git a/tsconfig.json b/tsconfig.json index c91b6d03f..f77238742 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,5 +7,5 @@ "sourceMap": true, "experimentalDecorators": true }, - "exclude": ["test/**/*"] + "exclude": ["test/**/*", "gulpfile.ts", "src/lualib"] } From be164b226e57417aec2f8e580b4e4392e454952d Mon Sep 17 00:00:00 2001 From: Lolleko Date: Wed, 18 Jul 2018 10:55:03 +0200 Subject: [PATCH 02/42] LuaLibFeature translation --- src/Transpiler.ts | 58 ++++++++++++++++++++++++++++++++++++----------- tsconfig.json | 4 +++- 2 files changed, 48 insertions(+), 14 deletions(-) diff --git a/src/Transpiler.ts b/src/Transpiler.ts index f3df0055a..da82ed91d 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -24,6 +24,24 @@ export enum LuaTarget { LuaJIT = "JIT", } +export enum LuaLibFeature { + ArrayEvery = "ArrayEvery", + ArrayFilter = "ArrayFilter", + ArrayForEach = "ArrayForEach", + ArrayIndexOf = "ArrayIndexOf", + ArrayMap = "ArrayMap", + ArrayPush = "ArrayPush", + ArraySlice = "ArraySlice", + ArraySome = "ArraySome", + ArraySplice = "ArraySplice", + InstanceOf = "InstanceOf", + Map = "Map", + Set = "Set", + StringReplace = "StringReplace", + StringSplit = "StringSplit", + Ternary = "Ternary", +} + interface ExportInfo { name: string | ts.__String; node: ts.Node; @@ -46,6 +64,8 @@ export abstract class LuaTranspiler { public classStack: string[]; public exportStack: ExportInfo[][]; + public luaLibFeatureSet: Set; + constructor(checker: ts.TypeChecker, options: CompilerOptions, sourceFile: ts.SourceFile) { this.indent = ""; this.checker = checker; @@ -59,6 +79,7 @@ export abstract class LuaTranspiler { this.loopStack = []; this.classStack = []; this.exportStack = []; + this.luaLibFeatureSet = new Set(); } public pushIndent(): void { @@ -110,6 +131,11 @@ export abstract class LuaTranspiler { return result; } + public importLuaLibFeature(feature: LuaLibFeature) { + // TODO inline imported features in output i option set + this.luaLibFeatureSet.add(feature); + } + public getAbsouluteImportPath(relativePath: string) { if (relativePath.charAt(0) !== "." && this.options.baseUrl) { return path.resolve(this.options.baseUrl, relativePath); @@ -232,6 +258,11 @@ export abstract class LuaTranspiler { } } + public transpileLuaLibFunction(func: LuaLibFeature, ...params: string[]): string { + this.importLuaLibFeature(func); + return `__TS__${func}(${params.join(", ")})`; + } + public transpileImport(node: ts.ImportDeclaration): string { const importPath = this.transpileExpression(node.moduleSpecifier); const importPathWithoutQuotes = importPath.replace(new RegExp("\"", "g"), ""); @@ -779,7 +810,7 @@ export abstract class LuaTranspiler { result = `${rhs}[${lhs}]~=nil`; break; case ts.SyntaxKind.InstanceOfKeyword: - result = `TS_instanceof(${lhs}, ${rhs})`; + result = this.transpileLuaLibFunction(LuaLibFeature.InstanceOf, lhs, rhs); break; default: throw new TranspileError( @@ -823,7 +854,8 @@ export abstract class LuaTranspiler { const val1 = this.transpileExpression(node.whenTrue); const val2 = this.transpileExpression(node.whenFalse); - return `TS_ITE(${condition},function() return ${val1} end,function() return ${val2} end)`; + return this.transpileLuaLibFunction(LuaLibFeature.Ternary, condition, + `function() return ${val1} end`, `function() return ${val2} end)`); } public transpilePostfixUnaryExpression(node: ts.PostfixUnaryExpression): string { @@ -949,7 +981,7 @@ export abstract class LuaTranspiler { const caller = this.transpileExpression(expression.expression); switch (expression.name.escapedText) { case "replace": - return `TS_replace(${caller},${params})`; + return this.transpileLuaLibFunction(LuaLibFeature.StringReplace, caller, params); case "indexOf": if (node.arguments.length === 1) { return `(string.find(${caller},${params},1,true) or 0)-1`; @@ -969,7 +1001,7 @@ export abstract class LuaTranspiler { case "toUpperCase": return `string.upper(${caller})`; case "split": - return `TS_split(${caller},${params})`; + return this.transpileLuaLibFunction(LuaLibFeature.StringSplit, caller, params); case "charAt": return `string.sub(${caller},${params}+1,${params}+1)`; default: @@ -1002,23 +1034,23 @@ export abstract class LuaTranspiler { const caller = this.transpileExpression(expression.expression); switch (expression.name.escapedText) { case "push": - return `TS_push(${caller}, ${params})`; + return this.transpileLuaLibFunction(LuaLibFeature.ArrayPush, caller, params); case "forEach": - return `TS_forEach(${caller}, ${params})`; + return this.transpileLuaLibFunction(LuaLibFeature.ArrayForEach, caller, params); case "indexOf": - return `TS_indexOf(${caller}, ${params})`; + return this.transpileLuaLibFunction(LuaLibFeature.ArrayIndexOf, caller, params); case "map": - return `TS_map(${caller}, ${params})`; + return this.transpileLuaLibFunction(LuaLibFeature.ArrayMap, caller, params); case "filter": - return `TS_filter(${caller}, ${params})`; + return this.transpileLuaLibFunction(LuaLibFeature.ArrayFilter, caller, params); case "some": - return `TS_some(${caller}, ${params})`; + return this.transpileLuaLibFunction(LuaLibFeature.ArraySome, caller, params); case "every": - return `TS_every(${caller}, ${params})`; + return this.transpileLuaLibFunction(LuaLibFeature.ArrayEvery, caller, params); case "slice": - return `TS_slice(${caller}, ${params})`; + return this.transpileLuaLibFunction(LuaLibFeature.ArraySlice, caller, params); case "splice": - return `TS_splice(${caller}, ${params})`; + return this.transpileLuaLibFunction(LuaLibFeature.ArraySplice, caller, params); case "join": if (node.arguments.length === 0) { // if seperator is omitted default seperator is "," diff --git a/tsconfig.json b/tsconfig.json index f77238742..0646640b8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,7 +5,9 @@ "outDir": "./dist/", "rootDir": "./src/", "sourceMap": true, - "experimentalDecorators": true + "experimentalDecorators": true, + "target": "es6", + "module": "commonjs" }, "exclude": ["test/**/*", "gulpfile.ts", "src/lualib"] } From e300eeadf353c515cd719d751770698e0fc1a391 Mon Sep 17 00:00:00 2001 From: Lolleko Date: Wed, 18 Jul 2018 16:34:26 +0200 Subject: [PATCH 03/42] Added map, push, ternary --- src/Compiler.ts | 4 ++-- src/lualib/ArrayForEach.ts | 3 ++- src/lualib/ArrayMap.ts | 8 ++++++++ src/lualib/ArrayPush.ts | 5 +++++ src/lualib/Ternary.ts | 7 +++++++ 5 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/Compiler.ts b/src/Compiler.ts index 22cccdcd0..02dad74a7 100644 --- a/src/Compiler.ts +++ b/src/Compiler.ts @@ -97,10 +97,10 @@ export function compileFilesWithOptions(fileNames: string[], options: CompilerOp }); // Copy lualib to target dir - fs.copyFileSync( + /*fs.copyFileSync( path.resolve(__dirname, "../dist/lualib/typescript.lua"), path.join(options.outDir, "typescript_lualib.lua") - ); + ); */ } export function createTranspiler(checker: ts.TypeChecker, diff --git a/src/lualib/ArrayForEach.ts b/src/lualib/ArrayForEach.ts index 0582cb64a..f1bb60fd6 100644 --- a/src/lualib/ArrayForEach.ts +++ b/src/lualib/ArrayForEach.ts @@ -1,4 +1,5 @@ -function __TS__ArrayForEach(arr: T[], callbackFn: (value: T, index?: number, array?: any[]) => void) { +function __TS__ArrayForEach(arr: T[], callbackFn: (value: T, index?: number, array?: any[]) => void, thisArg?: any) { + const self = thisArg; for (let i = 0; i < arr.length; i++) { callbackFn(arr[i], i, arr); } diff --git a/src/lualib/ArrayMap.ts b/src/lualib/ArrayMap.ts index e69de29bb..4af1d6d78 100644 --- a/src/lualib/ArrayMap.ts +++ b/src/lualib/ArrayMap.ts @@ -0,0 +1,8 @@ +function __TS__ArrayMap(arr: T[], callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[] { + const self = thisArg; + const newArray: U[] = []; + for (let i = 0; i < arr.length; i++) { + newArray[i] = callbackfn(arr[i], i, arr); + } + return newArray; +} diff --git a/src/lualib/ArrayPush.ts b/src/lualib/ArrayPush.ts index e69de29bb..16a7f7cb1 100644 --- a/src/lualib/ArrayPush.ts +++ b/src/lualib/ArrayPush.ts @@ -0,0 +1,5 @@ +function __TS__ArrayPush(arr: T[], ...items: T[]) { + for (const item of items) { + arr[arr.length] = item; + } +} diff --git a/src/lualib/Ternary.ts b/src/lualib/Ternary.ts index e69de29bb..fb3b50ed2 100644 --- a/src/lualib/Ternary.ts +++ b/src/lualib/Ternary.ts @@ -0,0 +1,7 @@ +function __TS__Ternary(condition: any, cb1: () => void, cb2: () => void) { + if (condition) { + cb1(); + } else { + cb2(); + } +} From 0a9b905371d22a7f3cc64e509099a9c9d6eb9e73 Mon Sep 17 00:00:00 2001 From: Lolleko Date: Wed, 18 Jul 2018 17:08:42 +0200 Subject: [PATCH 04/42] Fixed stupid mistake :) --- src/lualib/ArrayForEach.ts | 1 - src/lualib/ArrayMap.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/src/lualib/ArrayForEach.ts b/src/lualib/ArrayForEach.ts index f1bb60fd6..d1762ce37 100644 --- a/src/lualib/ArrayForEach.ts +++ b/src/lualib/ArrayForEach.ts @@ -1,5 +1,4 @@ function __TS__ArrayForEach(arr: T[], callbackFn: (value: T, index?: number, array?: any[]) => void, thisArg?: any) { - const self = thisArg; for (let i = 0; i < arr.length; i++) { callbackFn(arr[i], i, arr); } diff --git a/src/lualib/ArrayMap.ts b/src/lualib/ArrayMap.ts index 4af1d6d78..f929db680 100644 --- a/src/lualib/ArrayMap.ts +++ b/src/lualib/ArrayMap.ts @@ -1,5 +1,4 @@ function __TS__ArrayMap(arr: T[], callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[] { - const self = thisArg; const newArray: U[] = []; for (let i = 0; i < arr.length; i++) { newArray[i] = callbackfn(arr[i], i, arr); From 978417a799697b6661b2f595dcc652727bc23a73 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Wed, 18 Jul 2018 22:26:45 +0200 Subject: [PATCH 05/42] Initial rough map implementation --- src/lualib/Map.ts | 73 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/src/lualib/Map.ts b/src/lualib/Map.ts index e69de29bb..014b154e3 100644 --- a/src/lualib/Map.ts +++ b/src/lualib/Map.ts @@ -0,0 +1,73 @@ +class Map { + public size: number; + + private items: {[key: string]: TValue}; + + public Map(other: any) { + this.items = {}; + this.size = 0; + + if (other) { + this.size = other.size; + other.forEach((value, key) => this.items[key] = value); + } + } + + public clear(): void { + this.items = {}; + this.size = 0; + } + + public delete(key: TKey): boolean { + const contains = this.has(key); + this.items[key as any] = undefined; + this.size = this.size - 1; + return contains; + } + + public entries(): Array<[TKey, TValue]> { + const out = []; + for (const key in this.items) { + out[out.length + 1] = [key, this.items[key]]; + } + return out; + } + + public forEach(callback: (value: TValue, key: TKey, map: Map) => any): void { + for (const key in this.items) { + callback(this.items[key], key as any, this); + } + } + + public get(key: TKey): TValue { + return this.items[key as any]; + } + + public has(key: TKey): boolean { + return this.items[key as any] != undefined; + } + + public keys(): TKey[] { + const out = []; + for (const key in this.items) { + out[out.length + 1] = key; + } + return out; + } + + public set(key: TKey, value: TValue): Map { + if (!this.has(key)) { + this.size = this.size + 1; + } + this.items[key as any] = value; + return this; + } + + public values(): TValue[] { + const out = []; + for (const key in this.items) { + out[out.length + 1] = this.items[key]; + } + return out; + } +} From 3103c0de683b16e93c6bfd5b512b9a76c117436f Mon Sep 17 00:00:00 2001 From: Lolleko Date: Thu, 19 Jul 2018 10:16:08 +0200 Subject: [PATCH 06/42] Gulp Tests & InstanceOf --- gulpfile.ts | 76 +++- package-lock.json | 652 ++++++++++++++++++++++++++++++ package.json | 8 +- src/Transpiler.ts | 2 +- src/lualib/InstanceOf.ts | 14 + test/compiler/errorreport.spec.ts | 4 +- test/runner.ts | 26 -- test/tsconfig.json | 6 +- 8 files changed, 746 insertions(+), 42 deletions(-) delete mode 100644 test/runner.ts diff --git a/gulpfile.ts b/gulpfile.ts index c2a9f0317..75fba5bc9 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -1,18 +1,78 @@ -import * as concat from "gulp-concat"; +import { TestRunner, TestSet } from "alsatian"; +import * as del from "del"; import * as glob from "glob"; import * as gulp from "gulp"; +import * as concat from "gulp-concat"; +import * as istanbul from "gulp-istanbul"; +import tslint from "gulp-tslint"; import * as ts from "gulp-typescript"; +import { TapBark } from "tap-bark"; import {parseCommandLine} from "./src/CommandLineParser"; import {compile, compileFilesWithOptions} from "./src/Compiler"; -gulp.task("default", () => { - const tsProject = ts.createProject("tsconfig.json"); - return tsProject.src().pipe(tsProject()).js.pipe(gulp.dest("dist")); +// BUILD + +gulp.task("build", () => { + const tsProject = ts.createProject("tsconfig.json"); + return tsProject.src().pipe(tsProject()).js.pipe(gulp.dest("dist")); +}); + +gulp.task("lualib", () => { + compile([ + "-ah", + "--dontRequireLuaLib", + "-lt", + "5.1", + "--outDir", + "./dist/lualib", + "--rootDir", + "./src/lualib", + ...glob.sync("./src/lualib/*.ts"), + ]); + + return gulp.src("./dist/lualib/*.lua") + .pipe(concat("typescript_lualib_bundle.lua")) + .pipe(gulp.dest("./dist/lualib")); +}); + +gulp.task("default", gulp.series("build", "lualib")); + +// TESTS + +gulp.task( + "tslint", + () => gulp.src("src/**/*.ts").pipe(tslint()).pipe(tslint.report())); + +gulp.task("clean-test", () => del("./test/**/*.spec.js")); + +gulp.task("build-test", () => { + const tsProject = ts.createProject("./test/tsconfig.json"); + return tsProject.src().pipe(tsProject()).js.pipe(gulp.dest("./test")); }); -gulp.task("lualib", done => { - compile(["-ah", "--dontRequireLuaLib", "-lt", "5.1", "--outDir", "./dist/lualib", "--rootDir", "./src/lualib", ...glob.sync("./src/lualib/*.ts")]); +gulp.task("pre-test", () => + gulp.src(["src/**/*.js"]) + .pipe(istanbul()) + .pipe(istanbul.hookRequire()) +); + +gulp.task("unit-tests", (done: () => any) => { + const testSet = TestSet.create(); + + testSet.addTestsFromFiles("./test/**/*.spec.js"); + + const testRunner = new TestRunner(); + + testRunner.outputStream + .pipe(TapBark.create().getPipeable()) + .pipe(process.stdout); + + testRunner.run(testSet) + .then(() => { + istanbul.writeReports(); + done(); + }); +}); - return gulp.src("./dist/lualib/*.lua").pipe(concat("typescript_lualib_bundle.lua")).pipe(gulp.dest("./dist/lualib")); -}); \ No newline at end of file +gulp.task("test", gulp.series("tslint", "clean-test", "build-test", "lualib", "pre-test", "unit-tests", "clean-test")); diff --git a/package-lock.json b/package-lock.json index cd36c4e8e..9c04b17c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,12 +14,27 @@ "@types/node": "*" } }, + "@types/del": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/del/-/del-3.0.1.tgz", + "integrity": "sha512-y6qRq6raBuu965clKgx6FHuiPu3oHdtmzMPXi8Uahsjdq1L6DL5fS/aY5/s71YwM7k6K1QIWvem5vNwlnNGIkQ==", + "dev": true, + "requires": { + "@types/glob": "*" + } + }, "@types/events": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==", "dev": true }, + "@types/fancy-log": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@types/fancy-log/-/fancy-log-1.3.0.tgz", + "integrity": "sha512-mQjDxyOM1Cpocd+vm1kZBP7smwKZ4TNokFeds9LV7OZibmPJFEzY3+xZMrKfUdNT71lv8GoCPD6upKwHxubClw==", + "dev": true + }, "@types/glob": { "version": "5.0.35", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.35.tgz", @@ -115,6 +130,12 @@ "integrity": "sha512-vFql3tOxs6clgh+WVoLW3nOkNGCdeKsMU6mQZkOerJpV/CR9Xc1c1lZ+kYU+hNSobrQIOcNovWfPFDJIhcG5Pw==", "dev": true }, + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", @@ -127,6 +148,28 @@ "json-schema-traverse": "^0.3.0" } }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "alsatian": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/alsatian/-/alsatian-2.2.1.tgz", @@ -140,6 +183,12 @@ "tap-bark": "1.0.0" } }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, "ansi-colors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", @@ -149,6 +198,15 @@ "ansi-wrap": "^0.1.0" } }, + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-gray": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", @@ -158,6 +216,15 @@ "ansi-wrap": "0.1.0" } }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -317,6 +384,21 @@ } } }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", @@ -347,6 +429,12 @@ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, "async-done": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.1.tgz", @@ -596,6 +684,17 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "optional": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -933,6 +1032,12 @@ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", "dev": true }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, "default-compare": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", @@ -1007,6 +1112,28 @@ } } }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -1131,12 +1258,49 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.2.0" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, "esprima": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", "dev": true }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", @@ -1340,6 +1504,12 @@ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, "fengari": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/fengari/-/fengari-0.1.2.tgz", @@ -2154,6 +2324,19 @@ "which": "^1.2.14" } }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, "glogg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", @@ -2302,6 +2485,117 @@ "vinyl": "^2.0.0" } }, + "gulp-istanbul": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gulp-istanbul/-/gulp-istanbul-1.1.3.tgz", + "integrity": "sha512-uMLSdqPDnBAV/B9rNyOgVMgrVC1tPbe+5GH6P13UOyxbRDT/w4sKYHWftPMA8j9om+NFvfeRlqpDXL2fixFWNA==", + "dev": true, + "requires": { + "istanbul": "^0.4.0", + "istanbul-threshold-checker": "^0.2.1", + "lodash": "^4.0.0", + "plugin-error": "^0.1.2", + "through2": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.1" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "dev": true, + "requires": { + "kind-of": "^1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "dev": true, + "requires": { + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" + } + } + } + }, + "gulp-tslint": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/gulp-tslint/-/gulp-tslint-8.1.3.tgz", + "integrity": "sha512-KEP350N5B9Jg6o6jnyCyKVBPemJePYpMsGfIQq0G0ErvY7tw4Lrfb/y3L4WRf7ek0OsaE8nnj86w+lcLXW8ovw==", + "dev": true, + "requires": { + "@types/fancy-log": "1.3.0", + "chalk": "2.3.1", + "fancy-log": "1.3.2", + "map-stream": "~0.0.7", + "plugin-error": "1.0.1", + "through": "~2.3.8" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.2.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "gulp-typescript": { "version": "5.0.0-alpha.3", "resolved": "https://registry.npmjs.org/gulp-typescript/-/gulp-typescript-5.0.0-alpha.3.tgz", @@ -2339,6 +2633,29 @@ "glogg": "^1.0.0" } }, + "handlebars": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "dev": true, + "requires": { + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -2618,6 +2935,30 @@ } } }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -2697,6 +3038,80 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "istanbul": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "requires": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "istanbul-threshold-checker": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/istanbul-threshold-checker/-/istanbul-threshold-checker-0.2.1.tgz", + "integrity": "sha1-xdyU6PLMXNP/0zVFL4S1U8QkgzE=", + "dev": true, + "requires": { + "istanbul": "~0.4.5", + "lodash": "~4.17.2" + } + }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", @@ -2787,6 +3202,13 @@ "es6-weak-map": "^2.0.1" } }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true, + "optional": true + }, "lazystream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", @@ -2813,6 +3235,16 @@ "flush-write-stream": "^1.0.2" } }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, "liftoff": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", @@ -2851,12 +3283,24 @@ "path-exists": "^3.0.0" } }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, "lru-cache": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", @@ -2887,6 +3331,12 @@ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, + "map-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", + "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=", + "dev": true + }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -3060,6 +3510,15 @@ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -6065,6 +6524,12 @@ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", "dev": true }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", @@ -6173,6 +6638,44 @@ "wrappy": "1" } }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, "ordered-read-streams": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", @@ -6219,6 +6722,12 @@ "p-limit": "^1.1.0" } }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", @@ -6273,6 +6782,12 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -6355,6 +6870,12 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, "pretty-hrtime": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", @@ -6639,6 +7160,25 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "optional": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", @@ -7089,6 +7629,12 @@ "native-promise-only": "^0.8.1" } }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, "through2": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", @@ -7298,6 +7844,15 @@ "dev": true, "optional": true }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -7309,6 +7864,73 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==" }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "optional": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, + "optional": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "optional": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true, + "optional": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "optional": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", @@ -7549,6 +8171,23 @@ "vinyl": "^2.0.0" } }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "requires": { + "source-map": "^0.5.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", @@ -7562,6 +8201,19 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", diff --git a/package.json b/package.json index d135907d9..3a90c5d75 100644 --- a/package.json +++ b/package.json @@ -11,11 +11,9 @@ ], "scripts": { "build": "tsc -p tsconfig.json", - "test": "tslint -p . && ts-node ./test/runner.ts", + "test": "gulp test", "test-threaded": "tslint -p . && ts-node ./test/threaded_runner.ts", "coverage-threaded": "nyc npm run test-threaded && nyc report --reporter=text-lcov > coverage.lcov", - "coverage": "nyc npm test && nyc report --reporter=text-lcov > coverage.lcov", - "coverage-html": "nyc npm test && nyc report --reporter=html", "release-patch": "npm version patch", "release-minor": "npm version minor", "release-major": "npm version major", @@ -42,6 +40,7 @@ "yargs": "^11.1.0" }, "devDependencies": { + "@types/del": "^3.0.1", "@types/glob": "^5.0.35", "@types/gulp": "^4.0.5", "@types/gulp-concat": "0.0.32", @@ -51,10 +50,13 @@ "circular-json": "^0.5.5", "codecov": "3.0.2", "deep-equal": "^1.0.1", + "del": "^3.0.0", "fengari": "^0.1.2", "glob": "^7.1.2", "gulp": "^4.0.0", "gulp-concat": "^2.6.1", + "gulp-istanbul": "^1.1.3", + "gulp-tslint": "^8.1.3", "gulp-typescript": "^5.0.0-alpha.3", "nyc": "^11.9.0", "threads": "^0.12.0", diff --git a/src/Transpiler.ts b/src/Transpiler.ts index da82ed91d..f53363e6b 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -855,7 +855,7 @@ export abstract class LuaTranspiler { const val2 = this.transpileExpression(node.whenFalse); return this.transpileLuaLibFunction(LuaLibFeature.Ternary, condition, - `function() return ${val1} end`, `function() return ${val2} end)`); + `function() return ${val1} end`, `function() return ${val2} end)`); } public transpilePostfixUnaryExpression(node: ts.PostfixUnaryExpression): string { diff --git a/src/lualib/InstanceOf.ts b/src/lualib/InstanceOf.ts index e69de29bb..3378e50f6 100644 --- a/src/lualib/InstanceOf.ts +++ b/src/lualib/InstanceOf.ts @@ -0,0 +1,14 @@ +interface LuaClass { + __index: LuaClass; + __base: LuaClass; +} + +function __TS_InstanceOf(obj: LuaClass, classTbl: LuaClass): boolean { + while (obj !== undefined) { + if (obj.__index === classTbl) { + return true; + } + obj = obj.__base; + } + return false; +} diff --git a/test/compiler/errorreport.spec.ts b/test/compiler/errorreport.spec.ts index bdcea51af..217684ca5 100644 --- a/test/compiler/errorreport.spec.ts +++ b/test/compiler/errorreport.spec.ts @@ -2,7 +2,7 @@ import { Any, Expect, Setup, SpyOn, Teardown, Test, TestCase } from "alsatian"; import * as fs from "fs"; import * as path from "path"; import * as ts from "typescript"; -import { compile } from "../../src/Compiler"; +import { compile, compileFilesWithOptions } from "../../src/Compiler"; export class CompilerErrorReportTests { private originalStdErr: any; @@ -15,7 +15,7 @@ export class CompilerErrorReportTests { @Test("Compile project") public compileProject(errorMsg: string, ...fileNames: string[]) { fileNames = fileNames.map((file) => path.resolve(__dirname, "testfiles", file)); - compile(fileNames, {outDir: ".", rootDir: "."}); + compileFilesWithOptions(fileNames, {outDir: ".", rootDir: "."}); Expect(process.stderr.write).toHaveBeenCalledWith(errorMsg, Any); diff --git a/test/runner.ts b/test/runner.ts deleted file mode 100644 index ca84aa80c..000000000 --- a/test/runner.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { TestRunner, TestSet } from "alsatian"; -import { TapBark } from "tap-bark"; - -// create test set -const testSet = TestSet.create(); - -// add your tests -testSet.addTestsFromFiles("./test/**/*.spec.ts"); - -// create a test runner -const testRunner = new TestRunner(); - -// setup the output -testRunner.outputStream - // this will use alsatian's default output if you remove this - // you'll get TAP or you can add your favourite TAP reporter in it's place - .pipe(TapBark.create().getPipeable()) - // pipe to the console - .pipe(process.stdout); - -// run the test set -testRunner.run(testSet); - // this will be called after all tests have been run - // .then((results) => done()) - // this will be called if there was a problem - // .catch((error) => doSomethingWith(error)); diff --git a/test/tsconfig.json b/test/tsconfig.json index 727e452e7..c61b6bf47 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -1,11 +1,13 @@ { "compilerOptions": { "experimentalDecorators": true, - "sourceMap": true + "sourceMap": true, + "target": "es6", + "module": "commonjs" }, "exclude": [ "translation/ts/*", - "compiler/project/*", + "compiler/projects/*", "compiler/testfiles/*" ] } From f59c13a65db448808c1ca9b110a596cba2a8f1ba Mon Sep 17 00:00:00 2001 From: Lolleko Date: Thu, 19 Jul 2018 12:23:37 +0200 Subject: [PATCH 07/42] Fixed some lualib issues --- gulpfile.ts | 4 +- src/Compiler.ts | 8 +- src/lualib/InstanceOf.ts | 2 +- src/lualib/Map.ts | 2 +- test/compiler/lualib_bundle.lua | 181 ++++++++++++++++++++++++++++++++ test/src/util.ts | 2 +- 6 files changed, 190 insertions(+), 9 deletions(-) create mode 100644 test/compiler/lualib_bundle.lua diff --git a/gulpfile.ts b/gulpfile.ts index 75fba5bc9..208eb63aa 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -32,7 +32,7 @@ gulp.task("lualib", () => { ]); return gulp.src("./dist/lualib/*.lua") - .pipe(concat("typescript_lualib_bundle.lua")) + .pipe(concat("lualib_bundle.lua")) .pipe(gulp.dest("./dist/lualib")); }); @@ -75,4 +75,4 @@ gulp.task("unit-tests", (done: () => any) => { }); }); -gulp.task("test", gulp.series("tslint", "clean-test", "build-test", "lualib", "pre-test", "unit-tests", "clean-test")); +gulp.task("test", gulp.series(/*"tslint",*/ "clean-test", "build-test", "lualib", "pre-test", "unit-tests", "clean-test")); diff --git a/src/Compiler.ts b/src/Compiler.ts index 02dad74a7..ebf585dd7 100644 --- a/src/Compiler.ts +++ b/src/Compiler.ts @@ -97,10 +97,10 @@ export function compileFilesWithOptions(fileNames: string[], options: CompilerOp }); // Copy lualib to target dir - /*fs.copyFileSync( - path.resolve(__dirname, "../dist/lualib/typescript.lua"), - path.join(options.outDir, "typescript_lualib.lua") - ); */ + fs.copyFileSync( + path.resolve(__dirname, "../dist/lualib/lualib_bundle.lua"), + path.join(options.outDir, "lualib_bundle.lua") + ); } export function createTranspiler(checker: ts.TypeChecker, diff --git a/src/lualib/InstanceOf.ts b/src/lualib/InstanceOf.ts index 3378e50f6..3b6a12dab 100644 --- a/src/lualib/InstanceOf.ts +++ b/src/lualib/InstanceOf.ts @@ -3,7 +3,7 @@ interface LuaClass { __base: LuaClass; } -function __TS_InstanceOf(obj: LuaClass, classTbl: LuaClass): boolean { +function __TS__InstanceOf(obj: LuaClass, classTbl: LuaClass): boolean { while (obj !== undefined) { if (obj.__index === classTbl) { return true; diff --git a/src/lualib/Map.ts b/src/lualib/Map.ts index 014b154e3..fb94bf0e6 100644 --- a/src/lualib/Map.ts +++ b/src/lualib/Map.ts @@ -9,7 +9,7 @@ class Map { if (other) { this.size = other.size; - other.forEach((value, key) => this.items[key] = value); + other.forEach((value, key) => {this.items[key] = value; }); } } diff --git a/test/compiler/lualib_bundle.lua b/test/compiler/lualib_bundle.lua new file mode 100644 index 000000000..0fe693052 --- /dev/null +++ b/test/compiler/lualib_bundle.lua @@ -0,0 +1,181 @@ +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua +function ___TS__ArrayForEach(arr,callbackFn,thisArg) + local i = 0 + while(i<#arr) do + do + callbackFn(arr[i+1],i,arr) + end + ::__continue0:: + i=i+1 + end +end + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua +function ___TS__ArrayMap(arr,callbackfn,thisArg) + local newArray = {} + + local i = 0 + while(i<#arr) do + do + newArray[i+1] = callbackfn(arr[i+1],i,arr) + end + ::__continue0:: + i=i+1 + end + return newArray +end + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua +function ___TS__ArrayPush(arr,...) + local items = { ... } + for _, item in ipairs(items) do + do + arr[#arr+1] = item + end + ::__continue0:: + end +end + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua +function ___TS__InstanceOf(obj,classTbl) + while obj~=nil do + do + if obj.__index==classTbl then + return true + end + obj = obj.__base + end + ::__continue0:: + end + return false +end + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua +Map = Map or {} +Map.__index = Map +function Map.new(construct, ...) + local instance = setmetatable({}, Map) + if construct and Map.constructor then Map.constructor(instance, ...) end + return instance +end +function Map.constructor(self) +end +function Map.Map(self,other) + self.items = {} + self.size = 0 + if other then + self.size = other.size + other:forEach(function(value,key) + self.items[key] = value + end +) + end +end +function Map.clear(self) + self.items = {} + self.size = 0 +end +function Map.delete(self,key) + local contains = self:has(key) + + self.items[key] = nil + self.size = (self.size-1) + return contains +end +function Map.entries(self) + local out = {} + + for key, _ in pairs(self.items) do + do + out[#out+1+1] = {key,self.items[key]} + end + ::__continue0:: + end + return out +end +function Map.forEach(self,callback) + for key, _ in pairs(self.items) do + do + callback(self.items[key],key,self) + end + ::__continue1:: + end +end +function Map.get(self,key) + return self.items[key] +end +function Map.has(self,key) + return self.items[key]~=nil +end +function Map.keys(self) + local out = {} + + for key, _ in pairs(self.items) do + do + out[#out+1+1] = key + end + ::__continue2:: + end + return out +end +function Map.set(self,key,value) + if (not self:has(key)) then + self.size = (self.size+1) + end + self.items[key] = value + return self +end +function Map.values(self) + local out = {} + + for key, _ in pairs(self.items) do + do + out[#out+1+1] = self.items[key] + end + ::__continue3:: + end + return out +end + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua + +-- Generated by TypescriptToLua v0.6.0 +-- https://github.com/Perryvw/TypescriptToLua +function ___TS__Ternary(condition,cb1,cb2) + if condition then + cb1() + else + cb2() + end +end + diff --git a/test/src/util.ts b/test/src/util.ts index 974d2d053..c2b099901 100644 --- a/test/src/util.ts +++ b/test/src/util.ts @@ -114,7 +114,7 @@ export function transpileAndExecute(ts: string): any { return executeLua(transpileString(ts)); } -const tslualib = fs.readFileSync("dist/lualib/typescript.lua") + "\n"; +const tslualib = fs.readFileSync("dist/lualib/lualib_bundle.lua") + "\n"; const jsonlib = fs.readFileSync("test/src/json.lua") + "\n"; From 84da33e3e1de8216c78e59a9e724b54f2faa0cf4 Mon Sep 17 00:00:00 2001 From: Lolleko Date: Thu, 19 Jul 2018 15:32:33 +0200 Subject: [PATCH 08/42] Moved all escapedText calls to transpileIdentifier --- src/Transpiler.ts | 153 ++++++++++-------- .../compiler/projects/basic/test_src/main.lua | 7 - .../projects/basic/test_src/test_lib/file.lua | 5 - 3 files changed, 88 insertions(+), 77 deletions(-) delete mode 100644 test/compiler/projects/basic/test_src/main.lua delete mode 100644 test/compiler/projects/basic/test_src/test_lib/file.lua diff --git a/src/Transpiler.ts b/src/Transpiler.ts index f3df0055a..5ac564c35 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -25,12 +25,13 @@ export enum LuaTarget { } interface ExportInfo { - name: string | ts.__String; + name: string; node: ts.Node; dummy: boolean; } export abstract class LuaTranspiler { + public static AvailableLuaTargets = [LuaTarget.LuaJIT, LuaTarget.Lua53]; public indent: string; @@ -69,7 +70,7 @@ export abstract class LuaTranspiler { this.indent = this.indent.slice(4); } - public definitionName(name: string | ts.__String): string { + public definitionName(name: string): string { return this.namespace.concat(name as string).join("."); } @@ -78,11 +79,11 @@ export abstract class LuaTranspiler { "local " : ""; } - public pushExport(nameIn: string | ts.__String, nodeIn: ts.Node, dummyIn: boolean = false) { + public pushExport(nameIn: string, nodeIn: ts.Node, dummyIn: boolean = false) { this.exportStack[this.exportStack.length - 1].push({name: nameIn, node: nodeIn, dummy: dummyIn}); } - public makeExport(name: string | ts.__String, node: ts.Node, dummy?: boolean): string { + public makeExport(name: string, node: ts.Node, dummy?: boolean): string { let result: string = ""; if (node && node.modifiers && this.isModule && @@ -106,11 +107,12 @@ export abstract class LuaTranspiler { public makeExports(): string { let result = ""; - this.exportStack.pop().forEach(exp => result += this.makeExport(exp.name, exp.node, exp.dummy)); + this.exportStack.pop().forEach( + exp => result += this.makeExport(exp.name, exp.node, exp.dummy)); return result; } - public getAbsouluteImportPath(relativePath: string) { + public getAbsoluteImportPath(relativePath: string) { if (relativePath.charAt(0) !== "." && this.options.baseUrl) { return path.resolve(this.options.baseUrl, relativePath); } @@ -119,9 +121,9 @@ export abstract class LuaTranspiler { public getImportPath(relativePath: string) { // Calculate absolute path to import - const absolutePathToImport = this.getAbsouluteImportPath(relativePath); + const absolutePathToImport = this.getAbsoluteImportPath(relativePath); if (this.options.rootDir) { - // Calculate path realtive to project root + // Calculate path relative to project root // and replace path.sep with dots (lua doesn't know paths) const relativePathToRoot = this.pathToLuaRequirePath(absolutePathToImport.replace(this.options.rootDir, "").slice(1)); @@ -251,19 +253,20 @@ export abstract class LuaTranspiler { let result = `local ${fileImportTable} = require(${resolvedImportPath})\n`; this.importCount++; imports.elements.forEach(element => { - const nameText = element.name.escapedText; + const nameText = this.transpileIdentifier(element.name); if (element.propertyName) { + const propertyText = this.transpileIdentifier(element.propertyName); result += - `local ${nameText} = ${fileImportTable}.${element.propertyName.escapedText}\n`; + `local ${nameText} = ${fileImportTable}.${propertyText}\n`; } else { result += - `local ${nameText} = ${fileImportTable}.${element.name.escapedText}\n`; + `local ${nameText} = ${fileImportTable}.${nameText}\n`; } }); return result; } else if (ts.isNamespaceImport(imports)) { const resolvedImportPath = this.getImportPath(importPathWithoutQuotes); - return `local ${imports.name.escapedText} = require(${resolvedImportPath})\n`; + return `local ${this.transpileIdentifier(imports.name)} = require(${resolvedImportPath})\n`; } else { throw new TranspileError("Unsupported import type.", node); } @@ -306,7 +309,7 @@ export abstract class LuaTranspiler { const membersOnly = tsHelper.isCompileMembersOnlyEnum(type, this.checker); if (!membersOnly) { - const name = node.name.escapedText; + const name = this.transpileIdentifier(node.name); result += this.indent + this.accessPrefix(node) + `${name}={}\n`; this.pushExport(name, node); } @@ -327,11 +330,11 @@ export abstract class LuaTranspiler { } if (membersOnly) { - const defName = this.definitionName((member.name as ts.Identifier).escapedText); + const defName = this.definitionName(this.transpileIdentifier(member.name as ts.Identifier)); result += this.indent + `${defName}=${val}\n`; } else { const defName = this.definitionName( - `${node.name.escapedText}.${(member.name as ts.Identifier).escapedText}` + `${this.transpileIdentifier(node.name)}.${this.transpileIdentifier((member.name as ts.Identifier))}` ); result += this.indent + `${defName}=${val}\n`; } @@ -449,7 +452,7 @@ export abstract class LuaTranspiler { const pairs = isArray ? "ipairs" : "pairs"; // Make header - let result = this.indent + `for _, ${identifier.escapedText} in ${pairs}(${expression}) do\n`; + let result = this.indent + `for _, ${this.transpileIdentifier(identifier)} in ${pairs}(${expression}) do\n`; // For body this.pushIndent(); @@ -472,7 +475,7 @@ export abstract class LuaTranspiler { } // Make header - let result = this.indent + `for ${identifier.escapedText}, _ in pairs(${expression}) do\n`; + let result = this.indent + `for ${this.transpileIdentifier(identifier)}, _ in pairs(${expression}) do\n`; // For body this.pushIndent(); @@ -568,7 +571,7 @@ export abstract class LuaTranspiler { tryFunc += "end"; let catchFunc = "function(e)\nend"; if (node.catchClause && node.catchClause.variableDeclaration) { - const variableName = (node.catchClause.variableDeclaration.name as ts.Identifier).escapedText; + const variableName = this.transpileIdentifier(node.catchClause.variableDeclaration.name as ts.Identifier); catchFunc = this.indent + `function(${variableName})\n`; this.pushIndent(); catchFunc += this.transpileBlock(node.catchClause.block); @@ -630,7 +633,7 @@ export abstract class LuaTranspiler { return "nil"; } // Otherwise simply return the name - return (node as ts.Identifier).text; + return this.transpileIdentifier(node as ts.Identifier); case ts.SyntaxKind.StringLiteral: case ts.SyntaxKind.NoSubstitutionTemplateLiteral: const text = (node as ts.StringLiteral).text; @@ -935,9 +938,10 @@ export abstract class LuaTranspiler { params = this.transpileArguments(node.arguments); return `${callPath}(${params})`; } else { - // Replace last . with : here + // Replace last . with : here + const name = this.transpileIdentifier(node.expression.name); callPath = - `${this.transpileExpression(node.expression.expression)}:${node.expression.name.escapedText}`; + `${this.transpileExpression(node.expression.expression)}:${name}`; params = this.transpileArguments(node.arguments); return `${callPath}(${params})`; } @@ -947,7 +951,8 @@ export abstract class LuaTranspiler { const expression = node.expression as ts.PropertyAccessExpression; const params = this.transpileArguments(node.arguments); const caller = this.transpileExpression(expression.expression); - switch (expression.name.escapedText) { + const expressionName = this.transpileIdentifier(expression.name); + switch (expressionName) { case "replace": return `TS_replace(${caller},${params})`; case "indexOf": @@ -973,7 +978,7 @@ export abstract class LuaTranspiler { case "charAt": return `string.sub(${caller},${params}+1,${params}+1)`; default: - throw new TranspileError("Unsupported string function: " + expression.name.escapedText, node); + throw new TranspileError("Unsupported string function: " + expressionName, node); } } @@ -986,11 +991,12 @@ export abstract class LuaTranspiler { // Transpile a String._ property public transpileStringExpression(identifier: ts.Identifier): string { const translation = this.getValidStringProperties(); + const identifierString = this.transpileIdentifier(identifier); - if (translation[identifier.escapedText as string]) { - return `${translation[identifier.escapedText as string]}`; + if (translation[identifierString]) { + return `${translation[identifierString]}`; } else { - throw new TranspileError(`Unsupported string property ${identifier.escapedText}, ` + + throw new TranspileError(`Unsupported string property ${identifierString}, ` + `is not supported in Lua ${this.options.luaTarget}.`, identifier); } @@ -1000,7 +1006,8 @@ export abstract class LuaTranspiler { const expression = node.expression as ts.PropertyAccessExpression; const params = this.transpileArguments(node.arguments); const caller = this.transpileExpression(expression.expression); - switch (expression.name.escapedText) { + const expressionName = this.transpileIdentifier(expression.name); + switch (expressionName) { case "push": return `TS_push(${caller}, ${params})`; case "forEach": @@ -1021,13 +1028,13 @@ export abstract class LuaTranspiler { return `TS_splice(${caller}, ${params})`; case "join": if (node.arguments.length === 0) { - // if seperator is omitted default seperator is "," + // if separator is omitted default separator is "," return `table.concat(${caller}, ",")`; } else { return `table.concat(${caller}, ${params})`; } default: - throw new TranspileError("Unsupported array function: " + expression.name.escapedText, node); + throw new TranspileError("Unsupported array function: " + expressionName, node); } } @@ -1069,7 +1076,7 @@ export abstract class LuaTranspiler { } // Catch math expressions - if (ts.isIdentifier(node.expression) && node.expression.escapedText === "Math") { + if (ts.isIdentifier(node.expression) && this.transpileIdentifier(node.expression) === "Math") { return this.transpileMathExpression(node.name); } @@ -1078,13 +1085,13 @@ export abstract class LuaTranspiler { } public transpileGetAccessor(node: ts.PropertyAccessExpression): string { - const name = node.name.escapedText; + const name = this.transpileIdentifier(node.name); const expression = this.transpileExpression(node.expression); return `${expression}:get__${name}()`; } public transpileSetAccessor(node: ts.PropertyAccessExpression, value: string): string { - const name = node.name.escapedText; + const name = this.transpileIdentifier(node.name); const expression = this.transpileExpression(node.expression); return `${expression}:set__${name}(${value})`; } @@ -1112,32 +1119,34 @@ export abstract class LuaTranspiler { tan: "tan", }; - if (translation[identifier.escapedText as string]) { - return `math.${translation[identifier.escapedText as string]}`; + const identifierString = this.transpileIdentifier(identifier); + + if (translation[identifierString]) { + return `math.${translation[identifierString]}`; } else { - throw new TranspileError(`Unsupported math property: ${identifier.escapedText}.`, identifier); + throw new TranspileError(`Unsupported math property: ${identifierString}.`, identifier); } } // Transpile access of string properties, only supported properties are allowed public transpileStringProperty(node: ts.PropertyAccessExpression): string { - const property = node.name; - switch (property.escapedText) { + const propertyName = this.transpileIdentifier(node.name); + switch (propertyName) { case "length": return "#" + this.transpileExpression(node.expression); default: - throw new TranspileError("Unsupported string property: " + property.escapedText, node); + throw new TranspileError("Unsupported string property: " + propertyName, node); } } // Transpile access of array properties, only supported properties are allowed public transpileArrayProperty(node: ts.PropertyAccessExpression): string { - const property = node.name; - switch (property.escapedText) { + const propertyName = this.transpileIdentifier(node.name); + switch (propertyName) { case "length": return "#" + this.transpileExpression(node.expression); default: - throw new TranspileError("Unsupported array property: " + property.escapedText, node); + throw new TranspileError("Unsupported array property: " + propertyName, node); } } @@ -1155,6 +1164,18 @@ export abstract class LuaTranspiler { } } + public transpileIdentifier(identifier: ts.Identifier): string { + const escapedText = identifier.escapedText as string; + const underScoreCharCode = "_".charCodeAt(0); + if (escapedText.length >= 3 + && escapedText.charCodeAt(0) === underScoreCharCode + && escapedText.charCodeAt(1) === underScoreCharCode + && escapedText.charCodeAt(2) === underScoreCharCode) { + return escapedText.substr(1); + } + return escapedText; + } + public transpileTypeOfExpression(node: ts.TypeOfExpression): string { const expression = this.transpileExpression(node.expression); return `(type(${expression}) == "table" and "object" or type(${expression}))`; @@ -1166,7 +1187,9 @@ export abstract class LuaTranspiler { node.declarationList.declarations.forEach(declaration => { result += this.transpileVariableDeclaration(declaration as ts.VariableDeclaration); - this.pushExport((declaration.name as ts.Identifier).escapedText, node); + if (ts.isIdentifier((declaration.name as ts.Identifier))) { + this.pushExport(this.transpileIdentifier((declaration.name as ts.Identifier)), node); + } }); return result; @@ -1175,12 +1198,12 @@ export abstract class LuaTranspiler { public transpileVariableDeclaration(node: ts.VariableDeclaration): string { if (ts.isIdentifier(node.name)) { // Find variable identifier - const identifier = node.name; + const identifierName = this.transpileIdentifier(node.name); if (node.initializer) { const value = this.transpileExpression(node.initializer); - return `local ${identifier.escapedText} = ${value}\n`; + return `local ${identifierName} = ${value}\n`; } else { - return `local ${identifier.escapedText} = nil\n`; + return `local ${identifierName} = nil\n`; } } else if (ts.isArrayBindingPattern(node.name)) { // Destructuring type @@ -1192,8 +1215,8 @@ export abstract class LuaTranspiler { } const vars = node.name.elements.map( - element => ((element as ts.BindingElement).name as ts.Identifier - ).escapedText).join(","); + element => + (this.transpileIdentifier((element as ts.BindingElement).name as ts.Identifier))).join(","); // Don't unpack TupleReturn decorated functions if (tsHelper.isTupleReturnCall(node.initializer, this.checker)) { @@ -1215,7 +1238,7 @@ export abstract class LuaTranspiler { let result = ""; const identifier = node.name; - const methodName = identifier.escapedText; + const methodName = this.transpileIdentifier(identifier); const parameters = node.parameters; const body = node.body; @@ -1226,7 +1249,7 @@ export abstract class LuaTranspiler { // Only push parameter name to paramName array if it isn't a spread parameter for (const param of parameters) { - const paramName = (param.name as ts.Identifier).escapedText as string; + const paramName = this.transpileIdentifier(param.name as ts.Identifier); // This parameter is a spread parameter (...param) if (!param.dotDotDotToken) { @@ -1265,7 +1288,7 @@ export abstract class LuaTranspiler { let result = ""; const identifier = node.name as ts.Identifier; - const methodName = identifier.escapedText; + const methodName = this.transpileIdentifier(identifier); const parameters = node.parameters; const body = node.body; @@ -1276,7 +1299,7 @@ export abstract class LuaTranspiler { // Only push parameter name to paramName array if it isn't a spread parameter for (const param of parameters) { - const paramName = (param.name as ts.Identifier).escapedText as string; + const paramName = this.transpileIdentifier(param.name as ts.Identifier); // This parameter is a spread parameter (...param) if (!param.dotDotDotToken) { @@ -1316,9 +1339,9 @@ export abstract class LuaTranspiler { throw new TranspileError("Class declaration has no name.", node); } - let className = node.name.escapedText as string; + let className = this.transpileIdentifier(node.name); - // Find out if this class is extension of exising class + // Find out if this class is extension of existing class const isExtension = tsHelper.isExtensionClass(this.checker.getTypeAtLocation(node), this.checker); // Get type that is extended @@ -1349,7 +1372,7 @@ export abstract class LuaTranspiler { // Add static declarations for (const field of staticFields) { - const fieldName = (field.name as ts.Identifier).escapedText; + const fieldName = this.transpileIdentifier(field.name as ts.Identifier); const value = this.transpileExpression(field.initializer); result += this.indent + `${className}.${fieldName} = ${value}\n`; } @@ -1357,7 +1380,7 @@ export abstract class LuaTranspiler { // Try to find constructor const constructor = node.members.filter(ts.isConstructorDeclaration)[0]; if (constructor) { - // Add constructor plus initialisation of instance fields + // Add constructor plus initialization of instance fields result += this.transpileConstructor(constructor, className); } else if (!isExtension) { // Generate a constructor if none was defined @@ -1385,7 +1408,7 @@ export abstract class LuaTranspiler { public transpileClassCreationMethods(node: ts.ClassDeclaration, instanceFields: ts.PropertyDeclaration[], extendsType: ts.Type): string { - const className = node.name.escapedText as string; + const className = this.transpileIdentifier(node.name); const noClassOr = extendsType && tsHelper.hasCustomDecorator(extendsType, this.checker, "!NoClassOr"); @@ -1412,7 +1435,7 @@ export abstract class LuaTranspiler { for (const f of instanceFields) { // Get identifier const fieldIdentifier = f.name as ts.Identifier; - const fieldName = fieldIdentifier.escapedText; + const fieldName = this.transpileIdentifier(fieldIdentifier); const value = this.transpileExpression(f.initializer); @@ -1429,7 +1452,7 @@ export abstract class LuaTranspiler { } public transpileGetAccessorDeclaration(getAccessor: ts.GetAccessorDeclaration, className: string): string { - const name = (getAccessor.name as ts.Identifier).escapedText; + const name = this.transpileIdentifier(getAccessor.name as ts.Identifier); let result = this.indent + `function ${className}.get__${name}(self)\n`; @@ -1443,11 +1466,11 @@ export abstract class LuaTranspiler { } public transpileSetAccessorDeclaration(setAccessor: ts.SetAccessorDeclaration, className: string): string { - const name = (setAccessor.name as ts.Identifier).escapedText; + const name = this.transpileIdentifier(setAccessor.name as ts.Identifier); const paramNames: string[] = ["self"]; setAccessor.parameters.forEach(param => { - paramNames.push((param.name as ts.Identifier).escapedText as string); + paramNames.push(this.transpileIdentifier(param.name as ts.Identifier)); }); let result = this.indent + `function ${className}.set__${name}(${paramNames.join(",")})\n`; @@ -1469,10 +1492,10 @@ export abstract class LuaTranspiler { node.parameters.forEach(param => { // If param has decorators, add extra instance field if (param.modifiers !== undefined) { - extraInstanceFields.push((param.name as ts.Identifier).escapedText as string); + extraInstanceFields.push(this.transpileIdentifier(param.name as ts.Identifier)); } // Add to parameter list - parameters.push((param.name as ts.Identifier).escapedText as string); + parameters.push(this.transpileIdentifier(param.name as ts.Identifier)); }); let result = this.indent + `function ${className}.constructor(${parameters.join(",")})\n`; @@ -1508,7 +1531,7 @@ export abstract class LuaTranspiler { node.properties.forEach(element => { let name = ""; if (ts.isIdentifier(element.name)) { - name = element.name.escapedText as string; + name = this.transpileIdentifier(element.name); } else if (ts.isComputedPropertyName(element.name)) { name = this.transpileExpression(element.name); } else { @@ -1531,7 +1554,7 @@ export abstract class LuaTranspiler { // Build parameter string const paramNames: string[] = []; node.parameters.forEach(param => { - paramNames.push((param.name as ts.Identifier).escapedText as string); + paramNames.push(this.transpileIdentifier(param.name as ts.Identifier)); }); const defaultValueParams = node.parameters.filter(declaration => declaration.initializer !== undefined); @@ -1552,7 +1575,7 @@ export abstract class LuaTranspiler { let result = ""; params.filter(declaration => declaration.initializer !== undefined).forEach(declaration => { - const paramName = (declaration.name as ts.Identifier).escapedText; + const paramName = this.transpileIdentifier(declaration.name as ts.Identifier); const paramValue = this.transpileExpression(declaration.initializer); result += this.indent + `if ${paramName}==nil then ${paramName}=${paramValue} end\n`; }); diff --git a/test/compiler/projects/basic/test_src/main.lua b/test/compiler/projects/basic/test_src/main.lua deleted file mode 100644 index f9ab95ecb..000000000 --- a/test/compiler/projects/basic/test_src/main.lua +++ /dev/null @@ -1,7 +0,0 @@ --- Generated by TypescriptToLua v0.4.0 --- https://github.com/Perryvw/TypescriptToLua -require("typescript_lualib") -function main() - local main = 10 - -end diff --git a/test/compiler/projects/basic/test_src/test_lib/file.lua b/test/compiler/projects/basic/test_src/test_lib/file.lua deleted file mode 100644 index be41cba60..000000000 --- a/test/compiler/projects/basic/test_src/test_lib/file.lua +++ /dev/null @@ -1,5 +0,0 @@ --- Generated by TypescriptToLua v0.4.0 --- https://github.com/Perryvw/TypescriptToLua -require("typescript_lualib") -local test = true - From bdd80a16954ff0e6266abd64c69f0ef996f9f81c Mon Sep 17 00:00:00 2001 From: Lolleko Date: Thu, 19 Jul 2018 15:56:39 +0200 Subject: [PATCH 09/42] Fixed an issue that caused lualib to be a dependency of lualib during build --- .gitignore | 1 + src/Compiler.ts | 10 +- test/compiler/lualib_bundle.lua | 181 -------------------------------- 3 files changed, 7 insertions(+), 185 deletions(-) delete mode 100644 test/compiler/lualib_bundle.lua diff --git a/.gitignore b/.gitignore index 0fd80c71f..413283235 100644 --- a/.gitignore +++ b/.gitignore @@ -17,5 +17,6 @@ coverage/ .idea/ typescript_lualib.lua +lualib_bundle.lua dist/* diff --git a/src/Compiler.ts b/src/Compiler.ts index ebf585dd7..d7b368a93 100644 --- a/src/Compiler.ts +++ b/src/Compiler.ts @@ -97,10 +97,12 @@ export function compileFilesWithOptions(fileNames: string[], options: CompilerOp }); // Copy lualib to target dir - fs.copyFileSync( - path.resolve(__dirname, "../dist/lualib/lualib_bundle.lua"), - path.join(options.outDir, "lualib_bundle.lua") - ); + if (!options.dontRequireLuaLib) { + fs.copyFileSync( + path.resolve(__dirname, "../dist/lualib/lualib_bundle.lua"), + path.join(options.outDir, "lualib_bundle.lua") + ); + } } export function createTranspiler(checker: ts.TypeChecker, diff --git a/test/compiler/lualib_bundle.lua b/test/compiler/lualib_bundle.lua deleted file mode 100644 index 0fe693052..000000000 --- a/test/compiler/lualib_bundle.lua +++ /dev/null @@ -1,181 +0,0 @@ --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua -function ___TS__ArrayForEach(arr,callbackFn,thisArg) - local i = 0 - while(i<#arr) do - do - callbackFn(arr[i+1],i,arr) - end - ::__continue0:: - i=i+1 - end -end - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua -function ___TS__ArrayMap(arr,callbackfn,thisArg) - local newArray = {} - - local i = 0 - while(i<#arr) do - do - newArray[i+1] = callbackfn(arr[i+1],i,arr) - end - ::__continue0:: - i=i+1 - end - return newArray -end - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua -function ___TS__ArrayPush(arr,...) - local items = { ... } - for _, item in ipairs(items) do - do - arr[#arr+1] = item - end - ::__continue0:: - end -end - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua -function ___TS__InstanceOf(obj,classTbl) - while obj~=nil do - do - if obj.__index==classTbl then - return true - end - obj = obj.__base - end - ::__continue0:: - end - return false -end - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua -Map = Map or {} -Map.__index = Map -function Map.new(construct, ...) - local instance = setmetatable({}, Map) - if construct and Map.constructor then Map.constructor(instance, ...) end - return instance -end -function Map.constructor(self) -end -function Map.Map(self,other) - self.items = {} - self.size = 0 - if other then - self.size = other.size - other:forEach(function(value,key) - self.items[key] = value - end -) - end -end -function Map.clear(self) - self.items = {} - self.size = 0 -end -function Map.delete(self,key) - local contains = self:has(key) - - self.items[key] = nil - self.size = (self.size-1) - return contains -end -function Map.entries(self) - local out = {} - - for key, _ in pairs(self.items) do - do - out[#out+1+1] = {key,self.items[key]} - end - ::__continue0:: - end - return out -end -function Map.forEach(self,callback) - for key, _ in pairs(self.items) do - do - callback(self.items[key],key,self) - end - ::__continue1:: - end -end -function Map.get(self,key) - return self.items[key] -end -function Map.has(self,key) - return self.items[key]~=nil -end -function Map.keys(self) - local out = {} - - for key, _ in pairs(self.items) do - do - out[#out+1+1] = key - end - ::__continue2:: - end - return out -end -function Map.set(self,key,value) - if (not self:has(key)) then - self.size = (self.size+1) - end - self.items[key] = value - return self -end -function Map.values(self) - local out = {} - - for key, _ in pairs(self.items) do - do - out[#out+1+1] = self.items[key] - end - ::__continue3:: - end - return out -end - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua - --- Generated by TypescriptToLua v0.6.0 --- https://github.com/Perryvw/TypescriptToLua -function ___TS__Ternary(condition,cb1,cb2) - if condition then - cb1() - else - cb2() - end -end - From 19cab94cea021d32abb8fb267cf86c55b619fe08 Mon Sep 17 00:00:00 2001 From: Lolleko Date: Thu, 19 Jul 2018 18:52:09 +0200 Subject: [PATCH 10/42] Splice --- src/lualib/ArraySplice.ts | 94 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/src/lualib/ArraySplice.ts b/src/lualib/ArraySplice.ts index e69de29bb..e6d05bde1 100644 --- a/src/lualib/ArraySplice.ts +++ b/src/lualib/ArraySplice.ts @@ -0,0 +1,94 @@ +// https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf +function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ...items: T[]) { + // 1. 2. + const len = list.length; + + let actualStart; + + // 4. + if (start < 0) { + actualStart = Math.max(len + start, 0); + } else { + actualStart = Math.min(start, len); + } + + // 13. + // 14. + const itemCount = items.length; + + // 5. - 7. + let actualDeleteCount: number; + + if (!start) { + actualDeleteCount = 0; + } else if (!deleteCount) { + actualDeleteCount = len - actualStart; + } else { + actualDeleteCount = Math.min(Math.max(deleteCount, 0), len - actualStart); + } + + // 8. ignored + + // 9. + const out: T[] = []; + + // 10. + let k = 0; + + // 11. + for (k = 0; k < actualDeleteCount; k++) { + const from = actualStart + k; + + if (list[from]) { + out[k] = list[from]; + } + } + + // 15. + if (itemCount < actualDeleteCount) { + // a. b. + for (k = actualStart; k < len - actualDeleteCount; k++) { + const from = k + actualDeleteCount; + const to = k + itemCount; + + if (list[from]) { + list[to] = list[from]; + } else { + list[to] = undefined; + } + } + // c. d. + for (k = len; k > len - actualDeleteCount + itemCount; k--) { + list[k] = undefined; + } + // 16. + } else if (itemCount > actualDeleteCount) { + + for (k = len - actualDeleteCount; k > actualStart; k--) { + const from = k + actualDeleteCount - 1; + const to = k + itemCount - 1; + + if (list[from]) { + list[to] = list[from]; + } else { + list[to] = undefined; + } + + } + } + + // 17. + // 18. + for (k = actualStart; k < items.length; k++) { + const e = items[k]; + list[k] = e; + } + + // 19. + for (k = list.length; k > len - actualDeleteCount + itemCount; k--) { + list[k] = undefined; + } + + // 20. + return out; +} From fb87646f76957868e0c4fe9f30d52f5cde0147b9 Mon Sep 17 00:00:00 2001 From: Lolleko Date: Fri, 20 Jul 2018 08:11:41 +0200 Subject: [PATCH 11/42] Fied luaTarget beeing set incorrectly --- gulpfile.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulpfile.ts b/gulpfile.ts index 208eb63aa..642f0b871 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -22,7 +22,7 @@ gulp.task("lualib", () => { compile([ "-ah", "--dontRequireLuaLib", - "-lt", + "--luaTarget", "5.1", "--outDir", "./dist/lualib", From cd40c3b26ccb045950a6fbf7745bfa76e9d999bc Mon Sep 17 00:00:00 2001 From: Lolleko Date: Fri, 20 Jul 2018 08:30:09 +0200 Subject: [PATCH 12/42] Every, Filter, Some, Splice, Replace --- src/lualib/ArrayEvery.ts | 8 ++++++++ src/lualib/ArrayFilter.ts | 9 +++++++++ src/lualib/ArraySome.ts | 8 ++++++++ src/lualib/ArraySplice.ts | 14 ++++++-------- src/lualib/StringReplace.ts | 7 +++++++ 5 files changed, 38 insertions(+), 8 deletions(-) diff --git a/src/lualib/ArrayEvery.ts b/src/lualib/ArrayEvery.ts index e69de29bb..dc8ad2e25 100644 --- a/src/lualib/ArrayEvery.ts +++ b/src/lualib/ArrayEvery.ts @@ -0,0 +1,8 @@ +function __TS__ArrayEvery(arr: T[], callbackfn: (value: T, index?: number, array?: any[]) => void, thisArg?: any) { + for (let i = 0; i < arr.length; i++) { + if (!callbackfn(arr[i], i, arr)) { + return false; + } + } + return true; +} diff --git a/src/lualib/ArrayFilter.ts b/src/lualib/ArrayFilter.ts index e69de29bb..7eec0b819 100644 --- a/src/lualib/ArrayFilter.ts +++ b/src/lualib/ArrayFilter.ts @@ -0,0 +1,9 @@ +function __TS__ArrayFilter(arr: T[], callbackfn: (value: T, index?: number, array?: any[]) => void, thisArg?: any) { + const result: T[] = []; + for (let i = 0; i < arr.length; i++) { + if (callbackfn(arr[i], i, arr)) { + result[result.length] = arr[i]; + } + } + return result; +} diff --git a/src/lualib/ArraySome.ts b/src/lualib/ArraySome.ts index e69de29bb..5c7d1e15f 100644 --- a/src/lualib/ArraySome.ts +++ b/src/lualib/ArraySome.ts @@ -0,0 +1,8 @@ +function __TS__ArraySome(arr: T[], callbackfn: (value: T, index?: number, array?: any[]) => void, thisArg?: any) { + for (let i = 0; i < arr.length; i++) { + if (callbackfn(arr[i], i, arr)) { + return true; + } + } + return false; +} diff --git a/src/lualib/ArraySplice.ts b/src/lualib/ArraySplice.ts index e6d05bde1..59d3a8b89 100644 --- a/src/lualib/ArraySplice.ts +++ b/src/lualib/ArraySplice.ts @@ -33,10 +33,8 @@ function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ... const out: T[] = []; // 10. - let k = 0; - // 11. - for (k = 0; k < actualDeleteCount; k++) { + for (let k = 0; k < actualDeleteCount; k++) { const from = actualStart + k; if (list[from]) { @@ -47,7 +45,7 @@ function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ... // 15. if (itemCount < actualDeleteCount) { // a. b. - for (k = actualStart; k < len - actualDeleteCount; k++) { + for (let k = actualStart; k < len - actualDeleteCount; k++) { const from = k + actualDeleteCount; const to = k + itemCount; @@ -58,13 +56,13 @@ function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ... } } // c. d. - for (k = len; k > len - actualDeleteCount + itemCount; k--) { + for (let k = len; k > len - actualDeleteCount + itemCount; k--) { list[k] = undefined; } // 16. } else if (itemCount > actualDeleteCount) { - for (k = len - actualDeleteCount; k > actualStart; k--) { + for (let k = len - actualDeleteCount; k > actualStart; k--) { const from = k + actualDeleteCount - 1; const to = k + itemCount - 1; @@ -79,13 +77,13 @@ function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ... // 17. // 18. - for (k = actualStart; k < items.length; k++) { + for (let k = actualStart; k < items.length; k++) { const e = items[k]; list[k] = e; } // 19. - for (k = list.length; k > len - actualDeleteCount + itemCount; k--) { + for (let k = list.length; k > len - actualDeleteCount + itemCount; k--) { list[k] = undefined; } diff --git a/src/lualib/StringReplace.ts b/src/lualib/StringReplace.ts index e69de29bb..0ddb6aab8 100644 --- a/src/lualib/StringReplace.ts +++ b/src/lualib/StringReplace.ts @@ -0,0 +1,7 @@ +declare namespace string { + function gsub(source: string, searchValue: string, replaceValue: string); +} + +function __TS__replace(source: string, searchValue: string, replaceValue: string) { + return string.gsub(source, searchValue, replaceValue); +} From b40178a9d5733ea8d7703b68d923187ea94d6f58 Mon Sep 17 00:00:00 2001 From: Lolleko Date: Fri, 20 Jul 2018 09:29:16 +0200 Subject: [PATCH 13/42] IndexOf and Splice (both broken) --- src/lualib/ArrayIndexOf.ts | 33 +++++++++++++++++++++++++++++++++ src/lualib/ArraySplice.ts | 11 ++++++----- 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/src/lualib/ArrayIndexOf.ts b/src/lualib/ArrayIndexOf.ts index e69de29bb..4221526a5 100644 --- a/src/lualib/ArrayIndexOf.ts +++ b/src/lualib/ArrayIndexOf.ts @@ -0,0 +1,33 @@ +function __TS__ArrayIndexOf(arr: T[], searchElement: T, fromIndex?: number) { + const len = arr.length; + if (len === 0) { + return -1; + } + + let n = 0; + if (fromIndex) { + n = fromIndex; + } + + if (n >= len) { + return -1; + } + + let k; + if (n >= 0) { + k = 0; + } else { + k = len + n; + if (k < 0) { + k = 0; + } + } + + for (let i = k; i < len; i++) { + if (arr[i] === searchElement) { + return i; + } + } + + return -1; +} \ No newline at end of file diff --git a/src/lualib/ArraySplice.ts b/src/lualib/ArraySplice.ts index 59d3a8b89..0a804df17 100644 --- a/src/lualib/ArraySplice.ts +++ b/src/lualib/ArraySplice.ts @@ -57,7 +57,7 @@ function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ... } // c. d. for (let k = len; k > len - actualDeleteCount + itemCount; k--) { - list[k] = undefined; + list[k - 1] = undefined; } // 16. } else if (itemCount > actualDeleteCount) { @@ -77,13 +77,14 @@ function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ... // 17. // 18. - for (let k = actualStart; k < items.length; k++) { - const e = items[k]; - list[k] = e; + let j = actualStart; + for (const e of items) { + list[j] = e; + j++; } // 19. - for (let k = list.length; k > len - actualDeleteCount + itemCount; k--) { + for (let k = list.length - 1; k > len - actualDeleteCount + itemCount; k--) { list[k] = undefined; } From 8942097ec5278739c544876c60cca63c5cf1cf19 Mon Sep 17 00:00:00 2001 From: Lolleko Date: Fri, 20 Jul 2018 09:58:35 +0200 Subject: [PATCH 14/42] Fixed lualib cleanup, Fixed IndexOf and added tests for indexof --- gulpfile.ts | 38 +++++++++++++++++++++----------------- src/lualib/ArrayIndexOf.ts | 4 ++-- test/unit/lualib.spec.ts | 20 +++++++++++++------- 3 files changed, 36 insertions(+), 26 deletions(-) diff --git a/gulpfile.ts b/gulpfile.ts index 642f0b871..30d040f39 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -18,23 +18,27 @@ gulp.task("build", () => { return tsProject.src().pipe(tsProject()).js.pipe(gulp.dest("dist")); }); -gulp.task("lualib", () => { - compile([ - "-ah", - "--dontRequireLuaLib", - "--luaTarget", - "5.1", - "--outDir", - "./dist/lualib", - "--rootDir", - "./src/lualib", - ...glob.sync("./src/lualib/*.ts"), - ]); - - return gulp.src("./dist/lualib/*.lua") - .pipe(concat("lualib_bundle.lua")) - .pipe(gulp.dest("./dist/lualib")); -}); +gulp.task("clean-lualib", () => del("./dist/lualib/*.lua")); + +gulp.task("build-lualib", () => { + compile([ + "-ah", + "--dontRequireLuaLib", + "--luaTarget", + "5.1", + "--outDir", + "./dist/lualib", + "--rootDir", + "./src/lualib", + ...glob.sync("./src/lualib/*.ts"), + ]); + + return gulp.src("./dist/lualib/*.lua") + .pipe(concat("lualib_bundle.lua")) + .pipe(gulp.dest("./dist/lualib")); + }); + +gulp.task("lualib", gulp.series("clean-lualib", "build-lualib")); gulp.task("default", gulp.series("build", "lualib")); diff --git a/src/lualib/ArrayIndexOf.ts b/src/lualib/ArrayIndexOf.ts index 4221526a5..a3315bef2 100644 --- a/src/lualib/ArrayIndexOf.ts +++ b/src/lualib/ArrayIndexOf.ts @@ -15,7 +15,7 @@ function __TS__ArrayIndexOf(arr: T[], searchElement: T, fromIndex?: number) { let k; if (n >= 0) { - k = 0; + k = n; } else { k = len + n; if (k < 0) { @@ -30,4 +30,4 @@ function __TS__ArrayIndexOf(arr: T[], searchElement: T, fromIndex?: number) { } return -1; -} \ No newline at end of file +} diff --git a/test/unit/lualib.spec.ts b/test/unit/lualib.spec.ts index fd1fa91db..ab5b11e51 100644 --- a/test/unit/lualib.spec.ts +++ b/test/unit/lualib.spec.ts @@ -204,20 +204,26 @@ export class LuaLibArrayTests { @TestCase([], "test1") @TestCase(["test1"], "test1") @TestCase(["test1", "test2"], "test2") + @TestCase(["test1", "test2", "test3"], "test3", 1) + @TestCase(["test1", "test2", "test3"], "test1", 2) + @TestCase(["test1", "test2", "test3"], "test1", -2) + @TestCase(["test1", "test2", "test3"], "test1", 12) @Test("array.indexOf") - public indexOf(inp: string[], element: string) { - // Transpile - const lua = util.transpileString( - `return ${JSON.stringify(inp)}.indexOf("${element}"))` + public indexOf(inp: string[], element: string, fromIndex?: number) { + let str = `return ${JSON.stringify(inp)}.indexOf("${element}"))`; + if (fromIndex) { + str = `return ${JSON.stringify(inp)}.indexOf("${element}", ${fromIndex}))`; + } - ); + // Transpile + const lua = util.transpileString(str); // Execute const result = util.executeLua(lua); // Assert - // Acount for lua indexing (-1) - Expect(result).toBe(inp.indexOf(element)); + // Account for lua indexing (-1) + Expect(result).toBe(inp.indexOf(element, fromIndex)); } @TestCase([1, 2, 3], 3) From 2b0271bdb2dd0b852dc40ba48563d01088790e37 Mon Sep 17 00:00:00 2001 From: Lolleko Date: Fri, 20 Jul 2018 10:11:04 +0200 Subject: [PATCH 15/42] Fixed splice array trim --- src/lualib/ArraySplice.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lualib/ArraySplice.ts b/src/lualib/ArraySplice.ts index 0a804df17..8dc55f63b 100644 --- a/src/lualib/ArraySplice.ts +++ b/src/lualib/ArraySplice.ts @@ -84,7 +84,7 @@ function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ... } // 19. - for (let k = list.length - 1; k > len - actualDeleteCount + itemCount; k--) { + for (let k = list.length - 1; k >= len - actualDeleteCount + itemCount; k--) { list[k] = undefined; } From 543cd37e31f790f5c351a9f7240d8e6fce5449df Mon Sep 17 00:00:00 2001 From: Perryvw Date: Thu, 19 Jul 2018 21:46:53 +0200 Subject: [PATCH 16/42] Fixed a couple map bugs --- src/lualib/Map.ts | 18 ++++++++++++------ tslint.json | 1 + 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/lualib/Map.ts b/src/lualib/Map.ts index fb94bf0e6..76f1b6590 100644 --- a/src/lualib/Map.ts +++ b/src/lualib/Map.ts @@ -9,26 +9,31 @@ class Map { if (other) { this.size = other.size; - other.forEach((value, key) => {this.items[key] = value; }); + for (const [key, value] of other.entries()) { + this.items[key] = value; + } } } public clear(): void { this.items = {}; this.size = 0; + return; } public delete(key: TKey): boolean { const contains = this.has(key); + if (contains) { + this.size = this.size - 1; + } this.items[key as any] = undefined; - this.size = this.size - 1; return contains; } public entries(): Array<[TKey, TValue]> { const out = []; for (const key in this.items) { - out[out.length + 1] = [key, this.items[key]]; + out[out.length] = [key, this.items[key]]; } return out; } @@ -37,6 +42,7 @@ class Map { for (const key in this.items) { callback(this.items[key], key as any, this); } + return; } public get(key: TKey): TValue { @@ -44,13 +50,13 @@ class Map { } public has(key: TKey): boolean { - return this.items[key as any] != undefined; + return this.items[key as any] !== undefined; } public keys(): TKey[] { const out = []; for (const key in this.items) { - out[out.length + 1] = key; + out[out.length] = key; } return out; } @@ -66,7 +72,7 @@ class Map { public values(): TValue[] { const out = []; for (const key in this.items) { - out[out.length + 1] = this.items[key]; + out[out.length] = this.items[key]; } return out; } diff --git a/tslint.json b/tslint.json index b9bed7d7c..43e9fbc2f 100644 --- a/tslint.json +++ b/tslint.json @@ -9,6 +9,7 @@ "align": [true, "parameters", "statements", "arguments", "members", "elements"], "arrow-parens": [true, "ban-single-arg-parens"], "class-name": true, + "forin": false, "no-bitwise": false, "indent": [true, "spaces", 4], "max-classes-per-file": 1, From 3c055d878e87fab2e3191abadeee3187e6783225 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Thu, 19 Jul 2018 21:57:01 +0200 Subject: [PATCH 17/42] Initial Set implementation --- src/lualib/Map.ts | 4 +-- src/lualib/Set.ts | 75 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/src/lualib/Map.ts b/src/lualib/Map.ts index 76f1b6590..03cd1095c 100644 --- a/src/lualib/Map.ts +++ b/src/lualib/Map.ts @@ -24,7 +24,7 @@ class Map { public delete(key: TKey): boolean { const contains = this.has(key); if (contains) { - this.size = this.size - 1; + this.size--; } this.items[key as any] = undefined; return contains; @@ -63,7 +63,7 @@ class Map { public set(key: TKey, value: TValue): Map { if (!this.has(key)) { - this.size = this.size + 1; + this.size++; } this.items[key as any] = value; return this; diff --git a/src/lualib/Set.ts b/src/lualib/Set.ts index e69de29bb..607a18791 100644 --- a/src/lualib/Set.ts +++ b/src/lualib/Set.ts @@ -0,0 +1,75 @@ +class Set { + public size: number; + + private items: {[key: string]: boolean}; // Key type is actually TValue + + public Set(other: any) { + this.items = {}; + this.size = 0; + + if (other) { + this.size = other.size; + for (const value of other.values()) { + this.items[value] = true; + } + } + } + + public add(value: TValue) { + if (!this.has(value)) { + this.size++; + } + this.items[value as any] = true; + return this; + } + + public clear(): void { + this.items = {}; + this.size = 0; + return; + } + + public delete(value: TValue): boolean { + const contains = this.has(value); + if (contains) { + this.size--; + } + this.items[value as any] = undefined; + return contains; + } + + public entries(): Array<[TValue, TValue]> { + const out = []; + for (const key in this.items) { + out[out.length] = [key, key]; + } + return out; + } + + public forEach(callback: (value: TValue, key: TValue, set: Set) => any): void { + for (const key in this.items) { + callback(key as any, key as any, this); + } + return; + } + + public has(value: TValue): boolean { + return this.items[value as any] === true; + } + + public keys(): TValue[] { + const out = []; + for (const key in this.items) { + out[out.length] = key; + } + return out; + } + + public values(): TValue[] { + const out = []; + for (const key in this.items) { + out[out.length] = key; + } + return out; + } +} From 15b52f8a004f3fd993528ed8c49f64a477253770 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Fri, 20 Jul 2018 10:37:28 +0200 Subject: [PATCH 18/42] Added some extra testcases --- src/lualib/Map.ts | 2 +- test/unit/{ => lualib}/map.spec.ts | 23 +++++++++++++++++++++-- test/unit/{ => lualib}/set.spec.ts | 24 ++++++++++++++++++++++-- 3 files changed, 44 insertions(+), 5 deletions(-) rename test/unit/{ => lualib}/map.spec.ts (85%) rename test/unit/{ => lualib}/set.spec.ts (83%) diff --git a/src/lualib/Map.ts b/src/lualib/Map.ts index 03cd1095c..e13908114 100644 --- a/src/lualib/Map.ts +++ b/src/lualib/Map.ts @@ -1,7 +1,7 @@ class Map { public size: number; - private items: {[key: string]: TValue}; + private items: {[key: string]: TValue}; // Type of key is actually TKey public Map(other: any) { this.items = {}; diff --git a/test/unit/map.spec.ts b/test/unit/lualib/map.spec.ts similarity index 85% rename from test/unit/map.spec.ts rename to test/unit/lualib/map.spec.ts index 1181cfae1..dfb638783 100644 --- a/test/unit/map.spec.ts +++ b/test/unit/lualib/map.spec.ts @@ -1,5 +1,5 @@ import { Expect, Test, TestCase } from "alsatian"; -import * as util from "../src/util"; +import * as util from "../../src/util"; export class MapTests { @Test("map constructor") @@ -19,6 +19,15 @@ export class MapTests { Expect(result).toBe(true); } + @Test("map iterable constructor map") + public mapIterableConstructor2() { + const lua = util.transpileString(`let mymap = new Map(new Map([["a", "c"],["b", "d"]])); + return mymap.has("a") && mymap.has("b");`); + const result = util.executeLua(lua); + + Expect(result).toBe(true); + } + @Test("map clear") public mapClear() { const mapTS = `let mymap = new Map([["a", "c"],["b", "d"]]); mymap.clear();`; @@ -39,12 +48,22 @@ export class MapTests { Expect(contains).toBe(true); } + @Test("map entries") + public mapEntries() { + const lua = util.transpileString(`let mymap = new Map([[5, 2],[6, 3],[7, 4]]); + let count = 0; + for (var [key, value] of mymap.entries()) { count += key + value; } + return count;`); + const result = util.executeLua(lua); + Expect(result).toBe(27); + } + @Test("map foreach") public mapForEach() { const lua = util.transpileString( `let mymap = new Map([["a", 2],["b", 3],["c", 4]]); let count = 0; - mymap.forEach(i => { count += i; }); + mymap.forEach(i => count += i); return count;` ); diff --git a/test/unit/set.spec.ts b/test/unit/lualib/set.spec.ts similarity index 83% rename from test/unit/set.spec.ts rename to test/unit/lualib/set.spec.ts index 0919363dc..2366a9199 100644 --- a/test/unit/set.spec.ts +++ b/test/unit/lualib/set.spec.ts @@ -1,6 +1,7 @@ -import { Expect, Test, TestCase } from "alsatian"; -import * as util from "../src/util"; +import { Expect, Test, TestCase, FocusTests } from "alsatian"; +import * as util from "../../src/util"; +@FocusTests export class SetTests { @Test("set constructor") public setConstructor() { @@ -19,6 +20,15 @@ export class SetTests { Expect(result).toBe(true); } + @Test("set iterable constructor set") + public setIterableConstructorSet() { + const lua = util.transpileString(`let myset = new Set(new Set(["a", "b"])); + return myset.has("a") || myset.has("b");`); + const result = util.executeLua(lua); + + Expect(result).toBe(true); + } + @Test("set add") public setAdd() { const lua = util.transpileString(`let myset = new Set(); myset.add("a"); return myset.has("a");`); @@ -46,6 +56,16 @@ export class SetTests { Expect(contains).toBe(true); } + @Test("set entries") + public setEntries() { + const lua = util.transpileString(`let myset = new Set([5, 6, 7]); + let count = 0; + for (var [key, value] of myset.entries()) { count += key + value; } + return count;`); + const result = util.executeLua(lua); + Expect(result).toBe(36); + } + @Test("set foreach") public setForEach() { const lua = util.transpileString( From 5d4af44e58ca5d85513a434218fab7b842639734 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Fri, 20 Jul 2018 11:23:23 +0200 Subject: [PATCH 19/42] Improved binding pattern handling --- src/Compiler.ts | 2 ++ src/Transpiler.ts | 22 ++++++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/Compiler.ts b/src/Compiler.ts index d7b368a93..f82b6ee84 100644 --- a/src/Compiler.ts +++ b/src/Compiler.ts @@ -53,6 +53,8 @@ export function compileFilesWithOptions(fileNames: string[], options: CompilerOp try { const rootDir = options.rootDir; + console.log(`Transpiling ${sourceFile.fileName}...`); + // Transpile AST const lua = createTranspiler(checker, options, sourceFile).transpileSourceFile(); diff --git a/src/Transpiler.ts b/src/Transpiler.ts index 41015033a..7b36ad8a9 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -473,7 +473,6 @@ export abstract class LuaTranspiler { public transpileForOf(node: ts.ForOfStatement): string { // Get variable identifier const variable = (node.initializer as ts.VariableDeclarationList).declarations[0]; - const identifier = variable.name as ts.Identifier; // Transpile expression const expression = this.transpileExpression(node.expression); @@ -483,7 +482,15 @@ export abstract class LuaTranspiler { const pairs = isArray ? "ipairs" : "pairs"; // Make header - let result = this.indent + `for _, ${this.transpileIdentifier(identifier)} in ${pairs}(${expression}) do\n`; + let result = ""; + if (ts.isIdentifier(variable.name)) { + result = this.indent + `for _, ${this.transpileIdentifier(variable.name)} in ${pairs}(${expression}) do\n`; + } else if (ts.isArrayBindingPattern(variable.name)) { + const valueVar = "__forOfValue" + this.genVarCounter; + result = this.indent + `for _, ${valueVar} in ${pairs}(${expression}) do\n`; + const declaration = ts.createVariableDeclaration(variable.name, undefined, ts.createIdentifier(valueVar)); + result += this.indent + this.transpileVariableDeclaration(declaration); + } // For body this.pushIndent(); @@ -1217,6 +1224,17 @@ export abstract class LuaTranspiler { return escapedText; } + public transpileArrayBindingElement(name: ts.ArrayBindingElement): string { + if (ts.isOmittedExpression(name)) { + return "_"; + } else if (ts.isIdentifier(name)) { + return this.transpileIdentifier(name); + } else { + const kind = tsHelper.enumName(name.kind, ts.SyntaxKind); + throw new TranspileError(`Encountered not-supported array binding element kind: ${kind}`, name); + } + } + public transpileTypeOfExpression(node: ts.TypeOfExpression): string { const expression = this.transpileExpression(node.expression); return `(type(${expression}) == "table" and "object" or type(${expression}))`; From e049a864eca56ea7faf60e6ba4a126833c704ede Mon Sep 17 00:00:00 2001 From: Perryvw Date: Fri, 20 Jul 2018 11:23:56 +0200 Subject: [PATCH 20/42] Fixed bug with map and set constructors --- src/lualib/Map.ts | 2 +- src/lualib/Set.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lualib/Map.ts b/src/lualib/Map.ts index e13908114..0556c88eb 100644 --- a/src/lualib/Map.ts +++ b/src/lualib/Map.ts @@ -3,7 +3,7 @@ class Map { private items: {[key: string]: TValue}; // Type of key is actually TKey - public Map(other: any) { + constructor(other: any) { this.items = {}; this.size = 0; diff --git a/src/lualib/Set.ts b/src/lualib/Set.ts index 607a18791..da5f6203d 100644 --- a/src/lualib/Set.ts +++ b/src/lualib/Set.ts @@ -3,7 +3,7 @@ class Set { private items: {[key: string]: boolean}; // Key type is actually TValue - public Set(other: any) { + constructor(other: any) { this.items = {}; this.size = 0; From cb5390c65524ca32e73c7f55bebe8736c5c7c03b Mon Sep 17 00:00:00 2001 From: Perryvw Date: Fri, 20 Jul 2018 11:50:08 +0200 Subject: [PATCH 21/42] Fixed map/set constructors --- src/lualib/Map.ts | 11 ++++++++--- src/lualib/Set.ts | 11 ++++++++--- test/unit/lualib/set.spec.ts | 3 +-- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/lualib/Map.ts b/src/lualib/Map.ts index 0556c88eb..a22756bdc 100644 --- a/src/lualib/Map.ts +++ b/src/lualib/Map.ts @@ -3,14 +3,19 @@ class Map { private items: {[key: string]: TValue}; // Type of key is actually TKey - constructor(other: any) { + constructor(other: Map | Array<[TKey, TValue]>) { this.items = {}; this.size = 0; - if (other) { + if (other instanceof Map) { this.size = other.size; for (const [key, value] of other.entries()) { - this.items[key] = value; + this.items[key as any] = value; + } + } else if (other !== undefined) { + this.size = other.length; + for (const [key, value] of other) { + this.items[key as any] = value; } } } diff --git a/src/lualib/Set.ts b/src/lualib/Set.ts index da5f6203d..abfdd33f8 100644 --- a/src/lualib/Set.ts +++ b/src/lualib/Set.ts @@ -3,14 +3,19 @@ class Set { private items: {[key: string]: boolean}; // Key type is actually TValue - constructor(other: any) { + constructor(other: Set | TValue[]) { this.items = {}; this.size = 0; - if (other) { + if (other instanceof Set) { this.size = other.size; for (const value of other.values()) { - this.items[value] = true; + this.items[value as any] = true as any; + } + } else if (other !== undefined) { + this.size = other.length; + for (const value of other) { + this.items[value as any] = true as any; } } } diff --git a/test/unit/lualib/set.spec.ts b/test/unit/lualib/set.spec.ts index 2366a9199..2bb0d20e2 100644 --- a/test/unit/lualib/set.spec.ts +++ b/test/unit/lualib/set.spec.ts @@ -1,7 +1,6 @@ -import { Expect, Test, TestCase, FocusTests } from "alsatian"; +import { Expect, Test, TestCase } from "alsatian"; import * as util from "../../src/util"; -@FocusTests export class SetTests { @Test("set constructor") public setConstructor() { From deaf45548ba51b423599a61ed41e6d5ce9fc7337 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Fri, 20 Jul 2018 12:18:32 +0200 Subject: [PATCH 22/42] Fixed and improved lualib ternary conditional --- src/Transpiler.ts | 2 +- src/lualib/Ternary.ts | 6 +++--- test/unit/expressions.spec.ts | 7 ------- test/unit/lualib.spec.ts | 38 ++++++++++++++++++++++++++++++++++- 4 files changed, 41 insertions(+), 12 deletions(-) diff --git a/src/Transpiler.ts b/src/Transpiler.ts index 7b36ad8a9..e23842f1b 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -874,7 +874,7 @@ export abstract class LuaTranspiler { const val2 = this.transpileExpression(node.whenFalse); return this.transpileLuaLibFunction(LuaLibFeature.Ternary, condition, - `function() return ${val1} end`, `function() return ${val2} end)`); + `function() return ${val1} end`, `function() return ${val2} end`); } public transpilePostfixUnaryExpression(node: ts.PostfixUnaryExpression): string { diff --git a/src/lualib/Ternary.ts b/src/lualib/Ternary.ts index fb3b50ed2..f1331f4f4 100644 --- a/src/lualib/Ternary.ts +++ b/src/lualib/Ternary.ts @@ -1,7 +1,7 @@ -function __TS__Ternary(condition: any, cb1: () => void, cb2: () => void) { +function __TS__Ternary(condition: boolean, cb1: () => T, cb2: () => T): T { if (condition) { - cb1(); + return cb1(); } else { - cb2(); + return cb2(); } } diff --git a/test/unit/expressions.spec.ts b/test/unit/expressions.spec.ts index c061a7d73..cef8d7b61 100644 --- a/test/unit/expressions.spec.ts +++ b/test/unit/expressions.spec.ts @@ -181,13 +181,6 @@ export class ExpressionTests { Expect(util.transpileString(input)).toBe(lua); } - @TestCase("1 + a ? 3*a : c", "TS_ITE(1+a,function() return 3*a end,function() return c end)") - @TestCase("a ? b : c", "TS_ITE(a,function() return b end,function() return c end)") - @Test("Ternary operator") - public conditional(input: string, lua: string) { - Expect(util.transpileString(input)).toBe(lua); - } - @Test("Null Expression") public nullExpression() { Expect(util.transpileString("null")).toBe("nil"); diff --git a/test/unit/lualib.spec.ts b/test/unit/lualib.spec.ts index ab5b11e51..0d3e18dd5 100644 --- a/test/unit/lualib.spec.ts +++ b/test/unit/lualib.spec.ts @@ -1,6 +1,7 @@ -import { Expect, Test, TestCase } from "alsatian"; +import { Expect, Test, TestCase, FocusTests } from "alsatian"; import * as util from "../src/util"; +@FocusTests export class LuaLibArrayTests { @TestCase([0, 1, 2, 3], [1, 2, 3, 4]) @@ -261,4 +262,39 @@ export class LuaLibArrayTests { // Assert Expect(result).toBe(JSON.stringify([0].concat(inp))); } + + @TestCase("true", "4", "5", 4) + @TestCase("false", "4", "5", 5) + @TestCase("3", "4", "5", 4) + @Test("Ternary Conditional") + public ternaryConditional(condition: string, lhs: string, rhs: string, expected: any) { + // Transpile + const lua = util.transpileString(`return ${condition} ? ${lhs} : ${rhs};`); + + // Execute + const result = util.executeLua(lua); + + // Assert + Expect(result).toBe(expected); + } + + @TestCase("true", 11) + @TestCase("false", 13) + @TestCase("a < 4", 13) + @TestCase("a == 8", 11) + @Test("Ternary Conditional Delayed") + public ternaryConditionalDelayed(condition: string, expected: any) { + // Transpile + const lua = util.transpileString( + `let a = 3; + let delay = () => ${condition} ? a + 3 : a + 5; + a = 8; + return delay();`); + + // Execute + const result = util.executeLua(lua); + + // Assert + Expect(result).toBe(expected); + } } From afa4e5b7695e4f5d1b408ff8d786619e7a9a3716 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Fri, 20 Jul 2018 12:36:55 +0200 Subject: [PATCH 23/42] Fixed slice --- src/lualib/ArraySlice.ts | 33 +++++++++++++++++++++++++++++++++ src/lualib/ArraySplice.ts | 2 +- test/unit/lualib.spec.ts | 3 +-- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/lualib/ArraySlice.ts b/src/lualib/ArraySlice.ts index e69de29bb..f3eb5b3d6 100644 --- a/src/lualib/ArraySlice.ts +++ b/src/lualib/ArraySlice.ts @@ -0,0 +1,33 @@ +// https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf 22.1.3.23 +function __TS__ArraySlice(list: T[], first: number, last: number): T[] { + const len = list.length; + + let k: number; + if (first < 0) { + k = Math.max(len + first, 0); + } else { + k = Math.min(first, len); + } + + let relativeEnd = last; + if (last === undefined) { + relativeEnd = len; + } + + let final: number; + if (relativeEnd < 0) { + final = Math.max(len + relativeEnd, 0); + } else { + final = Math.min(relativeEnd, len); + } + + const out = []; + + let n = 0; + while (k < final) { + out[n] = list[k]; + k++; + n++; + } + return out; +} diff --git a/src/lualib/ArraySplice.ts b/src/lualib/ArraySplice.ts index 8dc55f63b..99737a4cb 100644 --- a/src/lualib/ArraySplice.ts +++ b/src/lualib/ArraySplice.ts @@ -1,5 +1,5 @@ // https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf -function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ...items: T[]) { +function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ...items: T[]): T[] { // 1. 2. const len = list.length; diff --git a/test/unit/lualib.spec.ts b/test/unit/lualib.spec.ts index 0d3e18dd5..0b9bb8bfa 100644 --- a/test/unit/lualib.spec.ts +++ b/test/unit/lualib.spec.ts @@ -1,7 +1,6 @@ -import { Expect, Test, TestCase, FocusTests } from "alsatian"; +import { Expect, Test, TestCase } from "alsatian"; import * as util from "../src/util"; -@FocusTests export class LuaLibArrayTests { @TestCase([0, 1, 2, 3], [1, 2, 3, 4]) From 61fa3df30bff6d839be9e895c0e8d027271ce878 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Fri, 20 Jul 2018 12:47:57 +0200 Subject: [PATCH 24/42] Fixed lualib function signatures --- src/lualib/ArrayEvery.ts | 2 +- src/lualib/ArrayFilter.ts | 2 +- src/lualib/ArrayForEach.ts | 2 +- src/lualib/ArrayIndexOf.ts | 2 +- src/lualib/ArrayMap.ts | 2 +- src/lualib/ArrayPush.ts | 3 ++- src/lualib/ArraySome.ts | 2 +- src/lualib/StringReplace.ts | 4 ++-- 8 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/lualib/ArrayEvery.ts b/src/lualib/ArrayEvery.ts index dc8ad2e25..e8434175a 100644 --- a/src/lualib/ArrayEvery.ts +++ b/src/lualib/ArrayEvery.ts @@ -1,4 +1,4 @@ -function __TS__ArrayEvery(arr: T[], callbackfn: (value: T, index?: number, array?: any[]) => void, thisArg?: any) { +function __TS__ArrayEvery(arr: T[], callbackfn: (value: T, index?: number, array?: any[]) => boolean): boolean { for (let i = 0; i < arr.length; i++) { if (!callbackfn(arr[i], i, arr)) { return false; diff --git a/src/lualib/ArrayFilter.ts b/src/lualib/ArrayFilter.ts index 7eec0b819..8f0ac2fde 100644 --- a/src/lualib/ArrayFilter.ts +++ b/src/lualib/ArrayFilter.ts @@ -1,4 +1,4 @@ -function __TS__ArrayFilter(arr: T[], callbackfn: (value: T, index?: number, array?: any[]) => void, thisArg?: any) { +function __TS__ArrayFilter(arr: T[], callbackfn: (value: T, index?: number, array?: any[]) => boolean): T[] { const result: T[] = []; for (let i = 0; i < arr.length; i++) { if (callbackfn(arr[i], i, arr)) { diff --git a/src/lualib/ArrayForEach.ts b/src/lualib/ArrayForEach.ts index d1762ce37..3001915f0 100644 --- a/src/lualib/ArrayForEach.ts +++ b/src/lualib/ArrayForEach.ts @@ -1,4 +1,4 @@ -function __TS__ArrayForEach(arr: T[], callbackFn: (value: T, index?: number, array?: any[]) => void, thisArg?: any) { +function __TS__ArrayForEach(arr: T[], callbackFn: (value: T, index?: number, array?: any[]) => any): void { for (let i = 0; i < arr.length; i++) { callbackFn(arr[i], i, arr); } diff --git a/src/lualib/ArrayIndexOf.ts b/src/lualib/ArrayIndexOf.ts index a3315bef2..c50ce5ded 100644 --- a/src/lualib/ArrayIndexOf.ts +++ b/src/lualib/ArrayIndexOf.ts @@ -1,4 +1,4 @@ -function __TS__ArrayIndexOf(arr: T[], searchElement: T, fromIndex?: number) { +function __TS__ArrayIndexOf(arr: T[], searchElement: T, fromIndex?: number): number { const len = arr.length; if (len === 0) { return -1; diff --git a/src/lualib/ArrayMap.ts b/src/lualib/ArrayMap.ts index f929db680..f7ea7aa50 100644 --- a/src/lualib/ArrayMap.ts +++ b/src/lualib/ArrayMap.ts @@ -1,4 +1,4 @@ -function __TS__ArrayMap(arr: T[], callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[] { +function __TS__ArrayMap(arr: T[], callbackfn: (value: T, index?: number, array?: T[]) => U): U[] { const newArray: U[] = []; for (let i = 0; i < arr.length; i++) { newArray[i] = callbackfn(arr[i], i, arr); diff --git a/src/lualib/ArrayPush.ts b/src/lualib/ArrayPush.ts index 16a7f7cb1..8e1d8e324 100644 --- a/src/lualib/ArrayPush.ts +++ b/src/lualib/ArrayPush.ts @@ -1,5 +1,6 @@ -function __TS__ArrayPush(arr: T[], ...items: T[]) { +function __TS__ArrayPush(arr: T[], ...items: T[]): number { for (const item of items) { arr[arr.length] = item; } + return arr.length; } diff --git a/src/lualib/ArraySome.ts b/src/lualib/ArraySome.ts index 5c7d1e15f..d03e7a9fe 100644 --- a/src/lualib/ArraySome.ts +++ b/src/lualib/ArraySome.ts @@ -1,4 +1,4 @@ -function __TS__ArraySome(arr: T[], callbackfn: (value: T, index?: number, array?: any[]) => void, thisArg?: any) { +function __TS__ArraySome(arr: T[], callbackfn: (value: T, index?: number, array?: any[]) => boolean): boolean { for (let i = 0; i < arr.length; i++) { if (callbackfn(arr[i], i, arr)) { return true; diff --git a/src/lualib/StringReplace.ts b/src/lualib/StringReplace.ts index 0ddb6aab8..7834f4239 100644 --- a/src/lualib/StringReplace.ts +++ b/src/lualib/StringReplace.ts @@ -1,7 +1,7 @@ declare namespace string { - function gsub(source: string, searchValue: string, replaceValue: string); + function gsub(source: string, searchValue: string, replaceValue: string): string; } -function __TS__replace(source: string, searchValue: string, replaceValue: string) { +function __TS__StringReplace(source: string, searchValue: string, replaceValue: string): string { return string.gsub(source, searchValue, replaceValue); } From 5d563b63ffea047c8f6cc97da5a728c40cfff5fd Mon Sep 17 00:00:00 2001 From: Perryvw Date: Fri, 20 Jul 2018 14:26:12 +0200 Subject: [PATCH 25/42] Added string.substr --- src/Transpiler.ts | 8 ++++++++ test/unit/string.spec.ts | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/Transpiler.ts b/src/Transpiler.ts index e23842f1b..15c00c2b7 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -1009,6 +1009,14 @@ export abstract class LuaTranspiler { } else { return `(string.find(${caller},${params}+1,true) or 0)-1`; } + case "substr": + if (node.arguments.length === 1) { + return `string.sub(${caller},${params}+1)`; + } else { + const arg1 = this.transpileExpression(node.arguments[0]); + const arg2 = this.transpileExpression(node.arguments[1]); + return `string.sub(${caller},${arg1}+1,${arg1}+${arg2})`; + } case "substring": if (node.arguments.length === 1) { return `string.sub(${caller},${params}+1)`; diff --git a/test/unit/string.spec.ts b/test/unit/string.spec.ts index 8398fce1a..06848fc22 100644 --- a/test/unit/string.spec.ts +++ b/test/unit/string.spec.ts @@ -146,6 +146,25 @@ export class StringTests { Expect(result).toBe(inp.substring(start, end)); } + @TestCase("hello test", 0) + @TestCase("hello test", 1) + @TestCase("hello test", 1, 2) + @TestCase("hello test", 1, 5) + @Test("string.substring") + public substr(inp: string, start: number, end?: number) { + // Transpile + const paramStr = end ? `${start}, ${end}` : `${start}`; + const lua = util.transpileString( + `return "${inp}".substr(${paramStr})` + ); + + // Execute + const result = util.executeLua(lua); + + // Assert + Expect(result).toBe(inp.substr(start, end)); + } + @TestCase("", 0) @TestCase("h", 1) @TestCase("hello", 5) From 64cbbe8558ddd4e7c8838b0c758d2ae87297019b Mon Sep 17 00:00:00 2001 From: Perryvw Date: Fri, 20 Jul 2018 14:26:21 +0200 Subject: [PATCH 26/42] Fixed StringReplace and StringSplit --- src/lualib/StringReplace.ts | 5 +++-- src/lualib/StringSplit.ts | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/src/lualib/StringReplace.ts b/src/lualib/StringReplace.ts index 7834f4239..7a5df979c 100644 --- a/src/lualib/StringReplace.ts +++ b/src/lualib/StringReplace.ts @@ -1,7 +1,8 @@ declare namespace string { - function gsub(source: string, searchValue: string, replaceValue: string): string; + /** !TupleReturn */ + function gsub(source: string, searchValue: string, replaceValue: string): [string, number]; } function __TS__StringReplace(source: string, searchValue: string, replaceValue: string): string { - return string.gsub(source, searchValue, replaceValue); + return string.gsub(source, searchValue, replaceValue)[0]; } diff --git a/src/lualib/StringSplit.ts b/src/lualib/StringSplit.ts index e69de29bb..005f57436 100644 --- a/src/lualib/StringSplit.ts +++ b/src/lualib/StringSplit.ts @@ -0,0 +1,36 @@ +function __TS__StringSplit(source: string, separator?: string, limit?: number): string[] { + if (limit === undefined) { + limit = 4294967295; + } + + if (limit === 0) { + return []; + } + + const out = []; + let index = 0; + let count = 0; + + if (separator === undefined || separator === "") { + while (index < source.length - 1 && count < limit) { + out[count] = source[index]; + count++; + index++; + } + } else { + const separatorLength = separator.length; + let nextIndex = source.indexOf(separator); + while (nextIndex >= 0 && count < limit) { + out[count] = source.substring(index, nextIndex); + count++; + index = nextIndex + separatorLength; + nextIndex = source.indexOf(separator, index); + } + } + + if (count < limit) { + out[count] = source.substring(index); + } + + return out; +} From 6345f5a7ae915b586181f8e44242876add6885cb Mon Sep 17 00:00:00 2001 From: Perryvw Date: Fri, 20 Jul 2018 14:59:49 +0200 Subject: [PATCH 27/42] Moved tuple return tests from translation to functional tests --- src/Transpiler.ts | 2 + test/translation/lua/tupleArrayUses.lua | 11 -- .../translation/lua/tupleReturnAssignment.lua | 1 - .../translation/lua/tupleReturnDefinition.lua | 3 - test/translation/lua/tupleReturnIndex.lua | 1 - test/translation/ts/tupleArrayUses.ts | 8 -- test/translation/ts/tupleReturnAssignment.ts | 3 - test/translation/ts/tupleReturnDefinition.ts | 4 - test/translation/ts/tupleReturnIndex.ts | 3 - test/unit/tuples.spec.ts | 117 ++++++++++++++++++ 10 files changed, 119 insertions(+), 34 deletions(-) delete mode 100644 test/translation/lua/tupleArrayUses.lua delete mode 100644 test/translation/lua/tupleReturnAssignment.lua delete mode 100644 test/translation/lua/tupleReturnDefinition.lua delete mode 100644 test/translation/lua/tupleReturnIndex.lua delete mode 100644 test/translation/ts/tupleArrayUses.ts delete mode 100644 test/translation/ts/tupleReturnAssignment.ts delete mode 100644 test/translation/ts/tupleReturnDefinition.ts delete mode 100644 test/translation/ts/tupleReturnIndex.ts create mode 100644 test/unit/tuples.spec.ts diff --git a/src/Transpiler.ts b/src/Transpiler.ts index 15c00c2b7..197cab979 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -727,6 +727,8 @@ export abstract class LuaTranspiler { return this.transpileExpression((node as ts.AsExpression).expression); case ts.SyntaxKind.TypeOfExpression: return this.transpileTypeOfExpression(node as ts.TypeOfExpression); + case ts.SyntaxKind.EmptyStatement: + return ""; default: throw new TranspileError( "Unsupported expression kind: " + tsHelper.enumName(node.kind, ts.SyntaxKind), diff --git a/test/translation/lua/tupleArrayUses.lua b/test/translation/lua/tupleArrayUses.lua deleted file mode 100644 index eb5076124..000000000 --- a/test/translation/lua/tupleArrayUses.lua +++ /dev/null @@ -1,11 +0,0 @@ -for _, value in ipairs(tuple) do - do - end - ::__continue0:: -end -TS_forEach(tuple, function(v) -end -) -local num = tuple[1+1] - -local len = #tuple \ No newline at end of file diff --git a/test/translation/lua/tupleReturnAssignment.lua b/test/translation/lua/tupleReturnAssignment.lua deleted file mode 100644 index c7f578b42..000000000 --- a/test/translation/lua/tupleReturnAssignment.lua +++ /dev/null @@ -1 +0,0 @@ -local a,b=myFunc() \ No newline at end of file diff --git a/test/translation/lua/tupleReturnDefinition.lua b/test/translation/lua/tupleReturnDefinition.lua deleted file mode 100644 index c5b1095ec..000000000 --- a/test/translation/lua/tupleReturnDefinition.lua +++ /dev/null @@ -1,3 +0,0 @@ -function myFunc() - return 3,"4" -end \ No newline at end of file diff --git a/test/translation/lua/tupleReturnIndex.lua b/test/translation/lua/tupleReturnIndex.lua deleted file mode 100644 index c6e46ac34..000000000 --- a/test/translation/lua/tupleReturnIndex.lua +++ /dev/null @@ -1 +0,0 @@ -local a = ({ myFunc() })[0+1] \ No newline at end of file diff --git a/test/translation/ts/tupleArrayUses.ts b/test/translation/ts/tupleArrayUses.ts deleted file mode 100644 index e4fb21307..000000000 --- a/test/translation/ts/tupleArrayUses.ts +++ /dev/null @@ -1,8 +0,0 @@ -// test cases where tuples are used as arrays -declare const tuple: [string, number, boolean]; - -// tslint:disable:no-empty no-unused-expression -for (const value of tuple) {} // for-of loop -tuple.forEach(v => {}); // Array.prototype.forEach -const num = tuple[1]; // array access -const len = tuple.length; // array length diff --git a/test/translation/ts/tupleReturnAssignment.ts b/test/translation/ts/tupleReturnAssignment.ts deleted file mode 100644 index 4cf884222..000000000 --- a/test/translation/ts/tupleReturnAssignment.ts +++ /dev/null @@ -1,3 +0,0 @@ -/** !TupleReturn */ -declare function myFunc(): [number, string]; -let [a, b] = myFunc(); diff --git a/test/translation/ts/tupleReturnDefinition.ts b/test/translation/ts/tupleReturnDefinition.ts deleted file mode 100644 index c857cc2fd..000000000 --- a/test/translation/ts/tupleReturnDefinition.ts +++ /dev/null @@ -1,4 +0,0 @@ -/** !TupleReturn */ -function myFunc(): [number, string] { - return [3, "4"]; -} diff --git a/test/translation/ts/tupleReturnIndex.ts b/test/translation/ts/tupleReturnIndex.ts deleted file mode 100644 index f5daa84b5..000000000 --- a/test/translation/ts/tupleReturnIndex.ts +++ /dev/null @@ -1,3 +0,0 @@ -/** !TupleReturn */ -declare function myFunc(): [number, string]; -let a = myFunc()[0]; diff --git a/test/unit/tuples.spec.ts b/test/unit/tuples.spec.ts new file mode 100644 index 000000000..f087086a7 --- /dev/null +++ b/test/unit/tuples.spec.ts @@ -0,0 +1,117 @@ +import { Expect, Test, TestCase } from "alsatian"; +import * as util from "../src/util"; + +export class TupleTests { + @Test("Tuple loop") + public tupleLoop() { + // Transpile + const lua = util.transpileString( + `const tuple: [number, number, number] = [3,5,1]; + let count = 0; + for (const value of tuple) { count += value; } + return count;` + ); + + // Execute + const result = util.executeLua(lua); + + // Assert + Expect(result).toBe(9); + } + + @Test("Tuple foreach") + public tupleForEach() { + // Transpile + const lua = util.transpileString( + `const tuple: [number, number, number] = [3,5,1]; + let count = 0; + tuple.forEach(v => count += v); + return count;` + ); + + // Execute + const result = util.executeLua(lua); + + // Assert + Expect(result).toBe(9); + } + + @Test("Tuple access") + public tupleAccess() { + // Transpile + const lua = util.transpileString( + `const tuple: [number, number, number] = [3,5,1]; + return tuple[1];` + ); + + // Execute + const result = util.executeLua(lua); + + // Assert + Expect(result).toBe(5); + } + + @Test("Tuple Destruct") + public tupleDestruct() { + // Transpile + const lua = util.transpileString( + `function tuple(): [number, number, number] { return [3,5,1]; }\n + const [a,b,c] = tuple(); + return b;` + ); + + // Execute + const result = util.executeLua(lua); + + // Assert + Expect(result).toBe(5); + } + + @Test("Tuple length") + public tupleLength() { + // Transpile + const lua = util.transpileString( + `const tuple: [number, number, number] = [3,5,1]; + return tuple.length;` + ); + + // Execute + const result = util.executeLua(lua); + + // Assert + Expect(result).toBe(3); + } + + @Test("Tuple Return Access") + public tupleReturnAccess() { + // Transpile + const lua = util.transpileString( + `/** !TupleReturn */\n + function tuple(): [number, number, number] { return [3,5,1]; }\n + return tuple()[2];` + ); + + // Execute + const result = util.executeLua(lua); + + // Assert + Expect(result).toBe(1); + } + + @Test("Tuple Return Destruct") + public tupleReturnDestruct() { + // Transpile + const lua = util.transpileString( + `/** !TupleReturn */\n + function tuple(): [number, number, number] { return [3,5,1]; }\n + const [a,b,c] = tuple(); + return b;` + ); + + // Execute + const result = util.executeLua(lua); + + // Assert + Expect(result).toBe(5); + } +} From 8a83c82f6003efaaac5582f95fa0374467c3c99d Mon Sep 17 00:00:00 2001 From: Lolleko Date: Sat, 21 Jul 2018 15:48:05 +0200 Subject: [PATCH 28/42] Got istanbul working --- coverage-remapped/coverage-final.json | 1 + gulpfile.ts | 27 +- package-lock.json | 1374 +++++++++++++------------ package.json | 4 + test/compiler/project.spec.ts | 17 +- 5 files changed, 741 insertions(+), 682 deletions(-) create mode 100644 coverage-remapped/coverage-final.json diff --git a/coverage-remapped/coverage-final.json b/coverage-remapped/coverage-final.json new file mode 100644 index 000000000..25432122e --- /dev/null +++ b/coverage-remapped/coverage-final.json @@ -0,0 +1 @@ +{"src/Compiler.ts":{"path":"src/Compiler.ts","statementMap":{"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":25}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":29}},"3":{"start":{"line":5,"column":0},"end":{"line":5,"column":33}},"4":{"start":{"line":7,"column":0},"end":{"line":7,"column":72}},"5":{"start":{"line":8,"column":0},"end":{"line":8,"column":58}},"6":{"start":{"line":9,"column":0},"end":{"line":9,"column":58}},"7":{"start":{"line":10,"column":0},"end":{"line":10,"column":58}},"8":{"start":{"line":11,"column":0},"end":{"line":11,"column":60}},"9":{"start":{"line":12,"column":0},"end":{"line":12,"column":72}},"10":{"start":{"line":14,"column":0},"end":{"line":17,"column":1}},"11":{"start":{"line":15,"column":4},"end":{"line":15,"column":47}},"12":{"start":{"line":16,"column":4},"end":{"line":16,"column":72}},"13":{"start":{"line":19,"column":0},"end":{"line":108,"column":1}},"14":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"15":{"start":{"line":21,"column":8},"end":{"line":21,"column":45}},"16":{"start":{"line":24,"column":4},"end":{"line":24,"column":57}},"17":{"start":{"line":26,"column":4},"end":{"line":26,"column":45}},"18":{"start":{"line":29,"column":4},"end":{"line":29,"column":93}},"19":{"start":{"line":29,"column":73},"end":{"line":29,"column":91}},"20":{"start":{"line":30,"column":4},"end":{"line":43,"column":7}},"21":{"start":{"line":31,"column":8},"end":{"line":42,"column":9}},"22":{"start":{"line":32,"column":12},"end":{"line":33,"column":81}},"23":{"start":{"line":34,"column":12},"end":{"line":34,"column":90}},"24":{"start":{"line":35,"column":12},"end":{"line":37,"column":14}},"25":{"start":{"line":39,"column":12},"end":{"line":41,"column":14}},"26":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"27":{"start":{"line":46,"column":35},"end":{"line":46,"column":80}},"28":{"start":{"line":47,"column":8},"end":{"line":47,"column":71}},"29":{"start":{"line":48,"column":8},"end":{"line":48,"column":24}},"30":{"start":{"line":51,"column":4},"end":{"line":99,"column":7}},"31":{"start":{"line":52,"column":8},"end":{"line":98,"column":9}},"32":{"start":{"line":53,"column":12},"end":{"line":97,"column":13}},"33":{"start":{"line":54,"column":16},"end":{"line":54,"column":48}},"34":{"start":{"line":56,"column":16},"end":{"line":56,"column":69}},"35":{"start":{"line":59,"column":16},"end":{"line":59,"column":97}},"36":{"start":{"line":61,"column":16},"end":{"line":61,"column":50}},"37":{"start":{"line":62,"column":16},"end":{"line":66,"column":17}},"38":{"start":{"line":63,"column":20},"end":{"line":64,"column":87}},"39":{"start":{"line":65,"column":20},"end":{"line":65,"column":76}},"40":{"start":{"line":69,"column":16},"end":{"line":79,"column":17}},"41":{"start":{"line":70,"column":20},"end":{"line":75,"column":21}},"42":{"start":{"line":71,"column":24},"end":{"line":71,"column":50}},"43":{"start":{"line":74,"column":24},"end":{"line":74,"column":80}},"44":{"start":{"line":77,"column":20},"end":{"line":77,"column":95}},"45":{"start":{"line":78,"column":20},"end":{"line":78,"column":76}},"46":{"start":{"line":82,"column":16},"end":{"line":82,"column":47}},"47":{"start":{"line":85,"column":16},"end":{"line":96,"column":17}},"48":{"start":{"line":86,"column":20},"end":{"line":86,"column":97}},"49":{"start":{"line":88,"column":20},"end":{"line":88,"column":90}},"50":{"start":{"line":89,"column":20},"end":{"line":92,"column":22}},"51":{"start":{"line":93,"column":20},"end":{"line":93,"column":36}},"52":{"start":{"line":95,"column":20},"end":{"line":95,"column":36},"skip":true},"53":{"start":{"line":102,"column":4},"end":{"line":107,"column":5}},"54":{"start":{"line":103,"column":8},"end":{"line":106,"column":10}},"55":{"start":{"line":110,"column":0},"end":{"line":133,"column":1}},"56":{"start":{"line":113,"column":4},"end":{"line":113,"column":43}},"57":{"start":{"line":114,"column":4},"end":{"line":130,"column":5}},"58":{"start":{"line":116,"column":12},"end":{"line":116,"column":85}},"59":{"start":{"line":117,"column":12},"end":{"line":117,"column":18}},"60":{"start":{"line":119,"column":12},"end":{"line":119,"column":84}},"61":{"start":{"line":120,"column":12},"end":{"line":120,"column":18}},"62":{"start":{"line":122,"column":12},"end":{"line":122,"column":84}},"63":{"start":{"line":123,"column":12},"end":{"line":123,"column":18}},"64":{"start":{"line":125,"column":12},"end":{"line":125,"column":84}},"65":{"start":{"line":126,"column":12},"end":{"line":126,"column":18}},"66":{"start":{"line":129,"column":12},"end":{"line":129,"column":81}},"67":{"start":{"line":132,"column":4},"end":{"line":132,"column":31}}},"fnMap":{"1":{"name":"compile","line":14,"loc":{"start":{"line":14,"column":0},"end":{"line":14,"column":38}}},"2":{"name":"compileFilesWithOptions","line":19,"loc":{"start":{"line":19,"column":0},"end":{"line":19,"column":85}}},"3":{"name":"createTranspiler","line":110,"loc":{"start":{"line":110,"column":0},"end":{"line":112,"column":58}}}},"branchMap":{"1":{"line":20,"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":20,"column":3}},{"start":{"line":20,"column":4},"end":{"line":20,"column":3}}]},"2":{"line":31,"type":"if","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":7}},{"start":{"line":31,"column":8},"end":{"line":31,"column":7}}]},"3":{"line":46,"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":46,"column":3}},{"start":{"line":46,"column":4},"end":{"line":46,"column":3}}]},"4":{"line":52,"type":"if","locations":[{"start":{"line":52,"column":8},"end":{"line":52,"column":7}},{"start":{"line":52,"column":8},"end":{"line":52,"column":7}}]},"5":{"line":62,"type":"if","locations":[{"start":{"line":62,"column":16},"end":{"line":62,"column":15}},{"start":{"line":62,"column":16},"end":{"line":62,"column":15}}]},"6":{"line":69,"type":"if","locations":[{"start":{"line":69,"column":16},"end":{"line":69,"column":15}},{"start":{"line":69,"column":16},"end":{"line":69,"column":15}}]},"7":{"line":70,"type":"if","locations":[{"start":{"line":70,"column":20},"end":{"line":70,"column":19}},{"start":{"line":70,"column":20},"end":{"line":70,"column":19}}]},"8":{"line":85,"type":"if","locations":[{"start":{"line":85,"column":16},"end":{"line":85,"column":15}},{"start":{"line":85,"column":16},"end":{"line":85,"column":15},"skip":true}]},"9":{"line":102,"type":"if","locations":[{"start":{"line":102,"column":4},"end":{"line":102,"column":3}},{"start":{"line":102,"column":4},"end":{"line":102,"column":3}}]},"10":{"line":115,"type":"switch","locations":[{"start":{"line":115,"column":8},"end":{"line":117,"column":18}},{"start":{"line":118,"column":8},"end":{"line":120,"column":18}},{"start":{"line":121,"column":8},"end":{"line":123,"column":18}},{"start":{"line":124,"column":8},"end":{"line":126,"column":18}},{"start":{"line":127,"column":8},"end":{"line":129,"column":81}}]}},"s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":2,"11":7,"12":7,"13":2,"14":7,"15":0,"16":7,"17":7,"18":7,"19":0,"20":7,"21":0,"22":0,"23":0,"24":0,"25":0,"26":7,"27":0,"28":0,"29":0,"30":7,"31":147,"32":14,"33":14,"34":14,"35":14,"36":14,"37":14,"38":6,"39":6,"40":14,"41":0,"42":0,"43":0,"44":14,"45":14,"46":14,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":7,"54":7,"55":2,"56":14,"57":14,"58":14,"59":14,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":14},"b":{"1":[0,7],"2":[0,0],"3":[0,7],"4":[14,133],"5":[6,8],"6":[0,14],"7":[0,0],"8":[0,0],"9":[7,0],"10":[14,0,0,0,0]},"f":{"1":7,"2":7,"3":14},"l":{"3":1,"4":1,"5":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"14":2,"15":7,"16":7,"19":2,"20":7,"21":0,"24":7,"26":7,"29":7,"30":7,"31":0,"32":0,"34":0,"35":0,"39":0,"46":7,"47":0,"48":0,"51":7,"52":147,"53":14,"54":14,"56":14,"59":14,"61":14,"62":14,"63":6,"65":6,"69":14,"70":0,"71":0,"74":0,"77":14,"78":14,"82":14,"85":0,"86":0,"88":0,"89":0,"93":0,"95":1,"102":7,"103":7,"110":2,"113":14,"114":14,"116":14,"117":14,"119":0,"120":0,"122":0,"123":0,"125":0,"126":0,"129":0,"132":14}},"src/CommandLineParser.ts":{"path":"src/CommandLineParser.ts","statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":25}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":29}},"3":{"start":{"line":3,"column":0},"end":{"line":3,"column":33}},"4":{"start":{"line":4,"column":0},"end":{"line":4,"column":31}},"5":{"start":{"line":16,"column":0},"end":{"line":18,"column":1}},"6":{"start":{"line":20,"column":0},"end":{"line":39,"column":2}},"7":{"start":{"line":45,"column":0},"end":{"line":101,"column":1}},"8":{"start":{"line":46,"column":4},"end":{"line":58,"column":21}},"9":{"start":{"line":56,"column":12},"end":{"line":56,"column":36}},"10":{"start":{"line":60,"column":4},"end":{"line":60,"column":48}},"11":{"start":{"line":63,"column":4},"end":{"line":63,"column":32}},"12":{"start":{"line":66,"column":4},"end":{"line":66,"column":44}},"13":{"start":{"line":69,"column":4},"end":{"line":80,"column":5}},"14":{"start":{"line":70,"column":8},"end":{"line":70,"column":36}},"15":{"start":{"line":71,"column":8},"end":{"line":71,"column":55}},"16":{"start":{"line":72,"column":8},"end":{"line":72,"column":70}},"17":{"start":{"line":73,"column":8},"end":{"line":73,"column":84}},"18":{"start":{"line":74,"column":8},"end":{"line":79,"column":10}},"19":{"start":{"line":83,"column":4},"end":{"line":83,"column":32}},"20":{"start":{"line":86,"column":4},"end":{"line":86,"column":32}},"21":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"22":{"start":{"line":89,"column":8},"end":{"line":89,"column":80}},"23":{"start":{"line":92,"column":4},"end":{"line":94,"column":5}},"24":{"start":{"line":93,"column":8},"end":{"line":93,"column":52}},"25":{"start":{"line":96,"column":4},"end":{"line":98,"column":5}},"26":{"start":{"line":97,"column":8},"end":{"line":97,"column":65}},"27":{"start":{"line":100,"column":4},"end":{"line":100,"column":44}},"28":{"start":{"line":103,"column":0},"end":{"line":116,"column":1}},"29":{"start":{"line":106,"column":4},"end":{"line":106,"column":71}},"30":{"start":{"line":108,"column":4},"end":{"line":115,"column":5}},"31":{"start":{"line":109,"column":8},"end":{"line":114,"column":9}},"32":{"start":{"line":111,"column":12},"end":{"line":113,"column":13}},"33":{"start":{"line":112,"column":16},"end":{"line":112,"column":63}},"34":{"start":{"line":119,"column":0},"end":{"line":151,"column":1}},"35":{"start":{"line":120,"column":4},"end":{"line":120,"column":50}},"36":{"start":{"line":121,"column":4},"end":{"line":150,"column":5}},"37":{"start":{"line":123,"column":8},"end":{"line":123,"column":41}},"38":{"start":{"line":124,"column":8},"end":{"line":134,"column":9}},"39":{"start":{"line":125,"column":12},"end":{"line":125,"column":34}},"40":{"start":{"line":126,"column":12},"end":{"line":126,"column":56}},"41":{"start":{"line":127,"column":12},"end":{"line":133,"column":13}},"42":{"start":{"line":128,"column":16},"end":{"line":132,"column":17}},"43":{"start":{"line":129,"column":20},"end":{"line":129,"column":44}},"44":{"start":{"line":131,"column":20},"end":{"line":131,"column":47}},"45":{"start":{"line":136,"column":8},"end":{"line":149,"column":11}},"46":{"start":{"line":137,"column":12},"end":{"line":137,"column":31}},"47":{"start":{"line":139,"column":12},"end":{"line":148,"column":13}},"48":{"start":{"line":140,"column":16},"end":{"line":144,"column":17}},"49":{"start":{"line":141,"column":20},"end":{"line":143,"column":21}},"50":{"start":{"line":142,"column":24},"end":{"line":142,"column":38}},"51":{"start":{"line":145,"column":16},"end":{"line":147,"column":17}},"52":{"start":{"line":146,"column":20},"end":{"line":146,"column":82}},"53":{"start":{"line":154,"column":0},"end":{"line":182,"column":1}},"54":{"start":{"line":155,"column":4},"end":{"line":157,"column":5}},"55":{"start":{"line":156,"column":8},"end":{"line":156,"column":82}},"56":{"start":{"line":158,"column":4},"end":{"line":158,"column":19}},"57":{"start":{"line":160,"column":4},"end":{"line":165,"column":5}},"58":{"start":{"line":161,"column":8},"end":{"line":161,"column":49}},"59":{"start":{"line":164,"column":8},"end":{"line":164,"column":75},"skip":true},"60":{"start":{"line":166,"column":4},"end":{"line":180,"column":5}},"61":{"start":{"line":167,"column":8},"end":{"line":167,"column":60}},"62":{"start":{"line":168,"column":11},"end":{"line":180,"column":5}},"63":{"start":{"line":170,"column":8},"end":{"line":170,"column":61}},"64":{"start":{"line":171,"column":8},"end":{"line":179,"column":9}},"65":{"start":{"line":172,"column":12},"end":{"line":172,"column":86}},"66":{"start":{"line":175,"column":12},"end":{"line":178,"column":13}},"67":{"start":{"line":176,"column":16},"end":{"line":176,"column":40}},"68":{"start":{"line":177,"column":16},"end":{"line":177,"column":22}},"69":{"start":{"line":181,"column":4},"end":{"line":181,"column":45}}},"fnMap":{"1":{"name":"parseCommandLine","line":45,"loc":{"start":{"line":45,"column":0},"end":{"line":45,"column":47}}},"2":{"name":"addTSTLOptions","line":103,"loc":{"start":{"line":103,"column":0},"end":{"line":105,"column":47}}},"3":{"name":"runDiagnostics","line":119,"loc":{"start":{"line":119,"column":0},"end":{"line":119,"column":57}}},"4":{"name":"findConfigFile","line":154,"loc":{"start":{"line":154,"column":0},"end":{"line":154,"column":64}}}},"branchMap":{"1":{"line":69,"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":69,"column":3}},{"start":{"line":69,"column":4},"end":{"line":69,"column":3}}]},"2":{"line":88,"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":88,"column":3}},{"start":{"line":88,"column":4},"end":{"line":88,"column":3}}]},"3":{"line":88,"type":"binary-expr","locations":[{"start":{"line":88,"column":8},"end":{"line":88,"column":35}},{"start":{"line":88,"column":39},"end":{"line":88,"column":67}}]},"4":{"line":92,"type":"if","locations":[{"start":{"line":92,"column":4},"end":{"line":92,"column":3}},{"start":{"line":92,"column":4},"end":{"line":92,"column":3}}]},"5":{"line":96,"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":96,"column":3}},{"start":{"line":96,"column":4},"end":{"line":96,"column":3}}]},"6":{"line":106,"type":"cond-expr","locations":[{"start":{"line":106,"column":38},"end":{"line":106,"column":52}},{"start":{"line":106,"column":55},"end":{"line":106,"column":70}}]},"7":{"line":108,"type":"if","locations":[{"start":{"line":108,"column":4},"end":{"line":108,"column":3}},{"start":{"line":108,"column":4},"end":{"line":108,"column":3}}]},"8":{"line":111,"type":"if","locations":[{"start":{"line":111,"column":12},"end":{"line":111,"column":11}},{"start":{"line":111,"column":12},"end":{"line":111,"column":11}}]},"9":{"line":111,"type":"binary-expr","locations":[{"start":{"line":111,"column":16},"end":{"line":111,"column":39}},{"start":{"line":111,"column":44},"end":{"line":111,"column":69}},{"start":{"line":111,"column":73},"end":{"line":111,"column":86}}]},"10":{"line":121,"type":"if","locations":[{"start":{"line":121,"column":4},"end":{"line":121,"column":3}},{"start":{"line":121,"column":4},"end":{"line":121,"column":3}}]},"11":{"line":127,"type":"if","locations":[{"start":{"line":127,"column":12},"end":{"line":127,"column":11}},{"start":{"line":127,"column":12},"end":{"line":127,"column":11}}]},"12":{"line":128,"type":"if","locations":[{"start":{"line":128,"column":16},"end":{"line":128,"column":15}},{"start":{"line":128,"column":16},"end":{"line":128,"column":15}}]},"13":{"line":139,"type":"if","locations":[{"start":{"line":139,"column":12},"end":{"line":139,"column":11}},{"start":{"line":139,"column":12},"end":{"line":139,"column":11}}]},"14":{"line":141,"type":"if","locations":[{"start":{"line":141,"column":20},"end":{"line":141,"column":19}},{"start":{"line":141,"column":20},"end":{"line":141,"column":19}}]},"15":{"line":145,"type":"if","locations":[{"start":{"line":145,"column":16},"end":{"line":145,"column":15}},{"start":{"line":145,"column":16},"end":{"line":145,"column":15}}]},"16":{"line":155,"type":"if","locations":[{"start":{"line":155,"column":4},"end":{"line":155,"column":3}},{"start":{"line":155,"column":4},"end":{"line":155,"column":3}}]},"17":{"line":160,"type":"if","locations":[{"start":{"line":160,"column":4},"end":{"line":160,"column":3}},{"start":{"line":160,"column":4},"end":{"line":160,"column":3},"skip":true}]},"18":{"line":166,"type":"if","locations":[{"start":{"line":166,"column":4},"end":{"line":166,"column":3}},{"start":{"line":166,"column":4},"end":{"line":166,"column":3}}]},"19":{"line":168,"type":"if","locations":[{"start":{"line":168,"column":11},"end":{"line":168,"column":10}},{"start":{"line":168,"column":11},"end":{"line":168,"column":10}}]},"20":{"line":168,"type":"binary-expr","locations":[{"start":{"line":168,"column":15},"end":{"line":168,"column":47}},{"start":{"line":168,"column":51},"end":{"line":168,"column":85}}]},"21":{"line":175,"type":"if","locations":[{"start":{"line":175,"column":12},"end":{"line":175,"column":11}},{"start":{"line":175,"column":12},"end":{"line":175,"column":11}}]}},"s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":2,"8":7,"9":0,"10":7,"11":7,"12":7,"13":7,"14":7,"15":7,"16":7,"17":7,"18":7,"19":7,"20":7,"21":7,"22":4,"23":7,"24":0,"25":7,"26":4,"27":7,"28":1,"29":14,"30":14,"31":14,"32":95,"33":21,"34":1,"35":14,"36":14,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":2,"54":7,"55":0,"56":7,"57":7,"58":7,"59":0,"60":7,"61":1,"62":6,"63":1,"64":1,"65":2,"66":2,"67":1,"68":1,"69":7},"b":{"1":[7,0],"2":[4,3],"3":[7,7],"4":[0,7],"5":[4,3],"6":[7,7],"7":[14,0],"8":[21,74],"9":[95,25,4],"10":[0,14],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,7],"17":[7,0],"18":[1,6],"19":[1,5],"20":[6,6],"21":[1,1]},"f":{"1":7,"2":14,"3":14,"4":7},"l":{"1":1,"2":1,"3":1,"4":1,"16":1,"20":1,"45":2,"46":7,"56":0,"60":7,"63":7,"66":7,"69":7,"70":7,"71":7,"72":7,"73":7,"74":7,"83":7,"86":7,"88":7,"89":4,"92":7,"93":0,"96":7,"97":4,"100":7,"103":1,"106":14,"108":14,"109":14,"111":95,"112":21,"119":1,"120":14,"121":14,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"131":0,"136":0,"137":0,"139":0,"140":0,"141":0,"142":0,"145":0,"146":0,"154":2,"155":7,"156":0,"158":7,"160":7,"161":7,"164":1,"166":7,"167":1,"168":6,"170":1,"171":1,"172":2,"175":2,"176":1,"177":1,"181":7}},"src/targets/Transpiler.51.ts":{"path":"src/targets/Transpiler.51.ts","statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":62}},"2":{"start":{"line":6,"column":0},"end":{"line":8,"column":1}}},"fnMap":{},"branchMap":{},"s":{"1":1,"2":1},"b":{},"f":{},"l":{"1":1,"6":1}},"src/Transpiler.ts":{"path":"src/Transpiler.ts","statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":50}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":29}},"4":{"start":{"line":9,"column":0},"end":{"line":9,"column":47}},"5":{"start":{"line":15,"column":8},"end":{"line":15,"column":23}},"6":{"start":{"line":16,"column":8},"end":{"line":16,"column":25}},"7":{"start":{"line":12,"column":0},"end":{"line":18,"column":1}},"8":{"start":{"line":20,"column":0},"end":{"line":25,"column":1}},"9":{"start":{"line":21,"column":4},"end":{"line":21,"column":17}},"10":{"start":{"line":22,"column":4},"end":{"line":22,"column":17}},"11":{"start":{"line":23,"column":4},"end":{"line":23,"column":17}},"12":{"start":{"line":24,"column":4},"end":{"line":24,"column":18}},"13":{"start":{"line":27,"column":0},"end":{"line":43,"column":1}},"14":{"start":{"line":28,"column":4},"end":{"line":28,"column":29}},"15":{"start":{"line":29,"column":4},"end":{"line":29,"column":31}},"16":{"start":{"line":30,"column":4},"end":{"line":30,"column":33}},"17":{"start":{"line":31,"column":4},"end":{"line":31,"column":33}},"18":{"start":{"line":32,"column":4},"end":{"line":32,"column":25}},"19":{"start":{"line":33,"column":4},"end":{"line":33,"column":27}},"20":{"start":{"line":34,"column":4},"end":{"line":34,"column":29}},"21":{"start":{"line":35,"column":4},"end":{"line":35,"column":27}},"22":{"start":{"line":36,"column":4},"end":{"line":36,"column":31}},"23":{"start":{"line":37,"column":4},"end":{"line":37,"column":29}},"24":{"start":{"line":38,"column":4},"end":{"line":38,"column":15}},"25":{"start":{"line":39,"column":4},"end":{"line":39,"column":15}},"26":{"start":{"line":40,"column":4},"end":{"line":40,"column":35}},"27":{"start":{"line":41,"column":4},"end":{"line":41,"column":31}},"28":{"start":{"line":42,"column":4},"end":{"line":42,"column":23}},"29":{"start":{"line":71,"column":8},"end":{"line":71,"column":25}},"30":{"start":{"line":72,"column":8},"end":{"line":72,"column":31}},"31":{"start":{"line":73,"column":8},"end":{"line":73,"column":31}},"32":{"start":{"line":74,"column":8},"end":{"line":74,"column":31}},"33":{"start":{"line":75,"column":8},"end":{"line":75,"column":35}},"34":{"start":{"line":76,"column":8},"end":{"line":76,"column":28}},"35":{"start":{"line":77,"column":8},"end":{"line":77,"column":29}},"36":{"start":{"line":78,"column":8},"end":{"line":78,"column":37}},"37":{"start":{"line":79,"column":8},"end":{"line":79,"column":58}},"38":{"start":{"line":80,"column":8},"end":{"line":80,"column":28}},"39":{"start":{"line":81,"column":8},"end":{"line":81,"column":29}},"40":{"start":{"line":82,"column":8},"end":{"line":82,"column":30}},"41":{"start":{"line":83,"column":8},"end":{"line":83,"column":57}},"42":{"start":{"line":87,"column":8},"end":{"line":87,"column":43}},"43":{"start":{"line":91,"column":8},"end":{"line":91,"column":43}},"44":{"start":{"line":95,"column":8},"end":{"line":95,"column":63}},"45":{"start":{"line":99,"column":8},"end":{"line":100,"column":26}},"46":{"start":{"line":104,"column":8},"end":{"line":104,"column":105}},"47":{"start":{"line":108,"column":8},"end":{"line":108,"column":32}},"48":{"start":{"line":109,"column":8},"end":{"line":118,"column":9}},"49":{"start":{"line":113,"column":12},"end":{"line":117,"column":13}},"50":{"start":{"line":114,"column":16},"end":{"line":114,"column":85}},"51":{"start":{"line":116,"column":16},"end":{"line":116,"column":90}},"52":{"start":{"line":119,"column":8},"end":{"line":125,"column":9}},"53":{"start":{"line":120,"column":12},"end":{"line":124,"column":13}},"54":{"start":{"line":121,"column":16},"end":{"line":121,"column":78}},"55":{"start":{"line":123,"column":16},"end":{"line":123,"column":83}},"56":{"start":{"line":126,"column":8},"end":{"line":126,"column":22}},"57":{"start":{"line":130,"column":8},"end":{"line":130,"column":24}},"58":{"start":{"line":131,"column":8},"end":{"line":132,"column":77}},"59":{"start":{"line":132,"column":19},"end":{"line":132,"column":75}},"60":{"start":{"line":133,"column":8},"end":{"line":133,"column":22}},"61":{"start":{"line":138,"column":8},"end":{"line":138,"column":43}},"62":{"start":{"line":142,"column":8},"end":{"line":144,"column":9}},"63":{"start":{"line":143,"column":12},"end":{"line":143,"column":68}},"64":{"start":{"line":145,"column":8},"end":{"line":145,"column":82}},"65":{"start":{"line":150,"column":8},"end":{"line":150,"column":78}},"66":{"start":{"line":151,"column":8},"end":{"line":157,"column":9}},"67":{"start":{"line":154,"column":12},"end":{"line":155,"column":107}},"68":{"start":{"line":156,"column":12},"end":{"line":156,"column":45}},"69":{"start":{"line":159,"column":8},"end":{"line":159,"column":62}},"70":{"start":{"line":163,"column":8},"end":{"line":163,"column":65}},"71":{"start":{"line":168,"column":8},"end":{"line":168,"column":24}},"72":{"start":{"line":169,"column":8},"end":{"line":172,"column":9}},"73":{"start":{"line":170,"column":12},"end":{"line":171,"column":62}},"74":{"start":{"line":173,"column":8},"end":{"line":173,"column":28}},"75":{"start":{"line":174,"column":8},"end":{"line":177,"column":9}},"76":{"start":{"line":176,"column":12},"end":{"line":176,"column":55}},"77":{"start":{"line":178,"column":8},"end":{"line":181,"column":9}},"78":{"start":{"line":180,"column":12},"end":{"line":180,"column":56}},"79":{"start":{"line":184,"column":8},"end":{"line":184,"column":34}},"80":{"start":{"line":185,"column":8},"end":{"line":185,"column":81}},"81":{"start":{"line":185,"column":48},"end":{"line":185,"column":79}},"82":{"start":{"line":186,"column":8},"end":{"line":186,"column":37}},"83":{"start":{"line":188,"column":8},"end":{"line":190,"column":9}},"84":{"start":{"line":189,"column":12},"end":{"line":189,"column":41}},"85":{"start":{"line":191,"column":8},"end":{"line":191,"column":22}},"86":{"start":{"line":196,"column":8},"end":{"line":196,"column":34}},"87":{"start":{"line":197,"column":8},"end":{"line":197,"column":95}},"88":{"start":{"line":197,"column":55},"end":{"line":197,"column":84}},"89":{"start":{"line":198,"column":8},"end":{"line":198,"column":37}},"90":{"start":{"line":200,"column":8},"end":{"line":200,"column":22}},"91":{"start":{"line":206,"column":8},"end":{"line":208,"column":9}},"92":{"start":{"line":206,"column":62},"end":{"line":206,"column":108}},"93":{"start":{"line":207,"column":12},"end":{"line":207,"column":22}},"94":{"start":{"line":210,"column":8},"end":{"line":260,"column":9}},"95":{"start":{"line":212,"column":16},"end":{"line":212,"column":74}},"96":{"start":{"line":214,"column":16},"end":{"line":214,"column":72}},"97":{"start":{"line":216,"column":16},"end":{"line":216,"column":77}},"98":{"start":{"line":218,"column":16},"end":{"line":218,"column":61}},"99":{"start":{"line":220,"column":16},"end":{"line":220,"column":70}},"100":{"start":{"line":222,"column":16},"end":{"line":222,"column":89}},"101":{"start":{"line":224,"column":16},"end":{"line":225,"column":92}},"102":{"start":{"line":227,"column":16},"end":{"line":228,"column":100}},"103":{"start":{"line":230,"column":16},"end":{"line":230,"column":93}},"104":{"start":{"line":232,"column":16},"end":{"line":232,"column":64}},"105":{"start":{"line":234,"column":16},"end":{"line":234,"column":70}},"106":{"start":{"line":236,"column":16},"end":{"line":236,"column":73}},"107":{"start":{"line":238,"column":16},"end":{"line":238,"column":66}},"108":{"start":{"line":240,"column":16},"end":{"line":240,"column":70}},"109":{"start":{"line":242,"column":16},"end":{"line":242,"column":70}},"110":{"start":{"line":244,"column":16},"end":{"line":244,"column":72}},"111":{"start":{"line":246,"column":16},"end":{"line":246,"column":45}},"112":{"start":{"line":248,"column":16},"end":{"line":248,"column":66}},"113":{"start":{"line":250,"column":16},"end":{"line":250,"column":70}},"114":{"start":{"line":252,"column":16},"end":{"line":252,"column":76}},"115":{"start":{"line":257,"column":16},"end":{"line":257,"column":26}},"116":{"start":{"line":259,"column":16},"end":{"line":259,"column":75}},"117":{"start":{"line":264,"column":8},"end":{"line":264,"column":39}},"118":{"start":{"line":265,"column":8},"end":{"line":265,"column":53}},"119":{"start":{"line":269,"column":8},"end":{"line":269,"column":74}},"120":{"start":{"line":270,"column":8},"end":{"line":270,"column":86}},"121":{"start":{"line":272,"column":8},"end":{"line":277,"column":9}},"122":{"start":{"line":273,"column":12},"end":{"line":276,"column":14}},"123":{"start":{"line":279,"column":8},"end":{"line":279,"column":56}},"124":{"start":{"line":281,"column":8},"end":{"line":303,"column":9}},"125":{"start":{"line":282,"column":12},"end":{"line":282,"column":94}},"126":{"start":{"line":283,"column":12},"end":{"line":283,"column":83}},"127":{"start":{"line":284,"column":12},"end":{"line":284,"column":87}},"128":{"start":{"line":285,"column":12},"end":{"line":285,"column":31}},"129":{"start":{"line":286,"column":12},"end":{"line":296,"column":15}},"130":{"start":{"line":287,"column":16},"end":{"line":287,"column":72}},"131":{"start":{"line":288,"column":16},"end":{"line":295,"column":17}},"132":{"start":{"line":289,"column":20},"end":{"line":289,"column":88}},"133":{"start":{"line":290,"column":20},"end":{"line":291,"column":83}},"134":{"start":{"line":293,"column":20},"end":{"line":294,"column":79}},"135":{"start":{"line":297,"column":12},"end":{"line":297,"column":26}},"136":{"start":{"line":298,"column":15},"end":{"line":303,"column":9}},"137":{"start":{"line":299,"column":12},"end":{"line":299,"column":83}},"138":{"start":{"line":300,"column":12},"end":{"line":300,"column":104}},"139":{"start":{"line":302,"column":12},"end":{"line":302,"column":71}},"140":{"start":{"line":308,"column":8},"end":{"line":310,"column":9}},"141":{"start":{"line":309,"column":12},"end":{"line":309,"column":49}},"142":{"start":{"line":312,"column":8},"end":{"line":312,"column":60}},"143":{"start":{"line":313,"column":8},"end":{"line":316,"column":60}},"144":{"start":{"line":318,"column":8},"end":{"line":320,"column":9}},"145":{"start":{"line":319,"column":12},"end":{"line":319,"column":77}},"146":{"start":{"line":321,"column":8},"end":{"line":321,"column":39}},"147":{"start":{"line":323,"column":8},"end":{"line":323,"column":39}},"148":{"start":{"line":324,"column":8},"end":{"line":324,"column":26}},"149":{"start":{"line":325,"column":8},"end":{"line":325,"column":44}},"150":{"start":{"line":326,"column":8},"end":{"line":328,"column":9}},"151":{"start":{"line":327,"column":12},"end":{"line":327,"column":52}},"152":{"start":{"line":329,"column":8},"end":{"line":329,"column":29}},"153":{"start":{"line":330,"column":8},"end":{"line":330,"column":25}},"154":{"start":{"line":331,"column":8},"end":{"line":331,"column":40}},"155":{"start":{"line":332,"column":8},"end":{"line":332,"column":22}},"156":{"start":{"line":336,"column":8},"end":{"line":336,"column":37}},"157":{"start":{"line":337,"column":8},"end":{"line":337,"column":24}},"158":{"start":{"line":339,"column":8},"end":{"line":339,"column":58}},"159":{"start":{"line":340,"column":8},"end":{"line":340,"column":82}},"160":{"start":{"line":342,"column":8},"end":{"line":346,"column":9}},"161":{"start":{"line":343,"column":12},"end":{"line":343,"column":61}},"162":{"start":{"line":344,"column":12},"end":{"line":344,"column":77}},"163":{"start":{"line":345,"column":12},"end":{"line":345,"column":40}},"164":{"start":{"line":348,"column":8},"end":{"line":348,"column":42}},"165":{"start":{"line":349,"column":8},"end":{"line":376,"column":11}},"166":{"start":{"line":350,"column":12},"end":{"line":361,"column":13}},"167":{"start":{"line":351,"column":16},"end":{"line":358,"column":17}},"168":{"start":{"line":352,"column":20},"end":{"line":352,"column":60}},"169":{"start":{"line":353,"column":23},"end":{"line":358,"column":17}},"170":{"start":{"line":354,"column":20},"end":{"line":354,"column":49}},"171":{"start":{"line":355,"column":20},"end":{"line":355,"column":57}},"172":{"start":{"line":357,"column":20},"end":{"line":357,"column":109}},"173":{"start":{"line":359,"column":19},"end":{"line":361,"column":13}},"174":{"start":{"line":360,"column":16},"end":{"line":360,"column":78}},"175":{"start":{"line":363,"column":12},"end":{"line":371,"column":13}},"176":{"start":{"line":364,"column":16},"end":{"line":364,"column":108}},"177":{"start":{"line":365,"column":16},"end":{"line":365,"column":62}},"178":{"start":{"line":367,"column":16},"end":{"line":369,"column":18}},"179":{"start":{"line":370,"column":16},"end":{"line":370,"column":62}},"180":{"start":{"line":373,"column":12},"end":{"line":375,"column":13}},"181":{"start":{"line":374,"column":14},"end":{"line":374,"column":20}},"182":{"start":{"line":377,"column":8},"end":{"line":377,"column":22}},"183":{"start":{"line":381,"column":8},"end":{"line":385,"column":9}},"184":{"start":{"line":382,"column":12},"end":{"line":382,"column":22}},"185":{"start":{"line":384,"column":12},"end":{"line":384,"column":43}},"186":{"start":{"line":389,"column":8},"end":{"line":393,"column":10}},"187":{"start":{"line":397,"column":8},"end":{"line":397,"column":68}},"188":{"start":{"line":399,"column":8},"end":{"line":399,"column":60}},"189":{"start":{"line":400,"column":8},"end":{"line":400,"column":26}},"190":{"start":{"line":401,"column":8},"end":{"line":401,"column":62}},"191":{"start":{"line":402,"column":8},"end":{"line":402,"column":25}},"192":{"start":{"line":404,"column":8},"end":{"line":409,"column":9}},"193":{"start":{"line":405,"column":12},"end":{"line":405,"column":45}},"194":{"start":{"line":406,"column":12},"end":{"line":406,"column":30}},"195":{"start":{"line":407,"column":12},"end":{"line":407,"column":66}},"196":{"start":{"line":408,"column":12},"end":{"line":408,"column":29}},"197":{"start":{"line":411,"column":8},"end":{"line":411,"column":46}},"198":{"start":{"line":421,"column":8},"end":{"line":421,"column":48}},"199":{"start":{"line":422,"column":8},"end":{"line":422,"column":29}},"200":{"start":{"line":423,"column":8},"end":{"line":423,"column":42}},"201":{"start":{"line":424,"column":8},"end":{"line":424,"column":26}},"202":{"start":{"line":425,"column":8},"end":{"line":425,"column":58}},"203":{"start":{"line":426,"column":8},"end":{"line":426,"column":25}},"204":{"start":{"line":427,"column":8},"end":{"line":427,"column":40}},"205":{"start":{"line":428,"column":8},"end":{"line":428,"column":22}},"206":{"start":{"line":432,"column":8},"end":{"line":432,"column":68}},"207":{"start":{"line":434,"column":8},"end":{"line":434,"column":61}},"208":{"start":{"line":435,"column":8},"end":{"line":435,"column":26}},"209":{"start":{"line":436,"column":8},"end":{"line":436,"column":47}},"210":{"start":{"line":437,"column":8},"end":{"line":437,"column":25}},"211":{"start":{"line":438,"column":8},"end":{"line":438,"column":46}},"212":{"start":{"line":442,"column":8},"end":{"line":442,"column":46}},"213":{"start":{"line":444,"column":8},"end":{"line":444,"column":26}},"214":{"start":{"line":445,"column":8},"end":{"line":445,"column":47}},"215":{"start":{"line":446,"column":8},"end":{"line":446,"column":25}},"216":{"start":{"line":449,"column":8},"end":{"line":449,"column":97}},"217":{"start":{"line":451,"column":8},"end":{"line":451,"column":22}},"218":{"start":{"line":456,"column":8},"end":{"line":456,"column":24}},"219":{"start":{"line":457,"column":8},"end":{"line":459,"column":9}},"220":{"start":{"line":458,"column":12},"end":{"line":458,"column":91}},"221":{"start":{"line":460,"column":8},"end":{"line":460,"column":90}},"222":{"start":{"line":463,"column":8},"end":{"line":463,"column":26}},"223":{"start":{"line":464,"column":8},"end":{"line":464,"column":47}},"224":{"start":{"line":465,"column":8},"end":{"line":465,"column":82}},"225":{"start":{"line":466,"column":8},"end":{"line":466,"column":25}},"226":{"start":{"line":468,"column":8},"end":{"line":468,"column":40}},"227":{"start":{"line":470,"column":8},"end":{"line":470,"column":22}},"228":{"start":{"line":475,"column":8},"end":{"line":475,"column":90}},"229":{"start":{"line":478,"column":8},"end":{"line":478,"column":69}},"230":{"start":{"line":481,"column":8},"end":{"line":481,"column":108}},"231":{"start":{"line":482,"column":8},"end":{"line":482,"column":51}},"232":{"start":{"line":485,"column":8},"end":{"line":485,"column":24}},"233":{"start":{"line":486,"column":8},"end":{"line":493,"column":9}},"234":{"start":{"line":487,"column":12},"end":{"line":487,"column":119}},"235":{"start":{"line":488,"column":15},"end":{"line":493,"column":9}},"236":{"start":{"line":489,"column":12},"end":{"line":489,"column":66}},"237":{"start":{"line":490,"column":12},"end":{"line":490,"column":88}},"238":{"start":{"line":491,"column":12},"end":{"line":491,"column":118}},"239":{"start":{"line":492,"column":12},"end":{"line":492,"column":83}},"240":{"start":{"line":496,"column":8},"end":{"line":496,"column":26}},"241":{"start":{"line":497,"column":8},"end":{"line":497,"column":47}},"242":{"start":{"line":498,"column":8},"end":{"line":498,"column":25}},"243":{"start":{"line":500,"column":8},"end":{"line":500,"column":46}},"244":{"start":{"line":505,"column":8},"end":{"line":505,"column":116}},"245":{"start":{"line":506,"column":8},"end":{"line":506,"column":58}},"246":{"start":{"line":509,"column":8},"end":{"line":509,"column":69}},"247":{"start":{"line":511,"column":8},"end":{"line":513,"column":9}},"248":{"start":{"line":512,"column":12},"end":{"line":512,"column":98}},"249":{"start":{"line":516,"column":8},"end":{"line":516,"column":113}},"250":{"start":{"line":519,"column":8},"end":{"line":519,"column":26}},"251":{"start":{"line":520,"column":8},"end":{"line":520,"column":47}},"252":{"start":{"line":521,"column":8},"end":{"line":521,"column":25}},"253":{"start":{"line":523,"column":8},"end":{"line":523,"column":46}},"254":{"start":{"line":527,"column":8},"end":{"line":531,"column":9}},"255":{"start":{"line":528,"column":12},"end":{"line":528,"column":45}},"256":{"start":{"line":530,"column":12},"end":{"line":530,"column":44}},"257":{"start":{"line":535,"column":8},"end":{"line":535,"column":75}},"258":{"start":{"line":536,"column":8},"end":{"line":536,"column":47}},"259":{"start":{"line":538,"column":8},"end":{"line":538,"column":76}},"260":{"start":{"line":540,"column":8},"end":{"line":540,"column":64}},"261":{"start":{"line":541,"column":8},"end":{"line":541,"column":29}},"262":{"start":{"line":543,"column":8},"end":{"line":543,"column":64}},"263":{"start":{"line":546,"column":8},"end":{"line":590,"column":11}},"264":{"start":{"line":547,"column":12},"end":{"line":551,"column":13}},"265":{"start":{"line":548,"column":16},"end":{"line":548,"column":53}},"266":{"start":{"line":549,"column":16},"end":{"line":550,"column":114}},"267":{"start":{"line":552,"column":12},"end":{"line":555,"column":13}},"268":{"start":{"line":553,"column":16},"end":{"line":553,"column":56}},"269":{"start":{"line":554,"column":16},"end":{"line":554,"column":110}},"270":{"start":{"line":556,"column":12},"end":{"line":556,"column":30}},"271":{"start":{"line":558,"column":12},"end":{"line":558,"column":37}},"272":{"start":{"line":559,"column":12},"end":{"line":561,"column":15}},"273":{"start":{"line":560,"column":16},"end":{"line":560,"column":56}},"274":{"start":{"line":562,"column":12},"end":{"line":562,"column":37}},"275":{"start":{"line":564,"column":12},"end":{"line":564,"column":30}},"276":{"start":{"line":565,"column":12},"end":{"line":585,"column":13}},"277":{"start":{"line":566,"column":16},"end":{"line":566,"column":44}},"278":{"start":{"line":567,"column":16},"end":{"line":573,"column":17}},"279":{"start":{"line":571,"column":20},"end":{"line":571,"column":24}},"280":{"start":{"line":572,"column":20},"end":{"line":572,"column":44}},"281":{"start":{"line":575,"column":16},"end":{"line":582,"column":17}},"282":{"start":{"line":576,"column":20},"end":{"line":581,"column":21}},"283":{"start":{"line":577,"column":24},"end":{"line":578,"column":115}},"284":{"start":{"line":580,"column":24},"end":{"line":580,"column":107}},"285":{"start":{"line":584,"column":16},"end":{"line":584,"column":54}},"286":{"start":{"line":587,"column":12},"end":{"line":587,"column":29}},"287":{"start":{"line":589,"column":12},"end":{"line":589,"column":44}},"288":{"start":{"line":591,"column":8},"end":{"line":592,"column":96}},"289":{"start":{"line":593,"column":8},"end":{"line":595,"column":86}},"290":{"start":{"line":596,"column":8},"end":{"line":597,"column":59}},"291":{"start":{"line":600,"column":8},"end":{"line":600,"column":45}},"292":{"start":{"line":601,"column":8},"end":{"line":601,"column":22}},"293":{"start":{"line":605,"column":8},"end":{"line":605,"column":37}},"294":{"start":{"line":606,"column":8},"end":{"line":606,"column":26}},"295":{"start":{"line":607,"column":8},"end":{"line":607,"column":54}},"296":{"start":{"line":608,"column":8},"end":{"line":608,"column":25}},"297":{"start":{"line":609,"column":8},"end":{"line":609,"column":25}},"298":{"start":{"line":610,"column":8},"end":{"line":610,"column":43}},"299":{"start":{"line":611,"column":8},"end":{"line":618,"column":9}},"300":{"start":{"line":612,"column":12},"end":{"line":612,"column":118}},"301":{"start":{"line":613,"column":12},"end":{"line":613,"column":68}},"302":{"start":{"line":614,"column":12},"end":{"line":614,"column":30}},"303":{"start":{"line":615,"column":12},"end":{"line":615,"column":69}},"304":{"start":{"line":616,"column":12},"end":{"line":616,"column":29}},"305":{"start":{"line":617,"column":12},"end":{"line":617,"column":31}},"306":{"start":{"line":619,"column":8},"end":{"line":619,"column":73}},"307":{"start":{"line":620,"column":8},"end":{"line":622,"column":9}},"308":{"start":{"line":621,"column":12},"end":{"line":621,"column":61}},"309":{"start":{"line":623,"column":8},"end":{"line":623,"column":22}},"310":{"start":{"line":627,"column":8},"end":{"line":634,"column":9}},"311":{"start":{"line":628,"column":12},"end":{"line":628,"column":54}},"312":{"start":{"line":630,"column":12},"end":{"line":633,"column":14}},"313":{"start":{"line":638,"column":8},"end":{"line":660,"column":9}},"314":{"start":{"line":641,"column":12},"end":{"line":641,"column":92}},"315":{"start":{"line":642,"column":12},"end":{"line":645,"column":13}},"316":{"start":{"line":644,"column":16},"end":{"line":644,"column":114}},"317":{"start":{"line":644,"column":72},"end":{"line":644,"column":102}},"318":{"start":{"line":649,"column":12},"end":{"line":654,"column":13}},"319":{"start":{"line":652,"column":16},"end":{"line":653,"column":99}},"320":{"start":{"line":656,"column":12},"end":{"line":656,"column":73}},"321":{"start":{"line":659,"column":12},"end":{"line":659,"column":28}},"322":{"start":{"line":664,"column":8},"end":{"line":737,"column":9}},"323":{"start":{"line":667,"column":16},"end":{"line":667,"column":93}},"324":{"start":{"line":670,"column":16},"end":{"line":670,"column":103}},"325":{"start":{"line":672,"column":16},"end":{"line":672,"column":79}},"326":{"start":{"line":674,"column":16},"end":{"line":674,"column":99}},"327":{"start":{"line":676,"column":16},"end":{"line":676,"column":97}},"328":{"start":{"line":679,"column":16},"end":{"line":681,"column":17}},"329":{"start":{"line":680,"column":20},"end":{"line":680,"column":33}},"330":{"start":{"line":683,"column":16},"end":{"line":683,"column":71}},"331":{"start":{"line":686,"column":16},"end":{"line":686,"column":61}},"332":{"start":{"line":687,"column":16},"end":{"line":687,"column":35}},"333":{"start":{"line":689,"column":16},"end":{"line":689,"column":87}},"334":{"start":{"line":691,"column":16},"end":{"line":691,"column":56}},"335":{"start":{"line":693,"column":16},"end":{"line":693,"column":30}},"336":{"start":{"line":695,"column":16},"end":{"line":695,"column":31}},"337":{"start":{"line":698,"column":16},"end":{"line":698,"column":29}},"338":{"start":{"line":700,"column":16},"end":{"line":700,"column":30}},"339":{"start":{"line":702,"column":16},"end":{"line":702,"column":95}},"340":{"start":{"line":704,"column":16},"end":{"line":704,"column":93}},"341":{"start":{"line":706,"column":16},"end":{"line":706,"column":85}},"342":{"start":{"line":708,"column":16},"end":{"line":708,"column":87}},"343":{"start":{"line":710,"column":16},"end":{"line":710,"column":99}},"344":{"start":{"line":713,"column":16},"end":{"line":713,"column":82}},"345":{"start":{"line":715,"column":16},"end":{"line":715,"column":77}},"346":{"start":{"line":717,"column":16},"end":{"line":717,"column":106}},"347":{"start":{"line":719,"column":16},"end":{"line":719,"column":109}},"348":{"start":{"line":721,"column":16},"end":{"line":721,"column":37}},"349":{"start":{"line":724,"column":16},"end":{"line":724,"column":87}},"350":{"start":{"line":727,"column":16},"end":{"line":727,"column":86}},"351":{"start":{"line":729,"column":16},"end":{"line":729,"column":83}},"352":{"start":{"line":731,"column":20},"end":{"line":731,"column":30}},"353":{"start":{"line":733,"column":16},"end":{"line":736,"column":18}},"354":{"start":{"line":742,"column":8},"end":{"line":742,"column":62}},"355":{"start":{"line":743,"column":8},"end":{"line":743,"column":63}},"356":{"start":{"line":746,"column":8},"end":{"line":746,"column":99}},"357":{"start":{"line":747,"column":8},"end":{"line":754,"column":9}},"358":{"start":{"line":748,"column":12},"end":{"line":748,"column":85}},"359":{"start":{"line":749,"column":12},"end":{"line":749,"column":74}},"360":{"start":{"line":750,"column":12},"end":{"line":752,"column":13}},"361":{"start":{"line":751,"column":16},"end":{"line":751,"column":98}},"362":{"start":{"line":753,"column":12},"end":{"line":753,"column":39}},"363":{"start":{"line":756,"column":8},"end":{"line":756,"column":24}},"364":{"start":{"line":759,"column":8},"end":{"line":767,"column":9}},"365":{"start":{"line":766,"column":16},"end":{"line":766,"column":68}},"366":{"start":{"line":770,"column":8},"end":{"line":842,"column":9}},"367":{"start":{"line":771,"column":12},"end":{"line":841,"column":13}},"368":{"start":{"line":773,"column":20},"end":{"line":773,"column":49}},"369":{"start":{"line":774,"column":20},"end":{"line":774,"column":26}},"370":{"start":{"line":776,"column":20},"end":{"line":776,"column":48}},"371":{"start":{"line":777,"column":20},"end":{"line":777,"column":26}},"372":{"start":{"line":780,"column":20},"end":{"line":780,"column":79}},"373":{"start":{"line":781,"column":20},"end":{"line":781,"column":81}},"374":{"start":{"line":782,"column":20},"end":{"line":785,"column":21}},"375":{"start":{"line":784,"column":24},"end":{"line":784,"column":50}},"376":{"start":{"line":786,"column":20},"end":{"line":786,"column":45}},"377":{"start":{"line":787,"column":20},"end":{"line":787,"column":26}},"378":{"start":{"line":789,"column":20},"end":{"line":789,"column":45}},"379":{"start":{"line":790,"column":20},"end":{"line":790,"column":26}},"380":{"start":{"line":792,"column":20},"end":{"line":792,"column":45}},"381":{"start":{"line":793,"column":20},"end":{"line":793,"column":26}},"382":{"start":{"line":795,"column":20},"end":{"line":795,"column":45}},"383":{"start":{"line":796,"column":20},"end":{"line":796,"column":26}},"384":{"start":{"line":798,"column":20},"end":{"line":798,"column":45}},"385":{"start":{"line":799,"column":20},"end":{"line":799,"column":26}},"386":{"start":{"line":801,"column":20},"end":{"line":801,"column":45}},"387":{"start":{"line":802,"column":20},"end":{"line":802,"column":26}},"388":{"start":{"line":804,"column":20},"end":{"line":804,"column":45}},"389":{"start":{"line":805,"column":20},"end":{"line":805,"column":26}},"390":{"start":{"line":807,"column":20},"end":{"line":807,"column":46}},"391":{"start":{"line":808,"column":20},"end":{"line":808,"column":26}},"392":{"start":{"line":810,"column":20},"end":{"line":810,"column":45}},"393":{"start":{"line":811,"column":20},"end":{"line":811,"column":26}},"394":{"start":{"line":813,"column":20},"end":{"line":813,"column":46}},"395":{"start":{"line":814,"column":20},"end":{"line":814,"column":26}},"396":{"start":{"line":816,"column":20},"end":{"line":818,"column":21}},"397":{"start":{"line":817,"column":24},"end":{"line":817,"column":104}},"398":{"start":{"line":820,"column":20},"end":{"line":820,"column":47}},"399":{"start":{"line":821,"column":20},"end":{"line":821,"column":26}},"400":{"start":{"line":824,"column":20},"end":{"line":824,"column":46}},"401":{"start":{"line":825,"column":20},"end":{"line":825,"column":26}},"402":{"start":{"line":828,"column":20},"end":{"line":828,"column":46}},"403":{"start":{"line":829,"column":20},"end":{"line":829,"column":26}},"404":{"start":{"line":831,"column":20},"end":{"line":831,"column":51}},"405":{"start":{"line":832,"column":20},"end":{"line":832,"column":26}},"406":{"start":{"line":834,"column":20},"end":{"line":834,"column":94}},"407":{"start":{"line":835,"column":20},"end":{"line":835,"column":26}},"408":{"start":{"line":837,"column":20},"end":{"line":840,"column":22}},"409":{"start":{"line":845,"column":8},"end":{"line":849,"column":9}},"410":{"start":{"line":846,"column":12},"end":{"line":846,"column":33}},"411":{"start":{"line":848,"column":12},"end":{"line":848,"column":26}},"412":{"start":{"line":853,"column":8},"end":{"line":853,"column":105}},"413":{"start":{"line":857,"column":8},"end":{"line":857,"column":105}},"414":{"start":{"line":861,"column":8},"end":{"line":861,"column":46}},"415":{"start":{"line":862,"column":8},"end":{"line":869,"column":11}},"416":{"start":{"line":863,"column":12},"end":{"line":863,"column":73}},"417":{"start":{"line":864,"column":12},"end":{"line":868,"column":13}},"418":{"start":{"line":865,"column":16},"end":{"line":865,"column":72}},"419":{"start":{"line":867,"column":16},"end":{"line":867,"column":72}},"420":{"start":{"line":870,"column":8},"end":{"line":870,"column":32}},"421":{"start":{"line":874,"column":8},"end":{"line":874,"column":67}},"422":{"start":{"line":875,"column":8},"end":{"line":875,"column":61}},"423":{"start":{"line":876,"column":8},"end":{"line":876,"column":62}},"424":{"start":{"line":878,"column":8},"end":{"line":879,"column":110}},"425":{"start":{"line":883,"column":8},"end":{"line":883,"column":69}},"426":{"start":{"line":884,"column":8},"end":{"line":893,"column":9}},"427":{"start":{"line":886,"column":16},"end":{"line":886,"column":49}},"428":{"start":{"line":888,"column":16},"end":{"line":888,"column":49}},"429":{"start":{"line":890,"column":16},"end":{"line":890,"column":81}},"430":{"start":{"line":891,"column":16},"end":{"line":892,"column":47}},"431":{"start":{"line":897,"column":8},"end":{"line":897,"column":69}},"432":{"start":{"line":898,"column":8},"end":{"line":913,"column":9}},"433":{"start":{"line":900,"column":16},"end":{"line":900,"column":70}},"434":{"start":{"line":902,"column":16},"end":{"line":902,"column":49}},"435":{"start":{"line":904,"column":16},"end":{"line":904,"column":49}},"436":{"start":{"line":906,"column":16},"end":{"line":906,"column":42}},"437":{"start":{"line":908,"column":16},"end":{"line":908,"column":37}},"438":{"start":{"line":910,"column":16},"end":{"line":910,"column":81}},"439":{"start":{"line":911,"column":16},"end":{"line":912,"column":47}},"440":{"start":{"line":917,"column":8},"end":{"line":917,"column":63}},"441":{"start":{"line":918,"column":8},"end":{"line":918,"column":106}},"442":{"start":{"line":920,"column":8},"end":{"line":920,"column":40}},"443":{"start":{"line":925,"column":8},"end":{"line":925,"column":19}},"444":{"start":{"line":926,"column":8},"end":{"line":926,"column":21}},"445":{"start":{"line":928,"column":8},"end":{"line":928,"column":77}},"446":{"start":{"line":929,"column":8},"end":{"line":929,"column":83}},"447":{"start":{"line":931,"column":8},"end":{"line":934,"column":9}},"448":{"start":{"line":932,"column":12},"end":{"line":932,"column":60}},"449":{"start":{"line":933,"column":12},"end":{"line":933,"column":92}},"450":{"start":{"line":937,"column":8},"end":{"line":941,"column":9}},"451":{"start":{"line":938,"column":12},"end":{"line":938,"column":120}},"452":{"start":{"line":939,"column":12},"end":{"line":939,"column":74}},"453":{"start":{"line":940,"column":12},"end":{"line":940,"column":64}},"454":{"start":{"line":943,"column":8},"end":{"line":943,"column":61}},"455":{"start":{"line":944,"column":8},"end":{"line":944,"column":57}},"456":{"start":{"line":945,"column":8},"end":{"line":945,"column":119}},"457":{"start":{"line":949,"column":8},"end":{"line":949,"column":19}},"458":{"start":{"line":950,"column":8},"end":{"line":950,"column":21}},"459":{"start":{"line":953,"column":8},"end":{"line":955,"column":9}},"460":{"start":{"line":954,"column":12},"end":{"line":954,"column":103}},"461":{"start":{"line":958,"column":8},"end":{"line":958,"column":85}},"462":{"start":{"line":960,"column":8},"end":{"line":963,"column":9}},"463":{"start":{"line":961,"column":12},"end":{"line":961,"column":61}},"464":{"start":{"line":962,"column":12},"end":{"line":962,"column":86}},"465":{"start":{"line":965,"column":8},"end":{"line":968,"column":9}},"466":{"start":{"line":966,"column":12},"end":{"line":966,"column":61}},"467":{"start":{"line":967,"column":12},"end":{"line":967,"column":88}},"468":{"start":{"line":970,"column":8},"end":{"line":975,"column":9}},"469":{"start":{"line":973,"column":16},"end":{"line":973,"column":64}},"470":{"start":{"line":977,"column":8},"end":{"line":979,"column":9}},"471":{"start":{"line":978,"column":12},"end":{"line":978,"column":59}},"472":{"start":{"line":982,"column":8},"end":{"line":982,"column":77}},"473":{"start":{"line":984,"column":8},"end":{"line":997,"column":9}},"474":{"start":{"line":987,"column":12},"end":{"line":987,"column":65}},"475":{"start":{"line":988,"column":12},"end":{"line":988,"column":61}},"476":{"start":{"line":989,"column":12},"end":{"line":989,"column":44}},"477":{"start":{"line":992,"column":12},"end":{"line":992,"column":72}},"478":{"start":{"line":993,"column":12},"end":{"line":994,"column":82}},"479":{"start":{"line":995,"column":12},"end":{"line":995,"column":61}},"480":{"start":{"line":996,"column":12},"end":{"line":996,"column":44}},"481":{"start":{"line":1001,"column":8},"end":{"line":1001,"column":74}},"482":{"start":{"line":1002,"column":8},"end":{"line":1002,"column":63}},"483":{"start":{"line":1003,"column":8},"end":{"line":1003,"column":71}},"484":{"start":{"line":1004,"column":8},"end":{"line":1004,"column":73}},"485":{"start":{"line":1005,"column":8},"end":{"line":1040,"column":9}},"486":{"start":{"line":1007,"column":16},"end":{"line":1007,"column":97}},"487":{"start":{"line":1009,"column":16},"end":{"line":1013,"column":17}},"488":{"start":{"line":1010,"column":20},"end":{"line":1010,"column":78}},"489":{"start":{"line":1012,"column":20},"end":{"line":1012,"column":78}},"490":{"start":{"line":1015,"column":16},"end":{"line":1021,"column":17}},"491":{"start":{"line":1016,"column":20},"end":{"line":1016,"column":63}},"492":{"start":{"line":1018,"column":20},"end":{"line":1018,"column":77}},"493":{"start":{"line":1019,"column":20},"end":{"line":1019,"column":77}},"494":{"start":{"line":1020,"column":20},"end":{"line":1020,"column":77}},"495":{"start":{"line":1023,"column":16},"end":{"line":1029,"column":17}},"496":{"start":{"line":1024,"column":20},"end":{"line":1024,"column":63}},"497":{"start":{"line":1026,"column":20},"end":{"line":1026,"column":77}},"498":{"start":{"line":1027,"column":20},"end":{"line":1027,"column":77}},"499":{"start":{"line":1028,"column":20},"end":{"line":1028,"column":69}},"500":{"start":{"line":1031,"column":16},"end":{"line":1031,"column":49}},"501":{"start":{"line":1033,"column":16},"end":{"line":1033,"column":49}},"502":{"start":{"line":1035,"column":16},"end":{"line":1035,"column":95}},"503":{"start":{"line":1037,"column":16},"end":{"line":1037,"column":71}},"504":{"start":{"line":1039,"column":16},"end":{"line":1039,"column":97}},"505":{"start":{"line":1044,"column":8},"end":{"line":1046,"column":10}},"506":{"start":{"line":1051,"column":8},"end":{"line":1051,"column":60}},"507":{"start":{"line":1052,"column":8},"end":{"line":1052,"column":70}},"508":{"start":{"line":1054,"column":8},"end":{"line":1060,"column":9}},"509":{"start":{"line":1055,"column":12},"end":{"line":1055,"column":54}},"510":{"start":{"line":1057,"column":12},"end":{"line":1059,"column":49}},"511":{"start":{"line":1064,"column":8},"end":{"line":1064,"column":74}},"512":{"start":{"line":1065,"column":8},"end":{"line":1065,"column":63}},"513":{"start":{"line":1066,"column":8},"end":{"line":1066,"column":71}},"514":{"start":{"line":1067,"column":8},"end":{"line":1067,"column":73}},"515":{"start":{"line":1068,"column":8},"end":{"line":1096,"column":9}},"516":{"start":{"line":1070,"column":16},"end":{"line":1070,"column":93}},"517":{"start":{"line":1072,"column":16},"end":{"line":1072,"column":96}},"518":{"start":{"line":1074,"column":16},"end":{"line":1074,"column":96}},"519":{"start":{"line":1076,"column":16},"end":{"line":1076,"column":92}},"520":{"start":{"line":1078,"column":16},"end":{"line":1078,"column":95}},"521":{"start":{"line":1080,"column":16},"end":{"line":1080,"column":93}},"522":{"start":{"line":1082,"column":16},"end":{"line":1082,"column":94}},"523":{"start":{"line":1084,"column":16},"end":{"line":1084,"column":94}},"524":{"start":{"line":1086,"column":16},"end":{"line":1086,"column":95}},"525":{"start":{"line":1088,"column":16},"end":{"line":1093,"column":17}},"526":{"start":{"line":1090,"column":20},"end":{"line":1090,"column":58}},"527":{"start":{"line":1092,"column":20},"end":{"line":1092,"column":64}},"528":{"start":{"line":1095,"column":16},"end":{"line":1095,"column":96}},"529":{"start":{"line":1100,"column":8},"end":{"line":1100,"column":40}},"530":{"start":{"line":1103,"column":8},"end":{"line":1105,"column":9}},"531":{"start":{"line":1104,"column":12},"end":{"line":1104,"column":63}},"532":{"start":{"line":1107,"column":8},"end":{"line":1109,"column":11}},"533":{"start":{"line":1108,"column":12},"end":{"line":1108,"column":61}},"534":{"start":{"line":1111,"column":8},"end":{"line":1111,"column":36}},"535":{"start":{"line":1115,"column":8},"end":{"line":1115,"column":40}},"536":{"start":{"line":1118,"column":8},"end":{"line":1118,"column":69}},"537":{"start":{"line":1119,"column":8},"end":{"line":1129,"column":9}},"538":{"start":{"line":1122,"column":16},"end":{"line":1122,"column":58}},"539":{"start":{"line":1124,"column":16},"end":{"line":1128,"column":17}},"540":{"start":{"line":1125,"column":20},"end":{"line":1125,"column":61}},"541":{"start":{"line":1126,"column":23},"end":{"line":1128,"column":17}},"542":{"start":{"line":1127,"column":20},"end":{"line":1127,"column":59}},"543":{"start":{"line":1132,"column":8},"end":{"line":1134,"column":9}},"544":{"start":{"line":1133,"column":12},"end":{"line":1133,"column":28}},"545":{"start":{"line":1137,"column":8},"end":{"line":1139,"column":9}},"546":{"start":{"line":1138,"column":12},"end":{"line":1138,"column":59}},"547":{"start":{"line":1141,"column":8},"end":{"line":1141,"column":67}},"548":{"start":{"line":1142,"column":8},"end":{"line":1142,"column":41}},"549":{"start":{"line":1146,"column":8},"end":{"line":1146,"column":57}},"550":{"start":{"line":1147,"column":8},"end":{"line":1147,"column":69}},"551":{"start":{"line":1148,"column":8},"end":{"line":1148,"column":46}},"552":{"start":{"line":1152,"column":8},"end":{"line":1152,"column":57}},"553":{"start":{"line":1153,"column":8},"end":{"line":1153,"column":69}},"554":{"start":{"line":1154,"column":8},"end":{"line":1154,"column":54}},"555":{"start":{"line":1159,"column":8},"end":{"line":1178,"column":10}},"556":{"start":{"line":1180,"column":8},"end":{"line":1180,"column":70}},"557":{"start":{"line":1182,"column":8},"end":{"line":1186,"column":9}},"558":{"start":{"line":1183,"column":12},"end":{"line":1183,"column":59}},"559":{"start":{"line":1185,"column":12},"end":{"line":1185,"column":100}},"560":{"start":{"line":1191,"column":8},"end":{"line":1191,"column":65}},"561":{"start":{"line":1192,"column":8},"end":{"line":1197,"column":9}},"562":{"start":{"line":1194,"column":16},"end":{"line":1194,"column":71}},"563":{"start":{"line":1196,"column":16},"end":{"line":1196,"column":95}},"564":{"start":{"line":1202,"column":8},"end":{"line":1202,"column":65}},"565":{"start":{"line":1203,"column":8},"end":{"line":1208,"column":9}},"566":{"start":{"line":1205,"column":16},"end":{"line":1205,"column":71}},"567":{"start":{"line":1207,"column":16},"end":{"line":1207,"column":94}},"568":{"start":{"line":1212,"column":8},"end":{"line":1212,"column":66}},"569":{"start":{"line":1213,"column":8},"end":{"line":1213,"column":72}},"570":{"start":{"line":1215,"column":8},"end":{"line":1215,"column":69}},"571":{"start":{"line":1216,"column":8},"end":{"line":1222,"column":9}},"572":{"start":{"line":1217,"column":12},"end":{"line":1217,"column":44}},"573":{"start":{"line":1218,"column":15},"end":{"line":1222,"column":9}},"574":{"start":{"line":1219,"column":12},"end":{"line":1219,"column":66}},"575":{"start":{"line":1221,"column":12},"end":{"line":1221,"column":42}},"576":{"start":{"line":1226,"column":8},"end":{"line":1226,"column":61}},"577":{"start":{"line":1227,"column":8},"end":{"line":1227,"column":53}},"578":{"start":{"line":1228,"column":8},"end":{"line":1233,"column":9}},"579":{"start":{"line":1232,"column":12},"end":{"line":1232,"column":41}},"580":{"start":{"line":1234,"column":8},"end":{"line":1234,"column":27}},"581":{"start":{"line":1238,"column":8},"end":{"line":1245,"column":9}},"582":{"start":{"line":1239,"column":12},"end":{"line":1239,"column":23}},"583":{"start":{"line":1240,"column":15},"end":{"line":1245,"column":9}},"584":{"start":{"line":1241,"column":12},"end":{"line":1241,"column":50}},"585":{"start":{"line":1243,"column":12},"end":{"line":1243,"column":69}},"586":{"start":{"line":1244,"column":12},"end":{"line":1244,"column":108}},"587":{"start":{"line":1249,"column":8},"end":{"line":1249,"column":69}},"588":{"start":{"line":1250,"column":8},"end":{"line":1250,"column":86}},"589":{"start":{"line":1255,"column":8},"end":{"line":1255,"column":24}},"590":{"start":{"line":1257,"column":8},"end":{"line":1262,"column":11}},"591":{"start":{"line":1258,"column":12},"end":{"line":1258,"column":95}},"592":{"start":{"line":1259,"column":12},"end":{"line":1261,"column":13}},"593":{"start":{"line":1260,"column":16},"end":{"line":1260,"column":101}},"594":{"start":{"line":1264,"column":8},"end":{"line":1264,"column":22}},"595":{"start":{"line":1268,"column":8},"end":{"line":1301,"column":9}},"596":{"start":{"line":1270,"column":12},"end":{"line":1270,"column":71}},"597":{"start":{"line":1271,"column":12},"end":{"line":1276,"column":13}},"598":{"start":{"line":1272,"column":16},"end":{"line":1272,"column":73}},"599":{"start":{"line":1273,"column":16},"end":{"line":1273,"column":62}},"600":{"start":{"line":1275,"column":16},"end":{"line":1275,"column":57}},"601":{"start":{"line":1277,"column":15},"end":{"line":1301,"column":9}},"602":{"start":{"line":1279,"column":12},"end":{"line":1279,"column":69}},"603":{"start":{"line":1282,"column":12},"end":{"line":1284,"column":13}},"604":{"start":{"line":1282,"column":48},"end":{"line":1282,"column":111}},"605":{"start":{"line":1283,"column":16},"end":{"line":1283,"column":87}},"606":{"start":{"line":1286,"column":12},"end":{"line":1288,"column":116}},"607":{"start":{"line":1288,"column":25},"end":{"line":1288,"column":103}},"608":{"start":{"line":1291,"column":12},"end":{"line":1295,"column":13}},"609":{"start":{"line":1292,"column":16},"end":{"line":1292,"column":50}},"610":{"start":{"line":1294,"column":16},"end":{"line":1294,"column":64}},"611":{"start":{"line":1297,"column":12},"end":{"line":1300,"column":14}},"612":{"start":{"line":1306,"column":8},"end":{"line":1306,"column":38}},"613":{"start":{"line":1306,"column":26},"end":{"line":1306,"column":36}},"614":{"start":{"line":1308,"column":8},"end":{"line":1308,"column":24}},"615":{"start":{"line":1309,"column":8},"end":{"line":1309,"column":37}},"616":{"start":{"line":1310,"column":8},"end":{"line":1310,"column":64}},"617":{"start":{"line":1311,"column":8},"end":{"line":1311,"column":43}},"618":{"start":{"line":1312,"column":8},"end":{"line":1312,"column":31}},"619":{"start":{"line":1315,"column":8},"end":{"line":1315,"column":40}},"620":{"start":{"line":1317,"column":8},"end":{"line":1317,"column":34}},"621":{"start":{"line":1320,"column":8},"end":{"line":1331,"column":9}},"622":{"start":{"line":1321,"column":12},"end":{"line":1321,"column":84}},"623":{"start":{"line":1324,"column":12},"end":{"line":1330,"column":13}},"624":{"start":{"line":1325,"column":16},"end":{"line":1325,"column":43}},"625":{"start":{"line":1327,"column":16},"end":{"line":1327,"column":45}},"626":{"start":{"line":1329,"column":16},"end":{"line":1329,"column":39}},"627":{"start":{"line":1334,"column":8},"end":{"line":1334,"column":110}},"628":{"start":{"line":1336,"column":8},"end":{"line":1336,"column":26}},"629":{"start":{"line":1339,"column":8},"end":{"line":1341,"column":9}},"630":{"start":{"line":1340,"column":12},"end":{"line":1340,"column":76}},"631":{"start":{"line":1343,"column":8},"end":{"line":1343,"column":44}},"632":{"start":{"line":1344,"column":8},"end":{"line":1344,"column":25}},"633":{"start":{"line":1347,"column":8},"end":{"line":1347,"column":40}},"634":{"start":{"line":1349,"column":8},"end":{"line":1349,"column":42}},"635":{"start":{"line":1351,"column":8},"end":{"line":1351,"column":22}},"636":{"start":{"line":1356,"column":8},"end":{"line":1356,"column":38}},"637":{"start":{"line":1356,"column":26},"end":{"line":1356,"column":36}},"638":{"start":{"line":1358,"column":8},"end":{"line":1358,"column":24}},"639":{"start":{"line":1359,"column":8},"end":{"line":1359,"column":54}},"640":{"start":{"line":1360,"column":8},"end":{"line":1360,"column":64}},"641":{"start":{"line":1361,"column":8},"end":{"line":1361,"column":43}},"642":{"start":{"line":1362,"column":8},"end":{"line":1362,"column":31}},"643":{"start":{"line":1365,"column":8},"end":{"line":1365,"column":46}},"644":{"start":{"line":1367,"column":8},"end":{"line":1367,"column":34}},"645":{"start":{"line":1370,"column":8},"end":{"line":1381,"column":9}},"646":{"start":{"line":1371,"column":12},"end":{"line":1371,"column":84}},"647":{"start":{"line":1374,"column":12},"end":{"line":1380,"column":13}},"648":{"start":{"line":1375,"column":16},"end":{"line":1375,"column":43}},"649":{"start":{"line":1377,"column":16},"end":{"line":1377,"column":45}},"650":{"start":{"line":1379,"column":16},"end":{"line":1379,"column":39}},"651":{"start":{"line":1383,"column":8},"end":{"line":1383,"column":112}},"652":{"start":{"line":1383,"column":73},"end":{"line":1383,"column":110}},"653":{"start":{"line":1386,"column":8},"end":{"line":1386,"column":95}},"654":{"start":{"line":1388,"column":8},"end":{"line":1388,"column":26}},"655":{"start":{"line":1391,"column":8},"end":{"line":1393,"column":9}},"656":{"start":{"line":1392,"column":12},"end":{"line":1392,"column":76}},"657":{"start":{"line":1395,"column":8},"end":{"line":1395,"column":75}},"658":{"start":{"line":1396,"column":8},"end":{"line":1396,"column":44}},"659":{"start":{"line":1397,"column":8},"end":{"line":1397,"column":25}},"660":{"start":{"line":1400,"column":8},"end":{"line":1400,"column":40}},"661":{"start":{"line":1402,"column":8},"end":{"line":1402,"column":22}},"662":{"start":{"line":1407,"column":8},"end":{"line":1409,"column":9}},"663":{"start":{"line":1408,"column":12},"end":{"line":1408,"column":77}},"664":{"start":{"line":1411,"column":8},"end":{"line":1411,"column":60}},"665":{"start":{"line":1414,"column":8},"end":{"line":1414,"column":106}},"666":{"start":{"line":1417,"column":8},"end":{"line":1417,"column":73}},"667":{"start":{"line":1420,"column":8},"end":{"line":1421,"column":50}},"668":{"start":{"line":1421,"column":30},"end":{"line":1421,"column":48}},"669":{"start":{"line":1424,"column":8},"end":{"line":1424,"column":116}},"670":{"start":{"line":1424,"column":33},"end":{"line":1424,"column":115}},"671":{"start":{"line":1424,"column":76},"end":{"line":1424,"column":114}},"672":{"start":{"line":1425,"column":8},"end":{"line":1425,"column":57}},"673":{"start":{"line":1426,"column":8},"end":{"line":1426,"column":74}},"674":{"start":{"line":1426,"column":57},"end":{"line":1426,"column":72}},"675":{"start":{"line":1428,"column":8},"end":{"line":1428,"column":24}},"676":{"start":{"line":1430,"column":8},"end":{"line":1435,"column":9}},"677":{"start":{"line":1431,"column":12},"end":{"line":1431,"column":92}},"678":{"start":{"line":1434,"column":12},"end":{"line":1434,"column":51}},"679":{"start":{"line":1438,"column":8},"end":{"line":1440,"column":9}},"680":{"start":{"line":1439,"column":12},"end":{"line":1439,"column":65}},"681":{"start":{"line":1443,"column":8},"end":{"line":1447,"column":9}},"682":{"start":{"line":1444,"column":12},"end":{"line":1444,"column":84}},"683":{"start":{"line":1445,"column":12},"end":{"line":1445,"column":70}},"684":{"start":{"line":1446,"column":12},"end":{"line":1446,"column":77}},"685":{"start":{"line":1450,"column":8},"end":{"line":1450,"column":80}},"686":{"start":{"line":1451,"column":8},"end":{"line":1458,"column":9}},"687":{"start":{"line":1453,"column":12},"end":{"line":1453,"column":72}},"688":{"start":{"line":1454,"column":15},"end":{"line":1458,"column":9}},"689":{"start":{"line":1456,"column":12},"end":{"line":1457,"column":59}},"690":{"start":{"line":1461,"column":8},"end":{"line":1463,"column":11}},"691":{"start":{"line":1462,"column":12},"end":{"line":1462,"column":83}},"692":{"start":{"line":1466,"column":8},"end":{"line":1468,"column":11}},"693":{"start":{"line":1467,"column":12},"end":{"line":1467,"column":83}},"694":{"start":{"line":1471,"column":8},"end":{"line":1473,"column":11}},"695":{"start":{"line":1472,"column":12},"end":{"line":1472,"column":79}},"696":{"start":{"line":1475,"column":8},"end":{"line":1475,"column":22}},"697":{"start":{"line":1480,"column":8},"end":{"line":1480,"column":62}},"698":{"start":{"line":1482,"column":8},"end":{"line":1482,"column":110}},"699":{"start":{"line":1484,"column":8},"end":{"line":1484,"column":24}},"700":{"start":{"line":1487,"column":8},"end":{"line":1487,"column":60}},"701":{"start":{"line":1488,"column":8},"end":{"line":1495,"column":9}},"702":{"start":{"line":1489,"column":12},"end":{"line":1489,"column":94}},"703":{"start":{"line":1490,"column":12},"end":{"line":1490,"column":45}},"704":{"start":{"line":1492,"column":12},"end":{"line":1492,"column":60}},"705":{"start":{"line":1493,"column":12},"end":{"line":1493,"column":109}},"706":{"start":{"line":1494,"column":12},"end":{"line":1494,"column":45}},"707":{"start":{"line":1496,"column":8},"end":{"line":1496,"column":72}},"708":{"start":{"line":1497,"column":8},"end":{"line":1500,"column":9}},"709":{"start":{"line":1498,"column":12},"end":{"line":1498,"column":60}},"710":{"start":{"line":1499,"column":12},"end":{"line":1499,"column":74}},"711":{"start":{"line":1501,"column":8},"end":{"line":1501,"column":78}},"712":{"start":{"line":1502,"column":8},"end":{"line":1502,"column":88}},"713":{"start":{"line":1504,"column":8},"end":{"line":1512,"column":9}},"714":{"start":{"line":1506,"column":12},"end":{"line":1506,"column":60}},"715":{"start":{"line":1507,"column":12},"end":{"line":1507,"column":72}},"716":{"start":{"line":1509,"column":12},"end":{"line":1509,"column":66}},"717":{"start":{"line":1511,"column":12},"end":{"line":1511,"column":77}},"718":{"start":{"line":1514,"column":8},"end":{"line":1515,"column":72}},"719":{"start":{"line":1517,"column":8},"end":{"line":1517,"column":56}},"720":{"start":{"line":1518,"column":8},"end":{"line":1518,"column":40}},"721":{"start":{"line":1520,"column":8},"end":{"line":1520,"column":22}},"722":{"start":{"line":1524,"column":8},"end":{"line":1524,"column":81}},"723":{"start":{"line":1526,"column":8},"end":{"line":1526,"column":80}},"724":{"start":{"line":1528,"column":8},"end":{"line":1528,"column":26}},"725":{"start":{"line":1529,"column":8},"end":{"line":1529,"column":56}},"726":{"start":{"line":1530,"column":8},"end":{"line":1530,"column":25}},"727":{"start":{"line":1532,"column":8},"end":{"line":1532,"column":40}},"728":{"start":{"line":1534,"column":8},"end":{"line":1534,"column":22}},"729":{"start":{"line":1538,"column":8},"end":{"line":1538,"column":81}},"730":{"start":{"line":1540,"column":8},"end":{"line":1540,"column":46}},"731":{"start":{"line":1541,"column":8},"end":{"line":1543,"column":11}},"732":{"start":{"line":1542,"column":12},"end":{"line":1542,"column":83}},"733":{"start":{"line":1545,"column":8},"end":{"line":1545,"column":99}},"734":{"start":{"line":1547,"column":8},"end":{"line":1547,"column":26}},"735":{"start":{"line":1548,"column":8},"end":{"line":1548,"column":56}},"736":{"start":{"line":1549,"column":8},"end":{"line":1549,"column":25}},"737":{"start":{"line":1551,"column":8},"end":{"line":1551,"column":40}},"738":{"start":{"line":1553,"column":8},"end":{"line":1553,"column":22}},"739":{"start":{"line":1558,"column":8},"end":{"line":1558,"column":39}},"740":{"start":{"line":1560,"column":8},"end":{"line":1560,"column":36}},"741":{"start":{"line":1561,"column":8},"end":{"line":1568,"column":11}},"742":{"start":{"line":1563,"column":12},"end":{"line":1565,"column":13}},"743":{"start":{"line":1564,"column":16},"end":{"line":1564,"column":96}},"744":{"start":{"line":1567,"column":12},"end":{"line":1567,"column":83}},"745":{"start":{"line":1570,"column":8},"end":{"line":1570,"column":98}},"746":{"start":{"line":1573,"column":8},"end":{"line":1575,"column":9}},"747":{"start":{"line":1574,"column":12},"end":{"line":1574,"column":61}},"748":{"start":{"line":1578,"column":8},"end":{"line":1578,"column":26}},"749":{"start":{"line":1579,"column":8},"end":{"line":1579,"column":40}},"750":{"start":{"line":1580,"column":8},"end":{"line":1580,"column":49}},"751":{"start":{"line":1581,"column":8},"end":{"line":1581,"column":30}},"752":{"start":{"line":1582,"column":8},"end":{"line":1582,"column":25}},"753":{"start":{"line":1584,"column":8},"end":{"line":1584,"column":46}},"754":{"start":{"line":1588,"column":8},"end":{"line":1588,"column":36}},"755":{"start":{"line":1590,"column":8},"end":{"line":1592,"column":11}},"756":{"start":{"line":1591,"column":12},"end":{"line":1591,"column":57}},"757":{"start":{"line":1594,"column":8},"end":{"line":1594,"column":44}},"758":{"start":{"line":1598,"column":8},"end":{"line":1598,"column":40}},"759":{"start":{"line":1600,"column":8},"end":{"line":1617,"column":11}},"760":{"start":{"line":1601,"column":12},"end":{"line":1601,"column":26}},"761":{"start":{"line":1602,"column":12},"end":{"line":1608,"column":13}},"762":{"start":{"line":1603,"column":16},"end":{"line":1603,"column":62}},"763":{"start":{"line":1604,"column":19},"end":{"line":1608,"column":13}},"764":{"start":{"line":1605,"column":16},"end":{"line":1605,"column":62}},"765":{"start":{"line":1607,"column":16},"end":{"line":1607,"column":69}},"766":{"start":{"line":1610,"column":12},"end":{"line":1616,"column":13}},"767":{"start":{"line":1611,"column":16},"end":{"line":1611,"column":81}},"768":{"start":{"line":1612,"column":16},"end":{"line":1612,"column":59}},"769":{"start":{"line":1614,"column":16},"end":{"line":1614,"column":83}},"770":{"start":{"line":1615,"column":16},"end":{"line":1615,"column":114}},"771":{"start":{"line":1619,"column":8},"end":{"line":1619,"column":48}},"772":{"start":{"line":1624,"column":8},"end":{"line":1624,"column":40}},"773":{"start":{"line":1625,"column":8},"end":{"line":1627,"column":11}},"774":{"start":{"line":1626,"column":12},"end":{"line":1626,"column":83}},"775":{"start":{"line":1629,"column":8},"end":{"line":1629,"column":112}},"776":{"start":{"line":1629,"column":73},"end":{"line":1629,"column":110}},"777":{"start":{"line":1631,"column":8},"end":{"line":1642,"column":9}},"778":{"start":{"line":1632,"column":12},"end":{"line":1632,"column":63}},"779":{"start":{"line":1633,"column":12},"end":{"line":1633,"column":30}},"780":{"start":{"line":1634,"column":12},"end":{"line":1634,"column":79}},"781":{"start":{"line":1635,"column":12},"end":{"line":1635,"column":65}},"782":{"start":{"line":1636,"column":12},"end":{"line":1636,"column":29}},"783":{"start":{"line":1637,"column":12},"end":{"line":1637,"column":50}},"784":{"start":{"line":1640,"column":12},"end":{"line":1640,"column":79}},"785":{"start":{"line":1641,"column":12},"end":{"line":1641,"column":72}},"786":{"start":{"line":1646,"column":8},"end":{"line":1646,"column":24}},"787":{"start":{"line":1648,"column":8},"end":{"line":1652,"column":11}},"788":{"start":{"line":1648,"column":37},"end":{"line":1648,"column":74}},"789":{"start":{"line":1649,"column":12},"end":{"line":1649,"column":90}},"790":{"start":{"line":1650,"column":12},"end":{"line":1650,"column":81}},"791":{"start":{"line":1651,"column":12},"end":{"line":1651,"column":97}},"792":{"start":{"line":1654,"column":8},"end":{"line":1654,"column":22}},"793":{"start":{"line":53,"column":18},"end":{"line":53,"column":76}},"794":{"start":{"line":51,"column":0},"end":{"line":1656,"column":1}}},"fnMap":{"1":{"name":"(anonymous_1)","line":14,"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":46}}},"2":{"name":"(anonymous_2)","line":20,"loc":{"start":{"line":20,"column":0},"end":{"line":20,"column":21}}},"3":{"name":"(anonymous_3)","line":27,"loc":{"start":{"line":27,"column":0},"end":{"line":27,"column":25}}},"4":{"name":"(anonymous_4)","line":70,"loc":{"start":{"line":70,"column":4},"end":{"line":70,"column":92}}},"5":{"name":"(anonymous_5)","line":86,"loc":{"start":{"line":86,"column":21},"end":{"line":null,"column":-1}}},"6":{"name":"(anonymous_6)","line":90,"loc":{"start":{"line":90,"column":20},"end":{"line":null,"column":-1}}},"7":{"name":"(anonymous_7)","line":94,"loc":{"start":{"line":94,"column":25},"end":{"line":94,"column":38}}},"8":{"name":"(anonymous_8)","line":98,"loc":{"start":{"line":98,"column":23},"end":{"line":98,"column":38}}},"9":{"name":"(anonymous_9)","line":103,"loc":{"start":{"line":103,"column":21},"end":{"line":103,"column":79}}},"10":{"name":"(anonymous_10)","line":107,"loc":{"start":{"line":107,"column":21},"end":{"line":107,"column":66}}},"11":{"name":"(anonymous_11)","line":129,"loc":{"start":{"line":129,"column":22},"end":{"line":null,"column":-1}}},"12":{"name":"(anonymous_12)","line":136,"loc":{"start":{"line":136,"column":30},"end":{"line":136,"column":53}}},"13":{"name":"(anonymous_13)","line":141,"loc":{"start":{"line":141,"column":32},"end":{"line":141,"column":53}}},"14":{"name":"(anonymous_14)","line":148,"loc":{"start":{"line":148,"column":24},"end":{"line":148,"column":45}}},"15":{"name":"(anonymous_15)","line":162,"loc":{"start":{"line":162,"column":31},"end":{"line":162,"column":48}}},"16":{"name":"(anonymous_16)","line":167,"loc":{"start":{"line":167,"column":30},"end":{"line":null,"column":-1}}},"17":{"name":"(anonymous_17)","line":195,"loc":{"start":{"line":195,"column":25},"end":{"line":195,"column":41}}},"18":{"name":"(anonymous_18)","line":204,"loc":{"start":{"line":204,"column":24},"end":{"line":204,"column":38}}},"19":{"name":"(anonymous_19)","line":263,"loc":{"start":{"line":263,"column":34},"end":{"line":263,"column":75}}},"20":{"name":"(anonymous_20)","line":268,"loc":{"start":{"line":268,"column":26},"end":{"line":268,"column":53}}},"21":{"name":"(anonymous_21)","line":306,"loc":{"start":{"line":306,"column":29},"end":{"line":306,"column":56}}},"22":{"name":"(anonymous_22)","line":335,"loc":{"start":{"line":335,"column":24},"end":{"line":335,"column":49}}},"23":{"name":"(anonymous_23)","line":380,"loc":{"start":{"line":380,"column":25},"end":{"line":null,"column":-1}}},"24":{"name":"(anonymous_24)","line":388,"loc":{"start":{"line":388,"column":28},"end":{"line":388,"column":55}}},"25":{"name":"(anonymous_25)","line":396,"loc":{"start":{"line":396,"column":22},"end":{"line":396,"column":43}}},"26":{"name":"(anonymous_26)","line":414,"loc":{"start":{"line":414,"column":28},"end":{"line":419,"column":31}}},"27":{"name":"(anonymous_27)","line":431,"loc":{"start":{"line":431,"column":25},"end":{"line":431,"column":49}}},"28":{"name":"(anonymous_28)","line":441,"loc":{"start":{"line":441,"column":31},"end":{"line":441,"column":52}}},"29":{"name":"(anonymous_29)","line":454,"loc":{"start":{"line":454,"column":23},"end":{"line":454,"column":45}}},"30":{"name":"(anonymous_30)","line":473,"loc":{"start":{"line":473,"column":25},"end":{"line":473,"column":49}}},"31":{"name":"(anonymous_31)","line":503,"loc":{"start":{"line":503,"column":25},"end":{"line":503,"column":49}}},"32":{"name":"(anonymous_32)","line":526,"loc":{"start":{"line":526,"column":29},"end":{"line":526,"column":48}}},"33":{"name":"(anonymous_33)","line":534,"loc":{"start":{"line":534,"column":26},"end":{"line":534,"column":51}}},"34":{"name":"(anonymous_34)","line":604,"loc":{"start":{"line":604,"column":23},"end":{"line":604,"column":45}}},"35":{"name":"(anonymous_35)","line":626,"loc":{"start":{"line":626,"column":25},"end":{"line":626,"column":49}}},"36":{"name":"(anonymous_36)","line":637,"loc":{"start":{"line":637,"column":26},"end":{"line":637,"column":51}}},"37":{"name":"(anonymous_37)","line":663,"loc":{"start":{"line":663,"column":30},"end":{"line":663,"column":64}}},"38":{"name":"(anonymous_38)","line":740,"loc":{"start":{"line":740,"column":36},"end":{"line":740,"column":82}}},"39":{"name":"(anonymous_39)","line":852,"loc":{"start":{"line":852,"column":37},"end":{"line":852,"column":85}}},"40":{"name":"(anonymous_40)","line":856,"loc":{"start":{"line":856,"column":32},"end":{"line":856,"column":84}}},"41":{"name":"(anonymous_41)","line":860,"loc":{"start":{"line":860,"column":38},"end":{"line":860,"column":66}}},"42":{"name":"(anonymous_42)","line":873,"loc":{"start":{"line":873,"column":41},"end":{"line":873,"column":92}}},"43":{"name":"(anonymous_43)","line":882,"loc":{"start":{"line":882,"column":42},"end":{"line":882,"column":74}}},"44":{"name":"(anonymous_44)","line":896,"loc":{"start":{"line":896,"column":41},"end":{"line":896,"column":72}}},"45":{"name":"(anonymous_45)","line":916,"loc":{"start":{"line":916,"column":33},"end":{"line":916,"column":56}}},"46":{"name":"(anonymous_46)","line":923,"loc":{"start":{"line":923,"column":34},"end":{"line":923,"column":58}}},"47":{"name":"(anonymous_47)","line":948,"loc":{"start":{"line":948,"column":32},"end":{"line":948,"column":56}}},"48":{"name":"(anonymous_48)","line":1000,"loc":{"start":{"line":1000,"column":40},"end":{"line":1000,"column":64}}},"49":{"name":"(anonymous_49)","line":1043,"loc":{"start":{"line":1043,"column":35},"end":{"line":null,"column":-1}}},"50":{"name":"(anonymous_50)","line":1050,"loc":{"start":{"line":1050,"column":36},"end":{"line":1050,"column":62}}},"51":{"name":"(anonymous_51)","line":1063,"loc":{"start":{"line":1063,"column":39},"end":{"line":1063,"column":63}}},"52":{"name":"(anonymous_52)","line":1099,"loc":{"start":{"line":1099,"column":29},"end":{"line":1099,"column":90}}},"53":{"name":"(anonymous_53)","line":1114,"loc":{"start":{"line":1114,"column":44},"end":{"line":1114,"column":78}}},"54":{"name":"(anonymous_54)","line":1145,"loc":{"start":{"line":1145,"column":31},"end":{"line":1145,"column":65}}},"55":{"name":"(anonymous_55)","line":1151,"loc":{"start":{"line":1151,"column":31},"end":{"line":1151,"column":80}}},"56":{"name":"(anonymous_56)","line":1158,"loc":{"start":{"line":1158,"column":34},"end":{"line":1158,"column":60}}},"57":{"name":"(anonymous_57)","line":1190,"loc":{"start":{"line":1190,"column":34},"end":{"line":1190,"column":68}}},"58":{"name":"(anonymous_58)","line":1201,"loc":{"start":{"line":1201,"column":33},"end":{"line":1201,"column":67}}},"59":{"name":"(anonymous_59)","line":1211,"loc":{"start":{"line":1211,"column":43},"end":{"line":1211,"column":76}}},"60":{"name":"(anonymous_60)","line":1225,"loc":{"start":{"line":1225,"column":30},"end":{"line":1225,"column":56}}},"61":{"name":"(anonymous_61)","line":1237,"loc":{"start":{"line":1237,"column":39},"end":{"line":1237,"column":68}}},"62":{"name":"(anonymous_62)","line":1248,"loc":{"start":{"line":1248,"column":36},"end":{"line":1248,"column":62}}},"63":{"name":"(anonymous_63)","line":1254,"loc":{"start":{"line":1254,"column":37},"end":{"line":1254,"column":64}}},"64":{"name":"(anonymous_64)","line":1267,"loc":{"start":{"line":1267,"column":39},"end":{"line":1267,"column":68}}},"65":{"name":"(anonymous_65)","line":1304,"loc":{"start":{"line":1304,"column":39},"end":{"line":1304,"column":68}}},"66":{"name":"(anonymous_66)","line":1354,"loc":{"start":{"line":1354,"column":37},"end":{"line":1354,"column":82}}},"67":{"name":"(anonymous_67)","line":1406,"loc":{"start":{"line":1406,"column":25},"end":{"line":1406,"column":51}}},"68":{"name":"(anonymous_68)","line":1478,"loc":{"start":{"line":1478,"column":40},"end":{"line":1479,"column":61}}},"69":{"name":"(anonymous_69)","line":1523,"loc":{"start":{"line":1523,"column":42},"end":{"line":1523,"column":100}}},"70":{"name":"(anonymous_70)","line":1537,"loc":{"start":{"line":1537,"column":42},"end":{"line":1537,"column":100}}},"71":{"name":"(anonymous_71)","line":1556,"loc":{"start":{"line":1556,"column":31},"end":{"line":1557,"column":49}}},"72":{"name":"(anonymous_72)","line":1587,"loc":{"start":{"line":1587,"column":32},"end":{"line":1587,"column":64}}},"73":{"name":"(anonymous_73)","line":1597,"loc":{"start":{"line":1597,"column":33},"end":{"line":1597,"column":66}}},"74":{"name":"(anonymous_74)","line":1622,"loc":{"start":{"line":1622,"column":38},"end":{"line":1622,"column":61}}},"75":{"name":"(anonymous_75)","line":1645,"loc":{"start":{"line":1645,"column":42},"end":{"line":1645,"column":76}}}},"branchMap":{"1":{"line":20,"type":"binary-expr","locations":[{"start":{"line":20,"column":12},"end":{"line":20,"column":21}},{"start":{"line":20,"column":12},"end":{"line":20,"column":21}}]},"2":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12},"end":{"line":27,"column":25}},{"start":{"line":27,"column":12},"end":{"line":27,"column":25}}]},"3":{"line":100,"type":"cond-expr","locations":[{"start":{"line":100,"column":12},"end":{"line":100,"column":20}},{"start":{"line":100,"column":23},"end":{"line":100,"column":25}}]},"4":{"line":99,"type":"binary-expr","locations":[{"start":{"line":99,"column":15},"end":{"line":99,"column":19}},{"start":{"line":99,"column":24},"end":{"line":99,"column":37}},{"start":{"line":99,"column":41},"end":{"line":99,"column":66}}]},"5":{"line":109,"type":"if","locations":[{"start":{"line":109,"column":8},"end":{"line":109,"column":7}},{"start":{"line":109,"column":8},"end":{"line":109,"column":7}}]},"6":{"line":109,"type":"binary-expr","locations":[{"start":{"line":109,"column":12},"end":{"line":109,"column":16}},{"start":{"line":110,"column":12},"end":{"line":110,"column":26}},{"start":{"line":110,"column":30},"end":{"line":110,"column":43}},{"start":{"line":111,"column":13},"end":{"line":111,"column":72}}]},"7":{"line":113,"type":"if","locations":[{"start":{"line":113,"column":12},"end":{"line":113,"column":11}},{"start":{"line":113,"column":12},"end":{"line":113,"column":11}}]},"8":{"line":119,"type":"if","locations":[{"start":{"line":119,"column":8},"end":{"line":119,"column":7}},{"start":{"line":119,"column":8},"end":{"line":119,"column":7}}]},"9":{"line":119,"type":"binary-expr","locations":[{"start":{"line":119,"column":12},"end":{"line":119,"column":39}},{"start":{"line":119,"column":43},"end":{"line":119,"column":72}}]},"10":{"line":120,"type":"if","locations":[{"start":{"line":120,"column":12},"end":{"line":120,"column":11}},{"start":{"line":120,"column":12},"end":{"line":120,"column":11}}]},"11":{"line":142,"type":"if","locations":[{"start":{"line":142,"column":8},"end":{"line":142,"column":7}},{"start":{"line":142,"column":8},"end":{"line":142,"column":7}}]},"12":{"line":142,"type":"binary-expr","locations":[{"start":{"line":142,"column":12},"end":{"line":142,"column":42}},{"start":{"line":142,"column":46},"end":{"line":142,"column":66}}]},"13":{"line":151,"type":"if","locations":[{"start":{"line":151,"column":8},"end":{"line":151,"column":7}},{"start":{"line":151,"column":8},"end":{"line":151,"column":7}}]},"14":{"line":169,"type":"if","locations":[{"start":{"line":169,"column":8},"end":{"line":169,"column":7}},{"start":{"line":169,"column":8},"end":{"line":169,"column":7}}]},"15":{"line":174,"type":"if","locations":[{"start":{"line":174,"column":8},"end":{"line":174,"column":7}},{"start":{"line":174,"column":8},"end":{"line":174,"column":7}}]},"16":{"line":178,"type":"if","locations":[{"start":{"line":178,"column":8},"end":{"line":178,"column":7}},{"start":{"line":178,"column":8},"end":{"line":178,"column":7}}]},"17":{"line":188,"type":"if","locations":[{"start":{"line":188,"column":8},"end":{"line":188,"column":7}},{"start":{"line":188,"column":8},"end":{"line":188,"column":7}}]},"18":{"line":206,"type":"if","locations":[{"start":{"line":206,"column":8},"end":{"line":206,"column":7}},{"start":{"line":206,"column":8},"end":{"line":206,"column":7}}]},"19":{"line":206,"type":"binary-expr","locations":[{"start":{"line":206,"column":12},"end":{"line":206,"column":26}},{"start":{"line":206,"column":30},"end":{"line":206,"column":109}}]},"20":{"line":211,"type":"switch","locations":[{"start":{"line":211,"column":12},"end":{"line":212,"column":74}},{"start":{"line":213,"column":12},"end":{"line":214,"column":72}},{"start":{"line":215,"column":12},"end":{"line":216,"column":77}},{"start":{"line":217,"column":12},"end":{"line":218,"column":61}},{"start":{"line":219,"column":12},"end":{"line":220,"column":70}},{"start":{"line":221,"column":12},"end":{"line":222,"column":89}},{"start":{"line":223,"column":12},"end":{"line":225,"column":92}},{"start":{"line":226,"column":12},"end":{"line":228,"column":100}},{"start":{"line":229,"column":12},"end":{"line":230,"column":93}},{"start":{"line":231,"column":12},"end":{"line":232,"column":64}},{"start":{"line":233,"column":12},"end":{"line":234,"column":70}},{"start":{"line":235,"column":12},"end":{"line":236,"column":73}},{"start":{"line":237,"column":12},"end":{"line":238,"column":66}},{"start":{"line":239,"column":12},"end":{"line":240,"column":70}},{"start":{"line":241,"column":12},"end":{"line":242,"column":70}},{"start":{"line":243,"column":12},"end":{"line":244,"column":72}},{"start":{"line":245,"column":12},"end":{"line":246,"column":45}},{"start":{"line":247,"column":12},"end":{"line":248,"column":66}},{"start":{"line":249,"column":12},"end":{"line":250,"column":70}},{"start":{"line":251,"column":12},"end":{"line":252,"column":76}},{"start":{"line":253,"column":12},"end":{"line":253,"column":52}},{"start":{"line":254,"column":12},"end":{"line":254,"column":52}},{"start":{"line":255,"column":12},"end":{"line":257,"column":26}},{"start":{"line":258,"column":12},"end":{"line":259,"column":75}}]},"21":{"line":272,"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":272,"column":7}},{"start":{"line":272,"column":8},"end":{"line":272,"column":7}}]},"22":{"line":272,"type":"binary-expr","locations":[{"start":{"line":272,"column":12},"end":{"line":272,"column":30}},{"start":{"line":272,"column":34},"end":{"line":272,"column":66}}]},"23":{"line":281,"type":"if","locations":[{"start":{"line":281,"column":8},"end":{"line":281,"column":7}},{"start":{"line":281,"column":8},"end":{"line":281,"column":7}}]},"24":{"line":288,"type":"if","locations":[{"start":{"line":288,"column":16},"end":{"line":288,"column":15}},{"start":{"line":288,"column":16},"end":{"line":288,"column":15}}]},"25":{"line":298,"type":"if","locations":[{"start":{"line":298,"column":15},"end":{"line":298,"column":14}},{"start":{"line":298,"column":15},"end":{"line":298,"column":14}}]},"26":{"line":308,"type":"if","locations":[{"start":{"line":308,"column":8},"end":{"line":308,"column":7}},{"start":{"line":308,"column":8},"end":{"line":308,"column":7}}]},"27":{"line":308,"type":"binary-expr","locations":[{"start":{"line":308,"column":12},"end":{"line":308,"column":82}},{"start":{"line":308,"column":86},"end":{"line":308,"column":95}}]},"28":{"line":318,"type":"if","locations":[{"start":{"line":318,"column":8},"end":{"line":318,"column":7}},{"start":{"line":318,"column":8},"end":{"line":318,"column":7}}]},"29":{"line":326,"type":"if","locations":[{"start":{"line":326,"column":8},"end":{"line":326,"column":7}},{"start":{"line":326,"column":8},"end":{"line":326,"column":7}}]},"30":{"line":342,"type":"if","locations":[{"start":{"line":342,"column":8},"end":{"line":342,"column":7}},{"start":{"line":342,"column":8},"end":{"line":342,"column":7}}]},"31":{"line":350,"type":"if","locations":[{"start":{"line":350,"column":12},"end":{"line":350,"column":11}},{"start":{"line":350,"column":12},"end":{"line":350,"column":11}}]},"32":{"line":351,"type":"if","locations":[{"start":{"line":351,"column":16},"end":{"line":351,"column":15}},{"start":{"line":351,"column":16},"end":{"line":351,"column":15}}]},"33":{"line":353,"type":"if","locations":[{"start":{"line":353,"column":23},"end":{"line":353,"column":22}},{"start":{"line":353,"column":23},"end":{"line":353,"column":22}}]},"34":{"line":359,"type":"if","locations":[{"start":{"line":359,"column":19},"end":{"line":359,"column":18}},{"start":{"line":359,"column":19},"end":{"line":359,"column":18}}]},"35":{"line":363,"type":"if","locations":[{"start":{"line":363,"column":12},"end":{"line":363,"column":11}},{"start":{"line":363,"column":12},"end":{"line":363,"column":11}}]},"36":{"line":373,"type":"if","locations":[{"start":{"line":373,"column":12},"end":{"line":373,"column":11}},{"start":{"line":373,"column":12},"end":{"line":373,"column":11}}]},"37":{"line":381,"type":"if","locations":[{"start":{"line":381,"column":8},"end":{"line":381,"column":7}},{"start":{"line":381,"column":8},"end":{"line":381,"column":7}}]},"38":{"line":404,"type":"if","locations":[{"start":{"line":404,"column":8},"end":{"line":404,"column":7}},{"start":{"line":404,"column":8},"end":{"line":404,"column":7}}]},"39":{"line":482,"type":"cond-expr","locations":[{"start":{"line":482,"column":32},"end":{"line":482,"column":40}},{"start":{"line":482,"column":43},"end":{"line":482,"column":50}}]},"40":{"line":486,"type":"if","locations":[{"start":{"line":486,"column":8},"end":{"line":486,"column":7}},{"start":{"line":486,"column":8},"end":{"line":486,"column":7}}]},"41":{"line":488,"type":"if","locations":[{"start":{"line":488,"column":15},"end":{"line":488,"column":14}},{"start":{"line":488,"column":15},"end":{"line":488,"column":14}}]},"42":{"line":511,"type":"if","locations":[{"start":{"line":511,"column":8},"end":{"line":511,"column":7}},{"start":{"line":511,"column":8},"end":{"line":511,"column":7}}]},"43":{"line":527,"type":"if","locations":[{"start":{"line":527,"column":8},"end":{"line":527,"column":7}},{"start":{"line":527,"column":8},"end":{"line":527,"column":7}}]},"44":{"line":547,"type":"if","locations":[{"start":{"line":547,"column":12},"end":{"line":547,"column":11}},{"start":{"line":547,"column":12},"end":{"line":547,"column":11}}]},"45":{"line":552,"type":"if","locations":[{"start":{"line":552,"column":12},"end":{"line":552,"column":11}},{"start":{"line":552,"column":12},"end":{"line":552,"column":11}}]},"46":{"line":565,"type":"if","locations":[{"start":{"line":565,"column":12},"end":{"line":565,"column":11}},{"start":{"line":565,"column":12},"end":{"line":565,"column":11}}]},"47":{"line":565,"type":"binary-expr","locations":[{"start":{"line":565,"column":16},"end":{"line":565,"column":34}},{"start":{"line":565,"column":38},"end":{"line":565,"column":114}}]},"48":{"line":567,"type":"binary-expr","locations":[{"start":{"line":567,"column":23},"end":{"line":567,"column":41}},{"start":{"line":568,"column":23},"end":{"line":568,"column":50}},{"start":{"line":569,"column":23},"end":{"line":569,"column":57}}]},"49":{"line":575,"type":"if","locations":[{"start":{"line":575,"column":16},"end":{"line":575,"column":15}},{"start":{"line":575,"column":16},"end":{"line":575,"column":15}}]},"50":{"line":575,"type":"binary-expr","locations":[{"start":{"line":575,"column":20},"end":{"line":575,"column":31}},{"start":{"line":575,"column":35},"end":{"line":575,"column":45}}]},"51":{"line":576,"type":"if","locations":[{"start":{"line":576,"column":20},"end":{"line":576,"column":19}},{"start":{"line":576,"column":20},"end":{"line":576,"column":19}}]},"52":{"line":611,"type":"if","locations":[{"start":{"line":611,"column":8},"end":{"line":611,"column":7}},{"start":{"line":611,"column":8},"end":{"line":611,"column":7}}]},"53":{"line":611,"type":"binary-expr","locations":[{"start":{"line":611,"column":12},"end":{"line":611,"column":28}},{"start":{"line":611,"column":32},"end":{"line":611,"column":68}}]},"54":{"line":620,"type":"if","locations":[{"start":{"line":620,"column":8},"end":{"line":620,"column":7}},{"start":{"line":620,"column":8},"end":{"line":620,"column":7}}]},"55":{"line":627,"type":"if","locations":[{"start":{"line":627,"column":8},"end":{"line":627,"column":7}},{"start":{"line":627,"column":8},"end":{"line":627,"column":7}}]},"56":{"line":638,"type":"if","locations":[{"start":{"line":638,"column":8},"end":{"line":638,"column":7}},{"start":{"line":638,"column":8},"end":{"line":638,"column":7}}]},"57":{"line":642,"type":"if","locations":[{"start":{"line":642,"column":12},"end":{"line":642,"column":11}},{"start":{"line":642,"column":12},"end":{"line":642,"column":11}}]},"58":{"line":642,"type":"binary-expr","locations":[{"start":{"line":642,"column":16},"end":{"line":642,"column":27}},{"start":{"line":642,"column":31},"end":{"line":642,"column":120}},{"start":{"line":643,"column":19},"end":{"line":643,"column":63}}]},"59":{"line":649,"type":"if","locations":[{"start":{"line":649,"column":12},"end":{"line":649,"column":11}},{"start":{"line":649,"column":12},"end":{"line":649,"column":11}}]},"60":{"line":649,"type":"binary-expr","locations":[{"start":{"line":649,"column":16},"end":{"line":649,"column":54}},{"start":{"line":650,"column":20},"end":{"line":650,"column":91}},{"start":{"line":651,"column":23},"end":{"line":651,"column":87}}]},"61":{"line":665,"type":"switch","locations":[{"start":{"line":665,"column":12},"end":{"line":667,"column":93}},{"start":{"line":668,"column":12},"end":{"line":670,"column":103}},{"start":{"line":671,"column":12},"end":{"line":672,"column":79}},{"start":{"line":673,"column":12},"end":{"line":674,"column":99}},{"start":{"line":675,"column":12},"end":{"line":676,"column":97}},{"start":{"line":677,"column":12},"end":{"line":683,"column":71}},{"start":{"line":684,"column":12},"end":{"line":684,"column":45}},{"start":{"line":685,"column":12},"end":{"line":687,"column":35}},{"start":{"line":688,"column":12},"end":{"line":689,"column":87}},{"start":{"line":690,"column":12},"end":{"line":691,"column":56}},{"start":{"line":692,"column":12},"end":{"line":693,"column":30}},{"start":{"line":694,"column":12},"end":{"line":695,"column":31}},{"start":{"line":696,"column":12},"end":{"line":696,"column":43}},{"start":{"line":697,"column":12},"end":{"line":698,"column":29}},{"start":{"line":699,"column":12},"end":{"line":700,"column":30}},{"start":{"line":701,"column":12},"end":{"line":702,"column":95}},{"start":{"line":703,"column":12},"end":{"line":704,"column":93}},{"start":{"line":705,"column":12},"end":{"line":706,"column":85}},{"start":{"line":707,"column":12},"end":{"line":708,"column":87}},{"start":{"line":709,"column":12},"end":{"line":710,"column":99}},{"start":{"line":711,"column":12},"end":{"line":711,"column":50}},{"start":{"line":712,"column":12},"end":{"line":713,"column":82}},{"start":{"line":714,"column":12},"end":{"line":715,"column":77}},{"start":{"line":716,"column":12},"end":{"line":717,"column":106}},{"start":{"line":718,"column":12},"end":{"line":719,"column":109}},{"start":{"line":720,"column":12},"end":{"line":721,"column":37}},{"start":{"line":722,"column":12},"end":{"line":724,"column":87}},{"start":{"line":725,"column":12},"end":{"line":727,"column":86}},{"start":{"line":728,"column":12},"end":{"line":729,"column":83}},{"start":{"line":730,"column":12},"end":{"line":731,"column":30}},{"start":{"line":732,"column":12},"end":{"line":736,"column":18}}]},"62":{"line":679,"type":"if","locations":[{"start":{"line":679,"column":16},"end":{"line":679,"column":15}},{"start":{"line":679,"column":16},"end":{"line":679,"column":15}}]},"63":{"line":747,"type":"if","locations":[{"start":{"line":747,"column":8},"end":{"line":747,"column":7}},{"start":{"line":747,"column":8},"end":{"line":747,"column":7}}]},"64":{"line":750,"type":"if","locations":[{"start":{"line":750,"column":12},"end":{"line":750,"column":11}},{"start":{"line":750,"column":12},"end":{"line":750,"column":11}}]},"65":{"line":760,"type":"switch","locations":[{"start":{"line":760,"column":12},"end":{"line":760,"column":46}},{"start":{"line":761,"column":12},"end":{"line":761,"column":40}},{"start":{"line":762,"column":12},"end":{"line":762,"column":42}},{"start":{"line":763,"column":12},"end":{"line":763,"column":53}},{"start":{"line":764,"column":12},"end":{"line":764,"column":59}},{"start":{"line":765,"column":12},"end":{"line":766,"column":68}}]},"66":{"line":770,"type":"if","locations":[{"start":{"line":770,"column":8},"end":{"line":770,"column":7}},{"start":{"line":770,"column":8},"end":{"line":770,"column":7}}]},"67":{"line":772,"type":"switch","locations":[{"start":{"line":772,"column":16},"end":{"line":774,"column":26}},{"start":{"line":775,"column":16},"end":{"line":777,"column":26}},{"start":{"line":778,"column":16},"end":{"line":787,"column":26}},{"start":{"line":788,"column":16},"end":{"line":790,"column":26}},{"start":{"line":791,"column":16},"end":{"line":793,"column":26}},{"start":{"line":794,"column":16},"end":{"line":796,"column":26}},{"start":{"line":797,"column":16},"end":{"line":799,"column":26}},{"start":{"line":800,"column":16},"end":{"line":802,"column":26}},{"start":{"line":803,"column":16},"end":{"line":805,"column":26}},{"start":{"line":806,"column":16},"end":{"line":808,"column":26}},{"start":{"line":809,"column":16},"end":{"line":811,"column":26}},{"start":{"line":812,"column":16},"end":{"line":814,"column":26}},{"start":{"line":815,"column":16},"end":{"line":821,"column":26}},{"start":{"line":822,"column":16},"end":{"line":822,"column":53}},{"start":{"line":823,"column":16},"end":{"line":825,"column":26}},{"start":{"line":826,"column":16},"end":{"line":826,"column":58}},{"start":{"line":827,"column":16},"end":{"line":829,"column":26}},{"start":{"line":830,"column":16},"end":{"line":832,"column":26}},{"start":{"line":833,"column":16},"end":{"line":835,"column":26}},{"start":{"line":836,"column":16},"end":{"line":840,"column":22}}]},"68":{"line":782,"type":"if","locations":[{"start":{"line":782,"column":20},"end":{"line":782,"column":19}},{"start":{"line":782,"column":20},"end":{"line":782,"column":19}}]},"69":{"line":782,"type":"binary-expr","locations":[{"start":{"line":782,"column":25},"end":{"line":782,"column":61}},{"start":{"line":782,"column":66},"end":{"line":782,"column":95}},{"start":{"line":783,"column":29},"end":{"line":783,"column":66}},{"start":{"line":783,"column":71},"end":{"line":783,"column":101}}]},"70":{"line":816,"type":"if","locations":[{"start":{"line":816,"column":20},"end":{"line":816,"column":19}},{"start":{"line":816,"column":20},"end":{"line":816,"column":19}}]},"71":{"line":845,"type":"if","locations":[{"start":{"line":845,"column":8},"end":{"line":845,"column":7}},{"start":{"line":845,"column":8},"end":{"line":845,"column":7}}]},"72":{"line":864,"type":"if","locations":[{"start":{"line":864,"column":12},"end":{"line":864,"column":11}},{"start":{"line":864,"column":12},"end":{"line":864,"column":11}}]},"73":{"line":885,"type":"switch","locations":[{"start":{"line":885,"column":12},"end":{"line":886,"column":49}},{"start":{"line":887,"column":12},"end":{"line":888,"column":49}},{"start":{"line":889,"column":12},"end":{"line":892,"column":47}}]},"74":{"line":899,"type":"switch","locations":[{"start":{"line":899,"column":12},"end":{"line":900,"column":70}},{"start":{"line":901,"column":12},"end":{"line":902,"column":49}},{"start":{"line":903,"column":12},"end":{"line":904,"column":49}},{"start":{"line":905,"column":12},"end":{"line":906,"column":42}},{"start":{"line":907,"column":12},"end":{"line":908,"column":37}},{"start":{"line":909,"column":12},"end":{"line":912,"column":47}}]},"75":{"line":918,"type":"cond-expr","locations":[{"start":{"line":918,"column":40},"end":{"line":918,"column":96}},{"start":{"line":918,"column":99},"end":{"line":918,"column":105}}]},"76":{"line":931,"type":"if","locations":[{"start":{"line":931,"column":8},"end":{"line":931,"column":7}},{"start":{"line":931,"column":8},"end":{"line":931,"column":7}}]},"77":{"line":933,"type":"cond-expr","locations":[{"start":{"line":933,"column":65},"end":{"line":933,"column":82}},{"start":{"line":933,"column":85},"end":{"line":933,"column":91}}]},"78":{"line":933,"type":"binary-expr","locations":[{"start":{"line":933,"column":19},"end":{"line":933,"column":32}},{"start":{"line":933,"column":36},"end":{"line":933,"column":62}}]},"79":{"line":937,"type":"if","locations":[{"start":{"line":937,"column":8},"end":{"line":937,"column":7}},{"start":{"line":937,"column":8},"end":{"line":937,"column":7}}]},"80":{"line":945,"type":"cond-expr","locations":[{"start":{"line":945,"column":61},"end":{"line":945,"column":91}},{"start":{"line":945,"column":94},"end":{"line":945,"column":118}}]},"81":{"line":945,"type":"binary-expr","locations":[{"start":{"line":945,"column":15},"end":{"line":945,"column":28}},{"start":{"line":945,"column":32},"end":{"line":945,"column":58}}]},"82":{"line":953,"type":"if","locations":[{"start":{"line":953,"column":8},"end":{"line":953,"column":7}},{"start":{"line":953,"column":8},"end":{"line":953,"column":7}}]},"83":{"line":960,"type":"if","locations":[{"start":{"line":960,"column":8},"end":{"line":960,"column":7}},{"start":{"line":960,"column":8},"end":{"line":960,"column":7}}]},"84":{"line":960,"type":"binary-expr","locations":[{"start":{"line":960,"column":12},"end":{"line":960,"column":28}},{"start":{"line":960,"column":32},"end":{"line":960,"column":71}}]},"85":{"line":965,"type":"if","locations":[{"start":{"line":965,"column":8},"end":{"line":965,"column":7}},{"start":{"line":965,"column":8},"end":{"line":965,"column":7}}]},"86":{"line":971,"type":"switch","locations":[{"start":{"line":971,"column":12},"end":{"line":971,"column":37}},{"start":{"line":972,"column":12},"end":{"line":973,"column":64}}]},"87":{"line":977,"type":"if","locations":[{"start":{"line":977,"column":8},"end":{"line":977,"column":7}},{"start":{"line":977,"column":8},"end":{"line":977,"column":7}}]},"88":{"line":984,"type":"if","locations":[{"start":{"line":984,"column":8},"end":{"line":984,"column":7}},{"start":{"line":984,"column":8},"end":{"line":984,"column":7}}]},"89":{"line":984,"type":"binary-expr","locations":[{"start":{"line":984,"column":13},"end":{"line":984,"column":29}},{"start":{"line":984,"column":34},"end":{"line":984,"column":83}},{"start":{"line":986,"column":16},"end":{"line":986,"column":35}},{"start":{"line":986,"column":40},"end":{"line":986,"column":94}}]},"90":{"line":1006,"type":"switch","locations":[{"start":{"line":1006,"column":12},"end":{"line":1007,"column":97}},{"start":{"line":1008,"column":12},"end":{"line":1013,"column":17}},{"start":{"line":1014,"column":12},"end":{"line":1021,"column":17}},{"start":{"line":1022,"column":12},"end":{"line":1029,"column":17}},{"start":{"line":1030,"column":12},"end":{"line":1031,"column":49}},{"start":{"line":1032,"column":12},"end":{"line":1033,"column":49}},{"start":{"line":1034,"column":12},"end":{"line":1035,"column":95}},{"start":{"line":1036,"column":12},"end":{"line":1037,"column":71}},{"start":{"line":1038,"column":12},"end":{"line":1039,"column":97}}]},"91":{"line":1009,"type":"if","locations":[{"start":{"line":1009,"column":16},"end":{"line":1009,"column":15}},{"start":{"line":1009,"column":16},"end":{"line":1009,"column":15}}]},"92":{"line":1015,"type":"if","locations":[{"start":{"line":1015,"column":16},"end":{"line":1015,"column":15}},{"start":{"line":1015,"column":16},"end":{"line":1015,"column":15}}]},"93":{"line":1023,"type":"if","locations":[{"start":{"line":1023,"column":16},"end":{"line":1023,"column":15}},{"start":{"line":1023,"column":16},"end":{"line":1023,"column":15}}]},"94":{"line":1054,"type":"if","locations":[{"start":{"line":1054,"column":8},"end":{"line":1054,"column":7}},{"start":{"line":1054,"column":8},"end":{"line":1054,"column":7}}]},"95":{"line":1069,"type":"switch","locations":[{"start":{"line":1069,"column":12},"end":{"line":1070,"column":93}},{"start":{"line":1071,"column":12},"end":{"line":1072,"column":96}},{"start":{"line":1073,"column":12},"end":{"line":1074,"column":96}},{"start":{"line":1075,"column":12},"end":{"line":1076,"column":92}},{"start":{"line":1077,"column":12},"end":{"line":1078,"column":95}},{"start":{"line":1079,"column":12},"end":{"line":1080,"column":93}},{"start":{"line":1081,"column":12},"end":{"line":1082,"column":94}},{"start":{"line":1083,"column":12},"end":{"line":1084,"column":94}},{"start":{"line":1085,"column":12},"end":{"line":1086,"column":95}},{"start":{"line":1087,"column":12},"end":{"line":1093,"column":17}},{"start":{"line":1094,"column":12},"end":{"line":1095,"column":96}}]},"96":{"line":1088,"type":"if","locations":[{"start":{"line":1088,"column":16},"end":{"line":1088,"column":15}},{"start":{"line":1088,"column":16},"end":{"line":1088,"column":15}}]},"97":{"line":1103,"type":"if","locations":[{"start":{"line":1103,"column":8},"end":{"line":1103,"column":7}},{"start":{"line":1103,"column":8},"end":{"line":1103,"column":7}}]},"98":{"line":1120,"type":"switch","locations":[{"start":{"line":1120,"column":12},"end":{"line":1120,"column":37}},{"start":{"line":1121,"column":12},"end":{"line":1122,"column":58}},{"start":{"line":1123,"column":12},"end":{"line":1128,"column":17}}]},"99":{"line":1124,"type":"if","locations":[{"start":{"line":1124,"column":16},"end":{"line":1124,"column":15}},{"start":{"line":1124,"column":16},"end":{"line":1124,"column":15}}]},"100":{"line":1126,"type":"if","locations":[{"start":{"line":1126,"column":23},"end":{"line":1126,"column":22}},{"start":{"line":1126,"column":23},"end":{"line":1126,"column":22}}]},"101":{"line":1132,"type":"if","locations":[{"start":{"line":1132,"column":8},"end":{"line":1132,"column":7}},{"start":{"line":1132,"column":8},"end":{"line":1132,"column":7}}]},"102":{"line":1137,"type":"if","locations":[{"start":{"line":1137,"column":8},"end":{"line":1137,"column":7}},{"start":{"line":1137,"column":8},"end":{"line":1137,"column":7}}]},"103":{"line":1137,"type":"binary-expr","locations":[{"start":{"line":1137,"column":12},"end":{"line":1137,"column":44}},{"start":{"line":1137,"column":48},"end":{"line":1137,"column":100}}]},"104":{"line":1182,"type":"if","locations":[{"start":{"line":1182,"column":8},"end":{"line":1182,"column":7}},{"start":{"line":1182,"column":8},"end":{"line":1182,"column":7}}]},"105":{"line":1193,"type":"switch","locations":[{"start":{"line":1193,"column":12},"end":{"line":1194,"column":71}},{"start":{"line":1195,"column":12},"end":{"line":1196,"column":95}}]},"106":{"line":1204,"type":"switch","locations":[{"start":{"line":1204,"column":12},"end":{"line":1205,"column":71}},{"start":{"line":1206,"column":12},"end":{"line":1207,"column":94}}]},"107":{"line":1216,"type":"if","locations":[{"start":{"line":1216,"column":8},"end":{"line":1216,"column":7}},{"start":{"line":1216,"column":8},"end":{"line":1216,"column":7}}]},"108":{"line":1218,"type":"if","locations":[{"start":{"line":1218,"column":15},"end":{"line":1218,"column":14}},{"start":{"line":1218,"column":15},"end":{"line":1218,"column":14}}]},"109":{"line":1228,"type":"if","locations":[{"start":{"line":1228,"column":8},"end":{"line":1228,"column":7}},{"start":{"line":1228,"column":8},"end":{"line":1228,"column":7}}]},"110":{"line":1228,"type":"binary-expr","locations":[{"start":{"line":1228,"column":12},"end":{"line":1228,"column":35}},{"start":{"line":1229,"column":15},"end":{"line":1229,"column":63}},{"start":{"line":1230,"column":15},"end":{"line":1230,"column":63}},{"start":{"line":1231,"column":15},"end":{"line":1231,"column":63}}]},"111":{"line":1238,"type":"if","locations":[{"start":{"line":1238,"column":8},"end":{"line":1238,"column":7}},{"start":{"line":1238,"column":8},"end":{"line":1238,"column":7}}]},"112":{"line":1240,"type":"if","locations":[{"start":{"line":1240,"column":15},"end":{"line":1240,"column":14}},{"start":{"line":1240,"column":15},"end":{"line":1240,"column":14}}]},"113":{"line":1259,"type":"if","locations":[{"start":{"line":1259,"column":12},"end":{"line":1259,"column":11}},{"start":{"line":1259,"column":12},"end":{"line":1259,"column":11}}]},"114":{"line":1268,"type":"if","locations":[{"start":{"line":1268,"column":8},"end":{"line":1268,"column":7}},{"start":{"line":1268,"column":8},"end":{"line":1268,"column":7}}]},"115":{"line":1271,"type":"if","locations":[{"start":{"line":1271,"column":12},"end":{"line":1271,"column":11}},{"start":{"line":1271,"column":12},"end":{"line":1271,"column":11}}]},"116":{"line":1277,"type":"if","locations":[{"start":{"line":1277,"column":15},"end":{"line":1277,"column":14}},{"start":{"line":1277,"column":15},"end":{"line":1277,"column":14}}]},"117":{"line":1282,"type":"if","locations":[{"start":{"line":1282,"column":12},"end":{"line":1282,"column":11}},{"start":{"line":1282,"column":12},"end":{"line":1282,"column":11}}]},"118":{"line":1282,"type":"binary-expr","locations":[{"start":{"line":1282,"column":48},"end":{"line":1282,"column":74}},{"start":{"line":1282,"column":78},"end":{"line":1282,"column":111}}]},"119":{"line":1291,"type":"if","locations":[{"start":{"line":1291,"column":12},"end":{"line":1291,"column":11}},{"start":{"line":1291,"column":12},"end":{"line":1291,"column":11}}]},"120":{"line":1306,"type":"if","locations":[{"start":{"line":1306,"column":8},"end":{"line":1306,"column":7}},{"start":{"line":1306,"column":8},"end":{"line":1306,"column":7}}]},"121":{"line":1324,"type":"if","locations":[{"start":{"line":1324,"column":12},"end":{"line":1324,"column":11}},{"start":{"line":1324,"column":12},"end":{"line":1324,"column":11}}]},"122":{"line":1339,"type":"if","locations":[{"start":{"line":1339,"column":8},"end":{"line":1339,"column":7}},{"start":{"line":1339,"column":8},"end":{"line":1339,"column":7}}]},"123":{"line":1356,"type":"if","locations":[{"start":{"line":1356,"column":8},"end":{"line":1356,"column":7}},{"start":{"line":1356,"column":8},"end":{"line":1356,"column":7}}]},"124":{"line":1374,"type":"if","locations":[{"start":{"line":1374,"column":12},"end":{"line":1374,"column":11}},{"start":{"line":1374,"column":12},"end":{"line":1374,"column":11}}]},"125":{"line":1391,"type":"if","locations":[{"start":{"line":1391,"column":8},"end":{"line":1391,"column":7}},{"start":{"line":1391,"column":8},"end":{"line":1391,"column":7}}]},"126":{"line":1407,"type":"if","locations":[{"start":{"line":1407,"column":8},"end":{"line":1407,"column":7}},{"start":{"line":1407,"column":8},"end":{"line":1407,"column":7}}]},"127":{"line":1424,"type":"binary-expr","locations":[{"start":{"line":1424,"column":33},"end":{"line":1424,"column":47}},{"start":{"line":1424,"column":51},"end":{"line":1424,"column":115}}]},"128":{"line":1430,"type":"if","locations":[{"start":{"line":1430,"column":8},"end":{"line":1430,"column":7}},{"start":{"line":1430,"column":8},"end":{"line":1430,"column":7}}]},"129":{"line":1438,"type":"if","locations":[{"start":{"line":1438,"column":8},"end":{"line":1438,"column":7}},{"start":{"line":1438,"column":8},"end":{"line":1438,"column":7}}]},"130":{"line":1438,"type":"binary-expr","locations":[{"start":{"line":1438,"column":12},"end":{"line":1438,"column":23}},{"start":{"line":1438,"column":27},"end":{"line":1438,"column":38}}]},"131":{"line":1451,"type":"if","locations":[{"start":{"line":1451,"column":8},"end":{"line":1451,"column":7}},{"start":{"line":1451,"column":8},"end":{"line":1451,"column":7}}]},"132":{"line":1454,"type":"if","locations":[{"start":{"line":1454,"column":15},"end":{"line":1454,"column":14}},{"start":{"line":1454,"column":15},"end":{"line":1454,"column":14}}]},"133":{"line":1482,"type":"binary-expr","locations":[{"start":{"line":1482,"column":26},"end":{"line":1482,"column":37}},{"start":{"line":1482,"column":41},"end":{"line":1482,"column":109}}]},"134":{"line":1487,"type":"cond-expr","locations":[{"start":{"line":1487,"column":36},"end":{"line":1487,"column":38}},{"start":{"line":1487,"column":41},"end":{"line":1487,"column":59}}]},"135":{"line":1488,"type":"if","locations":[{"start":{"line":1488,"column":8},"end":{"line":1488,"column":7}},{"start":{"line":1488,"column":8},"end":{"line":1488,"column":7}}]},"136":{"line":1497,"type":"if","locations":[{"start":{"line":1497,"column":8},"end":{"line":1497,"column":7}},{"start":{"line":1497,"column":8},"end":{"line":1497,"column":7}}]},"137":{"line":1563,"type":"if","locations":[{"start":{"line":1563,"column":12},"end":{"line":1563,"column":11}},{"start":{"line":1563,"column":12},"end":{"line":1563,"column":11}}]},"138":{"line":1602,"type":"if","locations":[{"start":{"line":1602,"column":12},"end":{"line":1602,"column":11}},{"start":{"line":1602,"column":12},"end":{"line":1602,"column":11}}]},"139":{"line":1604,"type":"if","locations":[{"start":{"line":1604,"column":19},"end":{"line":1604,"column":18}},{"start":{"line":1604,"column":19},"end":{"line":1604,"column":18}}]},"140":{"line":1610,"type":"if","locations":[{"start":{"line":1610,"column":12},"end":{"line":1610,"column":11}},{"start":{"line":1610,"column":12},"end":{"line":1610,"column":11}}]},"141":{"line":1631,"type":"if","locations":[{"start":{"line":1631,"column":8},"end":{"line":1631,"column":7}},{"start":{"line":1631,"column":8},"end":{"line":1631,"column":7}}]},"142":{"line":1631,"type":"binary-expr","locations":[{"start":{"line":1631,"column":12},"end":{"line":1631,"column":33}},{"start":{"line":1631,"column":37},"end":{"line":1631,"column":66}}]}},"s":{"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":1,"8":2,"9":1,"10":1,"11":1,"12":1,"13":2,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":14,"30":14,"31":14,"32":14,"33":14,"34":14,"35":14,"36":14,"37":14,"38":14,"39":14,"40":14,"41":14,"42":7,"43":7,"44":1,"45":7,"46":20,"47":20,"48":20,"49":1,"50":0,"51":1,"52":20,"53":0,"54":0,"55":0,"56":20,"57":21,"58":21,"59":20,"60":21,"61":0,"62":1,"63":1,"64":0,"65":1,"66":1,"67":1,"68":1,"69":0,"70":1,"71":14,"72":14,"73":14,"74":14,"75":14,"76":14,"77":14,"78":1,"79":14,"80":14,"81":16,"82":14,"83":14,"84":1,"85":14,"86":7,"87":7,"88":7,"89":7,"90":7,"91":23,"92":1,"93":0,"94":23,"95":1,"96":0,"97":0,"98":0,"99":0,"100":7,"101":13,"102":1,"103":1,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":1,"120":1,"121":1,"122":0,"123":1,"124":1,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":1,"137":1,"138":1,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":1,"314":1,"315":1,"316":0,"317":0,"318":1,"319":0,"320":1,"321":0,"322":18,"323":1,"324":0,"325":0,"326":0,"327":0,"328":1,"329":0,"330":1,"331":3,"332":3,"333":0,"334":7,"335":6,"336":0,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":0,"344":0,"345":0,"346":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":1,"355":1,"356":1,"357":1,"358":0,"359":0,"360":0,"361":0,"362":0,"363":1,"364":1,"365":0,"366":1,"367":1,"368":0,"369":0,"370":0,"371":0,"372":0,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":0,"387":0,"388":0,"389":0,"390":0,"391":0,"392":0,"393":0,"394":0,"395":0,"396":1,"397":0,"398":1,"399":1,"400":0,"401":0,"402":0,"403":0,"404":0,"405":0,"406":0,"407":0,"408":0,"409":1,"410":0,"411":1,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":0,"434":0,"435":0,"436":0,"437":0,"438":0,"439":0,"440":0,"441":0,"442":0,"443":0,"444":0,"445":0,"446":0,"447":0,"448":0,"449":0,"450":0,"451":0,"452":0,"453":0,"454":0,"455":0,"456":0,"457":0,"458":0,"459":0,"460":0,"461":0,"462":0,"463":0,"464":0,"465":0,"466":0,"467":0,"468":0,"469":0,"470":0,"471":0,"472":0,"473":0,"474":0,"475":0,"476":0,"477":0,"478":0,"479":0,"480":0,"481":0,"482":0,"483":0,"484":0,"485":0,"486":0,"487":0,"488":0,"489":0,"490":0,"491":0,"492":0,"493":0,"494":0,"495":0,"496":0,"497":0,"498":0,"499":0,"500":0,"501":0,"502":0,"503":0,"504":0,"505":0,"506":0,"507":0,"508":0,"509":0,"510":0,"511":0,"512":0,"513":0,"514":0,"515":0,"516":0,"517":0,"518":0,"519":0,"520":0,"521":0,"522":0,"523":0,"524":0,"525":0,"526":0,"527":0,"528":0,"529":0,"530":0,"531":0,"532":0,"533":0,"534":0,"535":0,"536":0,"537":0,"538":0,"539":0,"540":0,"541":0,"542":0,"543":0,"544":0,"545":0,"546":0,"547":0,"548":0,"549":0,"550":0,"551":0,"552":0,"553":0,"554":0,"555":0,"556":0,"557":0,"558":0,"559":0,"560":0,"561":0,"562":0,"563":0,"564":0,"565":0,"566":0,"567":0,"568":0,"569":0,"570":0,"571":0,"572":0,"573":0,"574":0,"575":0,"576":35,"577":35,"578":35,"579":0,"580":35,"581":0,"582":0,"583":0,"584":0,"585":0,"586":0,"587":0,"588":0,"589":13,"590":13,"591":13,"592":13,"593":13,"594":13,"595":13,"596":13,"597":13,"598":13,"599":13,"600":0,"601":0,"602":0,"603":0,"604":0,"605":0,"606":0,"607":0,"608":0,"609":0,"610":0,"611":0,"612":7,"613":0,"614":7,"615":7,"616":7,"617":7,"618":7,"619":7,"620":7,"621":7,"622":0,"623":0,"624":0,"625":0,"626":0,"627":7,"628":7,"629":7,"630":0,"631":7,"632":7,"633":7,"634":7,"635":7,"636":0,"637":0,"638":0,"639":0,"640":0,"641":0,"642":0,"643":0,"644":0,"645":0,"646":0,"647":0,"648":0,"649":0,"650":0,"651":0,"652":0,"653":0,"654":0,"655":0,"656":0,"657":0,"658":0,"659":0,"660":0,"661":0,"662":0,"663":0,"664":0,"665":0,"666":0,"667":0,"668":0,"669":0,"670":0,"671":0,"672":0,"673":0,"674":0,"675":0,"676":0,"677":0,"678":0,"679":0,"680":0,"681":0,"682":0,"683":0,"684":0,"685":0,"686":0,"687":0,"688":0,"689":0,"690":0,"691":0,"692":0,"693":0,"694":0,"695":0,"696":0,"697":0,"698":0,"699":0,"700":0,"701":0,"702":0,"703":0,"704":0,"705":0,"706":0,"707":0,"708":0,"709":0,"710":0,"711":0,"712":0,"713":0,"714":0,"715":0,"716":0,"717":0,"718":0,"719":0,"720":0,"721":0,"722":0,"723":0,"724":0,"725":0,"726":0,"727":0,"728":0,"729":0,"730":0,"731":0,"732":0,"733":0,"734":0,"735":0,"736":0,"737":0,"738":0,"739":0,"740":0,"741":0,"742":0,"743":0,"744":0,"745":0,"746":0,"747":0,"748":0,"749":0,"750":0,"751":0,"752":0,"753":0,"754":0,"755":0,"756":0,"757":0,"758":0,"759":0,"760":0,"761":0,"762":0,"763":0,"764":0,"765":0,"766":0,"767":0,"768":0,"769":0,"770":0,"771":0,"772":0,"773":0,"774":0,"775":0,"776":0,"777":0,"778":0,"779":0,"780":0,"781":0,"782":0,"783":0,"784":0,"785":0,"786":0,"787":0,"788":0,"789":0,"790":0,"791":0,"792":0,"793":1,"794":1},"b":{"1":[1,1],"2":[1,1],"3":[1,6],"4":[7,7,6],"5":[1,19],"6":[20,20,1,1],"7":[0,1],"8":[0,20],"9":[20,0],"10":[0,0],"11":[1,0],"12":[1,1],"13":[1,0],"14":[14,0],"15":[14,0],"16":[1,13],"17":[1,13],"18":[0,23],"19":[23,1],"20":[1,0,0,0,0,7,13,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"21":[0,1],"22":[1,1],"23":[0,1],"24":[0,0],"25":[1,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[1,0],"57":[0,1],"58":[1,1,0],"59":[0,1],"60":[1,0,0],"61":[1,0,0,0,0,1,3,3,0,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"62":[0,1],"63":[0,1],"64":[0,0],"65":[0,0,0,0,0,0],"66":[1,0],"67":[0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],"68":[0,0],"69":[0,0,0,0],"70":[0,1],"71":[0,1],"72":[0,0],"73":[0,0,0],"74":[0,0,0,0,0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0,0,0],"90":[0,0,0,0,0,0,0,0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0,0,0,0,0,0,0,0,0,0],"96":[0,0],"97":[0,0],"98":[0,0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0],"103":[0,0],"104":[0,0],"105":[0,0],"106":[0,0],"107":[0,0],"108":[0,0],"109":[0,35],"110":[35,35,0,0],"111":[0,0],"112":[0,0],"113":[13,0],"114":[13,0],"115":[13,0],"116":[0,0],"117":[0,0],"118":[0,0],"119":[0,0],"120":[0,7],"121":[0,0],"122":[0,7],"123":[0,0],"124":[0,0],"125":[0,0],"126":[0,0],"127":[0,0],"128":[0,0],"129":[0,0],"130":[0,0],"131":[0,0],"132":[0,0],"133":[0,0],"134":[0,0],"135":[0,0],"136":[0,0],"137":[0,0],"138":[0,0],"139":[0,0],"140":[0,0],"141":[0,0],"142":[0,0]},"f":{"1":0,"2":1,"3":1,"4":14,"5":7,"6":7,"7":1,"8":7,"9":20,"10":20,"11":21,"12":0,"13":1,"14":1,"15":1,"16":14,"17":7,"18":23,"19":0,"20":1,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":1,"37":18,"38":1,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":35,"61":0,"62":0,"63":13,"64":13,"65":7,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0},"l":{"1":1,"4":1,"6":1,"9":1,"12":1,"15":0,"16":0,"20":2,"21":1,"22":1,"23":1,"24":1,"27":2,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"51":1,"53":1,"71":14,"72":14,"73":14,"74":14,"75":14,"76":14,"77":14,"78":14,"79":14,"80":14,"81":14,"82":14,"83":14,"87":7,"91":7,"95":1,"99":7,"104":20,"108":20,"109":20,"113":1,"114":0,"116":1,"119":20,"120":0,"121":0,"123":0,"126":20,"130":21,"131":21,"132":20,"133":21,"138":0,"142":1,"143":1,"145":0,"150":1,"151":1,"154":1,"156":1,"159":0,"163":1,"168":14,"169":14,"170":14,"173":14,"174":14,"176":14,"178":14,"180":1,"184":14,"185":16,"186":14,"188":14,"189":1,"191":14,"196":7,"197":7,"198":7,"200":7,"206":23,"207":0,"210":23,"212":1,"214":0,"216":0,"218":0,"220":0,"222":7,"224":13,"227":1,"230":1,"232":0,"234":0,"236":0,"238":0,"240":0,"242":0,"244":0,"246":0,"248":0,"250":0,"252":0,"257":0,"259":0,"264":0,"265":0,"269":1,"270":1,"272":1,"273":0,"279":1,"281":1,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"293":0,"297":0,"298":1,"299":1,"300":1,"302":0,"308":0,"309":0,"312":0,"313":0,"318":0,"319":0,"321":0,"323":0,"324":0,"325":0,"326":0,"327":0,"329":0,"330":0,"331":0,"332":0,"336":0,"337":0,"339":0,"340":0,"342":0,"343":0,"344":0,"345":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":0,"355":0,"357":0,"359":0,"360":0,"363":0,"364":0,"365":0,"367":0,"370":0,"373":0,"374":0,"377":0,"381":0,"382":0,"384":0,"389":0,"397":0,"399":0,"400":0,"401":0,"402":0,"404":0,"405":0,"406":0,"407":0,"408":0,"411":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"432":0,"434":0,"435":0,"436":0,"437":0,"438":0,"442":0,"444":0,"445":0,"446":0,"449":0,"451":0,"456":0,"457":0,"458":0,"460":0,"463":0,"464":0,"465":0,"466":0,"468":0,"470":0,"475":0,"478":0,"481":0,"482":0,"485":0,"486":0,"487":0,"488":0,"489":0,"490":0,"491":0,"492":0,"496":0,"497":0,"498":0,"500":0,"505":0,"506":0,"509":0,"511":0,"512":0,"516":0,"519":0,"520":0,"521":0,"523":0,"527":0,"528":0,"530":0,"535":0,"536":0,"538":0,"540":0,"541":0,"543":0,"546":0,"547":0,"548":0,"549":0,"552":0,"553":0,"554":0,"556":0,"558":0,"559":0,"560":0,"562":0,"564":0,"565":0,"566":0,"567":0,"571":0,"572":0,"575":0,"576":0,"577":0,"580":0,"584":0,"587":0,"589":0,"591":0,"593":0,"596":0,"600":0,"601":0,"605":0,"606":0,"607":0,"608":0,"609":0,"610":0,"611":0,"612":0,"613":0,"614":0,"615":0,"616":0,"617":0,"619":0,"620":0,"621":0,"623":0,"627":0,"628":0,"630":0,"638":1,"641":1,"642":1,"644":0,"649":1,"652":0,"656":1,"659":0,"664":18,"667":1,"670":0,"672":0,"674":0,"676":0,"679":1,"680":0,"683":1,"686":3,"687":3,"689":0,"691":7,"693":6,"695":0,"698":0,"700":0,"702":0,"704":0,"706":0,"708":0,"710":0,"713":0,"715":0,"717":0,"719":0,"721":0,"724":0,"727":0,"729":0,"731":0,"733":0,"742":1,"743":1,"746":1,"747":1,"748":0,"749":0,"750":0,"751":0,"753":0,"756":1,"759":1,"766":0,"770":1,"771":1,"773":0,"774":0,"776":0,"777":0,"780":0,"781":0,"782":0,"784":0,"786":0,"787":0,"789":0,"790":0,"792":0,"793":0,"795":0,"796":0,"798":0,"799":0,"801":0,"802":0,"804":0,"805":0,"807":0,"808":0,"810":0,"811":0,"813":0,"814":0,"816":1,"817":0,"820":1,"821":1,"824":0,"825":0,"828":0,"829":0,"831":0,"832":0,"834":0,"835":0,"837":0,"845":1,"846":0,"848":1,"853":0,"857":0,"861":0,"862":0,"863":0,"864":0,"865":0,"867":0,"870":0,"874":0,"875":0,"876":0,"878":0,"883":0,"884":0,"886":0,"888":0,"890":0,"891":0,"897":0,"898":0,"900":0,"902":0,"904":0,"906":0,"908":0,"910":0,"911":0,"917":0,"918":0,"920":0,"925":0,"926":0,"928":0,"929":0,"931":0,"932":0,"933":0,"937":0,"938":0,"939":0,"940":0,"943":0,"944":0,"945":0,"949":0,"950":0,"953":0,"954":0,"958":0,"960":0,"961":0,"962":0,"965":0,"966":0,"967":0,"970":0,"973":0,"977":0,"978":0,"982":0,"984":0,"987":0,"988":0,"989":0,"992":0,"993":0,"995":0,"996":0,"1001":0,"1002":0,"1003":0,"1004":0,"1005":0,"1007":0,"1009":0,"1010":0,"1012":0,"1015":0,"1016":0,"1018":0,"1019":0,"1020":0,"1023":0,"1024":0,"1026":0,"1027":0,"1028":0,"1031":0,"1033":0,"1035":0,"1037":0,"1039":0,"1044":0,"1051":0,"1052":0,"1054":0,"1055":0,"1057":0,"1064":0,"1065":0,"1066":0,"1067":0,"1068":0,"1070":0,"1072":0,"1074":0,"1076":0,"1078":0,"1080":0,"1082":0,"1084":0,"1086":0,"1088":0,"1090":0,"1092":0,"1095":0,"1100":0,"1103":0,"1104":0,"1107":0,"1108":0,"1111":0,"1115":0,"1118":0,"1119":0,"1122":0,"1124":0,"1125":0,"1126":0,"1127":0,"1132":0,"1133":0,"1137":0,"1138":0,"1141":0,"1142":0,"1146":0,"1147":0,"1148":0,"1152":0,"1153":0,"1154":0,"1159":0,"1180":0,"1182":0,"1183":0,"1185":0,"1191":0,"1192":0,"1194":0,"1196":0,"1202":0,"1203":0,"1205":0,"1207":0,"1212":0,"1213":0,"1215":0,"1216":0,"1217":0,"1218":0,"1219":0,"1221":0,"1226":35,"1227":35,"1228":35,"1232":0,"1234":35,"1238":0,"1239":0,"1240":0,"1241":0,"1243":0,"1244":0,"1249":0,"1250":0,"1255":13,"1257":13,"1258":13,"1259":13,"1260":13,"1264":13,"1268":13,"1270":13,"1271":13,"1272":13,"1273":13,"1275":0,"1277":0,"1279":0,"1282":0,"1283":0,"1286":0,"1288":0,"1291":0,"1292":0,"1294":0,"1297":0,"1306":7,"1308":7,"1309":7,"1310":7,"1311":7,"1312":7,"1315":7,"1317":7,"1320":7,"1321":0,"1324":0,"1325":0,"1327":0,"1329":0,"1334":7,"1336":7,"1339":7,"1340":0,"1343":7,"1344":7,"1347":7,"1349":7,"1351":7,"1356":0,"1358":0,"1359":0,"1360":0,"1361":0,"1362":0,"1365":0,"1367":0,"1370":0,"1371":0,"1374":0,"1375":0,"1377":0,"1379":0,"1383":0,"1386":0,"1388":0,"1391":0,"1392":0,"1395":0,"1396":0,"1397":0,"1400":0,"1402":0,"1407":0,"1408":0,"1411":0,"1414":0,"1417":0,"1420":0,"1421":0,"1424":0,"1425":0,"1426":0,"1428":0,"1430":0,"1431":0,"1434":0,"1438":0,"1439":0,"1443":0,"1444":0,"1445":0,"1446":0,"1450":0,"1451":0,"1453":0,"1454":0,"1456":0,"1461":0,"1462":0,"1466":0,"1467":0,"1471":0,"1472":0,"1475":0,"1480":0,"1482":0,"1484":0,"1487":0,"1488":0,"1489":0,"1490":0,"1492":0,"1493":0,"1494":0,"1496":0,"1497":0,"1498":0,"1499":0,"1501":0,"1502":0,"1504":0,"1506":0,"1507":0,"1509":0,"1511":0,"1514":0,"1517":0,"1518":0,"1520":0,"1524":0,"1526":0,"1528":0,"1529":0,"1530":0,"1532":0,"1534":0,"1538":0,"1540":0,"1541":0,"1542":0,"1545":0,"1547":0,"1548":0,"1549":0,"1551":0,"1553":0,"1558":0,"1560":0,"1561":0,"1563":0,"1564":0,"1567":0,"1570":0,"1573":0,"1574":0,"1578":0,"1579":0,"1580":0,"1581":0,"1582":0,"1584":0,"1588":0,"1590":0,"1591":0,"1594":0,"1598":0,"1600":0,"1601":0,"1602":0,"1603":0,"1604":0,"1605":0,"1607":0,"1610":0,"1611":0,"1612":0,"1614":0,"1615":0,"1619":0,"1624":0,"1625":0,"1626":0,"1629":0,"1631":0,"1632":0,"1633":0,"1634":0,"1635":0,"1636":0,"1637":0,"1640":0,"1641":0,"1646":0,"1648":0,"1649":0,"1650":0,"1651":0,"1654":0}},"src/TSHelper.ts":{"path":"src/TSHelper.ts","statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"2":{"start":{"line":7,"column":8},"end":{"line":11,"column":9}},"3":{"start":{"line":8,"column":12},"end":{"line":10,"column":13}},"4":{"start":{"line":9,"column":16},"end":{"line":9,"column":28}},"5":{"start":{"line":12,"column":8},"end":{"line":12,"column":25}},"6":{"start":{"line":17,"column":8},"end":{"line":17,"column":26}},"7":{"start":{"line":18,"column":8},"end":{"line":22,"column":9}},"8":{"start":{"line":19,"column":12},"end":{"line":21,"column":13}},"9":{"start":{"line":20,"column":16},"end":{"line":20,"column":34}},"10":{"start":{"line":23,"column":8},"end":{"line":23,"column":22}},"11":{"start":{"line":27,"column":8},"end":{"line":27,"column":69}},"12":{"start":{"line":27,"column":44},"end":{"line":27,"column":67}},"13":{"start":{"line":31,"column":8},"end":{"line":40,"column":9}},"14":{"start":{"line":32,"column":12},"end":{"line":39,"column":13}},"15":{"start":{"line":33,"column":16},"end":{"line":38,"column":17}},"16":{"start":{"line":34,"column":20},"end":{"line":34,"column":81}},"17":{"start":{"line":35,"column":20},"end":{"line":37,"column":21}},"18":{"start":{"line":36,"column":24},"end":{"line":36,"column":41}},"19":{"start":{"line":41,"column":8},"end":{"line":41,"column":25}},"20":{"start":{"line":45,"column":8},"end":{"line":52,"column":9}},"21":{"start":{"line":48,"column":12},"end":{"line":51,"column":71}},"22":{"start":{"line":49,"column":16},"end":{"line":51,"column":69}},"23":{"start":{"line":53,"column":8},"end":{"line":53,"column":21}},"24":{"start":{"line":57,"column":8},"end":{"line":57,"column":114}},"25":{"start":{"line":61,"column":8},"end":{"line":63,"column":63}},"26":{"start":{"line":67,"column":8},"end":{"line":67,"column":54}},"27":{"start":{"line":68,"column":8},"end":{"line":68,"column":116}},"28":{"start":{"line":72,"column":8},"end":{"line":75,"column":77}},"29":{"start":{"line":79,"column":8},"end":{"line":81,"column":71}},"30":{"start":{"line":85,"column":8},"end":{"line":87,"column":68}},"31":{"start":{"line":91,"column":8},"end":{"line":93,"column":66}},"32":{"start":{"line":97,"column":8},"end":{"line":102,"column":9}},"33":{"start":{"line":98,"column":12},"end":{"line":98,"column":68}},"34":{"start":{"line":99,"column":12},"end":{"line":99,"column":61}},"35":{"start":{"line":101,"column":12},"end":{"line":101,"column":25}},"36":{"start":{"line":106,"column":8},"end":{"line":109,"column":70}},"37":{"start":{"line":113,"column":8},"end":{"line":120,"column":9}},"38":{"start":{"line":114,"column":12},"end":{"line":114,"column":74}},"39":{"start":{"line":115,"column":12},"end":{"line":118,"column":59}},"40":{"start":{"line":116,"column":43},"end":{"line":116,"column":66}},"41":{"start":{"line":117,"column":36},"end":{"line":117,"column":55}},"42":{"start":{"line":118,"column":39},"end":{"line":118,"column":57}},"43":{"start":{"line":119,"column":12},"end":{"line":119,"column":54}},"44":{"start":{"line":121,"column":8},"end":{"line":121,"column":21}},"45":{"start":{"line":126,"column":8},"end":{"line":126,"column":27}},"46":{"start":{"line":127,"column":8},"end":{"line":133,"column":9}},"47":{"start":{"line":128,"column":12},"end":{"line":132,"column":13}},"48":{"start":{"line":129,"column":16},"end":{"line":129,"column":38}},"49":{"start":{"line":131,"column":16},"end":{"line":131,"column":41}},"50":{"start":{"line":134,"column":8},"end":{"line":134,"column":20}},"51":{"start":{"line":138,"column":8},"end":{"line":146,"column":9}},"52":{"start":{"line":139,"column":12},"end":{"line":139,"column":47}},"53":{"start":{"line":140,"column":12},"end":{"line":140,"column":68}},"54":{"start":{"line":142,"column":12},"end":{"line":145,"column":13}},"55":{"start":{"line":143,"column":16},"end":{"line":143,"column":60}},"56":{"start":{"line":144,"column":16},"end":{"line":144,"column":81}},"57":{"start":{"line":147,"column":8},"end":{"line":147,"column":21}},"58":{"start":{"line":151,"column":8},"end":{"line":159,"column":9}},"59":{"start":{"line":152,"column":12},"end":{"line":152,"column":47}},"60":{"start":{"line":153,"column":12},"end":{"line":153,"column":68}},"61":{"start":{"line":155,"column":12},"end":{"line":158,"column":13}},"62":{"start":{"line":156,"column":16},"end":{"line":156,"column":60}},"63":{"start":{"line":157,"column":16},"end":{"line":157,"column":81}},"64":{"start":{"line":160,"column":8},"end":{"line":160,"column":21}},"65":{"start":{"line":164,"column":8},"end":{"line":189,"column":9}},"66":{"start":{"line":166,"column":16},"end":{"line":166,"column":54}},"67":{"start":{"line":168,"column":16},"end":{"line":168,"column":55}},"68":{"start":{"line":170,"column":16},"end":{"line":170,"column":56}},"69":{"start":{"line":172,"column":16},"end":{"line":172,"column":56}},"70":{"start":{"line":174,"column":16},"end":{"line":174,"column":56}},"71":{"start":{"line":176,"column":16},"end":{"line":176,"column":58}},"72":{"start":{"line":178,"column":16},"end":{"line":178,"column":59}},"73":{"start":{"line":180,"column":16},"end":{"line":180,"column":60}},"74":{"start":{"line":182,"column":16},"end":{"line":182,"column":67}},"75":{"start":{"line":184,"column":16},"end":{"line":184,"column":67}},"76":{"start":{"line":186,"column":16},"end":{"line":186,"column":73}},"77":{"start":{"line":188,"column":16},"end":{"line":188,"column":84}},"78":{"start":{"line":191,"column":8},"end":{"line":191,"column":29}},"79":{"start":{"line":3,"column":0},"end":{"line":193,"column":1}}},"fnMap":{"1":{"name":"(anonymous_1)","line":6,"loc":{"start":{"line":6,"column":26},"end":{"line":6,"column":43}}},"2":{"name":"(anonymous_2)","line":16,"loc":{"start":{"line":16,"column":27},"end":{"line":16,"column":42}}},"3":{"name":"(anonymous_3)","line":26,"loc":{"start":{"line":26,"column":35},"end":{"line":26,"column":95}}},"4":{"name":"(anonymous_4)","line":30,"loc":{"start":{"line":30,"column":33},"end":{"line":30,"column":84}}},"5":{"name":"(anonymous_5)","line":44,"loc":{"start":{"line":44,"column":30},"end":{"line":44,"column":56}}},"6":{"name":"(anonymous_6)","line":56,"loc":{"start":{"line":56,"column":43},"end":{"line":56,"column":57}}},"7":{"name":"(anonymous_7)","line":60,"loc":{"start":{"line":60,"column":30},"end":{"line":60,"column":44}}},"8":{"name":"(anonymous_8)","line":66,"loc":{"start":{"line":66,"column":29},"end":{"line":66,"column":68}}},"9":{"name":"(anonymous_9)","line":71,"loc":{"start":{"line":71,"column":42},"end":{"line":71,"column":81}}},"10":{"name":"(anonymous_10)","line":78,"loc":{"start":{"line":78,"column":37},"end":{"line":78,"column":76}}},"11":{"name":"(anonymous_11)","line":84,"loc":{"start":{"line":84,"column":34},"end":{"line":84,"column":73}}},"12":{"name":"(anonymous_12)","line":90,"loc":{"start":{"line":90,"column":27},"end":{"line":90,"column":66}}},"13":{"name":"(anonymous_13)","line":96,"loc":{"start":{"line":96,"column":35},"end":{"line":96,"column":74}}},"14":{"name":"(anonymous_14)","line":105,"loc":{"start":{"line":105,"column":39},"end":{"line":105,"column":78}}},"15":{"name":"(anonymous_15)","line":112,"loc":{"start":{"line":112,"column":36},"end":{"line":112,"column":94}}},"16":{"name":"(anonymous_16)","line":125,"loc":{"start":{"line":125,"column":36},"end":{"line":125,"column":103}}},"17":{"name":"(anonymous_17)","line":137,"loc":{"start":{"line":137,"column":32},"end":{"line":137,"column":71}}},"18":{"name":"(anonymous_18)","line":150,"loc":{"start":{"line":150,"column":32},"end":{"line":150,"column":71}}},"19":{"name":"(anonymous_19)","line":163,"loc":{"start":{"line":163,"column":41},"end":{"line":163,"column":62}}}},"branchMap":{"1":{"line":8,"type":"if","locations":[{"start":{"line":8,"column":12},"end":{"line":8,"column":11}},{"start":{"line":8,"column":12},"end":{"line":8,"column":11}}]},"2":{"line":19,"type":"if","locations":[{"start":{"line":19,"column":12},"end":{"line":19,"column":11}},{"start":{"line":19,"column":12},"end":{"line":19,"column":11}}]},"3":{"line":19,"type":"binary-expr","locations":[{"start":{"line":19,"column":16},"end":{"line":19,"column":45}},{"start":{"line":19,"column":49},"end":{"line":19,"column":71}}]},"4":{"line":31,"type":"if","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":7}},{"start":{"line":31,"column":8},"end":{"line":31,"column":7}}]},"5":{"line":33,"type":"if","locations":[{"start":{"line":33,"column":16},"end":{"line":33,"column":15}},{"start":{"line":33,"column":16},"end":{"line":33,"column":15}}]},"6":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":20},"end":{"line":35,"column":19}},{"start":{"line":35,"column":20},"end":{"line":35,"column":19}}]},"7":{"line":45,"type":"if","locations":[{"start":{"line":45,"column":8},"end":{"line":45,"column":7}},{"start":{"line":45,"column":8},"end":{"line":45,"column":7}}]},"8":{"line":49,"type":"binary-expr","locations":[{"start":{"line":49,"column":16},"end":{"line":49,"column":88}},{"start":{"line":50,"column":19},"end":{"line":50,"column":68}},{"start":{"line":51,"column":19},"end":{"line":51,"column":69}}]},"9":{"line":57,"type":"binary-expr","locations":[{"start":{"line":57,"column":15},"end":{"line":57,"column":26}},{"start":{"line":57,"column":30},"end":{"line":57,"column":67}},{"start":{"line":57,"column":71},"end":{"line":57,"column":113}}]},"10":{"line":61,"type":"binary-expr","locations":[{"start":{"line":61,"column":15},"end":{"line":61,"column":55}},{"start":{"line":62,"column":15},"end":{"line":62,"column":59}},{"start":{"line":63,"column":15},"end":{"line":63,"column":62}}]},"11":{"line":68,"type":"binary-expr","locations":[{"start":{"line":68,"column":15},"end":{"line":68,"column":23}},{"start":{"line":68,"column":28},"end":{"line":68,"column":69}},{"start":{"line":68,"column":73},"end":{"line":68,"column":114}}]},"12":{"line":72,"type":"binary-expr","locations":[{"start":{"line":72,"column":15},"end":{"line":72,"column":26}},{"start":{"line":73,"column":16},"end":{"line":73,"column":63}},{"start":{"line":74,"column":15},"end":{"line":74,"column":76}},{"start":{"line":75,"column":15},"end":{"line":75,"column":76}}]},"13":{"line":79,"type":"binary-expr","locations":[{"start":{"line":79,"column":15},"end":{"line":79,"column":26}},{"start":{"line":80,"column":16},"end":{"line":80,"column":64}},{"start":{"line":81,"column":15},"end":{"line":81,"column":70}}]},"14":{"line":85,"type":"binary-expr","locations":[{"start":{"line":85,"column":15},"end":{"line":85,"column":26}},{"start":{"line":86,"column":16},"end":{"line":86,"column":64}},{"start":{"line":87,"column":15},"end":{"line":87,"column":67}}]},"15":{"line":91,"type":"binary-expr","locations":[{"start":{"line":91,"column":15},"end":{"line":91,"column":26}},{"start":{"line":92,"column":16},"end":{"line":92,"column":68}},{"start":{"line":93,"column":15},"end":{"line":93,"column":65}}]},"16":{"line":97,"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":97,"column":7}},{"start":{"line":97,"column":8},"end":{"line":97,"column":7}}]},"17":{"line":106,"type":"binary-expr","locations":[{"start":{"line":106,"column":15},"end":{"line":106,"column":26}},{"start":{"line":107,"column":16},"end":{"line":107,"column":67}},{"start":{"line":108,"column":19},"end":{"line":108,"column":68}},{"start":{"line":109,"column":15},"end":{"line":109,"column":69}}]},"18":{"line":113,"type":"if","locations":[{"start":{"line":113,"column":8},"end":{"line":113,"column":7}},{"start":{"line":113,"column":8},"end":{"line":113,"column":7}}]},"19":{"line":128,"type":"if","locations":[{"start":{"line":128,"column":12},"end":{"line":128,"column":11}},{"start":{"line":128,"column":12},"end":{"line":128,"column":11}}]},"20":{"line":138,"type":"if","locations":[{"start":{"line":138,"column":8},"end":{"line":138,"column":7}},{"start":{"line":138,"column":8},"end":{"line":138,"column":7}}]},"21":{"line":142,"type":"if","locations":[{"start":{"line":142,"column":12},"end":{"line":142,"column":11}},{"start":{"line":142,"column":12},"end":{"line":142,"column":11}}]},"22":{"line":142,"type":"binary-expr","locations":[{"start":{"line":142,"column":16},"end":{"line":142,"column":20}},{"start":{"line":142,"column":24},"end":{"line":142,"column":35}},{"start":{"line":142,"column":39},"end":{"line":142,"column":58}}]},"23":{"line":144,"type":"binary-expr","locations":[{"start":{"line":144,"column":23},"end":{"line":144,"column":28}},{"start":{"line":144,"column":32},"end":{"line":144,"column":80}}]},"24":{"line":151,"type":"if","locations":[{"start":{"line":151,"column":8},"end":{"line":151,"column":7}},{"start":{"line":151,"column":8},"end":{"line":151,"column":7}}]},"25":{"line":155,"type":"if","locations":[{"start":{"line":155,"column":12},"end":{"line":155,"column":11}},{"start":{"line":155,"column":12},"end":{"line":155,"column":11}}]},"26":{"line":155,"type":"binary-expr","locations":[{"start":{"line":155,"column":16},"end":{"line":155,"column":20}},{"start":{"line":155,"column":24},"end":{"line":155,"column":35}},{"start":{"line":155,"column":39},"end":{"line":155,"column":58}}]},"27":{"line":157,"type":"binary-expr","locations":[{"start":{"line":157,"column":23},"end":{"line":157,"column":28}},{"start":{"line":157,"column":32},"end":{"line":157,"column":80}}]},"28":{"line":165,"type":"switch","locations":[{"start":{"line":165,"column":12},"end":{"line":166,"column":54}},{"start":{"line":167,"column":12},"end":{"line":168,"column":55}},{"start":{"line":169,"column":12},"end":{"line":170,"column":56}},{"start":{"line":171,"column":12},"end":{"line":172,"column":56}},{"start":{"line":173,"column":12},"end":{"line":174,"column":56}},{"start":{"line":175,"column":12},"end":{"line":176,"column":58}},{"start":{"line":177,"column":12},"end":{"line":178,"column":59}},{"start":{"line":179,"column":12},"end":{"line":180,"column":60}},{"start":{"line":181,"column":12},"end":{"line":182,"column":67}},{"start":{"line":183,"column":12},"end":{"line":184,"column":67}},{"start":{"line":185,"column":12},"end":{"line":186,"column":73}},{"start":{"line":187,"column":12},"end":{"line":188,"column":84}}]}},"s":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":14,"21":14,"22":16,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":1,"37":1,"38":1,"39":1,"40":0,"41":0,"42":0,"43":1,"44":0,"45":1,"46":1,"47":2,"48":1,"49":1,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":1,"59":0,"60":0,"61":0,"62":0,"63":0,"64":1,"65":1,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":1,"79":1},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[14,0],"8":[16,15,15],"9":[0,0,0],"10":[0,0,0],"11":[0,0,0],"12":[0,0,0,0],"13":[0,0,0],"14":[0,0,0],"15":[0,0,0],"16":[0,0],"17":[1,1,0,1],"18":[1,0],"19":[1,1],"20":[0,0],"21":[0,0],"22":[0,0,0],"23":[0,0],"24":[0,1],"25":[0,0],"26":[0,0,0],"27":[0,0],"28":[0,0,0,0,0,0,0,0,0,0,0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":14,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":1,"19":1},"l":{"1":1,"3":1,"7":0,"8":0,"9":0,"12":0,"17":0,"18":0,"19":0,"20":0,"23":0,"27":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"41":0,"45":14,"48":14,"49":16,"53":0,"57":0,"61":0,"67":0,"68":0,"72":0,"79":0,"85":0,"91":0,"97":0,"98":0,"99":0,"101":0,"106":1,"113":1,"114":1,"115":1,"116":0,"117":0,"118":0,"119":1,"121":0,"126":1,"127":1,"128":2,"129":1,"131":1,"134":0,"138":0,"139":0,"140":0,"142":0,"143":0,"144":0,"147":0,"151":1,"152":0,"153":0,"155":0,"156":0,"157":0,"160":1,"164":1,"166":0,"168":0,"170":0,"172":0,"174":0,"176":0,"178":0,"180":0,"182":0,"184":0,"186":0,"188":0,"191":1}},"src/targets/Transpiler.52.ts":{"path":"src/targets/Transpiler.52.ts","statementMap":{"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":50}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":33}},"3":{"start":{"line":15,"column":8},"end":{"line":15,"column":48}},"4":{"start":{"line":16,"column":8},"end":{"line":16,"column":29}},"5":{"start":{"line":17,"column":8},"end":{"line":17,"column":42}},"6":{"start":{"line":18,"column":8},"end":{"line":18,"column":26}},"7":{"start":{"line":19,"column":8},"end":{"line":19,"column":58}},"8":{"start":{"line":20,"column":8},"end":{"line":20,"column":25}},"9":{"start":{"line":21,"column":8},"end":{"line":21,"column":40}},"10":{"start":{"line":22,"column":8},"end":{"line":22,"column":74}},"11":{"start":{"line":23,"column":8},"end":{"line":23,"column":22}},"12":{"start":{"line":28,"column":8},"end":{"line":28,"column":93}},"13":{"start":{"line":33,"column":8},"end":{"line":36,"column":9}},"14":{"start":{"line":35,"column":16},"end":{"line":35,"column":48}},"15":{"start":{"line":41,"column":8},"end":{"line":54,"column":9}},"16":{"start":{"line":43,"column":16},"end":{"line":43,"column":51}},"17":{"start":{"line":45,"column":16},"end":{"line":45,"column":50}},"18":{"start":{"line":47,"column":16},"end":{"line":47,"column":51}},"19":{"start":{"line":49,"column":16},"end":{"line":49,"column":53}},"20":{"start":{"line":51,"column":16},"end":{"line":51,"column":53}},"21":{"start":{"line":53,"column":16},"end":{"line":53,"column":54}},"22":{"start":{"line":6,"column":0},"end":{"line":56,"column":1}}},"fnMap":{"1":{"name":"(anonymous_1)","line":8,"loc":{"start":{"line":8,"column":28},"end":{"line":13,"column":31}}},"2":{"name":"(anonymous_2)","line":27,"loc":{"start":{"line":27,"column":28},"end":{"line":27,"column":55}}},"3":{"name":"(anonymous_3)","line":32,"loc":{"start":{"line":32,"column":37},"end":{"line":32,"column":85}}},"4":{"name":"(anonymous_4)","line":40,"loc":{"start":{"line":40,"column":32},"end":{"line":40,"column":84}}}},"branchMap":{"1":{"line":34,"type":"switch","locations":[{"start":{"line":34,"column":12},"end":{"line":35,"column":48}}]},"2":{"line":42,"type":"switch","locations":[{"start":{"line":42,"column":12},"end":{"line":43,"column":51}},{"start":{"line":44,"column":12},"end":{"line":45,"column":50}},{"start":{"line":46,"column":12},"end":{"line":47,"column":51}},{"start":{"line":48,"column":12},"end":{"line":49,"column":53}},{"start":{"line":50,"column":12},"end":{"line":51,"column":53}},{"start":{"line":52,"column":12},"end":{"line":53,"column":54}}]}},"s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":1},"b":{"1":[0],"2":[0,0,0,0,0,0]},"f":{"1":0,"2":0,"3":0,"4":0},"l":{"2":1,"4":1,"6":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"28":0,"33":0,"35":0,"41":0,"43":0,"45":0,"47":0,"49":0,"51":0,"53":0}},"src/targets/Transpiler.53.ts":{"path":"src/targets/Transpiler.53.ts","statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":47}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":50}},"3":{"start":{"line":5,"column":0},"end":{"line":5,"column":33}},"4":{"start":{"line":10,"column":8},"end":{"line":13,"column":9}},"5":{"start":{"line":12,"column":16},"end":{"line":12,"column":37}},"6":{"start":{"line":18,"column":8},"end":{"line":31,"column":9}},"7":{"start":{"line":20,"column":16},"end":{"line":20,"column":41}},"8":{"start":{"line":22,"column":16},"end":{"line":22,"column":41}},"9":{"start":{"line":24,"column":16},"end":{"line":24,"column":41}},"10":{"start":{"line":26,"column":16},"end":{"line":26,"column":42}},"11":{"start":{"line":28,"column":16},"end":{"line":28,"column":42}},"12":{"start":{"line":30,"column":16},"end":{"line":30,"column":96}},"13":{"start":{"line":36,"column":8},"end":{"line":39,"column":10}},"14":{"start":{"line":7,"column":0},"end":{"line":41,"column":1}}},"fnMap":{"1":{"name":"(anonymous_1)","line":9,"loc":{"start":{"line":9,"column":37},"end":{"line":9,"column":85}}},"2":{"name":"(anonymous_2)","line":17,"loc":{"start":{"line":17,"column":32},"end":{"line":17,"column":84}}},"3":{"name":"(anonymous_3)","line":35,"loc":{"start":{"line":35,"column":35},"end":{"line":null,"column":-1}}}},"branchMap":{"1":{"line":11,"type":"switch","locations":[{"start":{"line":11,"column":12},"end":{"line":12,"column":37}}]},"2":{"line":19,"type":"switch","locations":[{"start":{"line":19,"column":12},"end":{"line":20,"column":41}},{"start":{"line":21,"column":12},"end":{"line":22,"column":41}},{"start":{"line":23,"column":12},"end":{"line":24,"column":41}},{"start":{"line":25,"column":12},"end":{"line":26,"column":42}},{"start":{"line":27,"column":12},"end":{"line":28,"column":42}},{"start":{"line":29,"column":12},"end":{"line":30,"column":96}}]}},"s":{"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":1},"b":{"1":[0],"2":[0,0,0,0,0,0]},"f":{"1":0,"2":0,"3":0},"l":{"1":1,"3":1,"5":1,"7":1,"10":0,"12":0,"18":0,"20":0,"22":0,"24":0,"26":0,"28":0,"30":0,"36":0}},"src/targets/Transpiler.JIT.ts":{"path":"src/targets/Transpiler.JIT.ts","statementMap":{"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":50}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":33}},"3":{"start":{"line":9,"column":8},"end":{"line":12,"column":9}},"4":{"start":{"line":11,"column":16},"end":{"line":11,"column":46}},"5":{"start":{"line":17,"column":8},"end":{"line":30,"column":9}},"6":{"start":{"line":19,"column":16},"end":{"line":19,"column":49}},"7":{"start":{"line":21,"column":16},"end":{"line":21,"column":48}},"8":{"start":{"line":23,"column":16},"end":{"line":23,"column":49}},"9":{"start":{"line":25,"column":16},"end":{"line":25,"column":51}},"10":{"start":{"line":27,"column":16},"end":{"line":27,"column":51}},"11":{"start":{"line":29,"column":16},"end":{"line":29,"column":52}},"12":{"start":{"line":6,"column":0},"end":{"line":32,"column":1}}},"fnMap":{"1":{"name":"(anonymous_1)","line":8,"loc":{"start":{"line":8,"column":37},"end":{"line":8,"column":85}}},"2":{"name":"(anonymous_2)","line":16,"loc":{"start":{"line":16,"column":32},"end":{"line":16,"column":84}}}},"branchMap":{"1":{"line":10,"type":"switch","locations":[{"start":{"line":10,"column":12},"end":{"line":11,"column":46}}]},"2":{"line":18,"type":"switch","locations":[{"start":{"line":18,"column":12},"end":{"line":19,"column":49}},{"start":{"line":20,"column":12},"end":{"line":21,"column":48}},{"start":{"line":22,"column":12},"end":{"line":23,"column":49}},{"start":{"line":24,"column":12},"end":{"line":25,"column":51}},{"start":{"line":26,"column":12},"end":{"line":27,"column":51}},{"start":{"line":28,"column":12},"end":{"line":29,"column":52}}]}},"s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":1},"b":{"1":[0],"2":[0,0,0,0,0,0]},"f":{"1":0,"2":0},"l":{"2":1,"4":1,"6":1,"9":0,"11":0,"17":0,"19":0,"21":0,"23":0,"25":0,"27":0,"29":0}}} \ No newline at end of file diff --git a/gulpfile.ts b/gulpfile.ts index 30d040f39..9a7beb5df 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -4,10 +4,13 @@ import * as glob from "glob"; import * as gulp from "gulp"; import * as concat from "gulp-concat"; import * as istanbul from "gulp-istanbul"; +import * as shell from "gulp-shell"; import tslint from "gulp-tslint"; import * as ts from "gulp-typescript"; import { TapBark } from "tap-bark"; +import * as remapIstanbul from "remap-istanbul/lib/gulpRemapIstanbul"; + import {parseCommandLine} from "./src/CommandLineParser"; import {compile, compileFilesWithOptions} from "./src/Compiler"; @@ -50,33 +53,33 @@ gulp.task( gulp.task("clean-test", () => del("./test/**/*.spec.js")); -gulp.task("build-test", () => { - const tsProject = ts.createProject("./test/tsconfig.json"); - return tsProject.src().pipe(tsProject()).js.pipe(gulp.dest("./test")); -}); +gulp.task("build-test", shell.task("tsc -p ./test", {cwd: __dirname})); gulp.task("pre-test", () => - gulp.src(["src/**/*.js"]) + gulp.src(["./src/**/*.js"]) .pipe(istanbul()) .pipe(istanbul.hookRequire()) ); -gulp.task("unit-tests", (done: () => any) => { +gulp.task("unit-tests", done => { const testSet = TestSet.create(); testSet.addTestsFromFiles("./test/**/*.spec.js"); const testRunner = new TestRunner(); - testRunner.outputStream - .pipe(TapBark.create().getPipeable()) - .pipe(process.stdout); + // testRunner.outputStream + // .pipe(TapBark.create().getPipeable()) + // .pipe(process.stdout); testRunner.run(testSet) .then(() => { - istanbul.writeReports(); - done(); - }); + console.log("sdasddsadasdas"); + gulp.src("./coverage/coverage-final.json") + .pipe(istanbul.writeReports({reporters: ["lcov", "json", "text"]})) + .pipe(remapIstanbul()) + .pipe(gulp.dest("coverage-remapped")).on("end", done); + }).catch(error => console.log(error)); }); gulp.task("test", gulp.series(/*"tslint",*/ "clean-test", "build-test", "lualib", "pre-test", "unit-tests", "clean-test")); diff --git a/package-lock.json b/package-lock.json index 9c04b17c7..d2d58a494 100644 --- a/package-lock.json +++ b/package-lock.json @@ -76,6 +76,24 @@ "@types/node": "*" } }, + "@types/gulp-istanbul": { + "version": "0.9.32", + "resolved": "https://registry.npmjs.org/@types/gulp-istanbul/-/gulp-istanbul-0.9.32.tgz", + "integrity": "sha512-/up/FZZPsIw6VwsR6ONqZfhRt8Qq6T3W2ufrEZQIlTvTdfzByHWxmuO9zKLBqIBlNj0rfQgp9lxheJ+003qDRw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/gulp-shell": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/@types/gulp-shell/-/gulp-shell-0.0.31.tgz", + "integrity": "sha512-kJWiFkvtNYNQNZsOPmcaa1NZHYuQCK8iFa/H/E08IHqiDOiR3GyG48W7RjUsUUXkzUtamlX17ocsIXncCAY0iQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -125,9 +143,9 @@ } }, "@types/yargs": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-11.0.0.tgz", - "integrity": "sha512-vFql3tOxs6clgh+WVoLW3nOkNGCdeKsMU6mQZkOerJpV/CR9Xc1c1lZ+kYU+hNSobrQIOcNovWfPFDJIhcG5Pw==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-Awgju4dqD8kHXX3jc/B/LaryJC7MsyNfnbN62lIbFzTi0GewH64zrkh4bxo/YTgVEK6r9V3GNecxMhXTJw0+jA==", "dev": true }, "abbrev": { @@ -2521,6 +2539,164 @@ "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", "dev": true }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "dev": true, + "requires": { + "kind-of": "^1.1.0" + } + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "istanbul": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "requires": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "dev": true, + "requires": { + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "gulp-shell": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/gulp-shell/-/gulp-shell-0.6.5.tgz", + "integrity": "sha512-f3m1WcS0o2B72/PGj1Jbv9zYR9rynBh/EQJv64n01xQUo7j7anols0eww9GG/WtDTzGVQLrupVDYkifRFnj5Zg==", + "dev": true, + "requires": { + "async": "^2.1.5", + "chalk": "^2.3.0", + "fancy-log": "^1.3.2", + "lodash": "^4.17.4", + "lodash.template": "^4.4.0", + "plugin-error": "^0.1.2", + "through2": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, "extend-shallow": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", @@ -2548,6 +2724,15 @@ "arr-union": "^2.0.1", "extend-shallow": "^1.1.2" } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -3110,6 +3295,70 @@ "requires": { "istanbul": "~0.4.5", "lodash": "~4.17.2" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "istanbul": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "requires": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } } }, "js-tokens": { @@ -3289,12 +3538,37 @@ "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", "dev": true }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, + "lodash.template": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", + "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "dev": true, + "requires": { + "lodash._reinterpolate": "~3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", + "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", + "dev": true, + "requires": { + "lodash._reinterpolate": "~3.0.0" + } + }, "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", @@ -3599,8 +3873,7 @@ "dependencies": { "align-text": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2", @@ -3610,26 +3883,22 @@ }, "amdefine": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "bundled": true, "dev": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "ansi-styles": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "bundled": true, "dev": true }, "append-transform": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "bundled": true, "dev": true, "requires": { "default-require-extensions": "^1.0.0" @@ -3637,62 +3906,52 @@ }, "archy": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "bundled": true, "dev": true }, "arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "bundled": true, "dev": true }, "arr-flatten": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "bundled": true, "dev": true }, "arr-union": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "bundled": true, "dev": true }, "array-unique": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "bundled": true, "dev": true }, "arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "bundled": true, "dev": true }, "assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "bundled": true, "dev": true }, "async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "bundled": true, "dev": true }, "atob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "bundled": true, "dev": true }, "babel-code-frame": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "bundled": true, "dev": true, "requires": { "chalk": "^1.1.3", @@ -3702,8 +3961,7 @@ }, "babel-generator": { "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "bundled": true, "dev": true, "requires": { "babel-messages": "^6.23.0", @@ -3718,8 +3976,7 @@ }, "babel-messages": { "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "^6.22.0" @@ -3727,8 +3984,7 @@ }, "babel-runtime": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "bundled": true, "dev": true, "requires": { "core-js": "^2.4.0", @@ -3737,8 +3993,7 @@ }, "babel-template": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -3750,8 +4005,7 @@ }, "babel-traverse": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "bundled": true, "dev": true, "requires": { "babel-code-frame": "^6.26.0", @@ -3767,8 +4021,7 @@ }, "babel-types": { "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -3779,20 +4032,17 @@ }, "babylon": { "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "bundled": true, "dev": true }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "bundled": true, "dev": true }, "base": { "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "bundled": true, "dev": true, "requires": { "cache-base": "^1.0.1", @@ -3806,8 +4056,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -3815,8 +4064,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -3824,8 +4072,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -3833,8 +4080,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -3844,22 +4090,19 @@ }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -3868,8 +4111,7 @@ }, "braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "bundled": true, "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -3886,8 +4128,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -3897,14 +4138,12 @@ }, "builtin-modules": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "bundled": true, "dev": true }, "cache-base": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "bundled": true, "dev": true, "requires": { "collection-visit": "^1.0.0", @@ -3920,16 +4159,14 @@ "dependencies": { "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true } } }, "caching-transform": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", - "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", + "bundled": true, "dev": true, "requires": { "md5-hex": "^1.2.0", @@ -3939,15 +4176,13 @@ }, "camelcase": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "bundled": true, "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3957,8 +4192,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "bundled": true, "dev": true, "requires": { "ansi-styles": "^2.2.1", @@ -3970,8 +4204,7 @@ }, "class-utils": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "bundled": true, "dev": true, "requires": { "arr-union": "^3.1.0", @@ -3982,8 +4215,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -3991,16 +4223,14 @@ }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true } } }, "cliui": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -4011,8 +4241,7 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "bundled": true, "dev": true, "optional": true } @@ -4020,14 +4249,12 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "collection-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "bundled": true, "dev": true, "requires": { "map-visit": "^1.0.0", @@ -4036,44 +4263,37 @@ }, "commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "bundled": true, "dev": true }, "component-emitter": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "convert-source-map": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "bundled": true, "dev": true }, "copy-descriptor": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "bundled": true, "dev": true }, "core-js": { "version": "2.5.6", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", - "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==", + "bundled": true, "dev": true }, "cross-spawn": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -4082,8 +4302,7 @@ }, "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -4091,26 +4310,22 @@ }, "debug-log": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", - "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", + "bundled": true, "dev": true }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "bundled": true, "dev": true }, "decode-uri-component": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "bundled": true, "dev": true }, "default-require-extensions": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "bundled": true, "dev": true, "requires": { "strip-bom": "^2.0.0" @@ -4118,8 +4333,7 @@ }, "define-property": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.2", @@ -4128,8 +4342,7 @@ "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -4137,8 +4350,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -4146,8 +4358,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -4157,22 +4368,19 @@ }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "detect-indent": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "bundled": true, "dev": true, "requires": { "repeating": "^2.0.0" @@ -4180,8 +4388,7 @@ }, "error-ex": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "bundled": true, "dev": true, "requires": { "is-arrayish": "^0.2.1" @@ -4189,20 +4396,17 @@ }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "bundled": true, "dev": true }, "esutils": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "bundled": true, "dev": true }, "execa": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -4216,8 +4420,7 @@ "dependencies": { "cross-spawn": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -4229,8 +4432,7 @@ }, "expand-brackets": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "bundled": true, "dev": true, "requires": { "debug": "^2.3.3", @@ -4244,8 +4446,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -4253,8 +4454,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -4264,8 +4464,7 @@ }, "extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "bundled": true, "dev": true, "requires": { "assign-symbols": "^1.0.0", @@ -4274,8 +4473,7 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "bundled": true, "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -4285,8 +4483,7 @@ }, "extglob": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "bundled": true, "dev": true, "requires": { "array-unique": "^0.3.2", @@ -4301,8 +4498,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -4310,8 +4506,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -4319,8 +4514,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -4328,8 +4522,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -4337,8 +4530,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -4348,16 +4540,14 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -4368,8 +4558,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -4379,8 +4568,7 @@ }, "find-cache-dir": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "bundled": true, "dev": true, "requires": { "commondir": "^1.0.1", @@ -4390,8 +4578,7 @@ }, "find-up": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "bundled": true, "dev": true, "requires": { "locate-path": "^2.0.0" @@ -4399,14 +4586,12 @@ }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "bundled": true, "dev": true }, "foreground-child": { "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "^4", @@ -4415,8 +4600,7 @@ }, "fragment-cache": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "bundled": true, "dev": true, "requires": { "map-cache": "^0.2.2" @@ -4424,32 +4608,27 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true }, "get-caller-file": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "bundled": true, "dev": true }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "bundled": true, "dev": true }, "get-value": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "bundled": true, "dev": true }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -4462,20 +4641,17 @@ }, "globals": { "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "bundled": true, "dev": true }, "graceful-fs": { "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "bundled": true, "dev": true }, "handlebars": { "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "bundled": true, "dev": true, "requires": { "async": "^1.4.0", @@ -4486,8 +4662,7 @@ "dependencies": { "source-map": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "bundled": true, "dev": true, "requires": { "amdefine": ">=0.0.4" @@ -4497,8 +4672,7 @@ }, "has-ansi": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -4506,14 +4680,12 @@ }, "has-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "bundled": true, "dev": true }, "has-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "bundled": true, "dev": true, "requires": { "get-value": "^2.0.6", @@ -4523,16 +4695,14 @@ "dependencies": { "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true } } }, "has-values": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "bundled": true, "dev": true, "requires": { "is-number": "^3.0.0", @@ -4541,8 +4711,7 @@ "dependencies": { "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -4550,8 +4719,7 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -4561,8 +4729,7 @@ }, "kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -4572,20 +4739,17 @@ }, "hosted-git-info": { "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "bundled": true, "dev": true }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "bundled": true, "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "requires": { "once": "^1.3.0", @@ -4594,14 +4758,12 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "invariant": { "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "bundled": true, "dev": true, "requires": { "loose-envify": "^1.0.0" @@ -4609,14 +4771,12 @@ }, "invert-kv": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "bundled": true, "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -4624,20 +4784,17 @@ }, "is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "bundled": true, "dev": true }, "is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "bundled": true, "dev": true }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "bundled": true, "dev": true, "requires": { "builtin-modules": "^1.0.0" @@ -4645,8 +4802,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -4654,8 +4810,7 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -4665,22 +4820,19 @@ "dependencies": { "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "bundled": true, "dev": true } } }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "bundled": true, "dev": true }, "is-finite": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -4688,14 +4840,12 @@ }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "bundled": true, "dev": true }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -4703,8 +4853,7 @@ }, "is-odd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "bundled": true, "dev": true, "requires": { "is-number": "^4.0.0" @@ -4712,16 +4861,14 @@ "dependencies": { "is-number": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "bundled": true, "dev": true } } }, "is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.1" @@ -4729,58 +4876,49 @@ "dependencies": { "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true } } }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "bundled": true, "dev": true }, "is-utf8": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "bundled": true, "dev": true }, "is-windows": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "bundled": true, "dev": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "bundled": true, "dev": true }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true }, "istanbul-lib-coverage": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", - "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", + "bundled": true, "dev": true }, "istanbul-lib-hook": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", - "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", + "bundled": true, "dev": true, "requires": { "append-transform": "^0.4.0" @@ -4788,8 +4926,7 @@ }, "istanbul-lib-instrument": { "version": "1.10.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz", - "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", + "bundled": true, "dev": true, "requires": { "babel-generator": "^6.18.0", @@ -4803,8 +4940,7 @@ }, "istanbul-lib-report": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz", - "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==", + "bundled": true, "dev": true, "requires": { "istanbul-lib-coverage": "^1.1.2", @@ -4815,8 +4951,7 @@ "dependencies": { "supports-color": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "bundled": true, "dev": true, "requires": { "has-flag": "^1.0.0" @@ -4826,8 +4961,7 @@ }, "istanbul-lib-source-maps": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz", - "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==", + "bundled": true, "dev": true, "requires": { "debug": "^3.1.0", @@ -4839,8 +4973,7 @@ "dependencies": { "debug": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -4850,8 +4983,7 @@ }, "istanbul-reports": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.4.0.tgz", - "integrity": "sha512-OPzVo1fPZ2H+owr8q/LYKLD+vquv9Pj4F+dj808MdHbuQLD7S4ACRjcX+0Tne5Vxt2lxXvdZaL7v+FOOAV281w==", + "bundled": true, "dev": true, "requires": { "handlebars": "^4.0.3" @@ -4859,20 +4991,17 @@ }, "js-tokens": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "bundled": true, "dev": true }, "jsesc": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "bundled": true, "dev": true }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -4880,15 +5009,13 @@ }, "lazy-cache": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "bundled": true, "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "bundled": true, "dev": true, "requires": { "invert-kv": "^1.0.0" @@ -4896,8 +5023,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -4909,8 +5035,7 @@ }, "locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "bundled": true, "dev": true, "requires": { "p-locate": "^2.0.0", @@ -4919,28 +5044,24 @@ "dependencies": { "path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "bundled": true, "dev": true } } }, "lodash": { "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "bundled": true, "dev": true }, "longest": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "bundled": true, "dev": true }, "loose-envify": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "bundled": true, "dev": true, "requires": { "js-tokens": "^3.0.0" @@ -4948,8 +5069,7 @@ }, "lru-cache": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "bundled": true, "dev": true, "requires": { "pseudomap": "^1.0.2", @@ -4958,14 +5078,12 @@ }, "map-cache": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "bundled": true, "dev": true }, "map-visit": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "bundled": true, "dev": true, "requires": { "object-visit": "^1.0.0" @@ -4973,8 +5091,7 @@ }, "md5-hex": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", + "bundled": true, "dev": true, "requires": { "md5-o-matic": "^0.1.1" @@ -4982,14 +5099,12 @@ }, "md5-o-matic": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", - "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", + "bundled": true, "dev": true }, "mem": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "bundled": true, "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -4997,8 +5112,7 @@ }, "merge-source-map": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "bundled": true, "dev": true, "requires": { "source-map": "^0.6.1" @@ -5006,16 +5120,14 @@ "dependencies": { "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "bundled": true, "dev": true } } }, "micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -5035,22 +5147,19 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "bundled": true, "dev": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -5058,14 +5167,12 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "mixin-deep": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "bundled": true, "dev": true, "requires": { "for-in": "^1.0.2", @@ -5074,8 +5181,7 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "bundled": true, "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -5085,8 +5191,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -5094,14 +5199,12 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true }, "nanomatch": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -5120,28 +5223,24 @@ "dependencies": { "arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "bundled": true, "dev": true }, "array-unique": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "bundled": true, "dev": true }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "normalize-package-data": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "bundled": true, "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -5152,8 +5251,7 @@ }, "npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "bundled": true, "dev": true, "requires": { "path-key": "^2.0.0" @@ -5161,20 +5259,17 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true }, "object-copy": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "bundled": true, "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -5184,8 +5279,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -5195,8 +5289,7 @@ }, "object-visit": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.0" @@ -5204,16 +5297,14 @@ "dependencies": { "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true } } }, "object.pick": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "bundled": true, "dev": true, "requires": { "isobject": "^3.0.1" @@ -5221,16 +5312,14 @@ "dependencies": { "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true } } }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1" @@ -5238,8 +5327,7 @@ }, "optimist": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "bundled": true, "dev": true, "requires": { "minimist": "~0.0.1", @@ -5248,14 +5336,12 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true }, "os-locale": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "bundled": true, "dev": true, "requires": { "execa": "^0.7.0", @@ -5265,14 +5351,12 @@ }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "bundled": true, "dev": true }, "p-limit": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", - "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "bundled": true, "dev": true, "requires": { "p-try": "^1.0.0" @@ -5280,8 +5364,7 @@ }, "p-locate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "bundled": true, "dev": true, "requires": { "p-limit": "^1.1.0" @@ -5289,14 +5372,12 @@ }, "p-try": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "bundled": true, "dev": true }, "parse-json": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "bundled": true, "dev": true, "requires": { "error-ex": "^1.2.0" @@ -5304,14 +5385,12 @@ }, "pascalcase": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "bundled": true, "dev": true }, "path-exists": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "bundled": true, "dev": true, "requires": { "pinkie-promise": "^2.0.0" @@ -5319,26 +5398,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true }, "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "bundled": true, "dev": true }, "path-parse": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "bundled": true, "dev": true }, "path-type": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -5348,20 +5423,17 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "bundled": true, "dev": true }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "bundled": true, "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "bundled": true, "dev": true, "requires": { "pinkie": "^2.0.0" @@ -5369,8 +5441,7 @@ }, "pkg-dir": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0" @@ -5378,8 +5449,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", @@ -5390,20 +5460,17 @@ }, "posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "bundled": true, "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "bundled": true, "dev": true }, "read-pkg": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "bundled": true, "dev": true, "requires": { "load-json-file": "^1.0.0", @@ -5413,8 +5480,7 @@ }, "read-pkg-up": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "bundled": true, "dev": true, "requires": { "find-up": "^1.0.0", @@ -5423,8 +5489,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "^2.0.0", @@ -5435,14 +5500,12 @@ }, "regenerator-runtime": { "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "bundled": true, "dev": true }, "regex-not": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^3.0.2", @@ -5451,20 +5514,17 @@ }, "repeat-element": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "bundled": true, "dev": true }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "bundled": true, "dev": true }, "repeating": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "bundled": true, "dev": true, "requires": { "is-finite": "^1.0.0" @@ -5472,38 +5532,32 @@ }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "bundled": true, "dev": true }, "require-main-filename": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "bundled": true, "dev": true }, "resolve-from": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "bundled": true, "dev": true }, "resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "bundled": true, "dev": true }, "ret": { "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "bundled": true, "dev": true }, "right-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -5512,8 +5566,7 @@ }, "rimraf": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "dev": true, "requires": { "glob": "^7.0.5" @@ -5521,8 +5574,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "bundled": true, "dev": true, "requires": { "ret": "~0.1.10" @@ -5530,20 +5582,17 @@ }, "semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "bundled": true, "dev": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true }, "set-value": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5554,8 +5603,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -5565,8 +5613,7 @@ }, "shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "bundled": true, "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -5574,26 +5621,22 @@ }, "shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true }, "slide": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "bundled": true, "dev": true }, "snapdragon": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "bundled": true, "dev": true, "requires": { "base": "^0.11.1", @@ -5608,8 +5651,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -5617,8 +5659,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -5628,8 +5669,7 @@ }, "snapdragon-node": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "bundled": true, "dev": true, "requires": { "define-property": "^1.0.0", @@ -5639,8 +5679,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -5648,8 +5687,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -5657,8 +5695,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -5666,8 +5703,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -5677,22 +5713,19 @@ }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "snapdragon-util": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.2.0" @@ -5700,14 +5733,12 @@ }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "bundled": true, "dev": true }, "source-map-resolve": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", - "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", + "bundled": true, "dev": true, "requires": { "atob": "^2.0.0", @@ -5719,14 +5750,12 @@ }, "source-map-url": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "bundled": true, "dev": true }, "spawn-wrap": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", - "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", + "bundled": true, "dev": true, "requires": { "foreground-child": "^1.5.6", @@ -5739,8 +5768,7 @@ }, "spdx-correct": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "bundled": true, "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -5749,14 +5777,12 @@ }, "spdx-exceptions": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "bundled": true, "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "bundled": true, "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -5765,14 +5791,12 @@ }, "spdx-license-ids": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "bundled": true, "dev": true }, "split-string": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^3.0.0" @@ -5780,8 +5804,7 @@ }, "static-extend": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "bundled": true, "dev": true, "requires": { "define-property": "^0.2.5", @@ -5790,8 +5813,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -5801,8 +5823,7 @@ }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "bundled": true, "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -5811,14 +5832,12 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "bundled": true, "dev": true }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -5828,8 +5847,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -5837,8 +5855,7 @@ }, "strip-bom": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "bundled": true, "dev": true, "requires": { "is-utf8": "^0.2.0" @@ -5846,20 +5863,17 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "bundled": true, "dev": true }, "supports-color": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "bundled": true, "dev": true }, "test-exclude": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", - "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", + "bundled": true, "dev": true, "requires": { "arrify": "^1.0.1", @@ -5871,20 +5885,17 @@ "dependencies": { "arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "bundled": true, "dev": true }, "array-unique": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "bundled": true, "dev": true }, "braces": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "bundled": true, "dev": true, "requires": { "arr-flatten": "^1.1.0", @@ -5901,8 +5912,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -5912,8 +5922,7 @@ }, "expand-brackets": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "bundled": true, "dev": true, "requires": { "debug": "^2.3.3", @@ -5927,8 +5936,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -5936,8 +5944,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -5945,8 +5952,7 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -5954,8 +5960,7 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -5965,8 +5970,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -5974,8 +5978,7 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -5985,8 +5988,7 @@ }, "is-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", @@ -5996,16 +5998,14 @@ }, "kind-of": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "bundled": true, "dev": true } } }, "extglob": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "bundled": true, "dev": true, "requires": { "array-unique": "^0.3.2", @@ -6020,8 +6020,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "bundled": true, "dev": true, "requires": { "is-descriptor": "^1.0.0" @@ -6029,8 +6028,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -6040,8 +6038,7 @@ }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -6052,8 +6049,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -6063,8 +6059,7 @@ }, "is-accessor-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -6072,8 +6067,7 @@ }, "is-data-descriptor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.0" @@ -6081,8 +6075,7 @@ }, "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "bundled": true, "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", @@ -6092,8 +6085,7 @@ }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -6101,8 +6093,7 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -6112,20 +6103,17 @@ }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true }, "micromatch": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "bundled": true, "dev": true, "requires": { "arr-diff": "^4.0.0", @@ -6147,14 +6135,12 @@ }, "to-fast-properties": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "bundled": true, "dev": true }, "to-object-path": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -6162,8 +6148,7 @@ }, "to-regex": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "bundled": true, "dev": true, "requires": { "define-property": "^2.0.2", @@ -6174,8 +6159,7 @@ }, "to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "bundled": true, "dev": true, "requires": { "is-number": "^3.0.0", @@ -6184,8 +6168,7 @@ "dependencies": { "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "bundled": true, "dev": true, "requires": { "kind-of": "^3.0.2" @@ -6195,14 +6178,12 @@ }, "trim-right": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "bundled": true, "dev": true }, "uglify-js": { "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6213,8 +6194,7 @@ "dependencies": { "yargs": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6228,15 +6208,13 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "bundled": true, "dev": true, "optional": true }, "union-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "bundled": true, "dev": true, "requires": { "arr-union": "^3.1.0", @@ -6247,8 +6225,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "bundled": true, "dev": true, "requires": { "is-extendable": "^0.1.0" @@ -6256,8 +6233,7 @@ }, "set-value": { "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "bundled": true, "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -6270,8 +6246,7 @@ }, "unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "bundled": true, "dev": true, "requires": { "has-value": "^0.3.1", @@ -6280,8 +6255,7 @@ "dependencies": { "has-value": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "bundled": true, "dev": true, "requires": { "get-value": "^2.0.3", @@ -6291,8 +6265,7 @@ "dependencies": { "isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "bundled": true, "dev": true, "requires": { "isarray": "1.0.0" @@ -6302,28 +6275,24 @@ }, "has-values": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "bundled": true, "dev": true }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "bundled": true, "dev": true } } }, "urix": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "bundled": true, "dev": true }, "use": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "bundled": true, "dev": true, "requires": { "kind-of": "^6.0.2" @@ -6331,16 +6300,14 @@ "dependencies": { "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "bundled": true, "dev": true } } }, "validate-npm-package-license": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "bundled": true, "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -6349,8 +6316,7 @@ }, "which": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "bundled": true, "dev": true, "requires": { "isexe": "^2.0.0" @@ -6358,27 +6324,23 @@ }, "which-module": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "bundled": true, "dev": true }, "window-size": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "bundled": true, "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "bundled": true, "dev": true }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "bundled": true, "dev": true, "requires": { "string-width": "^1.0.1", @@ -6387,8 +6349,7 @@ "dependencies": { "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -6396,8 +6357,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -6409,14 +6369,12 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true }, "write-file-atomic": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -6426,20 +6384,17 @@ }, "y18n": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "bundled": true, "dev": true }, "yallist": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "bundled": true, "dev": true }, "yargs": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "bundled": true, "dev": true, "requires": { "cliui": "^4.0.0", @@ -6458,20 +6413,17 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "bundled": true, "dev": true }, "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true }, "cliui": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "bundled": true, "dev": true, "requires": { "string-width": "^2.1.1", @@ -6481,8 +6433,7 @@ }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -6490,8 +6441,7 @@ }, "yargs-parser": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" @@ -6501,8 +6451,7 @@ }, "yargs-parser": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", - "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", + "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" @@ -6510,8 +6459,7 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true } } @@ -7026,6 +6974,108 @@ "safe-regex": "^1.1.0" } }, + "remap-istanbul": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/remap-istanbul/-/remap-istanbul-0.11.1.tgz", + "integrity": "sha512-Itv3XvYjD6G+9xDzAeFohx4GUwbFjfqFt0UXlC826jHR18E49fEiEGqZUxUASwMq4z7wwUv2H9/XF2d6qj0iaQ==", + "dev": true, + "requires": { + "amdefine": "^1.0.0", + "istanbul": "0.4.5", + "minimatch": "^3.0.3", + "plugin-error": "^0.1.2", + "source-map": "^0.6.1", + "through2": "2.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "dev": true, + "requires": { + "kind-of": "^1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "dev": true, + "requires": { + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", + "dev": true, + "requires": { + "readable-stream": "~2.0.0", + "xtend": "~4.0.0" + } + } + } + }, "remove-bom-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", @@ -7763,9 +7813,9 @@ "dev": true }, "tslint": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.10.0.tgz", - "integrity": "sha1-EeJrzLiK+gLdDZlWyuPUVAtfVMM=", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.11.0.tgz", + "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=", "dev": true, "requires": { "babel-code-frame": "^6.22.0", @@ -7779,7 +7829,7 @@ "resolve": "^1.3.2", "semver": "^5.3.0", "tslib": "^1.8.0", - "tsutils": "^2.12.1" + "tsutils": "^2.27.2" }, "dependencies": { "ansi-styles": { @@ -7820,9 +7870,9 @@ "dev": true }, "tsutils": { - "version": "2.27.2", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.27.2.tgz", - "integrity": "sha512-qf6rmT84TFMuxAKez2pIfR8UCai49iQsfB7YWVjV1bKpy/d0PWT5rEOSM6La9PiHZ0k1RRZQiwVdVJfQ3BPHgg==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.28.0.tgz", + "integrity": "sha512-bh5nAtW0tuhvOJnx1GLRn5ScraRLICGyJV5wJhtRWOLsxW70Kk5tZtpK3O/hW6LDnqKS9mlUMPZj9fEMJ0gxqA==", "dev": true, "requires": { "tslib": "^1.8.1" diff --git a/package.json b/package.json index 3a90c5d75..6a38ab1e4 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,8 @@ "@types/glob": "^5.0.35", "@types/gulp": "^4.0.5", "@types/gulp-concat": "0.0.32", + "@types/gulp-istanbul": "^0.9.32", + "@types/gulp-shell": "0.0.31", "@types/node": "^9.6.23", "@types/yargs": "^11.0.0", "alsatian": "^2.2.1", @@ -56,9 +58,11 @@ "gulp": "^4.0.0", "gulp-concat": "^2.6.1", "gulp-istanbul": "^1.1.3", + "gulp-shell": "^0.6.5", "gulp-tslint": "^8.1.3", "gulp-typescript": "^5.0.0-alpha.3", "nyc": "^11.9.0", + "remap-istanbul": "^0.11.1", "threads": "^0.12.0", "ts-node": "^7.0.0", "tslint": "^5.10.0", diff --git a/test/compiler/project.spec.ts b/test/compiler/project.spec.ts index d4362df59..d24bc80ed 100644 --- a/test/compiler/project.spec.ts +++ b/test/compiler/project.spec.ts @@ -1,4 +1,4 @@ -import { Expect, Setup, Teardown, Test, TestCase } from "alsatian"; +import { Expect, Setup, Teardown, Test, TestCase, FocusTests } from "alsatian"; import * as fs from "fs"; import * as path from "path"; import { compile } from "../../src/Compiler"; @@ -17,6 +17,7 @@ function getAllFiles(dir: string): string[] { ); } +@FocusTests export class CompilerProjectTests { private existingFiles: string[]; @@ -24,37 +25,37 @@ export class CompilerProjectTests { @TestCase("basic", "tsconfig.json", - "typescript_lualib.lua", + "lualib_bundle.lua", "test_src/test_lib/file.lua", "test_src/main.lua") @TestCase("basic", ".", - "typescript_lualib.lua", + "lualib_bundle.lua", "test_src/test_lib/file.lua", "test_src/main.lua") @TestCase("basic", "test_src/main.ts", - "typescript_lualib.lua", + "lualib_bundle.lua", "test_src/test_lib/file.lua", "test_src/main.lua") @TestCase("basic", "tsconfig.outDir.json", - "out_dir/typescript_lualib.lua", + "out_dir/lualib_bundle.lua", "out_dir/test_src/test_lib/file.lua", "out_dir/test_src/main.lua") @TestCase("basic", "tsconfig.rootDir.json", - "test_src/typescript_lualib.lua", + "test_src/lualib_bundle.lua", "test_src/test_lib/file.lua", "test_src/main.lua") @TestCase("basic", "tsconfig.bothDirOptions.json", - "out_dir/typescript_lualib.lua", + "out_dir/lualib_bundle.lua", "out_dir/test_lib/file.lua", "out_dir/main.lua") @TestCase("baseurl", "tsconfig.json", - "out_dir/typescript_lualib.lua", + "out_dir/lualib_bundle.lua", "out_dir/test_src/test_lib/nested/lib_file.lua", "out_dir/test_src/main.lua") @Test("Compile project") From b8f3f0d9d0cce9b01b4cbba3e50e53b8e4061e2b Mon Sep 17 00:00:00 2001 From: Lolleko Date: Sat, 21 Jul 2018 16:39:57 +0200 Subject: [PATCH 29/42] Removed gulp --- build_lualib.ts | 17 + gulpfile.ts | 85 - package-lock.json | 4507 +-------------------------------- package.json | 27 +- src/Compiler.ts | 2 - src/Index.ts | 2 + test/compiler/project.spec.ts | 3 +- test/runner.ts | 26 + tsconfig.json | 2 +- 9 files changed, 146 insertions(+), 4525 deletions(-) create mode 100644 build_lualib.ts delete mode 100644 gulpfile.ts create mode 100644 test/runner.ts diff --git a/build_lualib.ts b/build_lualib.ts new file mode 100644 index 000000000..1a4540d23 --- /dev/null +++ b/build_lualib.ts @@ -0,0 +1,17 @@ +import concat = require("concat"); +import * as glob from "glob"; +import {compile} from "./src/Compiler"; + +compile([ + "-ah", + "--dontRequireLuaLib", + "--luaTarget", + "5.1", + "--outDir", + "./dist/lualib", + "--rootDir", + "./src/lualib", + ...glob.sync("./src/lualib/*.ts"), + ]); + +concat(glob.sync("./dist/lualib/*.lua"), "./dist/lualib/lualib_bundle.lua"); diff --git a/gulpfile.ts b/gulpfile.ts deleted file mode 100644 index 9a7beb5df..000000000 --- a/gulpfile.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { TestRunner, TestSet } from "alsatian"; -import * as del from "del"; -import * as glob from "glob"; -import * as gulp from "gulp"; -import * as concat from "gulp-concat"; -import * as istanbul from "gulp-istanbul"; -import * as shell from "gulp-shell"; -import tslint from "gulp-tslint"; -import * as ts from "gulp-typescript"; -import { TapBark } from "tap-bark"; - -import * as remapIstanbul from "remap-istanbul/lib/gulpRemapIstanbul"; - -import {parseCommandLine} from "./src/CommandLineParser"; -import {compile, compileFilesWithOptions} from "./src/Compiler"; - -// BUILD - -gulp.task("build", () => { - const tsProject = ts.createProject("tsconfig.json"); - return tsProject.src().pipe(tsProject()).js.pipe(gulp.dest("dist")); -}); - -gulp.task("clean-lualib", () => del("./dist/lualib/*.lua")); - -gulp.task("build-lualib", () => { - compile([ - "-ah", - "--dontRequireLuaLib", - "--luaTarget", - "5.1", - "--outDir", - "./dist/lualib", - "--rootDir", - "./src/lualib", - ...glob.sync("./src/lualib/*.ts"), - ]); - - return gulp.src("./dist/lualib/*.lua") - .pipe(concat("lualib_bundle.lua")) - .pipe(gulp.dest("./dist/lualib")); - }); - -gulp.task("lualib", gulp.series("clean-lualib", "build-lualib")); - -gulp.task("default", gulp.series("build", "lualib")); - -// TESTS - -gulp.task( - "tslint", - () => gulp.src("src/**/*.ts").pipe(tslint()).pipe(tslint.report())); - -gulp.task("clean-test", () => del("./test/**/*.spec.js")); - -gulp.task("build-test", shell.task("tsc -p ./test", {cwd: __dirname})); - -gulp.task("pre-test", () => - gulp.src(["./src/**/*.js"]) - .pipe(istanbul()) - .pipe(istanbul.hookRequire()) -); - -gulp.task("unit-tests", done => { - const testSet = TestSet.create(); - - testSet.addTestsFromFiles("./test/**/*.spec.js"); - - const testRunner = new TestRunner(); - - // testRunner.outputStream - // .pipe(TapBark.create().getPipeable()) - // .pipe(process.stdout); - - testRunner.run(testSet) - .then(() => { - console.log("sdasddsadasdas"); - gulp.src("./coverage/coverage-final.json") - .pipe(istanbul.writeReports({reporters: ["lcov", "json", "text"]})) - .pipe(remapIstanbul()) - .pipe(gulp.dest("coverage-remapped")).on("end", done); - }).catch(error => console.log(error)); -}); - -gulp.task("test", gulp.series(/*"tslint",*/ "clean-test", "build-test", "lualib", "pre-test", "unit-tests", "clean-test")); diff --git a/package-lock.json b/package-lock.json index d2d58a494..c6f768cdc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,37 +4,12 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@types/chokidar": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@types/chokidar/-/chokidar-1.7.5.tgz", - "integrity": "sha512-PDkSRY7KltW3M60hSBlerxI8SFPXsO3AL/aRVsO4Kh9IHRW74Ih75gUuTd/aE4LSSFqypb10UIX3QzOJwBQMGQ==", - "dev": true, - "requires": { - "@types/events": "*", - "@types/node": "*" - } - }, - "@types/del": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/del/-/del-3.0.1.tgz", - "integrity": "sha512-y6qRq6raBuu965clKgx6FHuiPu3oHdtmzMPXi8Uahsjdq1L6DL5fS/aY5/s71YwM7k6K1QIWvem5vNwlnNGIkQ==", - "dev": true, - "requires": { - "@types/glob": "*" - } - }, "@types/events": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==", "dev": true }, - "@types/fancy-log": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@types/fancy-log/-/fancy-log-1.3.0.tgz", - "integrity": "sha512-mQjDxyOM1Cpocd+vm1kZBP7smwKZ4TNokFeds9LV7OZibmPJFEzY3+xZMrKfUdNT71lv8GoCPD6upKwHxubClw==", - "dev": true - }, "@types/glob": { "version": "5.0.35", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.35.tgz", @@ -46,54 +21,6 @@ "@types/node": "*" } }, - "@types/glob-stream": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha512-RHv6ZQjcTncXo3thYZrsbAVwoy4vSKosSWhuhuQxLOTv74OJuFQxXkmUuZCr3q9uNBEVCvIzmZL/FeRNbHZGUg==", - "dev": true, - "requires": { - "@types/glob": "*", - "@types/node": "*" - } - }, - "@types/gulp": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-4.0.5.tgz", - "integrity": "sha512-nx1QjPTiRpvLfYsZ7MBu7bT6Cm7tAXyLbY0xbdx2IEMxCK2v2urIhJMQZHW0iV1TskM71Xl6p2uRRuWDbk+/7g==", - "dev": true, - "requires": { - "@types/chokidar": "*", - "@types/undertaker": "*", - "@types/vinyl-fs": "*" - } - }, - "@types/gulp-concat": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/gulp-concat/-/gulp-concat-0.0.32.tgz", - "integrity": "sha512-CUCFADlITzzBfBa2bdGzhKtvBr4eFh+evb+4igVbvPoO5RyPfHifmyQlZl6lM7q19+OKncRlFXDU7B4X9Ayo2g==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/gulp-istanbul": { - "version": "0.9.32", - "resolved": "https://registry.npmjs.org/@types/gulp-istanbul/-/gulp-istanbul-0.9.32.tgz", - "integrity": "sha512-/up/FZZPsIw6VwsR6ONqZfhRt8Qq6T3W2ufrEZQIlTvTdfzByHWxmuO9zKLBqIBlNj0rfQgp9lxheJ+003qDRw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/gulp-shell": { - "version": "0.0.31", - "resolved": "https://registry.npmjs.org/@types/gulp-shell/-/gulp-shell-0.0.31.tgz", - "integrity": "sha512-kJWiFkvtNYNQNZsOPmcaa1NZHYuQCK8iFa/H/E08IHqiDOiR3GyG48W7RjUsUUXkzUtamlX17ocsIXncCAY0iQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -106,54 +33,12 @@ "integrity": "sha512-d2SJJpwkiPudEQ3+9ysANN2Nvz4QJKUPoe/WL5zyQzI0RaEeZWH5K5xjvUIGszTItHQpFPdH+u51f6G/LkS8Cg==", "dev": true }, - "@types/undertaker": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/undertaker/-/undertaker-1.2.0.tgz", - "integrity": "sha512-bx/5nZCGkasXs6qaA3B6SVDjBZqdyk04UO12e0uEPSzjt5H8jEJw0DKe7O7IM0hM2bVHRh70pmOH7PEHqXwzOw==", - "dev": true, - "requires": { - "@types/events": "*", - "@types/undertaker-registry": "*" - } - }, - "@types/undertaker-registry": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/undertaker-registry/-/undertaker-registry-1.0.1.tgz", - "integrity": "sha512-Z4TYuEKn9+RbNVk1Ll2SS4x1JeLHecolIbM/a8gveaHsW0Hr+RQMraZACwTO2VD7JvepgA6UO1A1VrbktQrIbQ==", - "dev": true - }, - "@types/vinyl": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.2.tgz", - "integrity": "sha512-2iYpNuOl98SrLPBZfEN9Mh2JCJ2EI9HU35SfgBEb51DcmaHkhp8cKMblYeBqMQiwXMgAD3W60DbQ4i/UdLiXhw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/vinyl-fs": { - "version": "2.4.8", - "resolved": "https://registry.npmjs.org/@types/vinyl-fs/-/vinyl-fs-2.4.8.tgz", - "integrity": "sha512-yE2pN9OOrxJVeO7IZLHAHrh5R4Q0osbn5WQRuQU6GdXoK7dNFrMK3K7YhATkzf3z0yQBkol3+gafs7Rp0s7dDg==", - "dev": true, - "requires": { - "@types/glob-stream": "*", - "@types/node": "*", - "@types/vinyl": "*" - } - }, "@types/yargs": { "version": "11.1.1", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-11.1.1.tgz", "integrity": "sha512-Awgju4dqD8kHXX3jc/B/LaryJC7MsyNfnbN62lIbFzTi0GewH64zrkh4bxo/YTgVEK6r9V3GNecxMhXTJw0+jA==", "dev": true }, - "abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", - "dev": true - }, "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", @@ -166,28 +51,6 @@ "json-schema-traverse": "^0.3.0" } }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "alsatian": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/alsatian/-/alsatian-2.2.1.tgz", @@ -201,48 +64,6 @@ "tap-bark": "1.0.0" } }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-colors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", - "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", - "dev": true, - "requires": { - "ansi-wrap": "^0.1.0" - } - }, - "ansi-cyan": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", - "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", - "dev": true, - "requires": { - "ansi-wrap": "0.1.0" - } - }, - "ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", - "dev": true, - "requires": { - "ansi-wrap": "0.1.0" - } - }, - "ansi-red": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", - "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", - "dev": true, - "requires": { - "ansi-wrap": "0.1.0" - } - }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -254,37 +75,6 @@ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", - "dev": true - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "append-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", - "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", - "dev": true, - "requires": { - "buffer-equal": "^1.0.0" - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -300,129 +90,6 @@ "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", "dev": true }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-filter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", - "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", - "dev": true, - "requires": { - "make-iterator": "^1.0.0" - } - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", - "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", - "dev": true, - "requires": { - "make-iterator": "^1.0.0" - } - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true - }, - "array-initial": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", - "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", - "dev": true, - "requires": { - "array-slice": "^1.0.0", - "is-number": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, - "array-last": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", - "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", - "dev": true, - "requires": { - "is-number": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, - "array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true - }, - "array-sort": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", - "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", - "dev": true, - "requires": { - "default-compare": "^1.0.0", - "get-value": "^2.0.6", - "kind-of": "^5.0.2" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -441,65 +108,12 @@ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "async-done": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.1.tgz", - "integrity": "sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.2", - "process-nextick-args": "^1.0.7", - "stream-exhaust": "^1.0.1" - }, - "dependencies": { - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - } - } - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "async-settle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", - "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", - "dev": true, - "requires": { - "async-done": "^1.2.2" - } - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, - "atob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", - "dev": true - }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -523,84 +137,12 @@ "js-tokens": "^3.0.2" } }, - "bach": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", - "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", - "dev": true, - "requires": { - "arr-filter": "^1.1.1", - "arr-flatten": "^1.0.1", - "arr-map": "^2.0.0", - "array-each": "^1.0.0", - "array-initial": "^1.0.0", - "array-last": "^1.1.1", - "async-done": "^1.2.2", - "async-settle": "^1.0.0", - "now-and-later": "^2.0.0" - } - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -611,12 +153,6 @@ "tweetnacl": "^0.14.3" } }, - "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", - "dev": true - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -627,41 +163,6 @@ "concat-map": "0.0.1" } }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", - "dev": true - }, "buffer-from": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", @@ -674,23 +175,6 @@ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", @@ -702,17 +186,6 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "optional": true, - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -726,56 +199,12 @@ "supports-color": "^2.0.0" } }, - "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" - } - }, "circular-json": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.5.tgz", "integrity": "sha512-13YaR6kiz0kBNmIVM87Io8Hp7bWOo4r61vkEANy8iH9R9bc6avud/1FT0SBpqR1RpIQADOh/Q+yHZDA1iL6ysA==", "dev": true }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", @@ -801,61 +230,6 @@ } } }, - "clone": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", - "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", - "dev": true - }, - "clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", - "dev": true - }, - "clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", - "dev": true - }, - "cloneable-readable": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", - "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -878,27 +252,6 @@ "urlgrey": "0.4.4" } }, - "collection-map": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", - "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", - "dev": true, - "requires": { - "arr-map": "^2.0.2", - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, "color-convert": { "version": "1.9.2", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", @@ -914,12 +267,6 @@ "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", "dev": true }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true - }, "combined-stream": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", @@ -935,11 +282,14 @@ "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==", "dev": true }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true + "concat": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/concat/-/concat-1.0.3.tgz", + "integrity": "sha1-QPM1MInWVGdpXLGIa0Xt1jfYzKg=", + "dev": true, + "requires": { + "commander": "^2.9.0" + } }, "concat-map": { "version": "0.0.1", @@ -947,49 +297,6 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "concat-with-sourcemaps": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", - "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - } - }, - "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", - "dev": true - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-props": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", - "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", - "dev": true, - "requires": { - "each-props": "^1.3.0", - "is-plain-object": "^2.0.1" - } - }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -1006,15 +313,6 @@ "which": "^1.2.9" } }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true, - "requires": { - "es5-ext": "^0.10.9" - } - }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -1024,146 +322,23 @@ "assert-plus": "^1.0.0" } }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", "dev": true }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "default-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", - "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", - "dev": true, - "requires": { - "kind-of": "^5.0.2" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "default-resolution": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", - "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", - "dev": true - }, - "define-properties": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", - "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", - "dev": true, - "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, "diff": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", @@ -1176,28 +351,6 @@ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", "dev": true }, - "duplexify": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", - "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "each-props": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", - "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.1", - "object.defaults": "^1.1.0" - } - }, "ecc-jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", @@ -1208,117 +361,18 @@ "jsbn": "~0.1.0" } }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es5-ext": { - "version": "0.10.45", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", - "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", - "dev": true, - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" - } - }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, - "escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", - "dev": true, - "requires": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.2.0" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, "esprima": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", "dev": true }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true - }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", @@ -1351,165 +405,24 @@ "strip-eof": "^1.0.0" } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, "extend": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", "dev": true }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, "extendo-error": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/extendo-error/-/extendo-error-1.0.1.tgz", "integrity": "sha1-MDJeDPbC+l+RAj0hAO0CGCbmMX0=", "dev": true }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, - "fancy-log": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", - "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", - "dev": true, - "requires": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "time-stamp": "^1.0.0" - } - }, "fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", @@ -1522,12 +435,6 @@ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, "fengari": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/fengari/-/fengari-0.1.2.tgz", @@ -1547,29 +454,6 @@ } } }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -1578,79 +462,6 @@ "locate-path": "^2.0.0" } }, - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "fined": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", - "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - } - }, - "flagged-respawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz", - "integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=", - "dev": true - }, - "flush-write-stream": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", - "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -1668,1189 +479,55 @@ "mime-types": "^2.1.12" } }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "map-cache": "^0.2.2" + "assert-plus": "^1.0.0" } }, - "fs-mkdirp-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", - "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "through2": "^2.0.3" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": "^2.1.0" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "minipass": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true, - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true, - "dev": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "glob-stream": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", - "dev": true, - "requires": { - "extend": "^3.0.0", - "glob": "^7.1.1", - "glob-parent": "^3.1.0", - "is-negated-glob": "^1.0.0", - "ordered-read-streams": "^1.0.0", - "pumpify": "^1.3.5", - "readable-stream": "^2.1.5", - "remove-trailing-separator": "^1.0.1", - "to-absolute-glob": "^2.0.0", - "unique-stream": "^2.0.2" - } - }, - "glob-watcher": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.1.tgz", - "integrity": "sha512-fK92r2COMC199WCyGUblrZKhjra3cyVMDiypDdqg1vsSDmexnbYivK1kNR4QItiNXLKmGlqan469ks67RtNa2g==", - "dev": true, - "requires": { - "async-done": "^1.2.0", - "chokidar": "^2.0.0", - "just-debounce": "^1.0.0", - "object.defaults": "^1.1.0" - } - }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "glogg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", - "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", - "dev": true, - "requires": { - "sparkles": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "gulp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.0.tgz", - "integrity": "sha1-lXZsYB2t5Kd+0+eyttwDiBtZY2Y=", - "dev": true, - "requires": { - "glob-watcher": "^5.0.0", - "gulp-cli": "^2.0.0", - "undertaker": "^1.0.0", - "vinyl-fs": "^3.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "gulp-cli": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.0.1.tgz", - "integrity": "sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ==", - "dev": true, - "requires": { - "ansi-colors": "^1.0.1", - "archy": "^1.0.0", - "array-sort": "^1.0.0", - "color-support": "^1.1.3", - "concat-stream": "^1.6.0", - "copy-props": "^2.0.1", - "fancy-log": "^1.3.2", - "gulplog": "^1.0.0", - "interpret": "^1.1.0", - "isobject": "^3.0.1", - "liftoff": "^2.5.0", - "matchdep": "^2.0.0", - "mute-stdout": "^1.0.0", - "pretty-hrtime": "^1.0.0", - "replace-homedir": "^1.0.0", - "semver-greatest-satisfied-range": "^1.1.0", - "v8flags": "^3.0.1", - "yargs": "^7.1.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } - } - }, - "gulp-concat": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", - "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=", - "dev": true, - "requires": { - "concat-with-sourcemaps": "^1.0.0", - "through2": "^2.0.0", - "vinyl": "^2.0.0" - } - }, - "gulp-istanbul": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gulp-istanbul/-/gulp-istanbul-1.1.3.tgz", - "integrity": "sha512-uMLSdqPDnBAV/B9rNyOgVMgrVC1tPbe+5GH6P13UOyxbRDT/w4sKYHWftPMA8j9om+NFvfeRlqpDXL2fixFWNA==", - "dev": true, - "requires": { - "istanbul": "^0.4.0", - "istanbul-threshold-checker": "^0.2.1", - "lodash": "^4.0.0", - "plugin-error": "^0.1.2", - "through2": "^2.0.0", - "vinyl-sourcemaps-apply": "^0.2.1" - }, - "dependencies": { - "arr-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" - } - }, - "arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", - "dev": true - }, - "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", - "dev": true - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", - "dev": true, - "requires": { - "kind-of": "^1.1.0" - } - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "istanbul": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", - "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", - "dev": true, - "requires": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" - } - }, - "kind-of": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", - "dev": true - }, - "plugin-error": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", - "dev": true, - "requires": { - "ansi-cyan": "^0.1.1", - "ansi-red": "^0.1.1", - "arr-diff": "^1.0.1", - "arr-union": "^2.0.1", - "extend-shallow": "^1.1.2" - } - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "gulp-shell": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/gulp-shell/-/gulp-shell-0.6.5.tgz", - "integrity": "sha512-f3m1WcS0o2B72/PGj1Jbv9zYR9rynBh/EQJv64n01xQUo7j7anols0eww9GG/WtDTzGVQLrupVDYkifRFnj5Zg==", - "dev": true, - "requires": { - "async": "^2.1.5", - "chalk": "^2.3.0", - "fancy-log": "^1.3.2", - "lodash": "^4.17.4", - "lodash.template": "^4.4.0", - "plugin-error": "^0.1.2", - "through2": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "arr-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" - } - }, - "arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", - "dev": true - }, - "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", - "dev": true - }, - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "dev": true, - "requires": { - "lodash": "^4.17.10" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", - "dev": true, - "requires": { - "kind-of": "^1.1.0" - } - }, - "kind-of": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", - "dev": true - }, - "plugin-error": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", - "dev": true, - "requires": { - "ansi-cyan": "^0.1.1", - "ansi-red": "^0.1.1", - "arr-diff": "^1.0.1", - "arr-union": "^2.0.1", - "extend-shallow": "^1.1.2" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "gulp-tslint": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/gulp-tslint/-/gulp-tslint-8.1.3.tgz", - "integrity": "sha512-KEP350N5B9Jg6o6jnyCyKVBPemJePYpMsGfIQq0G0ErvY7tw4Lrfb/y3L4WRf7ek0OsaE8nnj86w+lcLXW8ovw==", - "dev": true, - "requires": { - "@types/fancy-log": "1.3.0", - "chalk": "2.3.1", - "fancy-log": "1.3.2", - "map-stream": "~0.0.7", - "plugin-error": "1.0.1", - "through": "~2.3.8" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.2.0" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "gulp-typescript": { - "version": "5.0.0-alpha.3", - "resolved": "https://registry.npmjs.org/gulp-typescript/-/gulp-typescript-5.0.0-alpha.3.tgz", - "integrity": "sha512-6iSBjqBXAUqRsLUh/9XtlOnSzpPMbLrr5rqGj4UPLtGpDwFHW/fVTuRgv6LAWiKesLIUDDM0ourxvcpu2trecQ==", - "dev": true, - "requires": { - "ansi-colors": "^2.0.2", - "plugin-error": "^1.0.1", - "source-map": "^0.7.3", - "through2": "^2.0.3", - "vinyl": "^2.1.0", - "vinyl-fs": "^3.0.3" - }, - "dependencies": { - "ansi-colors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-2.0.3.tgz", - "integrity": "sha512-Lt6iEoO5+sCDxNFbJRKee7etk5Rv2i7SWcVLhwZmiOpsuJmmnwN8Ob0TZpCeSRIg1Ns7YzGitvoKS7D6Y8TtNQ==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", - "dev": true, - "requires": { - "glogg": "^1.0.0" - } - }, - "handlebars": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", - "dev": true, - "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { "ajv": "^5.1.0", @@ -2859,70 +536,17 @@ }, "has-ansi": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "homedir-polyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", - "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "parse-passwd": "^1.0.0" + "ansi-regex": "^2.0.0" } }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "http-signature": { @@ -2952,216 +576,16 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", - "dev": true - }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, - "is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "^1.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-negated-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", - "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "requires": { - "is-unc-path": "^1.0.0" - } - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -3173,33 +597,6 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "requires": { - "unc-path-regex": "^0.1.2" - } - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-valid-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", - "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -3211,156 +608,12 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, - "istanbul": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", - "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", - "dev": true, - "requires": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "istanbul-threshold-checker": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/istanbul-threshold-checker/-/istanbul-threshold-checker-0.2.1.tgz", - "integrity": "sha1-xdyU6PLMXNP/0zVFL4S1U8QkgzE=", - "dev": true, - "requires": { - "istanbul": "~0.4.5", - "lodash": "~4.17.2" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "istanbul": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", - "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", - "dev": true, - "requires": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" - } - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", @@ -3396,27 +649,12 @@ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", "dev": true }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } - }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -3429,44 +667,6 @@ "verror": "1.10.0" } }, - "just-debounce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", - "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "last-run": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", - "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", - "dev": true, - "requires": { - "default-resolution": "^2.0.0", - "es6-weak-map": "^2.0.1" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true, - "optional": true - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "dev": true, - "requires": { - "readable-stream": "^2.0.5" - } - }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -3475,106 +675,15 @@ "invert-kv": "^1.0.0" } }, - "lead": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", - "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", - "dev": true, - "requires": { - "flush-write-stream": "^1.0.2" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "liftoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", - "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", - "dev": true, - "requires": { - "extend": "^3.0.0", - "findup-sync": "^2.0.0", - "fined": "^1.0.1", - "flagged-respawn": "^1.0.0", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.template": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", - "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", - "dev": true, - "requires": { - "lodash._reinterpolate": "~3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", - "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", - "dev": true, + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "lodash._reinterpolate": "~3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, "lru-cache": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", @@ -3590,48 +699,6 @@ "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==", "dev": true }, - "make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", - "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "matchdep": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", - "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", - "dev": true, - "requires": { - "findup-sync": "^2.0.0", - "micromatch": "^3.0.4", - "resolve": "^1.4.0", - "stack-trace": "0.0.10" - } - }, "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", @@ -3640,27 +707,6 @@ "mimic-fn": "^1.0.0" } }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, "mime-db": { "version": "1.33.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", @@ -3696,27 +742,6 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -3734,95 +759,12 @@ } } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "mute-stdout": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.0.tgz", - "integrity": "sha1-WzLqB+tDyd7WEwQ0z5JvRrKn/U0=", - "dev": true - }, - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, "native-promise-only": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=", "dev": true }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "now-and-later": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz", - "integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=", - "dev": true, - "requires": { - "once": "^1.3.2" - } - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -6472,111 +3414,6 @@ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", "dev": true }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", - "dev": true, - "requires": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", - "dev": true, - "requires": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "object.reduce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", - "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", - "dev": true, - "requires": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - } - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -6586,53 +3423,6 @@ "wrappy": "1" } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" - } - }, - "ordered-read-streams": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", - "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - } - }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", @@ -6670,55 +3460,11 @@ "p-limit": "^1.1.0" } }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true - }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, - "parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", - "dev": true, - "requires": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -6730,12 +3476,6 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -6747,89 +3487,12 @@ "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, - "path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", - "dev": true, - "requires": { - "path-root-regex": "^0.1.0" - } - }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "plugin-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", - "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", - "dev": true, - "requires": { - "ansi-colors": "^1.0.1", - "arr-diff": "^4.0.0", - "arr-union": "^3.1.0", - "extend-shallow": "^3.0.2" - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", - "dev": true - }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", @@ -6841,80 +3504,17 @@ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } - } + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true }, "readable-stream": { "version": "2.3.4", @@ -6931,207 +3531,18 @@ "util-deprecate": "~1.0.1" } }, - "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" - } - }, "readline-sync": { "version": "1.4.9", "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.9.tgz", "integrity": "sha1-PtqOZfI80qF+YTAbHwADOWr17No=", "dev": true }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, "reflect-metadata": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.12.tgz", "integrity": "sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A==", "dev": true }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "remap-istanbul": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/remap-istanbul/-/remap-istanbul-0.11.1.tgz", - "integrity": "sha512-Itv3XvYjD6G+9xDzAeFohx4GUwbFjfqFt0UXlC826jHR18E49fEiEGqZUxUASwMq4z7wwUv2H9/XF2d6qj0iaQ==", - "dev": true, - "requires": { - "amdefine": "^1.0.0", - "istanbul": "0.4.5", - "minimatch": "^3.0.3", - "plugin-error": "^0.1.2", - "source-map": "^0.6.1", - "through2": "2.0.1" - }, - "dependencies": { - "arr-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" - } - }, - "arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", - "dev": true - }, - "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", - "dev": true - }, - "extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", - "dev": true, - "requires": { - "kind-of": "^1.1.0" - } - }, - "kind-of": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", - "dev": true - }, - "plugin-error": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", - "dev": true, - "requires": { - "ansi-cyan": "^0.1.1", - "ansi-red": "^0.1.1", - "arr-diff": "^1.0.1", - "arr-union": "^2.0.1", - "extend-shallow": "^1.1.2" - } - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", - "integrity": "sha1-OE51MU1J8y3hLuu4E2uOtrXVnak=", - "dev": true, - "requires": { - "readable-stream": "~2.0.0", - "xtend": "~4.0.0" - } - } - } - }, - "remove-bom-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", - "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5", - "is-utf8": "^0.2.1" - } - }, - "remove-bom-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", - "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", - "dev": true, - "requires": { - "remove-bom-buffer": "^3.0.0", - "safe-buffer": "^5.1.0", - "through2": "^2.0.3" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", - "dev": true - }, - "replace-homedir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", - "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1", - "is-absolute": "^1.0.0", - "remove-trailing-separator": "^1.1.0" - } - }, "request": { "version": "2.87.0", "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", @@ -7179,71 +3590,12 @@ "path-parse": "^1.0.5" } }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, - "resolve-options": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", - "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", - "dev": true, - "requires": { - "value-or-function": "^3.0.0" - } - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "optional": true, - "requires": { - "align-text": "^0.1.1" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "requires": { - "glob": "^7.0.5" - } - }, "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -7256,260 +3608,43 @@ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, - "semver-greatest-satisfied-range": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", - "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", - "dev": true, - "requires": { - "sver-compat": "^1.5.0" - } - }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", - "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "sparkles": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", - "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", - "dev": true - }, - "spdx-correct": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", - "dev": true, + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "shebang-regex": "^1.0.0" } }, - "spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", - "dev": true + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, - "spdx-license-ids": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "source-map-support": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", + "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "sprintf-js": { @@ -7535,45 +3670,6 @@ "tweetnacl": "~0.14.0" } }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "stream-exhaust": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", - "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", - "dev": true - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -7615,15 +3711,6 @@ "ansi-regex": "^2.0.0" } }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -7635,16 +3722,6 @@ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, - "sver-compat": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", - "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", - "dev": true, - "requires": { - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" - } - }, "tap-bark": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/tap-bark/-/tap-bark-1.0.0.tgz", @@ -7679,12 +3756,6 @@ "native-promise-only": "^0.8.1" } }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, "through2": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", @@ -7695,22 +3766,6 @@ "xtend": "~4.0.1" } }, - "through2-filter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", - "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", - "dev": true, - "requires": { - "through2": "~2.0.0", - "xtend": "~4.0.0" - } - }, - "time-stamp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", - "dev": true - }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -7720,67 +3775,6 @@ "os-tmpdir": "~1.0.2" } }, - "to-absolute-glob": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", - "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", - "dev": true, - "requires": { - "is-absolute": "^1.0.0", - "is-negated-glob": "^1.0.0" - } - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "to-through": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", - "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", - "dev": true, - "requires": { - "through2": "^2.0.3" - } - }, "tough-cookie": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", @@ -7894,231 +3888,17 @@ "dev": true, "optional": true }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, "typescript": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==" }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "optional": true, - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true, - "optional": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "optional": true, - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "optional": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true, - "optional": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "optional": true, - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true - }, - "undertaker": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.0.tgz", - "integrity": "sha1-M52kZGJS0ILcN45wgGcpl1DhG0k=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1", - "arr-map": "^2.0.0", - "bach": "^1.0.0", - "collection-map": "^1.0.0", - "es6-weak-map": "^2.0.1", - "last-run": "^1.1.0", - "object.defaults": "^1.0.0", - "object.reduce": "^1.0.0", - "undertaker-registry": "^1.0.0" - } - }, - "undertaker-registry": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", - "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", - "dev": true - }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, - "unique-stream": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", - "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", - "dev": true, - "requires": { - "json-stable-stringify": "^1.0.0", - "through2-filter": "^2.0.0" - } - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", - "dev": true - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, "urlgrey": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", "dev": true }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -8131,31 +3911,6 @@ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, - "v8flags": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.1.tgz", - "integrity": "sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ==", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "validate-npm-package-license": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "value-or-function": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", - "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", - "dev": true - }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -8167,77 +3922,6 @@ "extsprintf": "^1.2.0" } }, - "vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", - "dev": true, - "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - } - }, - "vinyl-fs": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", - "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", - "dev": true, - "requires": { - "fs-mkdirp-stream": "^1.0.0", - "glob-stream": "^6.1.0", - "graceful-fs": "^4.0.0", - "is-valid-glob": "^1.0.0", - "lazystream": "^1.0.0", - "lead": "^1.0.0", - "object.assign": "^4.0.4", - "pumpify": "^1.3.5", - "readable-stream": "^2.3.3", - "remove-bom-buffer": "^3.0.0", - "remove-bom-stream": "^1.2.0", - "resolve-options": "^1.1.0", - "through2": "^2.0.0", - "to-through": "^2.0.0", - "value-or-function": "^3.0.0", - "vinyl": "^2.0.0", - "vinyl-sourcemap": "^1.1.0" - } - }, - "vinyl-sourcemap": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", - "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", - "dev": true, - "requires": { - "append-buffer": "^1.0.2", - "convert-source-map": "^1.5.0", - "graceful-fs": "^4.1.6", - "normalize-path": "^2.1.1", - "now-and-later": "^2.0.0", - "remove-bom-buffer": "^3.0.0", - "vinyl": "^2.0.0" - } - }, - "vinyl-sourcemaps-apply": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", - "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", - "dev": true, - "requires": { - "source-map": "^0.5.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", @@ -8251,19 +3935,6 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true, - "optional": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", diff --git a/package.json b/package.json index 6a38ab1e4..9ab2e5deb 100644 --- a/package.json +++ b/package.json @@ -10,10 +10,12 @@ "transpiler" ], "scripts": { - "build": "tsc -p tsconfig.json", - "test": "gulp test", - "test-threaded": "tslint -p . && ts-node ./test/threaded_runner.ts", - "coverage-threaded": "nyc npm run test-threaded && nyc report --reporter=text-lcov > coverage.lcov", + "build": "tsc -p tsconfig.json && npm run build-lualib", + "build-lualib": "ts-node ./build_lualib.ts", + "test": "tslint -p . && npm run build && ts-node ./test/runner.ts", + "coverage": "nyc npm test && nyc report --reporter=text-lcov > coverage.lcov", + "coverage-html": "nyc npm test && nyc report --reporter=html", + "test-threaded": "tslint -p . && npm run build && ts-node ./test/threaded_runner.ts", "release-patch": "npm version patch", "release-minor": "npm version minor", "release-major": "npm version major", @@ -30,6 +32,9 @@ ], "include": [ "src/**/*" + ], + "exclude": [ + "src/lualib/*" ] }, "engines": { @@ -40,29 +45,17 @@ "yargs": "^11.1.0" }, "devDependencies": { - "@types/del": "^3.0.1", "@types/glob": "^5.0.35", - "@types/gulp": "^4.0.5", - "@types/gulp-concat": "0.0.32", - "@types/gulp-istanbul": "^0.9.32", - "@types/gulp-shell": "0.0.31", "@types/node": "^9.6.23", "@types/yargs": "^11.0.0", "alsatian": "^2.2.1", "circular-json": "^0.5.5", "codecov": "3.0.2", + "concat": "^1.0.3", "deep-equal": "^1.0.1", - "del": "^3.0.0", "fengari": "^0.1.2", "glob": "^7.1.2", - "gulp": "^4.0.0", - "gulp-concat": "^2.6.1", - "gulp-istanbul": "^1.1.3", - "gulp-shell": "^0.6.5", - "gulp-tslint": "^8.1.3", - "gulp-typescript": "^5.0.0-alpha.3", "nyc": "^11.9.0", - "remap-istanbul": "^0.11.1", "threads": "^0.12.0", "ts-node": "^7.0.0", "tslint": "^5.10.0", diff --git a/src/Compiler.ts b/src/Compiler.ts index f82b6ee84..275643361 100644 --- a/src/Compiler.ts +++ b/src/Compiler.ts @@ -1,5 +1,3 @@ -#!/usr/bin/env node - import * as fs from "fs"; import * as path from "path"; import * as ts from "typescript"; diff --git a/src/Index.ts b/src/Index.ts index 06f7425af..c4dd2be38 100644 --- a/src/Index.ts +++ b/src/Index.ts @@ -1,3 +1,5 @@ +#!/usr/bin/env node + import {compile} from "./Compiler"; compile(process.argv.slice(2)); diff --git a/test/compiler/project.spec.ts b/test/compiler/project.spec.ts index d24bc80ed..329fa4083 100644 --- a/test/compiler/project.spec.ts +++ b/test/compiler/project.spec.ts @@ -1,4 +1,4 @@ -import { Expect, Setup, Teardown, Test, TestCase, FocusTests } from "alsatian"; +import { Expect, Setup, Teardown, Test, TestCase } from "alsatian"; import * as fs from "fs"; import * as path from "path"; import { compile } from "../../src/Compiler"; @@ -17,7 +17,6 @@ function getAllFiles(dir: string): string[] { ); } -@FocusTests export class CompilerProjectTests { private existingFiles: string[]; diff --git a/test/runner.ts b/test/runner.ts new file mode 100644 index 000000000..dfb723b50 --- /dev/null +++ b/test/runner.ts @@ -0,0 +1,26 @@ +import { TestRunner, TestSet } from "alsatian"; +import { TapBark } from "tap-bark"; + +// create test set +const testSet = TestSet.create(); + +// add your tests +testSet.addTestsFromFiles("./test/**/*.spec.ts"); + +// create a test runner +const testRunner = new TestRunner(); + +// setup the output +testRunner.outputStream + // this will use alsatian's default output if you remove this + // you'll get TAP or you can add your favourite TAP reporter in it's place + .pipe(TapBark.create().getPipeable()) + // pipe to the console + .pipe(process.stdout); + +// run the test set +testRunner.run(testSet); + // this will be called after all tests have been run + // .then((results) => done()) + // this will be called if there was a problem + // .catch((error) => doSomethingWith(error)); \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 0646640b8..1d2eb76cc 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,5 +9,5 @@ "target": "es6", "module": "commonjs" }, - "exclude": ["test/**/*", "gulpfile.ts", "src/lualib"] + "exclude": ["test/**/*", "build_lualib.ts", "src/lualib"] } From 548d16f0152503b920c7e7e85558e31de1d88603 Mon Sep 17 00:00:00 2001 From: Lolleko Date: Sat, 21 Jul 2018 16:45:29 +0200 Subject: [PATCH 30/42] Removed coverage file --- coverage-remapped/coverage-final.json | 1 - 1 file changed, 1 deletion(-) delete mode 100644 coverage-remapped/coverage-final.json diff --git a/coverage-remapped/coverage-final.json b/coverage-remapped/coverage-final.json deleted file mode 100644 index 25432122e..000000000 --- a/coverage-remapped/coverage-final.json +++ /dev/null @@ -1 +0,0 @@ -{"src/Compiler.ts":{"path":"src/Compiler.ts","statementMap":{"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":25}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":29}},"3":{"start":{"line":5,"column":0},"end":{"line":5,"column":33}},"4":{"start":{"line":7,"column":0},"end":{"line":7,"column":72}},"5":{"start":{"line":8,"column":0},"end":{"line":8,"column":58}},"6":{"start":{"line":9,"column":0},"end":{"line":9,"column":58}},"7":{"start":{"line":10,"column":0},"end":{"line":10,"column":58}},"8":{"start":{"line":11,"column":0},"end":{"line":11,"column":60}},"9":{"start":{"line":12,"column":0},"end":{"line":12,"column":72}},"10":{"start":{"line":14,"column":0},"end":{"line":17,"column":1}},"11":{"start":{"line":15,"column":4},"end":{"line":15,"column":47}},"12":{"start":{"line":16,"column":4},"end":{"line":16,"column":72}},"13":{"start":{"line":19,"column":0},"end":{"line":108,"column":1}},"14":{"start":{"line":20,"column":4},"end":{"line":22,"column":5}},"15":{"start":{"line":21,"column":8},"end":{"line":21,"column":45}},"16":{"start":{"line":24,"column":4},"end":{"line":24,"column":57}},"17":{"start":{"line":26,"column":4},"end":{"line":26,"column":45}},"18":{"start":{"line":29,"column":4},"end":{"line":29,"column":93}},"19":{"start":{"line":29,"column":73},"end":{"line":29,"column":91}},"20":{"start":{"line":30,"column":4},"end":{"line":43,"column":7}},"21":{"start":{"line":31,"column":8},"end":{"line":42,"column":9}},"22":{"start":{"line":32,"column":12},"end":{"line":33,"column":81}},"23":{"start":{"line":34,"column":12},"end":{"line":34,"column":90}},"24":{"start":{"line":35,"column":12},"end":{"line":37,"column":14}},"25":{"start":{"line":39,"column":12},"end":{"line":41,"column":14}},"26":{"start":{"line":46,"column":4},"end":{"line":49,"column":5}},"27":{"start":{"line":46,"column":35},"end":{"line":46,"column":80}},"28":{"start":{"line":47,"column":8},"end":{"line":47,"column":71}},"29":{"start":{"line":48,"column":8},"end":{"line":48,"column":24}},"30":{"start":{"line":51,"column":4},"end":{"line":99,"column":7}},"31":{"start":{"line":52,"column":8},"end":{"line":98,"column":9}},"32":{"start":{"line":53,"column":12},"end":{"line":97,"column":13}},"33":{"start":{"line":54,"column":16},"end":{"line":54,"column":48}},"34":{"start":{"line":56,"column":16},"end":{"line":56,"column":69}},"35":{"start":{"line":59,"column":16},"end":{"line":59,"column":97}},"36":{"start":{"line":61,"column":16},"end":{"line":61,"column":50}},"37":{"start":{"line":62,"column":16},"end":{"line":66,"column":17}},"38":{"start":{"line":63,"column":20},"end":{"line":64,"column":87}},"39":{"start":{"line":65,"column":20},"end":{"line":65,"column":76}},"40":{"start":{"line":69,"column":16},"end":{"line":79,"column":17}},"41":{"start":{"line":70,"column":20},"end":{"line":75,"column":21}},"42":{"start":{"line":71,"column":24},"end":{"line":71,"column":50}},"43":{"start":{"line":74,"column":24},"end":{"line":74,"column":80}},"44":{"start":{"line":77,"column":20},"end":{"line":77,"column":95}},"45":{"start":{"line":78,"column":20},"end":{"line":78,"column":76}},"46":{"start":{"line":82,"column":16},"end":{"line":82,"column":47}},"47":{"start":{"line":85,"column":16},"end":{"line":96,"column":17}},"48":{"start":{"line":86,"column":20},"end":{"line":86,"column":97}},"49":{"start":{"line":88,"column":20},"end":{"line":88,"column":90}},"50":{"start":{"line":89,"column":20},"end":{"line":92,"column":22}},"51":{"start":{"line":93,"column":20},"end":{"line":93,"column":36}},"52":{"start":{"line":95,"column":20},"end":{"line":95,"column":36},"skip":true},"53":{"start":{"line":102,"column":4},"end":{"line":107,"column":5}},"54":{"start":{"line":103,"column":8},"end":{"line":106,"column":10}},"55":{"start":{"line":110,"column":0},"end":{"line":133,"column":1}},"56":{"start":{"line":113,"column":4},"end":{"line":113,"column":43}},"57":{"start":{"line":114,"column":4},"end":{"line":130,"column":5}},"58":{"start":{"line":116,"column":12},"end":{"line":116,"column":85}},"59":{"start":{"line":117,"column":12},"end":{"line":117,"column":18}},"60":{"start":{"line":119,"column":12},"end":{"line":119,"column":84}},"61":{"start":{"line":120,"column":12},"end":{"line":120,"column":18}},"62":{"start":{"line":122,"column":12},"end":{"line":122,"column":84}},"63":{"start":{"line":123,"column":12},"end":{"line":123,"column":18}},"64":{"start":{"line":125,"column":12},"end":{"line":125,"column":84}},"65":{"start":{"line":126,"column":12},"end":{"line":126,"column":18}},"66":{"start":{"line":129,"column":12},"end":{"line":129,"column":81}},"67":{"start":{"line":132,"column":4},"end":{"line":132,"column":31}}},"fnMap":{"1":{"name":"compile","line":14,"loc":{"start":{"line":14,"column":0},"end":{"line":14,"column":38}}},"2":{"name":"compileFilesWithOptions","line":19,"loc":{"start":{"line":19,"column":0},"end":{"line":19,"column":85}}},"3":{"name":"createTranspiler","line":110,"loc":{"start":{"line":110,"column":0},"end":{"line":112,"column":58}}}},"branchMap":{"1":{"line":20,"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":20,"column":3}},{"start":{"line":20,"column":4},"end":{"line":20,"column":3}}]},"2":{"line":31,"type":"if","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":7}},{"start":{"line":31,"column":8},"end":{"line":31,"column":7}}]},"3":{"line":46,"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":46,"column":3}},{"start":{"line":46,"column":4},"end":{"line":46,"column":3}}]},"4":{"line":52,"type":"if","locations":[{"start":{"line":52,"column":8},"end":{"line":52,"column":7}},{"start":{"line":52,"column":8},"end":{"line":52,"column":7}}]},"5":{"line":62,"type":"if","locations":[{"start":{"line":62,"column":16},"end":{"line":62,"column":15}},{"start":{"line":62,"column":16},"end":{"line":62,"column":15}}]},"6":{"line":69,"type":"if","locations":[{"start":{"line":69,"column":16},"end":{"line":69,"column":15}},{"start":{"line":69,"column":16},"end":{"line":69,"column":15}}]},"7":{"line":70,"type":"if","locations":[{"start":{"line":70,"column":20},"end":{"line":70,"column":19}},{"start":{"line":70,"column":20},"end":{"line":70,"column":19}}]},"8":{"line":85,"type":"if","locations":[{"start":{"line":85,"column":16},"end":{"line":85,"column":15}},{"start":{"line":85,"column":16},"end":{"line":85,"column":15},"skip":true}]},"9":{"line":102,"type":"if","locations":[{"start":{"line":102,"column":4},"end":{"line":102,"column":3}},{"start":{"line":102,"column":4},"end":{"line":102,"column":3}}]},"10":{"line":115,"type":"switch","locations":[{"start":{"line":115,"column":8},"end":{"line":117,"column":18}},{"start":{"line":118,"column":8},"end":{"line":120,"column":18}},{"start":{"line":121,"column":8},"end":{"line":123,"column":18}},{"start":{"line":124,"column":8},"end":{"line":126,"column":18}},{"start":{"line":127,"column":8},"end":{"line":129,"column":81}}]}},"s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":2,"11":7,"12":7,"13":2,"14":7,"15":0,"16":7,"17":7,"18":7,"19":0,"20":7,"21":0,"22":0,"23":0,"24":0,"25":0,"26":7,"27":0,"28":0,"29":0,"30":7,"31":147,"32":14,"33":14,"34":14,"35":14,"36":14,"37":14,"38":6,"39":6,"40":14,"41":0,"42":0,"43":0,"44":14,"45":14,"46":14,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":7,"54":7,"55":2,"56":14,"57":14,"58":14,"59":14,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":14},"b":{"1":[0,7],"2":[0,0],"3":[0,7],"4":[14,133],"5":[6,8],"6":[0,14],"7":[0,0],"8":[0,0],"9":[7,0],"10":[14,0,0,0,0]},"f":{"1":7,"2":7,"3":14},"l":{"3":1,"4":1,"5":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"14":2,"15":7,"16":7,"19":2,"20":7,"21":0,"24":7,"26":7,"29":7,"30":7,"31":0,"32":0,"34":0,"35":0,"39":0,"46":7,"47":0,"48":0,"51":7,"52":147,"53":14,"54":14,"56":14,"59":14,"61":14,"62":14,"63":6,"65":6,"69":14,"70":0,"71":0,"74":0,"77":14,"78":14,"82":14,"85":0,"86":0,"88":0,"89":0,"93":0,"95":1,"102":7,"103":7,"110":2,"113":14,"114":14,"116":14,"117":14,"119":0,"120":0,"122":0,"123":0,"125":0,"126":0,"129":0,"132":14}},"src/CommandLineParser.ts":{"path":"src/CommandLineParser.ts","statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":25}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":29}},"3":{"start":{"line":3,"column":0},"end":{"line":3,"column":33}},"4":{"start":{"line":4,"column":0},"end":{"line":4,"column":31}},"5":{"start":{"line":16,"column":0},"end":{"line":18,"column":1}},"6":{"start":{"line":20,"column":0},"end":{"line":39,"column":2}},"7":{"start":{"line":45,"column":0},"end":{"line":101,"column":1}},"8":{"start":{"line":46,"column":4},"end":{"line":58,"column":21}},"9":{"start":{"line":56,"column":12},"end":{"line":56,"column":36}},"10":{"start":{"line":60,"column":4},"end":{"line":60,"column":48}},"11":{"start":{"line":63,"column":4},"end":{"line":63,"column":32}},"12":{"start":{"line":66,"column":4},"end":{"line":66,"column":44}},"13":{"start":{"line":69,"column":4},"end":{"line":80,"column":5}},"14":{"start":{"line":70,"column":8},"end":{"line":70,"column":36}},"15":{"start":{"line":71,"column":8},"end":{"line":71,"column":55}},"16":{"start":{"line":72,"column":8},"end":{"line":72,"column":70}},"17":{"start":{"line":73,"column":8},"end":{"line":73,"column":84}},"18":{"start":{"line":74,"column":8},"end":{"line":79,"column":10}},"19":{"start":{"line":83,"column":4},"end":{"line":83,"column":32}},"20":{"start":{"line":86,"column":4},"end":{"line":86,"column":32}},"21":{"start":{"line":88,"column":4},"end":{"line":90,"column":5}},"22":{"start":{"line":89,"column":8},"end":{"line":89,"column":80}},"23":{"start":{"line":92,"column":4},"end":{"line":94,"column":5}},"24":{"start":{"line":93,"column":8},"end":{"line":93,"column":52}},"25":{"start":{"line":96,"column":4},"end":{"line":98,"column":5}},"26":{"start":{"line":97,"column":8},"end":{"line":97,"column":65}},"27":{"start":{"line":100,"column":4},"end":{"line":100,"column":44}},"28":{"start":{"line":103,"column":0},"end":{"line":116,"column":1}},"29":{"start":{"line":106,"column":4},"end":{"line":106,"column":71}},"30":{"start":{"line":108,"column":4},"end":{"line":115,"column":5}},"31":{"start":{"line":109,"column":8},"end":{"line":114,"column":9}},"32":{"start":{"line":111,"column":12},"end":{"line":113,"column":13}},"33":{"start":{"line":112,"column":16},"end":{"line":112,"column":63}},"34":{"start":{"line":119,"column":0},"end":{"line":151,"column":1}},"35":{"start":{"line":120,"column":4},"end":{"line":120,"column":50}},"36":{"start":{"line":121,"column":4},"end":{"line":150,"column":5}},"37":{"start":{"line":123,"column":8},"end":{"line":123,"column":41}},"38":{"start":{"line":124,"column":8},"end":{"line":134,"column":9}},"39":{"start":{"line":125,"column":12},"end":{"line":125,"column":34}},"40":{"start":{"line":126,"column":12},"end":{"line":126,"column":56}},"41":{"start":{"line":127,"column":12},"end":{"line":133,"column":13}},"42":{"start":{"line":128,"column":16},"end":{"line":132,"column":17}},"43":{"start":{"line":129,"column":20},"end":{"line":129,"column":44}},"44":{"start":{"line":131,"column":20},"end":{"line":131,"column":47}},"45":{"start":{"line":136,"column":8},"end":{"line":149,"column":11}},"46":{"start":{"line":137,"column":12},"end":{"line":137,"column":31}},"47":{"start":{"line":139,"column":12},"end":{"line":148,"column":13}},"48":{"start":{"line":140,"column":16},"end":{"line":144,"column":17}},"49":{"start":{"line":141,"column":20},"end":{"line":143,"column":21}},"50":{"start":{"line":142,"column":24},"end":{"line":142,"column":38}},"51":{"start":{"line":145,"column":16},"end":{"line":147,"column":17}},"52":{"start":{"line":146,"column":20},"end":{"line":146,"column":82}},"53":{"start":{"line":154,"column":0},"end":{"line":182,"column":1}},"54":{"start":{"line":155,"column":4},"end":{"line":157,"column":5}},"55":{"start":{"line":156,"column":8},"end":{"line":156,"column":82}},"56":{"start":{"line":158,"column":4},"end":{"line":158,"column":19}},"57":{"start":{"line":160,"column":4},"end":{"line":165,"column":5}},"58":{"start":{"line":161,"column":8},"end":{"line":161,"column":49}},"59":{"start":{"line":164,"column":8},"end":{"line":164,"column":75},"skip":true},"60":{"start":{"line":166,"column":4},"end":{"line":180,"column":5}},"61":{"start":{"line":167,"column":8},"end":{"line":167,"column":60}},"62":{"start":{"line":168,"column":11},"end":{"line":180,"column":5}},"63":{"start":{"line":170,"column":8},"end":{"line":170,"column":61}},"64":{"start":{"line":171,"column":8},"end":{"line":179,"column":9}},"65":{"start":{"line":172,"column":12},"end":{"line":172,"column":86}},"66":{"start":{"line":175,"column":12},"end":{"line":178,"column":13}},"67":{"start":{"line":176,"column":16},"end":{"line":176,"column":40}},"68":{"start":{"line":177,"column":16},"end":{"line":177,"column":22}},"69":{"start":{"line":181,"column":4},"end":{"line":181,"column":45}}},"fnMap":{"1":{"name":"parseCommandLine","line":45,"loc":{"start":{"line":45,"column":0},"end":{"line":45,"column":47}}},"2":{"name":"addTSTLOptions","line":103,"loc":{"start":{"line":103,"column":0},"end":{"line":105,"column":47}}},"3":{"name":"runDiagnostics","line":119,"loc":{"start":{"line":119,"column":0},"end":{"line":119,"column":57}}},"4":{"name":"findConfigFile","line":154,"loc":{"start":{"line":154,"column":0},"end":{"line":154,"column":64}}}},"branchMap":{"1":{"line":69,"type":"if","locations":[{"start":{"line":69,"column":4},"end":{"line":69,"column":3}},{"start":{"line":69,"column":4},"end":{"line":69,"column":3}}]},"2":{"line":88,"type":"if","locations":[{"start":{"line":88,"column":4},"end":{"line":88,"column":3}},{"start":{"line":88,"column":4},"end":{"line":88,"column":3}}]},"3":{"line":88,"type":"binary-expr","locations":[{"start":{"line":88,"column":8},"end":{"line":88,"column":35}},{"start":{"line":88,"column":39},"end":{"line":88,"column":67}}]},"4":{"line":92,"type":"if","locations":[{"start":{"line":92,"column":4},"end":{"line":92,"column":3}},{"start":{"line":92,"column":4},"end":{"line":92,"column":3}}]},"5":{"line":96,"type":"if","locations":[{"start":{"line":96,"column":4},"end":{"line":96,"column":3}},{"start":{"line":96,"column":4},"end":{"line":96,"column":3}}]},"6":{"line":106,"type":"cond-expr","locations":[{"start":{"line":106,"column":38},"end":{"line":106,"column":52}},{"start":{"line":106,"column":55},"end":{"line":106,"column":70}}]},"7":{"line":108,"type":"if","locations":[{"start":{"line":108,"column":4},"end":{"line":108,"column":3}},{"start":{"line":108,"column":4},"end":{"line":108,"column":3}}]},"8":{"line":111,"type":"if","locations":[{"start":{"line":111,"column":12},"end":{"line":111,"column":11}},{"start":{"line":111,"column":12},"end":{"line":111,"column":11}}]},"9":{"line":111,"type":"binary-expr","locations":[{"start":{"line":111,"column":16},"end":{"line":111,"column":39}},{"start":{"line":111,"column":44},"end":{"line":111,"column":69}},{"start":{"line":111,"column":73},"end":{"line":111,"column":86}}]},"10":{"line":121,"type":"if","locations":[{"start":{"line":121,"column":4},"end":{"line":121,"column":3}},{"start":{"line":121,"column":4},"end":{"line":121,"column":3}}]},"11":{"line":127,"type":"if","locations":[{"start":{"line":127,"column":12},"end":{"line":127,"column":11}},{"start":{"line":127,"column":12},"end":{"line":127,"column":11}}]},"12":{"line":128,"type":"if","locations":[{"start":{"line":128,"column":16},"end":{"line":128,"column":15}},{"start":{"line":128,"column":16},"end":{"line":128,"column":15}}]},"13":{"line":139,"type":"if","locations":[{"start":{"line":139,"column":12},"end":{"line":139,"column":11}},{"start":{"line":139,"column":12},"end":{"line":139,"column":11}}]},"14":{"line":141,"type":"if","locations":[{"start":{"line":141,"column":20},"end":{"line":141,"column":19}},{"start":{"line":141,"column":20},"end":{"line":141,"column":19}}]},"15":{"line":145,"type":"if","locations":[{"start":{"line":145,"column":16},"end":{"line":145,"column":15}},{"start":{"line":145,"column":16},"end":{"line":145,"column":15}}]},"16":{"line":155,"type":"if","locations":[{"start":{"line":155,"column":4},"end":{"line":155,"column":3}},{"start":{"line":155,"column":4},"end":{"line":155,"column":3}}]},"17":{"line":160,"type":"if","locations":[{"start":{"line":160,"column":4},"end":{"line":160,"column":3}},{"start":{"line":160,"column":4},"end":{"line":160,"column":3},"skip":true}]},"18":{"line":166,"type":"if","locations":[{"start":{"line":166,"column":4},"end":{"line":166,"column":3}},{"start":{"line":166,"column":4},"end":{"line":166,"column":3}}]},"19":{"line":168,"type":"if","locations":[{"start":{"line":168,"column":11},"end":{"line":168,"column":10}},{"start":{"line":168,"column":11},"end":{"line":168,"column":10}}]},"20":{"line":168,"type":"binary-expr","locations":[{"start":{"line":168,"column":15},"end":{"line":168,"column":47}},{"start":{"line":168,"column":51},"end":{"line":168,"column":85}}]},"21":{"line":175,"type":"if","locations":[{"start":{"line":175,"column":12},"end":{"line":175,"column":11}},{"start":{"line":175,"column":12},"end":{"line":175,"column":11}}]}},"s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":2,"8":7,"9":0,"10":7,"11":7,"12":7,"13":7,"14":7,"15":7,"16":7,"17":7,"18":7,"19":7,"20":7,"21":7,"22":4,"23":7,"24":0,"25":7,"26":4,"27":7,"28":1,"29":14,"30":14,"31":14,"32":95,"33":21,"34":1,"35":14,"36":14,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":2,"54":7,"55":0,"56":7,"57":7,"58":7,"59":0,"60":7,"61":1,"62":6,"63":1,"64":1,"65":2,"66":2,"67":1,"68":1,"69":7},"b":{"1":[7,0],"2":[4,3],"3":[7,7],"4":[0,7],"5":[4,3],"6":[7,7],"7":[14,0],"8":[21,74],"9":[95,25,4],"10":[0,14],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,7],"17":[7,0],"18":[1,6],"19":[1,5],"20":[6,6],"21":[1,1]},"f":{"1":7,"2":14,"3":14,"4":7},"l":{"1":1,"2":1,"3":1,"4":1,"16":1,"20":1,"45":2,"46":7,"56":0,"60":7,"63":7,"66":7,"69":7,"70":7,"71":7,"72":7,"73":7,"74":7,"83":7,"86":7,"88":7,"89":4,"92":7,"93":0,"96":7,"97":4,"100":7,"103":1,"106":14,"108":14,"109":14,"111":95,"112":21,"119":1,"120":14,"121":14,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"131":0,"136":0,"137":0,"139":0,"140":0,"141":0,"142":0,"145":0,"146":0,"154":2,"155":7,"156":0,"158":7,"160":7,"161":7,"164":1,"166":7,"167":1,"168":6,"170":1,"171":1,"172":2,"175":2,"176":1,"177":1,"181":7}},"src/targets/Transpiler.51.ts":{"path":"src/targets/Transpiler.51.ts","statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":62}},"2":{"start":{"line":6,"column":0},"end":{"line":8,"column":1}}},"fnMap":{},"branchMap":{},"s":{"1":1,"2":1},"b":{},"f":{},"l":{"1":1,"6":1}},"src/Transpiler.ts":{"path":"src/Transpiler.ts","statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":50}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":29}},"4":{"start":{"line":9,"column":0},"end":{"line":9,"column":47}},"5":{"start":{"line":15,"column":8},"end":{"line":15,"column":23}},"6":{"start":{"line":16,"column":8},"end":{"line":16,"column":25}},"7":{"start":{"line":12,"column":0},"end":{"line":18,"column":1}},"8":{"start":{"line":20,"column":0},"end":{"line":25,"column":1}},"9":{"start":{"line":21,"column":4},"end":{"line":21,"column":17}},"10":{"start":{"line":22,"column":4},"end":{"line":22,"column":17}},"11":{"start":{"line":23,"column":4},"end":{"line":23,"column":17}},"12":{"start":{"line":24,"column":4},"end":{"line":24,"column":18}},"13":{"start":{"line":27,"column":0},"end":{"line":43,"column":1}},"14":{"start":{"line":28,"column":4},"end":{"line":28,"column":29}},"15":{"start":{"line":29,"column":4},"end":{"line":29,"column":31}},"16":{"start":{"line":30,"column":4},"end":{"line":30,"column":33}},"17":{"start":{"line":31,"column":4},"end":{"line":31,"column":33}},"18":{"start":{"line":32,"column":4},"end":{"line":32,"column":25}},"19":{"start":{"line":33,"column":4},"end":{"line":33,"column":27}},"20":{"start":{"line":34,"column":4},"end":{"line":34,"column":29}},"21":{"start":{"line":35,"column":4},"end":{"line":35,"column":27}},"22":{"start":{"line":36,"column":4},"end":{"line":36,"column":31}},"23":{"start":{"line":37,"column":4},"end":{"line":37,"column":29}},"24":{"start":{"line":38,"column":4},"end":{"line":38,"column":15}},"25":{"start":{"line":39,"column":4},"end":{"line":39,"column":15}},"26":{"start":{"line":40,"column":4},"end":{"line":40,"column":35}},"27":{"start":{"line":41,"column":4},"end":{"line":41,"column":31}},"28":{"start":{"line":42,"column":4},"end":{"line":42,"column":23}},"29":{"start":{"line":71,"column":8},"end":{"line":71,"column":25}},"30":{"start":{"line":72,"column":8},"end":{"line":72,"column":31}},"31":{"start":{"line":73,"column":8},"end":{"line":73,"column":31}},"32":{"start":{"line":74,"column":8},"end":{"line":74,"column":31}},"33":{"start":{"line":75,"column":8},"end":{"line":75,"column":35}},"34":{"start":{"line":76,"column":8},"end":{"line":76,"column":28}},"35":{"start":{"line":77,"column":8},"end":{"line":77,"column":29}},"36":{"start":{"line":78,"column":8},"end":{"line":78,"column":37}},"37":{"start":{"line":79,"column":8},"end":{"line":79,"column":58}},"38":{"start":{"line":80,"column":8},"end":{"line":80,"column":28}},"39":{"start":{"line":81,"column":8},"end":{"line":81,"column":29}},"40":{"start":{"line":82,"column":8},"end":{"line":82,"column":30}},"41":{"start":{"line":83,"column":8},"end":{"line":83,"column":57}},"42":{"start":{"line":87,"column":8},"end":{"line":87,"column":43}},"43":{"start":{"line":91,"column":8},"end":{"line":91,"column":43}},"44":{"start":{"line":95,"column":8},"end":{"line":95,"column":63}},"45":{"start":{"line":99,"column":8},"end":{"line":100,"column":26}},"46":{"start":{"line":104,"column":8},"end":{"line":104,"column":105}},"47":{"start":{"line":108,"column":8},"end":{"line":108,"column":32}},"48":{"start":{"line":109,"column":8},"end":{"line":118,"column":9}},"49":{"start":{"line":113,"column":12},"end":{"line":117,"column":13}},"50":{"start":{"line":114,"column":16},"end":{"line":114,"column":85}},"51":{"start":{"line":116,"column":16},"end":{"line":116,"column":90}},"52":{"start":{"line":119,"column":8},"end":{"line":125,"column":9}},"53":{"start":{"line":120,"column":12},"end":{"line":124,"column":13}},"54":{"start":{"line":121,"column":16},"end":{"line":121,"column":78}},"55":{"start":{"line":123,"column":16},"end":{"line":123,"column":83}},"56":{"start":{"line":126,"column":8},"end":{"line":126,"column":22}},"57":{"start":{"line":130,"column":8},"end":{"line":130,"column":24}},"58":{"start":{"line":131,"column":8},"end":{"line":132,"column":77}},"59":{"start":{"line":132,"column":19},"end":{"line":132,"column":75}},"60":{"start":{"line":133,"column":8},"end":{"line":133,"column":22}},"61":{"start":{"line":138,"column":8},"end":{"line":138,"column":43}},"62":{"start":{"line":142,"column":8},"end":{"line":144,"column":9}},"63":{"start":{"line":143,"column":12},"end":{"line":143,"column":68}},"64":{"start":{"line":145,"column":8},"end":{"line":145,"column":82}},"65":{"start":{"line":150,"column":8},"end":{"line":150,"column":78}},"66":{"start":{"line":151,"column":8},"end":{"line":157,"column":9}},"67":{"start":{"line":154,"column":12},"end":{"line":155,"column":107}},"68":{"start":{"line":156,"column":12},"end":{"line":156,"column":45}},"69":{"start":{"line":159,"column":8},"end":{"line":159,"column":62}},"70":{"start":{"line":163,"column":8},"end":{"line":163,"column":65}},"71":{"start":{"line":168,"column":8},"end":{"line":168,"column":24}},"72":{"start":{"line":169,"column":8},"end":{"line":172,"column":9}},"73":{"start":{"line":170,"column":12},"end":{"line":171,"column":62}},"74":{"start":{"line":173,"column":8},"end":{"line":173,"column":28}},"75":{"start":{"line":174,"column":8},"end":{"line":177,"column":9}},"76":{"start":{"line":176,"column":12},"end":{"line":176,"column":55}},"77":{"start":{"line":178,"column":8},"end":{"line":181,"column":9}},"78":{"start":{"line":180,"column":12},"end":{"line":180,"column":56}},"79":{"start":{"line":184,"column":8},"end":{"line":184,"column":34}},"80":{"start":{"line":185,"column":8},"end":{"line":185,"column":81}},"81":{"start":{"line":185,"column":48},"end":{"line":185,"column":79}},"82":{"start":{"line":186,"column":8},"end":{"line":186,"column":37}},"83":{"start":{"line":188,"column":8},"end":{"line":190,"column":9}},"84":{"start":{"line":189,"column":12},"end":{"line":189,"column":41}},"85":{"start":{"line":191,"column":8},"end":{"line":191,"column":22}},"86":{"start":{"line":196,"column":8},"end":{"line":196,"column":34}},"87":{"start":{"line":197,"column":8},"end":{"line":197,"column":95}},"88":{"start":{"line":197,"column":55},"end":{"line":197,"column":84}},"89":{"start":{"line":198,"column":8},"end":{"line":198,"column":37}},"90":{"start":{"line":200,"column":8},"end":{"line":200,"column":22}},"91":{"start":{"line":206,"column":8},"end":{"line":208,"column":9}},"92":{"start":{"line":206,"column":62},"end":{"line":206,"column":108}},"93":{"start":{"line":207,"column":12},"end":{"line":207,"column":22}},"94":{"start":{"line":210,"column":8},"end":{"line":260,"column":9}},"95":{"start":{"line":212,"column":16},"end":{"line":212,"column":74}},"96":{"start":{"line":214,"column":16},"end":{"line":214,"column":72}},"97":{"start":{"line":216,"column":16},"end":{"line":216,"column":77}},"98":{"start":{"line":218,"column":16},"end":{"line":218,"column":61}},"99":{"start":{"line":220,"column":16},"end":{"line":220,"column":70}},"100":{"start":{"line":222,"column":16},"end":{"line":222,"column":89}},"101":{"start":{"line":224,"column":16},"end":{"line":225,"column":92}},"102":{"start":{"line":227,"column":16},"end":{"line":228,"column":100}},"103":{"start":{"line":230,"column":16},"end":{"line":230,"column":93}},"104":{"start":{"line":232,"column":16},"end":{"line":232,"column":64}},"105":{"start":{"line":234,"column":16},"end":{"line":234,"column":70}},"106":{"start":{"line":236,"column":16},"end":{"line":236,"column":73}},"107":{"start":{"line":238,"column":16},"end":{"line":238,"column":66}},"108":{"start":{"line":240,"column":16},"end":{"line":240,"column":70}},"109":{"start":{"line":242,"column":16},"end":{"line":242,"column":70}},"110":{"start":{"line":244,"column":16},"end":{"line":244,"column":72}},"111":{"start":{"line":246,"column":16},"end":{"line":246,"column":45}},"112":{"start":{"line":248,"column":16},"end":{"line":248,"column":66}},"113":{"start":{"line":250,"column":16},"end":{"line":250,"column":70}},"114":{"start":{"line":252,"column":16},"end":{"line":252,"column":76}},"115":{"start":{"line":257,"column":16},"end":{"line":257,"column":26}},"116":{"start":{"line":259,"column":16},"end":{"line":259,"column":75}},"117":{"start":{"line":264,"column":8},"end":{"line":264,"column":39}},"118":{"start":{"line":265,"column":8},"end":{"line":265,"column":53}},"119":{"start":{"line":269,"column":8},"end":{"line":269,"column":74}},"120":{"start":{"line":270,"column":8},"end":{"line":270,"column":86}},"121":{"start":{"line":272,"column":8},"end":{"line":277,"column":9}},"122":{"start":{"line":273,"column":12},"end":{"line":276,"column":14}},"123":{"start":{"line":279,"column":8},"end":{"line":279,"column":56}},"124":{"start":{"line":281,"column":8},"end":{"line":303,"column":9}},"125":{"start":{"line":282,"column":12},"end":{"line":282,"column":94}},"126":{"start":{"line":283,"column":12},"end":{"line":283,"column":83}},"127":{"start":{"line":284,"column":12},"end":{"line":284,"column":87}},"128":{"start":{"line":285,"column":12},"end":{"line":285,"column":31}},"129":{"start":{"line":286,"column":12},"end":{"line":296,"column":15}},"130":{"start":{"line":287,"column":16},"end":{"line":287,"column":72}},"131":{"start":{"line":288,"column":16},"end":{"line":295,"column":17}},"132":{"start":{"line":289,"column":20},"end":{"line":289,"column":88}},"133":{"start":{"line":290,"column":20},"end":{"line":291,"column":83}},"134":{"start":{"line":293,"column":20},"end":{"line":294,"column":79}},"135":{"start":{"line":297,"column":12},"end":{"line":297,"column":26}},"136":{"start":{"line":298,"column":15},"end":{"line":303,"column":9}},"137":{"start":{"line":299,"column":12},"end":{"line":299,"column":83}},"138":{"start":{"line":300,"column":12},"end":{"line":300,"column":104}},"139":{"start":{"line":302,"column":12},"end":{"line":302,"column":71}},"140":{"start":{"line":308,"column":8},"end":{"line":310,"column":9}},"141":{"start":{"line":309,"column":12},"end":{"line":309,"column":49}},"142":{"start":{"line":312,"column":8},"end":{"line":312,"column":60}},"143":{"start":{"line":313,"column":8},"end":{"line":316,"column":60}},"144":{"start":{"line":318,"column":8},"end":{"line":320,"column":9}},"145":{"start":{"line":319,"column":12},"end":{"line":319,"column":77}},"146":{"start":{"line":321,"column":8},"end":{"line":321,"column":39}},"147":{"start":{"line":323,"column":8},"end":{"line":323,"column":39}},"148":{"start":{"line":324,"column":8},"end":{"line":324,"column":26}},"149":{"start":{"line":325,"column":8},"end":{"line":325,"column":44}},"150":{"start":{"line":326,"column":8},"end":{"line":328,"column":9}},"151":{"start":{"line":327,"column":12},"end":{"line":327,"column":52}},"152":{"start":{"line":329,"column":8},"end":{"line":329,"column":29}},"153":{"start":{"line":330,"column":8},"end":{"line":330,"column":25}},"154":{"start":{"line":331,"column":8},"end":{"line":331,"column":40}},"155":{"start":{"line":332,"column":8},"end":{"line":332,"column":22}},"156":{"start":{"line":336,"column":8},"end":{"line":336,"column":37}},"157":{"start":{"line":337,"column":8},"end":{"line":337,"column":24}},"158":{"start":{"line":339,"column":8},"end":{"line":339,"column":58}},"159":{"start":{"line":340,"column":8},"end":{"line":340,"column":82}},"160":{"start":{"line":342,"column":8},"end":{"line":346,"column":9}},"161":{"start":{"line":343,"column":12},"end":{"line":343,"column":61}},"162":{"start":{"line":344,"column":12},"end":{"line":344,"column":77}},"163":{"start":{"line":345,"column":12},"end":{"line":345,"column":40}},"164":{"start":{"line":348,"column":8},"end":{"line":348,"column":42}},"165":{"start":{"line":349,"column":8},"end":{"line":376,"column":11}},"166":{"start":{"line":350,"column":12},"end":{"line":361,"column":13}},"167":{"start":{"line":351,"column":16},"end":{"line":358,"column":17}},"168":{"start":{"line":352,"column":20},"end":{"line":352,"column":60}},"169":{"start":{"line":353,"column":23},"end":{"line":358,"column":17}},"170":{"start":{"line":354,"column":20},"end":{"line":354,"column":49}},"171":{"start":{"line":355,"column":20},"end":{"line":355,"column":57}},"172":{"start":{"line":357,"column":20},"end":{"line":357,"column":109}},"173":{"start":{"line":359,"column":19},"end":{"line":361,"column":13}},"174":{"start":{"line":360,"column":16},"end":{"line":360,"column":78}},"175":{"start":{"line":363,"column":12},"end":{"line":371,"column":13}},"176":{"start":{"line":364,"column":16},"end":{"line":364,"column":108}},"177":{"start":{"line":365,"column":16},"end":{"line":365,"column":62}},"178":{"start":{"line":367,"column":16},"end":{"line":369,"column":18}},"179":{"start":{"line":370,"column":16},"end":{"line":370,"column":62}},"180":{"start":{"line":373,"column":12},"end":{"line":375,"column":13}},"181":{"start":{"line":374,"column":14},"end":{"line":374,"column":20}},"182":{"start":{"line":377,"column":8},"end":{"line":377,"column":22}},"183":{"start":{"line":381,"column":8},"end":{"line":385,"column":9}},"184":{"start":{"line":382,"column":12},"end":{"line":382,"column":22}},"185":{"start":{"line":384,"column":12},"end":{"line":384,"column":43}},"186":{"start":{"line":389,"column":8},"end":{"line":393,"column":10}},"187":{"start":{"line":397,"column":8},"end":{"line":397,"column":68}},"188":{"start":{"line":399,"column":8},"end":{"line":399,"column":60}},"189":{"start":{"line":400,"column":8},"end":{"line":400,"column":26}},"190":{"start":{"line":401,"column":8},"end":{"line":401,"column":62}},"191":{"start":{"line":402,"column":8},"end":{"line":402,"column":25}},"192":{"start":{"line":404,"column":8},"end":{"line":409,"column":9}},"193":{"start":{"line":405,"column":12},"end":{"line":405,"column":45}},"194":{"start":{"line":406,"column":12},"end":{"line":406,"column":30}},"195":{"start":{"line":407,"column":12},"end":{"line":407,"column":66}},"196":{"start":{"line":408,"column":12},"end":{"line":408,"column":29}},"197":{"start":{"line":411,"column":8},"end":{"line":411,"column":46}},"198":{"start":{"line":421,"column":8},"end":{"line":421,"column":48}},"199":{"start":{"line":422,"column":8},"end":{"line":422,"column":29}},"200":{"start":{"line":423,"column":8},"end":{"line":423,"column":42}},"201":{"start":{"line":424,"column":8},"end":{"line":424,"column":26}},"202":{"start":{"line":425,"column":8},"end":{"line":425,"column":58}},"203":{"start":{"line":426,"column":8},"end":{"line":426,"column":25}},"204":{"start":{"line":427,"column":8},"end":{"line":427,"column":40}},"205":{"start":{"line":428,"column":8},"end":{"line":428,"column":22}},"206":{"start":{"line":432,"column":8},"end":{"line":432,"column":68}},"207":{"start":{"line":434,"column":8},"end":{"line":434,"column":61}},"208":{"start":{"line":435,"column":8},"end":{"line":435,"column":26}},"209":{"start":{"line":436,"column":8},"end":{"line":436,"column":47}},"210":{"start":{"line":437,"column":8},"end":{"line":437,"column":25}},"211":{"start":{"line":438,"column":8},"end":{"line":438,"column":46}},"212":{"start":{"line":442,"column":8},"end":{"line":442,"column":46}},"213":{"start":{"line":444,"column":8},"end":{"line":444,"column":26}},"214":{"start":{"line":445,"column":8},"end":{"line":445,"column":47}},"215":{"start":{"line":446,"column":8},"end":{"line":446,"column":25}},"216":{"start":{"line":449,"column":8},"end":{"line":449,"column":97}},"217":{"start":{"line":451,"column":8},"end":{"line":451,"column":22}},"218":{"start":{"line":456,"column":8},"end":{"line":456,"column":24}},"219":{"start":{"line":457,"column":8},"end":{"line":459,"column":9}},"220":{"start":{"line":458,"column":12},"end":{"line":458,"column":91}},"221":{"start":{"line":460,"column":8},"end":{"line":460,"column":90}},"222":{"start":{"line":463,"column":8},"end":{"line":463,"column":26}},"223":{"start":{"line":464,"column":8},"end":{"line":464,"column":47}},"224":{"start":{"line":465,"column":8},"end":{"line":465,"column":82}},"225":{"start":{"line":466,"column":8},"end":{"line":466,"column":25}},"226":{"start":{"line":468,"column":8},"end":{"line":468,"column":40}},"227":{"start":{"line":470,"column":8},"end":{"line":470,"column":22}},"228":{"start":{"line":475,"column":8},"end":{"line":475,"column":90}},"229":{"start":{"line":478,"column":8},"end":{"line":478,"column":69}},"230":{"start":{"line":481,"column":8},"end":{"line":481,"column":108}},"231":{"start":{"line":482,"column":8},"end":{"line":482,"column":51}},"232":{"start":{"line":485,"column":8},"end":{"line":485,"column":24}},"233":{"start":{"line":486,"column":8},"end":{"line":493,"column":9}},"234":{"start":{"line":487,"column":12},"end":{"line":487,"column":119}},"235":{"start":{"line":488,"column":15},"end":{"line":493,"column":9}},"236":{"start":{"line":489,"column":12},"end":{"line":489,"column":66}},"237":{"start":{"line":490,"column":12},"end":{"line":490,"column":88}},"238":{"start":{"line":491,"column":12},"end":{"line":491,"column":118}},"239":{"start":{"line":492,"column":12},"end":{"line":492,"column":83}},"240":{"start":{"line":496,"column":8},"end":{"line":496,"column":26}},"241":{"start":{"line":497,"column":8},"end":{"line":497,"column":47}},"242":{"start":{"line":498,"column":8},"end":{"line":498,"column":25}},"243":{"start":{"line":500,"column":8},"end":{"line":500,"column":46}},"244":{"start":{"line":505,"column":8},"end":{"line":505,"column":116}},"245":{"start":{"line":506,"column":8},"end":{"line":506,"column":58}},"246":{"start":{"line":509,"column":8},"end":{"line":509,"column":69}},"247":{"start":{"line":511,"column":8},"end":{"line":513,"column":9}},"248":{"start":{"line":512,"column":12},"end":{"line":512,"column":98}},"249":{"start":{"line":516,"column":8},"end":{"line":516,"column":113}},"250":{"start":{"line":519,"column":8},"end":{"line":519,"column":26}},"251":{"start":{"line":520,"column":8},"end":{"line":520,"column":47}},"252":{"start":{"line":521,"column":8},"end":{"line":521,"column":25}},"253":{"start":{"line":523,"column":8},"end":{"line":523,"column":46}},"254":{"start":{"line":527,"column":8},"end":{"line":531,"column":9}},"255":{"start":{"line":528,"column":12},"end":{"line":528,"column":45}},"256":{"start":{"line":530,"column":12},"end":{"line":530,"column":44}},"257":{"start":{"line":535,"column":8},"end":{"line":535,"column":75}},"258":{"start":{"line":536,"column":8},"end":{"line":536,"column":47}},"259":{"start":{"line":538,"column":8},"end":{"line":538,"column":76}},"260":{"start":{"line":540,"column":8},"end":{"line":540,"column":64}},"261":{"start":{"line":541,"column":8},"end":{"line":541,"column":29}},"262":{"start":{"line":543,"column":8},"end":{"line":543,"column":64}},"263":{"start":{"line":546,"column":8},"end":{"line":590,"column":11}},"264":{"start":{"line":547,"column":12},"end":{"line":551,"column":13}},"265":{"start":{"line":548,"column":16},"end":{"line":548,"column":53}},"266":{"start":{"line":549,"column":16},"end":{"line":550,"column":114}},"267":{"start":{"line":552,"column":12},"end":{"line":555,"column":13}},"268":{"start":{"line":553,"column":16},"end":{"line":553,"column":56}},"269":{"start":{"line":554,"column":16},"end":{"line":554,"column":110}},"270":{"start":{"line":556,"column":12},"end":{"line":556,"column":30}},"271":{"start":{"line":558,"column":12},"end":{"line":558,"column":37}},"272":{"start":{"line":559,"column":12},"end":{"line":561,"column":15}},"273":{"start":{"line":560,"column":16},"end":{"line":560,"column":56}},"274":{"start":{"line":562,"column":12},"end":{"line":562,"column":37}},"275":{"start":{"line":564,"column":12},"end":{"line":564,"column":30}},"276":{"start":{"line":565,"column":12},"end":{"line":585,"column":13}},"277":{"start":{"line":566,"column":16},"end":{"line":566,"column":44}},"278":{"start":{"line":567,"column":16},"end":{"line":573,"column":17}},"279":{"start":{"line":571,"column":20},"end":{"line":571,"column":24}},"280":{"start":{"line":572,"column":20},"end":{"line":572,"column":44}},"281":{"start":{"line":575,"column":16},"end":{"line":582,"column":17}},"282":{"start":{"line":576,"column":20},"end":{"line":581,"column":21}},"283":{"start":{"line":577,"column":24},"end":{"line":578,"column":115}},"284":{"start":{"line":580,"column":24},"end":{"line":580,"column":107}},"285":{"start":{"line":584,"column":16},"end":{"line":584,"column":54}},"286":{"start":{"line":587,"column":12},"end":{"line":587,"column":29}},"287":{"start":{"line":589,"column":12},"end":{"line":589,"column":44}},"288":{"start":{"line":591,"column":8},"end":{"line":592,"column":96}},"289":{"start":{"line":593,"column":8},"end":{"line":595,"column":86}},"290":{"start":{"line":596,"column":8},"end":{"line":597,"column":59}},"291":{"start":{"line":600,"column":8},"end":{"line":600,"column":45}},"292":{"start":{"line":601,"column":8},"end":{"line":601,"column":22}},"293":{"start":{"line":605,"column":8},"end":{"line":605,"column":37}},"294":{"start":{"line":606,"column":8},"end":{"line":606,"column":26}},"295":{"start":{"line":607,"column":8},"end":{"line":607,"column":54}},"296":{"start":{"line":608,"column":8},"end":{"line":608,"column":25}},"297":{"start":{"line":609,"column":8},"end":{"line":609,"column":25}},"298":{"start":{"line":610,"column":8},"end":{"line":610,"column":43}},"299":{"start":{"line":611,"column":8},"end":{"line":618,"column":9}},"300":{"start":{"line":612,"column":12},"end":{"line":612,"column":118}},"301":{"start":{"line":613,"column":12},"end":{"line":613,"column":68}},"302":{"start":{"line":614,"column":12},"end":{"line":614,"column":30}},"303":{"start":{"line":615,"column":12},"end":{"line":615,"column":69}},"304":{"start":{"line":616,"column":12},"end":{"line":616,"column":29}},"305":{"start":{"line":617,"column":12},"end":{"line":617,"column":31}},"306":{"start":{"line":619,"column":8},"end":{"line":619,"column":73}},"307":{"start":{"line":620,"column":8},"end":{"line":622,"column":9}},"308":{"start":{"line":621,"column":12},"end":{"line":621,"column":61}},"309":{"start":{"line":623,"column":8},"end":{"line":623,"column":22}},"310":{"start":{"line":627,"column":8},"end":{"line":634,"column":9}},"311":{"start":{"line":628,"column":12},"end":{"line":628,"column":54}},"312":{"start":{"line":630,"column":12},"end":{"line":633,"column":14}},"313":{"start":{"line":638,"column":8},"end":{"line":660,"column":9}},"314":{"start":{"line":641,"column":12},"end":{"line":641,"column":92}},"315":{"start":{"line":642,"column":12},"end":{"line":645,"column":13}},"316":{"start":{"line":644,"column":16},"end":{"line":644,"column":114}},"317":{"start":{"line":644,"column":72},"end":{"line":644,"column":102}},"318":{"start":{"line":649,"column":12},"end":{"line":654,"column":13}},"319":{"start":{"line":652,"column":16},"end":{"line":653,"column":99}},"320":{"start":{"line":656,"column":12},"end":{"line":656,"column":73}},"321":{"start":{"line":659,"column":12},"end":{"line":659,"column":28}},"322":{"start":{"line":664,"column":8},"end":{"line":737,"column":9}},"323":{"start":{"line":667,"column":16},"end":{"line":667,"column":93}},"324":{"start":{"line":670,"column":16},"end":{"line":670,"column":103}},"325":{"start":{"line":672,"column":16},"end":{"line":672,"column":79}},"326":{"start":{"line":674,"column":16},"end":{"line":674,"column":99}},"327":{"start":{"line":676,"column":16},"end":{"line":676,"column":97}},"328":{"start":{"line":679,"column":16},"end":{"line":681,"column":17}},"329":{"start":{"line":680,"column":20},"end":{"line":680,"column":33}},"330":{"start":{"line":683,"column":16},"end":{"line":683,"column":71}},"331":{"start":{"line":686,"column":16},"end":{"line":686,"column":61}},"332":{"start":{"line":687,"column":16},"end":{"line":687,"column":35}},"333":{"start":{"line":689,"column":16},"end":{"line":689,"column":87}},"334":{"start":{"line":691,"column":16},"end":{"line":691,"column":56}},"335":{"start":{"line":693,"column":16},"end":{"line":693,"column":30}},"336":{"start":{"line":695,"column":16},"end":{"line":695,"column":31}},"337":{"start":{"line":698,"column":16},"end":{"line":698,"column":29}},"338":{"start":{"line":700,"column":16},"end":{"line":700,"column":30}},"339":{"start":{"line":702,"column":16},"end":{"line":702,"column":95}},"340":{"start":{"line":704,"column":16},"end":{"line":704,"column":93}},"341":{"start":{"line":706,"column":16},"end":{"line":706,"column":85}},"342":{"start":{"line":708,"column":16},"end":{"line":708,"column":87}},"343":{"start":{"line":710,"column":16},"end":{"line":710,"column":99}},"344":{"start":{"line":713,"column":16},"end":{"line":713,"column":82}},"345":{"start":{"line":715,"column":16},"end":{"line":715,"column":77}},"346":{"start":{"line":717,"column":16},"end":{"line":717,"column":106}},"347":{"start":{"line":719,"column":16},"end":{"line":719,"column":109}},"348":{"start":{"line":721,"column":16},"end":{"line":721,"column":37}},"349":{"start":{"line":724,"column":16},"end":{"line":724,"column":87}},"350":{"start":{"line":727,"column":16},"end":{"line":727,"column":86}},"351":{"start":{"line":729,"column":16},"end":{"line":729,"column":83}},"352":{"start":{"line":731,"column":20},"end":{"line":731,"column":30}},"353":{"start":{"line":733,"column":16},"end":{"line":736,"column":18}},"354":{"start":{"line":742,"column":8},"end":{"line":742,"column":62}},"355":{"start":{"line":743,"column":8},"end":{"line":743,"column":63}},"356":{"start":{"line":746,"column":8},"end":{"line":746,"column":99}},"357":{"start":{"line":747,"column":8},"end":{"line":754,"column":9}},"358":{"start":{"line":748,"column":12},"end":{"line":748,"column":85}},"359":{"start":{"line":749,"column":12},"end":{"line":749,"column":74}},"360":{"start":{"line":750,"column":12},"end":{"line":752,"column":13}},"361":{"start":{"line":751,"column":16},"end":{"line":751,"column":98}},"362":{"start":{"line":753,"column":12},"end":{"line":753,"column":39}},"363":{"start":{"line":756,"column":8},"end":{"line":756,"column":24}},"364":{"start":{"line":759,"column":8},"end":{"line":767,"column":9}},"365":{"start":{"line":766,"column":16},"end":{"line":766,"column":68}},"366":{"start":{"line":770,"column":8},"end":{"line":842,"column":9}},"367":{"start":{"line":771,"column":12},"end":{"line":841,"column":13}},"368":{"start":{"line":773,"column":20},"end":{"line":773,"column":49}},"369":{"start":{"line":774,"column":20},"end":{"line":774,"column":26}},"370":{"start":{"line":776,"column":20},"end":{"line":776,"column":48}},"371":{"start":{"line":777,"column":20},"end":{"line":777,"column":26}},"372":{"start":{"line":780,"column":20},"end":{"line":780,"column":79}},"373":{"start":{"line":781,"column":20},"end":{"line":781,"column":81}},"374":{"start":{"line":782,"column":20},"end":{"line":785,"column":21}},"375":{"start":{"line":784,"column":24},"end":{"line":784,"column":50}},"376":{"start":{"line":786,"column":20},"end":{"line":786,"column":45}},"377":{"start":{"line":787,"column":20},"end":{"line":787,"column":26}},"378":{"start":{"line":789,"column":20},"end":{"line":789,"column":45}},"379":{"start":{"line":790,"column":20},"end":{"line":790,"column":26}},"380":{"start":{"line":792,"column":20},"end":{"line":792,"column":45}},"381":{"start":{"line":793,"column":20},"end":{"line":793,"column":26}},"382":{"start":{"line":795,"column":20},"end":{"line":795,"column":45}},"383":{"start":{"line":796,"column":20},"end":{"line":796,"column":26}},"384":{"start":{"line":798,"column":20},"end":{"line":798,"column":45}},"385":{"start":{"line":799,"column":20},"end":{"line":799,"column":26}},"386":{"start":{"line":801,"column":20},"end":{"line":801,"column":45}},"387":{"start":{"line":802,"column":20},"end":{"line":802,"column":26}},"388":{"start":{"line":804,"column":20},"end":{"line":804,"column":45}},"389":{"start":{"line":805,"column":20},"end":{"line":805,"column":26}},"390":{"start":{"line":807,"column":20},"end":{"line":807,"column":46}},"391":{"start":{"line":808,"column":20},"end":{"line":808,"column":26}},"392":{"start":{"line":810,"column":20},"end":{"line":810,"column":45}},"393":{"start":{"line":811,"column":20},"end":{"line":811,"column":26}},"394":{"start":{"line":813,"column":20},"end":{"line":813,"column":46}},"395":{"start":{"line":814,"column":20},"end":{"line":814,"column":26}},"396":{"start":{"line":816,"column":20},"end":{"line":818,"column":21}},"397":{"start":{"line":817,"column":24},"end":{"line":817,"column":104}},"398":{"start":{"line":820,"column":20},"end":{"line":820,"column":47}},"399":{"start":{"line":821,"column":20},"end":{"line":821,"column":26}},"400":{"start":{"line":824,"column":20},"end":{"line":824,"column":46}},"401":{"start":{"line":825,"column":20},"end":{"line":825,"column":26}},"402":{"start":{"line":828,"column":20},"end":{"line":828,"column":46}},"403":{"start":{"line":829,"column":20},"end":{"line":829,"column":26}},"404":{"start":{"line":831,"column":20},"end":{"line":831,"column":51}},"405":{"start":{"line":832,"column":20},"end":{"line":832,"column":26}},"406":{"start":{"line":834,"column":20},"end":{"line":834,"column":94}},"407":{"start":{"line":835,"column":20},"end":{"line":835,"column":26}},"408":{"start":{"line":837,"column":20},"end":{"line":840,"column":22}},"409":{"start":{"line":845,"column":8},"end":{"line":849,"column":9}},"410":{"start":{"line":846,"column":12},"end":{"line":846,"column":33}},"411":{"start":{"line":848,"column":12},"end":{"line":848,"column":26}},"412":{"start":{"line":853,"column":8},"end":{"line":853,"column":105}},"413":{"start":{"line":857,"column":8},"end":{"line":857,"column":105}},"414":{"start":{"line":861,"column":8},"end":{"line":861,"column":46}},"415":{"start":{"line":862,"column":8},"end":{"line":869,"column":11}},"416":{"start":{"line":863,"column":12},"end":{"line":863,"column":73}},"417":{"start":{"line":864,"column":12},"end":{"line":868,"column":13}},"418":{"start":{"line":865,"column":16},"end":{"line":865,"column":72}},"419":{"start":{"line":867,"column":16},"end":{"line":867,"column":72}},"420":{"start":{"line":870,"column":8},"end":{"line":870,"column":32}},"421":{"start":{"line":874,"column":8},"end":{"line":874,"column":67}},"422":{"start":{"line":875,"column":8},"end":{"line":875,"column":61}},"423":{"start":{"line":876,"column":8},"end":{"line":876,"column":62}},"424":{"start":{"line":878,"column":8},"end":{"line":879,"column":110}},"425":{"start":{"line":883,"column":8},"end":{"line":883,"column":69}},"426":{"start":{"line":884,"column":8},"end":{"line":893,"column":9}},"427":{"start":{"line":886,"column":16},"end":{"line":886,"column":49}},"428":{"start":{"line":888,"column":16},"end":{"line":888,"column":49}},"429":{"start":{"line":890,"column":16},"end":{"line":890,"column":81}},"430":{"start":{"line":891,"column":16},"end":{"line":892,"column":47}},"431":{"start":{"line":897,"column":8},"end":{"line":897,"column":69}},"432":{"start":{"line":898,"column":8},"end":{"line":913,"column":9}},"433":{"start":{"line":900,"column":16},"end":{"line":900,"column":70}},"434":{"start":{"line":902,"column":16},"end":{"line":902,"column":49}},"435":{"start":{"line":904,"column":16},"end":{"line":904,"column":49}},"436":{"start":{"line":906,"column":16},"end":{"line":906,"column":42}},"437":{"start":{"line":908,"column":16},"end":{"line":908,"column":37}},"438":{"start":{"line":910,"column":16},"end":{"line":910,"column":81}},"439":{"start":{"line":911,"column":16},"end":{"line":912,"column":47}},"440":{"start":{"line":917,"column":8},"end":{"line":917,"column":63}},"441":{"start":{"line":918,"column":8},"end":{"line":918,"column":106}},"442":{"start":{"line":920,"column":8},"end":{"line":920,"column":40}},"443":{"start":{"line":925,"column":8},"end":{"line":925,"column":19}},"444":{"start":{"line":926,"column":8},"end":{"line":926,"column":21}},"445":{"start":{"line":928,"column":8},"end":{"line":928,"column":77}},"446":{"start":{"line":929,"column":8},"end":{"line":929,"column":83}},"447":{"start":{"line":931,"column":8},"end":{"line":934,"column":9}},"448":{"start":{"line":932,"column":12},"end":{"line":932,"column":60}},"449":{"start":{"line":933,"column":12},"end":{"line":933,"column":92}},"450":{"start":{"line":937,"column":8},"end":{"line":941,"column":9}},"451":{"start":{"line":938,"column":12},"end":{"line":938,"column":120}},"452":{"start":{"line":939,"column":12},"end":{"line":939,"column":74}},"453":{"start":{"line":940,"column":12},"end":{"line":940,"column":64}},"454":{"start":{"line":943,"column":8},"end":{"line":943,"column":61}},"455":{"start":{"line":944,"column":8},"end":{"line":944,"column":57}},"456":{"start":{"line":945,"column":8},"end":{"line":945,"column":119}},"457":{"start":{"line":949,"column":8},"end":{"line":949,"column":19}},"458":{"start":{"line":950,"column":8},"end":{"line":950,"column":21}},"459":{"start":{"line":953,"column":8},"end":{"line":955,"column":9}},"460":{"start":{"line":954,"column":12},"end":{"line":954,"column":103}},"461":{"start":{"line":958,"column":8},"end":{"line":958,"column":85}},"462":{"start":{"line":960,"column":8},"end":{"line":963,"column":9}},"463":{"start":{"line":961,"column":12},"end":{"line":961,"column":61}},"464":{"start":{"line":962,"column":12},"end":{"line":962,"column":86}},"465":{"start":{"line":965,"column":8},"end":{"line":968,"column":9}},"466":{"start":{"line":966,"column":12},"end":{"line":966,"column":61}},"467":{"start":{"line":967,"column":12},"end":{"line":967,"column":88}},"468":{"start":{"line":970,"column":8},"end":{"line":975,"column":9}},"469":{"start":{"line":973,"column":16},"end":{"line":973,"column":64}},"470":{"start":{"line":977,"column":8},"end":{"line":979,"column":9}},"471":{"start":{"line":978,"column":12},"end":{"line":978,"column":59}},"472":{"start":{"line":982,"column":8},"end":{"line":982,"column":77}},"473":{"start":{"line":984,"column":8},"end":{"line":997,"column":9}},"474":{"start":{"line":987,"column":12},"end":{"line":987,"column":65}},"475":{"start":{"line":988,"column":12},"end":{"line":988,"column":61}},"476":{"start":{"line":989,"column":12},"end":{"line":989,"column":44}},"477":{"start":{"line":992,"column":12},"end":{"line":992,"column":72}},"478":{"start":{"line":993,"column":12},"end":{"line":994,"column":82}},"479":{"start":{"line":995,"column":12},"end":{"line":995,"column":61}},"480":{"start":{"line":996,"column":12},"end":{"line":996,"column":44}},"481":{"start":{"line":1001,"column":8},"end":{"line":1001,"column":74}},"482":{"start":{"line":1002,"column":8},"end":{"line":1002,"column":63}},"483":{"start":{"line":1003,"column":8},"end":{"line":1003,"column":71}},"484":{"start":{"line":1004,"column":8},"end":{"line":1004,"column":73}},"485":{"start":{"line":1005,"column":8},"end":{"line":1040,"column":9}},"486":{"start":{"line":1007,"column":16},"end":{"line":1007,"column":97}},"487":{"start":{"line":1009,"column":16},"end":{"line":1013,"column":17}},"488":{"start":{"line":1010,"column":20},"end":{"line":1010,"column":78}},"489":{"start":{"line":1012,"column":20},"end":{"line":1012,"column":78}},"490":{"start":{"line":1015,"column":16},"end":{"line":1021,"column":17}},"491":{"start":{"line":1016,"column":20},"end":{"line":1016,"column":63}},"492":{"start":{"line":1018,"column":20},"end":{"line":1018,"column":77}},"493":{"start":{"line":1019,"column":20},"end":{"line":1019,"column":77}},"494":{"start":{"line":1020,"column":20},"end":{"line":1020,"column":77}},"495":{"start":{"line":1023,"column":16},"end":{"line":1029,"column":17}},"496":{"start":{"line":1024,"column":20},"end":{"line":1024,"column":63}},"497":{"start":{"line":1026,"column":20},"end":{"line":1026,"column":77}},"498":{"start":{"line":1027,"column":20},"end":{"line":1027,"column":77}},"499":{"start":{"line":1028,"column":20},"end":{"line":1028,"column":69}},"500":{"start":{"line":1031,"column":16},"end":{"line":1031,"column":49}},"501":{"start":{"line":1033,"column":16},"end":{"line":1033,"column":49}},"502":{"start":{"line":1035,"column":16},"end":{"line":1035,"column":95}},"503":{"start":{"line":1037,"column":16},"end":{"line":1037,"column":71}},"504":{"start":{"line":1039,"column":16},"end":{"line":1039,"column":97}},"505":{"start":{"line":1044,"column":8},"end":{"line":1046,"column":10}},"506":{"start":{"line":1051,"column":8},"end":{"line":1051,"column":60}},"507":{"start":{"line":1052,"column":8},"end":{"line":1052,"column":70}},"508":{"start":{"line":1054,"column":8},"end":{"line":1060,"column":9}},"509":{"start":{"line":1055,"column":12},"end":{"line":1055,"column":54}},"510":{"start":{"line":1057,"column":12},"end":{"line":1059,"column":49}},"511":{"start":{"line":1064,"column":8},"end":{"line":1064,"column":74}},"512":{"start":{"line":1065,"column":8},"end":{"line":1065,"column":63}},"513":{"start":{"line":1066,"column":8},"end":{"line":1066,"column":71}},"514":{"start":{"line":1067,"column":8},"end":{"line":1067,"column":73}},"515":{"start":{"line":1068,"column":8},"end":{"line":1096,"column":9}},"516":{"start":{"line":1070,"column":16},"end":{"line":1070,"column":93}},"517":{"start":{"line":1072,"column":16},"end":{"line":1072,"column":96}},"518":{"start":{"line":1074,"column":16},"end":{"line":1074,"column":96}},"519":{"start":{"line":1076,"column":16},"end":{"line":1076,"column":92}},"520":{"start":{"line":1078,"column":16},"end":{"line":1078,"column":95}},"521":{"start":{"line":1080,"column":16},"end":{"line":1080,"column":93}},"522":{"start":{"line":1082,"column":16},"end":{"line":1082,"column":94}},"523":{"start":{"line":1084,"column":16},"end":{"line":1084,"column":94}},"524":{"start":{"line":1086,"column":16},"end":{"line":1086,"column":95}},"525":{"start":{"line":1088,"column":16},"end":{"line":1093,"column":17}},"526":{"start":{"line":1090,"column":20},"end":{"line":1090,"column":58}},"527":{"start":{"line":1092,"column":20},"end":{"line":1092,"column":64}},"528":{"start":{"line":1095,"column":16},"end":{"line":1095,"column":96}},"529":{"start":{"line":1100,"column":8},"end":{"line":1100,"column":40}},"530":{"start":{"line":1103,"column":8},"end":{"line":1105,"column":9}},"531":{"start":{"line":1104,"column":12},"end":{"line":1104,"column":63}},"532":{"start":{"line":1107,"column":8},"end":{"line":1109,"column":11}},"533":{"start":{"line":1108,"column":12},"end":{"line":1108,"column":61}},"534":{"start":{"line":1111,"column":8},"end":{"line":1111,"column":36}},"535":{"start":{"line":1115,"column":8},"end":{"line":1115,"column":40}},"536":{"start":{"line":1118,"column":8},"end":{"line":1118,"column":69}},"537":{"start":{"line":1119,"column":8},"end":{"line":1129,"column":9}},"538":{"start":{"line":1122,"column":16},"end":{"line":1122,"column":58}},"539":{"start":{"line":1124,"column":16},"end":{"line":1128,"column":17}},"540":{"start":{"line":1125,"column":20},"end":{"line":1125,"column":61}},"541":{"start":{"line":1126,"column":23},"end":{"line":1128,"column":17}},"542":{"start":{"line":1127,"column":20},"end":{"line":1127,"column":59}},"543":{"start":{"line":1132,"column":8},"end":{"line":1134,"column":9}},"544":{"start":{"line":1133,"column":12},"end":{"line":1133,"column":28}},"545":{"start":{"line":1137,"column":8},"end":{"line":1139,"column":9}},"546":{"start":{"line":1138,"column":12},"end":{"line":1138,"column":59}},"547":{"start":{"line":1141,"column":8},"end":{"line":1141,"column":67}},"548":{"start":{"line":1142,"column":8},"end":{"line":1142,"column":41}},"549":{"start":{"line":1146,"column":8},"end":{"line":1146,"column":57}},"550":{"start":{"line":1147,"column":8},"end":{"line":1147,"column":69}},"551":{"start":{"line":1148,"column":8},"end":{"line":1148,"column":46}},"552":{"start":{"line":1152,"column":8},"end":{"line":1152,"column":57}},"553":{"start":{"line":1153,"column":8},"end":{"line":1153,"column":69}},"554":{"start":{"line":1154,"column":8},"end":{"line":1154,"column":54}},"555":{"start":{"line":1159,"column":8},"end":{"line":1178,"column":10}},"556":{"start":{"line":1180,"column":8},"end":{"line":1180,"column":70}},"557":{"start":{"line":1182,"column":8},"end":{"line":1186,"column":9}},"558":{"start":{"line":1183,"column":12},"end":{"line":1183,"column":59}},"559":{"start":{"line":1185,"column":12},"end":{"line":1185,"column":100}},"560":{"start":{"line":1191,"column":8},"end":{"line":1191,"column":65}},"561":{"start":{"line":1192,"column":8},"end":{"line":1197,"column":9}},"562":{"start":{"line":1194,"column":16},"end":{"line":1194,"column":71}},"563":{"start":{"line":1196,"column":16},"end":{"line":1196,"column":95}},"564":{"start":{"line":1202,"column":8},"end":{"line":1202,"column":65}},"565":{"start":{"line":1203,"column":8},"end":{"line":1208,"column":9}},"566":{"start":{"line":1205,"column":16},"end":{"line":1205,"column":71}},"567":{"start":{"line":1207,"column":16},"end":{"line":1207,"column":94}},"568":{"start":{"line":1212,"column":8},"end":{"line":1212,"column":66}},"569":{"start":{"line":1213,"column":8},"end":{"line":1213,"column":72}},"570":{"start":{"line":1215,"column":8},"end":{"line":1215,"column":69}},"571":{"start":{"line":1216,"column":8},"end":{"line":1222,"column":9}},"572":{"start":{"line":1217,"column":12},"end":{"line":1217,"column":44}},"573":{"start":{"line":1218,"column":15},"end":{"line":1222,"column":9}},"574":{"start":{"line":1219,"column":12},"end":{"line":1219,"column":66}},"575":{"start":{"line":1221,"column":12},"end":{"line":1221,"column":42}},"576":{"start":{"line":1226,"column":8},"end":{"line":1226,"column":61}},"577":{"start":{"line":1227,"column":8},"end":{"line":1227,"column":53}},"578":{"start":{"line":1228,"column":8},"end":{"line":1233,"column":9}},"579":{"start":{"line":1232,"column":12},"end":{"line":1232,"column":41}},"580":{"start":{"line":1234,"column":8},"end":{"line":1234,"column":27}},"581":{"start":{"line":1238,"column":8},"end":{"line":1245,"column":9}},"582":{"start":{"line":1239,"column":12},"end":{"line":1239,"column":23}},"583":{"start":{"line":1240,"column":15},"end":{"line":1245,"column":9}},"584":{"start":{"line":1241,"column":12},"end":{"line":1241,"column":50}},"585":{"start":{"line":1243,"column":12},"end":{"line":1243,"column":69}},"586":{"start":{"line":1244,"column":12},"end":{"line":1244,"column":108}},"587":{"start":{"line":1249,"column":8},"end":{"line":1249,"column":69}},"588":{"start":{"line":1250,"column":8},"end":{"line":1250,"column":86}},"589":{"start":{"line":1255,"column":8},"end":{"line":1255,"column":24}},"590":{"start":{"line":1257,"column":8},"end":{"line":1262,"column":11}},"591":{"start":{"line":1258,"column":12},"end":{"line":1258,"column":95}},"592":{"start":{"line":1259,"column":12},"end":{"line":1261,"column":13}},"593":{"start":{"line":1260,"column":16},"end":{"line":1260,"column":101}},"594":{"start":{"line":1264,"column":8},"end":{"line":1264,"column":22}},"595":{"start":{"line":1268,"column":8},"end":{"line":1301,"column":9}},"596":{"start":{"line":1270,"column":12},"end":{"line":1270,"column":71}},"597":{"start":{"line":1271,"column":12},"end":{"line":1276,"column":13}},"598":{"start":{"line":1272,"column":16},"end":{"line":1272,"column":73}},"599":{"start":{"line":1273,"column":16},"end":{"line":1273,"column":62}},"600":{"start":{"line":1275,"column":16},"end":{"line":1275,"column":57}},"601":{"start":{"line":1277,"column":15},"end":{"line":1301,"column":9}},"602":{"start":{"line":1279,"column":12},"end":{"line":1279,"column":69}},"603":{"start":{"line":1282,"column":12},"end":{"line":1284,"column":13}},"604":{"start":{"line":1282,"column":48},"end":{"line":1282,"column":111}},"605":{"start":{"line":1283,"column":16},"end":{"line":1283,"column":87}},"606":{"start":{"line":1286,"column":12},"end":{"line":1288,"column":116}},"607":{"start":{"line":1288,"column":25},"end":{"line":1288,"column":103}},"608":{"start":{"line":1291,"column":12},"end":{"line":1295,"column":13}},"609":{"start":{"line":1292,"column":16},"end":{"line":1292,"column":50}},"610":{"start":{"line":1294,"column":16},"end":{"line":1294,"column":64}},"611":{"start":{"line":1297,"column":12},"end":{"line":1300,"column":14}},"612":{"start":{"line":1306,"column":8},"end":{"line":1306,"column":38}},"613":{"start":{"line":1306,"column":26},"end":{"line":1306,"column":36}},"614":{"start":{"line":1308,"column":8},"end":{"line":1308,"column":24}},"615":{"start":{"line":1309,"column":8},"end":{"line":1309,"column":37}},"616":{"start":{"line":1310,"column":8},"end":{"line":1310,"column":64}},"617":{"start":{"line":1311,"column":8},"end":{"line":1311,"column":43}},"618":{"start":{"line":1312,"column":8},"end":{"line":1312,"column":31}},"619":{"start":{"line":1315,"column":8},"end":{"line":1315,"column":40}},"620":{"start":{"line":1317,"column":8},"end":{"line":1317,"column":34}},"621":{"start":{"line":1320,"column":8},"end":{"line":1331,"column":9}},"622":{"start":{"line":1321,"column":12},"end":{"line":1321,"column":84}},"623":{"start":{"line":1324,"column":12},"end":{"line":1330,"column":13}},"624":{"start":{"line":1325,"column":16},"end":{"line":1325,"column":43}},"625":{"start":{"line":1327,"column":16},"end":{"line":1327,"column":45}},"626":{"start":{"line":1329,"column":16},"end":{"line":1329,"column":39}},"627":{"start":{"line":1334,"column":8},"end":{"line":1334,"column":110}},"628":{"start":{"line":1336,"column":8},"end":{"line":1336,"column":26}},"629":{"start":{"line":1339,"column":8},"end":{"line":1341,"column":9}},"630":{"start":{"line":1340,"column":12},"end":{"line":1340,"column":76}},"631":{"start":{"line":1343,"column":8},"end":{"line":1343,"column":44}},"632":{"start":{"line":1344,"column":8},"end":{"line":1344,"column":25}},"633":{"start":{"line":1347,"column":8},"end":{"line":1347,"column":40}},"634":{"start":{"line":1349,"column":8},"end":{"line":1349,"column":42}},"635":{"start":{"line":1351,"column":8},"end":{"line":1351,"column":22}},"636":{"start":{"line":1356,"column":8},"end":{"line":1356,"column":38}},"637":{"start":{"line":1356,"column":26},"end":{"line":1356,"column":36}},"638":{"start":{"line":1358,"column":8},"end":{"line":1358,"column":24}},"639":{"start":{"line":1359,"column":8},"end":{"line":1359,"column":54}},"640":{"start":{"line":1360,"column":8},"end":{"line":1360,"column":64}},"641":{"start":{"line":1361,"column":8},"end":{"line":1361,"column":43}},"642":{"start":{"line":1362,"column":8},"end":{"line":1362,"column":31}},"643":{"start":{"line":1365,"column":8},"end":{"line":1365,"column":46}},"644":{"start":{"line":1367,"column":8},"end":{"line":1367,"column":34}},"645":{"start":{"line":1370,"column":8},"end":{"line":1381,"column":9}},"646":{"start":{"line":1371,"column":12},"end":{"line":1371,"column":84}},"647":{"start":{"line":1374,"column":12},"end":{"line":1380,"column":13}},"648":{"start":{"line":1375,"column":16},"end":{"line":1375,"column":43}},"649":{"start":{"line":1377,"column":16},"end":{"line":1377,"column":45}},"650":{"start":{"line":1379,"column":16},"end":{"line":1379,"column":39}},"651":{"start":{"line":1383,"column":8},"end":{"line":1383,"column":112}},"652":{"start":{"line":1383,"column":73},"end":{"line":1383,"column":110}},"653":{"start":{"line":1386,"column":8},"end":{"line":1386,"column":95}},"654":{"start":{"line":1388,"column":8},"end":{"line":1388,"column":26}},"655":{"start":{"line":1391,"column":8},"end":{"line":1393,"column":9}},"656":{"start":{"line":1392,"column":12},"end":{"line":1392,"column":76}},"657":{"start":{"line":1395,"column":8},"end":{"line":1395,"column":75}},"658":{"start":{"line":1396,"column":8},"end":{"line":1396,"column":44}},"659":{"start":{"line":1397,"column":8},"end":{"line":1397,"column":25}},"660":{"start":{"line":1400,"column":8},"end":{"line":1400,"column":40}},"661":{"start":{"line":1402,"column":8},"end":{"line":1402,"column":22}},"662":{"start":{"line":1407,"column":8},"end":{"line":1409,"column":9}},"663":{"start":{"line":1408,"column":12},"end":{"line":1408,"column":77}},"664":{"start":{"line":1411,"column":8},"end":{"line":1411,"column":60}},"665":{"start":{"line":1414,"column":8},"end":{"line":1414,"column":106}},"666":{"start":{"line":1417,"column":8},"end":{"line":1417,"column":73}},"667":{"start":{"line":1420,"column":8},"end":{"line":1421,"column":50}},"668":{"start":{"line":1421,"column":30},"end":{"line":1421,"column":48}},"669":{"start":{"line":1424,"column":8},"end":{"line":1424,"column":116}},"670":{"start":{"line":1424,"column":33},"end":{"line":1424,"column":115}},"671":{"start":{"line":1424,"column":76},"end":{"line":1424,"column":114}},"672":{"start":{"line":1425,"column":8},"end":{"line":1425,"column":57}},"673":{"start":{"line":1426,"column":8},"end":{"line":1426,"column":74}},"674":{"start":{"line":1426,"column":57},"end":{"line":1426,"column":72}},"675":{"start":{"line":1428,"column":8},"end":{"line":1428,"column":24}},"676":{"start":{"line":1430,"column":8},"end":{"line":1435,"column":9}},"677":{"start":{"line":1431,"column":12},"end":{"line":1431,"column":92}},"678":{"start":{"line":1434,"column":12},"end":{"line":1434,"column":51}},"679":{"start":{"line":1438,"column":8},"end":{"line":1440,"column":9}},"680":{"start":{"line":1439,"column":12},"end":{"line":1439,"column":65}},"681":{"start":{"line":1443,"column":8},"end":{"line":1447,"column":9}},"682":{"start":{"line":1444,"column":12},"end":{"line":1444,"column":84}},"683":{"start":{"line":1445,"column":12},"end":{"line":1445,"column":70}},"684":{"start":{"line":1446,"column":12},"end":{"line":1446,"column":77}},"685":{"start":{"line":1450,"column":8},"end":{"line":1450,"column":80}},"686":{"start":{"line":1451,"column":8},"end":{"line":1458,"column":9}},"687":{"start":{"line":1453,"column":12},"end":{"line":1453,"column":72}},"688":{"start":{"line":1454,"column":15},"end":{"line":1458,"column":9}},"689":{"start":{"line":1456,"column":12},"end":{"line":1457,"column":59}},"690":{"start":{"line":1461,"column":8},"end":{"line":1463,"column":11}},"691":{"start":{"line":1462,"column":12},"end":{"line":1462,"column":83}},"692":{"start":{"line":1466,"column":8},"end":{"line":1468,"column":11}},"693":{"start":{"line":1467,"column":12},"end":{"line":1467,"column":83}},"694":{"start":{"line":1471,"column":8},"end":{"line":1473,"column":11}},"695":{"start":{"line":1472,"column":12},"end":{"line":1472,"column":79}},"696":{"start":{"line":1475,"column":8},"end":{"line":1475,"column":22}},"697":{"start":{"line":1480,"column":8},"end":{"line":1480,"column":62}},"698":{"start":{"line":1482,"column":8},"end":{"line":1482,"column":110}},"699":{"start":{"line":1484,"column":8},"end":{"line":1484,"column":24}},"700":{"start":{"line":1487,"column":8},"end":{"line":1487,"column":60}},"701":{"start":{"line":1488,"column":8},"end":{"line":1495,"column":9}},"702":{"start":{"line":1489,"column":12},"end":{"line":1489,"column":94}},"703":{"start":{"line":1490,"column":12},"end":{"line":1490,"column":45}},"704":{"start":{"line":1492,"column":12},"end":{"line":1492,"column":60}},"705":{"start":{"line":1493,"column":12},"end":{"line":1493,"column":109}},"706":{"start":{"line":1494,"column":12},"end":{"line":1494,"column":45}},"707":{"start":{"line":1496,"column":8},"end":{"line":1496,"column":72}},"708":{"start":{"line":1497,"column":8},"end":{"line":1500,"column":9}},"709":{"start":{"line":1498,"column":12},"end":{"line":1498,"column":60}},"710":{"start":{"line":1499,"column":12},"end":{"line":1499,"column":74}},"711":{"start":{"line":1501,"column":8},"end":{"line":1501,"column":78}},"712":{"start":{"line":1502,"column":8},"end":{"line":1502,"column":88}},"713":{"start":{"line":1504,"column":8},"end":{"line":1512,"column":9}},"714":{"start":{"line":1506,"column":12},"end":{"line":1506,"column":60}},"715":{"start":{"line":1507,"column":12},"end":{"line":1507,"column":72}},"716":{"start":{"line":1509,"column":12},"end":{"line":1509,"column":66}},"717":{"start":{"line":1511,"column":12},"end":{"line":1511,"column":77}},"718":{"start":{"line":1514,"column":8},"end":{"line":1515,"column":72}},"719":{"start":{"line":1517,"column":8},"end":{"line":1517,"column":56}},"720":{"start":{"line":1518,"column":8},"end":{"line":1518,"column":40}},"721":{"start":{"line":1520,"column":8},"end":{"line":1520,"column":22}},"722":{"start":{"line":1524,"column":8},"end":{"line":1524,"column":81}},"723":{"start":{"line":1526,"column":8},"end":{"line":1526,"column":80}},"724":{"start":{"line":1528,"column":8},"end":{"line":1528,"column":26}},"725":{"start":{"line":1529,"column":8},"end":{"line":1529,"column":56}},"726":{"start":{"line":1530,"column":8},"end":{"line":1530,"column":25}},"727":{"start":{"line":1532,"column":8},"end":{"line":1532,"column":40}},"728":{"start":{"line":1534,"column":8},"end":{"line":1534,"column":22}},"729":{"start":{"line":1538,"column":8},"end":{"line":1538,"column":81}},"730":{"start":{"line":1540,"column":8},"end":{"line":1540,"column":46}},"731":{"start":{"line":1541,"column":8},"end":{"line":1543,"column":11}},"732":{"start":{"line":1542,"column":12},"end":{"line":1542,"column":83}},"733":{"start":{"line":1545,"column":8},"end":{"line":1545,"column":99}},"734":{"start":{"line":1547,"column":8},"end":{"line":1547,"column":26}},"735":{"start":{"line":1548,"column":8},"end":{"line":1548,"column":56}},"736":{"start":{"line":1549,"column":8},"end":{"line":1549,"column":25}},"737":{"start":{"line":1551,"column":8},"end":{"line":1551,"column":40}},"738":{"start":{"line":1553,"column":8},"end":{"line":1553,"column":22}},"739":{"start":{"line":1558,"column":8},"end":{"line":1558,"column":39}},"740":{"start":{"line":1560,"column":8},"end":{"line":1560,"column":36}},"741":{"start":{"line":1561,"column":8},"end":{"line":1568,"column":11}},"742":{"start":{"line":1563,"column":12},"end":{"line":1565,"column":13}},"743":{"start":{"line":1564,"column":16},"end":{"line":1564,"column":96}},"744":{"start":{"line":1567,"column":12},"end":{"line":1567,"column":83}},"745":{"start":{"line":1570,"column":8},"end":{"line":1570,"column":98}},"746":{"start":{"line":1573,"column":8},"end":{"line":1575,"column":9}},"747":{"start":{"line":1574,"column":12},"end":{"line":1574,"column":61}},"748":{"start":{"line":1578,"column":8},"end":{"line":1578,"column":26}},"749":{"start":{"line":1579,"column":8},"end":{"line":1579,"column":40}},"750":{"start":{"line":1580,"column":8},"end":{"line":1580,"column":49}},"751":{"start":{"line":1581,"column":8},"end":{"line":1581,"column":30}},"752":{"start":{"line":1582,"column":8},"end":{"line":1582,"column":25}},"753":{"start":{"line":1584,"column":8},"end":{"line":1584,"column":46}},"754":{"start":{"line":1588,"column":8},"end":{"line":1588,"column":36}},"755":{"start":{"line":1590,"column":8},"end":{"line":1592,"column":11}},"756":{"start":{"line":1591,"column":12},"end":{"line":1591,"column":57}},"757":{"start":{"line":1594,"column":8},"end":{"line":1594,"column":44}},"758":{"start":{"line":1598,"column":8},"end":{"line":1598,"column":40}},"759":{"start":{"line":1600,"column":8},"end":{"line":1617,"column":11}},"760":{"start":{"line":1601,"column":12},"end":{"line":1601,"column":26}},"761":{"start":{"line":1602,"column":12},"end":{"line":1608,"column":13}},"762":{"start":{"line":1603,"column":16},"end":{"line":1603,"column":62}},"763":{"start":{"line":1604,"column":19},"end":{"line":1608,"column":13}},"764":{"start":{"line":1605,"column":16},"end":{"line":1605,"column":62}},"765":{"start":{"line":1607,"column":16},"end":{"line":1607,"column":69}},"766":{"start":{"line":1610,"column":12},"end":{"line":1616,"column":13}},"767":{"start":{"line":1611,"column":16},"end":{"line":1611,"column":81}},"768":{"start":{"line":1612,"column":16},"end":{"line":1612,"column":59}},"769":{"start":{"line":1614,"column":16},"end":{"line":1614,"column":83}},"770":{"start":{"line":1615,"column":16},"end":{"line":1615,"column":114}},"771":{"start":{"line":1619,"column":8},"end":{"line":1619,"column":48}},"772":{"start":{"line":1624,"column":8},"end":{"line":1624,"column":40}},"773":{"start":{"line":1625,"column":8},"end":{"line":1627,"column":11}},"774":{"start":{"line":1626,"column":12},"end":{"line":1626,"column":83}},"775":{"start":{"line":1629,"column":8},"end":{"line":1629,"column":112}},"776":{"start":{"line":1629,"column":73},"end":{"line":1629,"column":110}},"777":{"start":{"line":1631,"column":8},"end":{"line":1642,"column":9}},"778":{"start":{"line":1632,"column":12},"end":{"line":1632,"column":63}},"779":{"start":{"line":1633,"column":12},"end":{"line":1633,"column":30}},"780":{"start":{"line":1634,"column":12},"end":{"line":1634,"column":79}},"781":{"start":{"line":1635,"column":12},"end":{"line":1635,"column":65}},"782":{"start":{"line":1636,"column":12},"end":{"line":1636,"column":29}},"783":{"start":{"line":1637,"column":12},"end":{"line":1637,"column":50}},"784":{"start":{"line":1640,"column":12},"end":{"line":1640,"column":79}},"785":{"start":{"line":1641,"column":12},"end":{"line":1641,"column":72}},"786":{"start":{"line":1646,"column":8},"end":{"line":1646,"column":24}},"787":{"start":{"line":1648,"column":8},"end":{"line":1652,"column":11}},"788":{"start":{"line":1648,"column":37},"end":{"line":1648,"column":74}},"789":{"start":{"line":1649,"column":12},"end":{"line":1649,"column":90}},"790":{"start":{"line":1650,"column":12},"end":{"line":1650,"column":81}},"791":{"start":{"line":1651,"column":12},"end":{"line":1651,"column":97}},"792":{"start":{"line":1654,"column":8},"end":{"line":1654,"column":22}},"793":{"start":{"line":53,"column":18},"end":{"line":53,"column":76}},"794":{"start":{"line":51,"column":0},"end":{"line":1656,"column":1}}},"fnMap":{"1":{"name":"(anonymous_1)","line":14,"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":46}}},"2":{"name":"(anonymous_2)","line":20,"loc":{"start":{"line":20,"column":0},"end":{"line":20,"column":21}}},"3":{"name":"(anonymous_3)","line":27,"loc":{"start":{"line":27,"column":0},"end":{"line":27,"column":25}}},"4":{"name":"(anonymous_4)","line":70,"loc":{"start":{"line":70,"column":4},"end":{"line":70,"column":92}}},"5":{"name":"(anonymous_5)","line":86,"loc":{"start":{"line":86,"column":21},"end":{"line":null,"column":-1}}},"6":{"name":"(anonymous_6)","line":90,"loc":{"start":{"line":90,"column":20},"end":{"line":null,"column":-1}}},"7":{"name":"(anonymous_7)","line":94,"loc":{"start":{"line":94,"column":25},"end":{"line":94,"column":38}}},"8":{"name":"(anonymous_8)","line":98,"loc":{"start":{"line":98,"column":23},"end":{"line":98,"column":38}}},"9":{"name":"(anonymous_9)","line":103,"loc":{"start":{"line":103,"column":21},"end":{"line":103,"column":79}}},"10":{"name":"(anonymous_10)","line":107,"loc":{"start":{"line":107,"column":21},"end":{"line":107,"column":66}}},"11":{"name":"(anonymous_11)","line":129,"loc":{"start":{"line":129,"column":22},"end":{"line":null,"column":-1}}},"12":{"name":"(anonymous_12)","line":136,"loc":{"start":{"line":136,"column":30},"end":{"line":136,"column":53}}},"13":{"name":"(anonymous_13)","line":141,"loc":{"start":{"line":141,"column":32},"end":{"line":141,"column":53}}},"14":{"name":"(anonymous_14)","line":148,"loc":{"start":{"line":148,"column":24},"end":{"line":148,"column":45}}},"15":{"name":"(anonymous_15)","line":162,"loc":{"start":{"line":162,"column":31},"end":{"line":162,"column":48}}},"16":{"name":"(anonymous_16)","line":167,"loc":{"start":{"line":167,"column":30},"end":{"line":null,"column":-1}}},"17":{"name":"(anonymous_17)","line":195,"loc":{"start":{"line":195,"column":25},"end":{"line":195,"column":41}}},"18":{"name":"(anonymous_18)","line":204,"loc":{"start":{"line":204,"column":24},"end":{"line":204,"column":38}}},"19":{"name":"(anonymous_19)","line":263,"loc":{"start":{"line":263,"column":34},"end":{"line":263,"column":75}}},"20":{"name":"(anonymous_20)","line":268,"loc":{"start":{"line":268,"column":26},"end":{"line":268,"column":53}}},"21":{"name":"(anonymous_21)","line":306,"loc":{"start":{"line":306,"column":29},"end":{"line":306,"column":56}}},"22":{"name":"(anonymous_22)","line":335,"loc":{"start":{"line":335,"column":24},"end":{"line":335,"column":49}}},"23":{"name":"(anonymous_23)","line":380,"loc":{"start":{"line":380,"column":25},"end":{"line":null,"column":-1}}},"24":{"name":"(anonymous_24)","line":388,"loc":{"start":{"line":388,"column":28},"end":{"line":388,"column":55}}},"25":{"name":"(anonymous_25)","line":396,"loc":{"start":{"line":396,"column":22},"end":{"line":396,"column":43}}},"26":{"name":"(anonymous_26)","line":414,"loc":{"start":{"line":414,"column":28},"end":{"line":419,"column":31}}},"27":{"name":"(anonymous_27)","line":431,"loc":{"start":{"line":431,"column":25},"end":{"line":431,"column":49}}},"28":{"name":"(anonymous_28)","line":441,"loc":{"start":{"line":441,"column":31},"end":{"line":441,"column":52}}},"29":{"name":"(anonymous_29)","line":454,"loc":{"start":{"line":454,"column":23},"end":{"line":454,"column":45}}},"30":{"name":"(anonymous_30)","line":473,"loc":{"start":{"line":473,"column":25},"end":{"line":473,"column":49}}},"31":{"name":"(anonymous_31)","line":503,"loc":{"start":{"line":503,"column":25},"end":{"line":503,"column":49}}},"32":{"name":"(anonymous_32)","line":526,"loc":{"start":{"line":526,"column":29},"end":{"line":526,"column":48}}},"33":{"name":"(anonymous_33)","line":534,"loc":{"start":{"line":534,"column":26},"end":{"line":534,"column":51}}},"34":{"name":"(anonymous_34)","line":604,"loc":{"start":{"line":604,"column":23},"end":{"line":604,"column":45}}},"35":{"name":"(anonymous_35)","line":626,"loc":{"start":{"line":626,"column":25},"end":{"line":626,"column":49}}},"36":{"name":"(anonymous_36)","line":637,"loc":{"start":{"line":637,"column":26},"end":{"line":637,"column":51}}},"37":{"name":"(anonymous_37)","line":663,"loc":{"start":{"line":663,"column":30},"end":{"line":663,"column":64}}},"38":{"name":"(anonymous_38)","line":740,"loc":{"start":{"line":740,"column":36},"end":{"line":740,"column":82}}},"39":{"name":"(anonymous_39)","line":852,"loc":{"start":{"line":852,"column":37},"end":{"line":852,"column":85}}},"40":{"name":"(anonymous_40)","line":856,"loc":{"start":{"line":856,"column":32},"end":{"line":856,"column":84}}},"41":{"name":"(anonymous_41)","line":860,"loc":{"start":{"line":860,"column":38},"end":{"line":860,"column":66}}},"42":{"name":"(anonymous_42)","line":873,"loc":{"start":{"line":873,"column":41},"end":{"line":873,"column":92}}},"43":{"name":"(anonymous_43)","line":882,"loc":{"start":{"line":882,"column":42},"end":{"line":882,"column":74}}},"44":{"name":"(anonymous_44)","line":896,"loc":{"start":{"line":896,"column":41},"end":{"line":896,"column":72}}},"45":{"name":"(anonymous_45)","line":916,"loc":{"start":{"line":916,"column":33},"end":{"line":916,"column":56}}},"46":{"name":"(anonymous_46)","line":923,"loc":{"start":{"line":923,"column":34},"end":{"line":923,"column":58}}},"47":{"name":"(anonymous_47)","line":948,"loc":{"start":{"line":948,"column":32},"end":{"line":948,"column":56}}},"48":{"name":"(anonymous_48)","line":1000,"loc":{"start":{"line":1000,"column":40},"end":{"line":1000,"column":64}}},"49":{"name":"(anonymous_49)","line":1043,"loc":{"start":{"line":1043,"column":35},"end":{"line":null,"column":-1}}},"50":{"name":"(anonymous_50)","line":1050,"loc":{"start":{"line":1050,"column":36},"end":{"line":1050,"column":62}}},"51":{"name":"(anonymous_51)","line":1063,"loc":{"start":{"line":1063,"column":39},"end":{"line":1063,"column":63}}},"52":{"name":"(anonymous_52)","line":1099,"loc":{"start":{"line":1099,"column":29},"end":{"line":1099,"column":90}}},"53":{"name":"(anonymous_53)","line":1114,"loc":{"start":{"line":1114,"column":44},"end":{"line":1114,"column":78}}},"54":{"name":"(anonymous_54)","line":1145,"loc":{"start":{"line":1145,"column":31},"end":{"line":1145,"column":65}}},"55":{"name":"(anonymous_55)","line":1151,"loc":{"start":{"line":1151,"column":31},"end":{"line":1151,"column":80}}},"56":{"name":"(anonymous_56)","line":1158,"loc":{"start":{"line":1158,"column":34},"end":{"line":1158,"column":60}}},"57":{"name":"(anonymous_57)","line":1190,"loc":{"start":{"line":1190,"column":34},"end":{"line":1190,"column":68}}},"58":{"name":"(anonymous_58)","line":1201,"loc":{"start":{"line":1201,"column":33},"end":{"line":1201,"column":67}}},"59":{"name":"(anonymous_59)","line":1211,"loc":{"start":{"line":1211,"column":43},"end":{"line":1211,"column":76}}},"60":{"name":"(anonymous_60)","line":1225,"loc":{"start":{"line":1225,"column":30},"end":{"line":1225,"column":56}}},"61":{"name":"(anonymous_61)","line":1237,"loc":{"start":{"line":1237,"column":39},"end":{"line":1237,"column":68}}},"62":{"name":"(anonymous_62)","line":1248,"loc":{"start":{"line":1248,"column":36},"end":{"line":1248,"column":62}}},"63":{"name":"(anonymous_63)","line":1254,"loc":{"start":{"line":1254,"column":37},"end":{"line":1254,"column":64}}},"64":{"name":"(anonymous_64)","line":1267,"loc":{"start":{"line":1267,"column":39},"end":{"line":1267,"column":68}}},"65":{"name":"(anonymous_65)","line":1304,"loc":{"start":{"line":1304,"column":39},"end":{"line":1304,"column":68}}},"66":{"name":"(anonymous_66)","line":1354,"loc":{"start":{"line":1354,"column":37},"end":{"line":1354,"column":82}}},"67":{"name":"(anonymous_67)","line":1406,"loc":{"start":{"line":1406,"column":25},"end":{"line":1406,"column":51}}},"68":{"name":"(anonymous_68)","line":1478,"loc":{"start":{"line":1478,"column":40},"end":{"line":1479,"column":61}}},"69":{"name":"(anonymous_69)","line":1523,"loc":{"start":{"line":1523,"column":42},"end":{"line":1523,"column":100}}},"70":{"name":"(anonymous_70)","line":1537,"loc":{"start":{"line":1537,"column":42},"end":{"line":1537,"column":100}}},"71":{"name":"(anonymous_71)","line":1556,"loc":{"start":{"line":1556,"column":31},"end":{"line":1557,"column":49}}},"72":{"name":"(anonymous_72)","line":1587,"loc":{"start":{"line":1587,"column":32},"end":{"line":1587,"column":64}}},"73":{"name":"(anonymous_73)","line":1597,"loc":{"start":{"line":1597,"column":33},"end":{"line":1597,"column":66}}},"74":{"name":"(anonymous_74)","line":1622,"loc":{"start":{"line":1622,"column":38},"end":{"line":1622,"column":61}}},"75":{"name":"(anonymous_75)","line":1645,"loc":{"start":{"line":1645,"column":42},"end":{"line":1645,"column":76}}}},"branchMap":{"1":{"line":20,"type":"binary-expr","locations":[{"start":{"line":20,"column":12},"end":{"line":20,"column":21}},{"start":{"line":20,"column":12},"end":{"line":20,"column":21}}]},"2":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12},"end":{"line":27,"column":25}},{"start":{"line":27,"column":12},"end":{"line":27,"column":25}}]},"3":{"line":100,"type":"cond-expr","locations":[{"start":{"line":100,"column":12},"end":{"line":100,"column":20}},{"start":{"line":100,"column":23},"end":{"line":100,"column":25}}]},"4":{"line":99,"type":"binary-expr","locations":[{"start":{"line":99,"column":15},"end":{"line":99,"column":19}},{"start":{"line":99,"column":24},"end":{"line":99,"column":37}},{"start":{"line":99,"column":41},"end":{"line":99,"column":66}}]},"5":{"line":109,"type":"if","locations":[{"start":{"line":109,"column":8},"end":{"line":109,"column":7}},{"start":{"line":109,"column":8},"end":{"line":109,"column":7}}]},"6":{"line":109,"type":"binary-expr","locations":[{"start":{"line":109,"column":12},"end":{"line":109,"column":16}},{"start":{"line":110,"column":12},"end":{"line":110,"column":26}},{"start":{"line":110,"column":30},"end":{"line":110,"column":43}},{"start":{"line":111,"column":13},"end":{"line":111,"column":72}}]},"7":{"line":113,"type":"if","locations":[{"start":{"line":113,"column":12},"end":{"line":113,"column":11}},{"start":{"line":113,"column":12},"end":{"line":113,"column":11}}]},"8":{"line":119,"type":"if","locations":[{"start":{"line":119,"column":8},"end":{"line":119,"column":7}},{"start":{"line":119,"column":8},"end":{"line":119,"column":7}}]},"9":{"line":119,"type":"binary-expr","locations":[{"start":{"line":119,"column":12},"end":{"line":119,"column":39}},{"start":{"line":119,"column":43},"end":{"line":119,"column":72}}]},"10":{"line":120,"type":"if","locations":[{"start":{"line":120,"column":12},"end":{"line":120,"column":11}},{"start":{"line":120,"column":12},"end":{"line":120,"column":11}}]},"11":{"line":142,"type":"if","locations":[{"start":{"line":142,"column":8},"end":{"line":142,"column":7}},{"start":{"line":142,"column":8},"end":{"line":142,"column":7}}]},"12":{"line":142,"type":"binary-expr","locations":[{"start":{"line":142,"column":12},"end":{"line":142,"column":42}},{"start":{"line":142,"column":46},"end":{"line":142,"column":66}}]},"13":{"line":151,"type":"if","locations":[{"start":{"line":151,"column":8},"end":{"line":151,"column":7}},{"start":{"line":151,"column":8},"end":{"line":151,"column":7}}]},"14":{"line":169,"type":"if","locations":[{"start":{"line":169,"column":8},"end":{"line":169,"column":7}},{"start":{"line":169,"column":8},"end":{"line":169,"column":7}}]},"15":{"line":174,"type":"if","locations":[{"start":{"line":174,"column":8},"end":{"line":174,"column":7}},{"start":{"line":174,"column":8},"end":{"line":174,"column":7}}]},"16":{"line":178,"type":"if","locations":[{"start":{"line":178,"column":8},"end":{"line":178,"column":7}},{"start":{"line":178,"column":8},"end":{"line":178,"column":7}}]},"17":{"line":188,"type":"if","locations":[{"start":{"line":188,"column":8},"end":{"line":188,"column":7}},{"start":{"line":188,"column":8},"end":{"line":188,"column":7}}]},"18":{"line":206,"type":"if","locations":[{"start":{"line":206,"column":8},"end":{"line":206,"column":7}},{"start":{"line":206,"column":8},"end":{"line":206,"column":7}}]},"19":{"line":206,"type":"binary-expr","locations":[{"start":{"line":206,"column":12},"end":{"line":206,"column":26}},{"start":{"line":206,"column":30},"end":{"line":206,"column":109}}]},"20":{"line":211,"type":"switch","locations":[{"start":{"line":211,"column":12},"end":{"line":212,"column":74}},{"start":{"line":213,"column":12},"end":{"line":214,"column":72}},{"start":{"line":215,"column":12},"end":{"line":216,"column":77}},{"start":{"line":217,"column":12},"end":{"line":218,"column":61}},{"start":{"line":219,"column":12},"end":{"line":220,"column":70}},{"start":{"line":221,"column":12},"end":{"line":222,"column":89}},{"start":{"line":223,"column":12},"end":{"line":225,"column":92}},{"start":{"line":226,"column":12},"end":{"line":228,"column":100}},{"start":{"line":229,"column":12},"end":{"line":230,"column":93}},{"start":{"line":231,"column":12},"end":{"line":232,"column":64}},{"start":{"line":233,"column":12},"end":{"line":234,"column":70}},{"start":{"line":235,"column":12},"end":{"line":236,"column":73}},{"start":{"line":237,"column":12},"end":{"line":238,"column":66}},{"start":{"line":239,"column":12},"end":{"line":240,"column":70}},{"start":{"line":241,"column":12},"end":{"line":242,"column":70}},{"start":{"line":243,"column":12},"end":{"line":244,"column":72}},{"start":{"line":245,"column":12},"end":{"line":246,"column":45}},{"start":{"line":247,"column":12},"end":{"line":248,"column":66}},{"start":{"line":249,"column":12},"end":{"line":250,"column":70}},{"start":{"line":251,"column":12},"end":{"line":252,"column":76}},{"start":{"line":253,"column":12},"end":{"line":253,"column":52}},{"start":{"line":254,"column":12},"end":{"line":254,"column":52}},{"start":{"line":255,"column":12},"end":{"line":257,"column":26}},{"start":{"line":258,"column":12},"end":{"line":259,"column":75}}]},"21":{"line":272,"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":272,"column":7}},{"start":{"line":272,"column":8},"end":{"line":272,"column":7}}]},"22":{"line":272,"type":"binary-expr","locations":[{"start":{"line":272,"column":12},"end":{"line":272,"column":30}},{"start":{"line":272,"column":34},"end":{"line":272,"column":66}}]},"23":{"line":281,"type":"if","locations":[{"start":{"line":281,"column":8},"end":{"line":281,"column":7}},{"start":{"line":281,"column":8},"end":{"line":281,"column":7}}]},"24":{"line":288,"type":"if","locations":[{"start":{"line":288,"column":16},"end":{"line":288,"column":15}},{"start":{"line":288,"column":16},"end":{"line":288,"column":15}}]},"25":{"line":298,"type":"if","locations":[{"start":{"line":298,"column":15},"end":{"line":298,"column":14}},{"start":{"line":298,"column":15},"end":{"line":298,"column":14}}]},"26":{"line":308,"type":"if","locations":[{"start":{"line":308,"column":8},"end":{"line":308,"column":7}},{"start":{"line":308,"column":8},"end":{"line":308,"column":7}}]},"27":{"line":308,"type":"binary-expr","locations":[{"start":{"line":308,"column":12},"end":{"line":308,"column":82}},{"start":{"line":308,"column":86},"end":{"line":308,"column":95}}]},"28":{"line":318,"type":"if","locations":[{"start":{"line":318,"column":8},"end":{"line":318,"column":7}},{"start":{"line":318,"column":8},"end":{"line":318,"column":7}}]},"29":{"line":326,"type":"if","locations":[{"start":{"line":326,"column":8},"end":{"line":326,"column":7}},{"start":{"line":326,"column":8},"end":{"line":326,"column":7}}]},"30":{"line":342,"type":"if","locations":[{"start":{"line":342,"column":8},"end":{"line":342,"column":7}},{"start":{"line":342,"column":8},"end":{"line":342,"column":7}}]},"31":{"line":350,"type":"if","locations":[{"start":{"line":350,"column":12},"end":{"line":350,"column":11}},{"start":{"line":350,"column":12},"end":{"line":350,"column":11}}]},"32":{"line":351,"type":"if","locations":[{"start":{"line":351,"column":16},"end":{"line":351,"column":15}},{"start":{"line":351,"column":16},"end":{"line":351,"column":15}}]},"33":{"line":353,"type":"if","locations":[{"start":{"line":353,"column":23},"end":{"line":353,"column":22}},{"start":{"line":353,"column":23},"end":{"line":353,"column":22}}]},"34":{"line":359,"type":"if","locations":[{"start":{"line":359,"column":19},"end":{"line":359,"column":18}},{"start":{"line":359,"column":19},"end":{"line":359,"column":18}}]},"35":{"line":363,"type":"if","locations":[{"start":{"line":363,"column":12},"end":{"line":363,"column":11}},{"start":{"line":363,"column":12},"end":{"line":363,"column":11}}]},"36":{"line":373,"type":"if","locations":[{"start":{"line":373,"column":12},"end":{"line":373,"column":11}},{"start":{"line":373,"column":12},"end":{"line":373,"column":11}}]},"37":{"line":381,"type":"if","locations":[{"start":{"line":381,"column":8},"end":{"line":381,"column":7}},{"start":{"line":381,"column":8},"end":{"line":381,"column":7}}]},"38":{"line":404,"type":"if","locations":[{"start":{"line":404,"column":8},"end":{"line":404,"column":7}},{"start":{"line":404,"column":8},"end":{"line":404,"column":7}}]},"39":{"line":482,"type":"cond-expr","locations":[{"start":{"line":482,"column":32},"end":{"line":482,"column":40}},{"start":{"line":482,"column":43},"end":{"line":482,"column":50}}]},"40":{"line":486,"type":"if","locations":[{"start":{"line":486,"column":8},"end":{"line":486,"column":7}},{"start":{"line":486,"column":8},"end":{"line":486,"column":7}}]},"41":{"line":488,"type":"if","locations":[{"start":{"line":488,"column":15},"end":{"line":488,"column":14}},{"start":{"line":488,"column":15},"end":{"line":488,"column":14}}]},"42":{"line":511,"type":"if","locations":[{"start":{"line":511,"column":8},"end":{"line":511,"column":7}},{"start":{"line":511,"column":8},"end":{"line":511,"column":7}}]},"43":{"line":527,"type":"if","locations":[{"start":{"line":527,"column":8},"end":{"line":527,"column":7}},{"start":{"line":527,"column":8},"end":{"line":527,"column":7}}]},"44":{"line":547,"type":"if","locations":[{"start":{"line":547,"column":12},"end":{"line":547,"column":11}},{"start":{"line":547,"column":12},"end":{"line":547,"column":11}}]},"45":{"line":552,"type":"if","locations":[{"start":{"line":552,"column":12},"end":{"line":552,"column":11}},{"start":{"line":552,"column":12},"end":{"line":552,"column":11}}]},"46":{"line":565,"type":"if","locations":[{"start":{"line":565,"column":12},"end":{"line":565,"column":11}},{"start":{"line":565,"column":12},"end":{"line":565,"column":11}}]},"47":{"line":565,"type":"binary-expr","locations":[{"start":{"line":565,"column":16},"end":{"line":565,"column":34}},{"start":{"line":565,"column":38},"end":{"line":565,"column":114}}]},"48":{"line":567,"type":"binary-expr","locations":[{"start":{"line":567,"column":23},"end":{"line":567,"column":41}},{"start":{"line":568,"column":23},"end":{"line":568,"column":50}},{"start":{"line":569,"column":23},"end":{"line":569,"column":57}}]},"49":{"line":575,"type":"if","locations":[{"start":{"line":575,"column":16},"end":{"line":575,"column":15}},{"start":{"line":575,"column":16},"end":{"line":575,"column":15}}]},"50":{"line":575,"type":"binary-expr","locations":[{"start":{"line":575,"column":20},"end":{"line":575,"column":31}},{"start":{"line":575,"column":35},"end":{"line":575,"column":45}}]},"51":{"line":576,"type":"if","locations":[{"start":{"line":576,"column":20},"end":{"line":576,"column":19}},{"start":{"line":576,"column":20},"end":{"line":576,"column":19}}]},"52":{"line":611,"type":"if","locations":[{"start":{"line":611,"column":8},"end":{"line":611,"column":7}},{"start":{"line":611,"column":8},"end":{"line":611,"column":7}}]},"53":{"line":611,"type":"binary-expr","locations":[{"start":{"line":611,"column":12},"end":{"line":611,"column":28}},{"start":{"line":611,"column":32},"end":{"line":611,"column":68}}]},"54":{"line":620,"type":"if","locations":[{"start":{"line":620,"column":8},"end":{"line":620,"column":7}},{"start":{"line":620,"column":8},"end":{"line":620,"column":7}}]},"55":{"line":627,"type":"if","locations":[{"start":{"line":627,"column":8},"end":{"line":627,"column":7}},{"start":{"line":627,"column":8},"end":{"line":627,"column":7}}]},"56":{"line":638,"type":"if","locations":[{"start":{"line":638,"column":8},"end":{"line":638,"column":7}},{"start":{"line":638,"column":8},"end":{"line":638,"column":7}}]},"57":{"line":642,"type":"if","locations":[{"start":{"line":642,"column":12},"end":{"line":642,"column":11}},{"start":{"line":642,"column":12},"end":{"line":642,"column":11}}]},"58":{"line":642,"type":"binary-expr","locations":[{"start":{"line":642,"column":16},"end":{"line":642,"column":27}},{"start":{"line":642,"column":31},"end":{"line":642,"column":120}},{"start":{"line":643,"column":19},"end":{"line":643,"column":63}}]},"59":{"line":649,"type":"if","locations":[{"start":{"line":649,"column":12},"end":{"line":649,"column":11}},{"start":{"line":649,"column":12},"end":{"line":649,"column":11}}]},"60":{"line":649,"type":"binary-expr","locations":[{"start":{"line":649,"column":16},"end":{"line":649,"column":54}},{"start":{"line":650,"column":20},"end":{"line":650,"column":91}},{"start":{"line":651,"column":23},"end":{"line":651,"column":87}}]},"61":{"line":665,"type":"switch","locations":[{"start":{"line":665,"column":12},"end":{"line":667,"column":93}},{"start":{"line":668,"column":12},"end":{"line":670,"column":103}},{"start":{"line":671,"column":12},"end":{"line":672,"column":79}},{"start":{"line":673,"column":12},"end":{"line":674,"column":99}},{"start":{"line":675,"column":12},"end":{"line":676,"column":97}},{"start":{"line":677,"column":12},"end":{"line":683,"column":71}},{"start":{"line":684,"column":12},"end":{"line":684,"column":45}},{"start":{"line":685,"column":12},"end":{"line":687,"column":35}},{"start":{"line":688,"column":12},"end":{"line":689,"column":87}},{"start":{"line":690,"column":12},"end":{"line":691,"column":56}},{"start":{"line":692,"column":12},"end":{"line":693,"column":30}},{"start":{"line":694,"column":12},"end":{"line":695,"column":31}},{"start":{"line":696,"column":12},"end":{"line":696,"column":43}},{"start":{"line":697,"column":12},"end":{"line":698,"column":29}},{"start":{"line":699,"column":12},"end":{"line":700,"column":30}},{"start":{"line":701,"column":12},"end":{"line":702,"column":95}},{"start":{"line":703,"column":12},"end":{"line":704,"column":93}},{"start":{"line":705,"column":12},"end":{"line":706,"column":85}},{"start":{"line":707,"column":12},"end":{"line":708,"column":87}},{"start":{"line":709,"column":12},"end":{"line":710,"column":99}},{"start":{"line":711,"column":12},"end":{"line":711,"column":50}},{"start":{"line":712,"column":12},"end":{"line":713,"column":82}},{"start":{"line":714,"column":12},"end":{"line":715,"column":77}},{"start":{"line":716,"column":12},"end":{"line":717,"column":106}},{"start":{"line":718,"column":12},"end":{"line":719,"column":109}},{"start":{"line":720,"column":12},"end":{"line":721,"column":37}},{"start":{"line":722,"column":12},"end":{"line":724,"column":87}},{"start":{"line":725,"column":12},"end":{"line":727,"column":86}},{"start":{"line":728,"column":12},"end":{"line":729,"column":83}},{"start":{"line":730,"column":12},"end":{"line":731,"column":30}},{"start":{"line":732,"column":12},"end":{"line":736,"column":18}}]},"62":{"line":679,"type":"if","locations":[{"start":{"line":679,"column":16},"end":{"line":679,"column":15}},{"start":{"line":679,"column":16},"end":{"line":679,"column":15}}]},"63":{"line":747,"type":"if","locations":[{"start":{"line":747,"column":8},"end":{"line":747,"column":7}},{"start":{"line":747,"column":8},"end":{"line":747,"column":7}}]},"64":{"line":750,"type":"if","locations":[{"start":{"line":750,"column":12},"end":{"line":750,"column":11}},{"start":{"line":750,"column":12},"end":{"line":750,"column":11}}]},"65":{"line":760,"type":"switch","locations":[{"start":{"line":760,"column":12},"end":{"line":760,"column":46}},{"start":{"line":761,"column":12},"end":{"line":761,"column":40}},{"start":{"line":762,"column":12},"end":{"line":762,"column":42}},{"start":{"line":763,"column":12},"end":{"line":763,"column":53}},{"start":{"line":764,"column":12},"end":{"line":764,"column":59}},{"start":{"line":765,"column":12},"end":{"line":766,"column":68}}]},"66":{"line":770,"type":"if","locations":[{"start":{"line":770,"column":8},"end":{"line":770,"column":7}},{"start":{"line":770,"column":8},"end":{"line":770,"column":7}}]},"67":{"line":772,"type":"switch","locations":[{"start":{"line":772,"column":16},"end":{"line":774,"column":26}},{"start":{"line":775,"column":16},"end":{"line":777,"column":26}},{"start":{"line":778,"column":16},"end":{"line":787,"column":26}},{"start":{"line":788,"column":16},"end":{"line":790,"column":26}},{"start":{"line":791,"column":16},"end":{"line":793,"column":26}},{"start":{"line":794,"column":16},"end":{"line":796,"column":26}},{"start":{"line":797,"column":16},"end":{"line":799,"column":26}},{"start":{"line":800,"column":16},"end":{"line":802,"column":26}},{"start":{"line":803,"column":16},"end":{"line":805,"column":26}},{"start":{"line":806,"column":16},"end":{"line":808,"column":26}},{"start":{"line":809,"column":16},"end":{"line":811,"column":26}},{"start":{"line":812,"column":16},"end":{"line":814,"column":26}},{"start":{"line":815,"column":16},"end":{"line":821,"column":26}},{"start":{"line":822,"column":16},"end":{"line":822,"column":53}},{"start":{"line":823,"column":16},"end":{"line":825,"column":26}},{"start":{"line":826,"column":16},"end":{"line":826,"column":58}},{"start":{"line":827,"column":16},"end":{"line":829,"column":26}},{"start":{"line":830,"column":16},"end":{"line":832,"column":26}},{"start":{"line":833,"column":16},"end":{"line":835,"column":26}},{"start":{"line":836,"column":16},"end":{"line":840,"column":22}}]},"68":{"line":782,"type":"if","locations":[{"start":{"line":782,"column":20},"end":{"line":782,"column":19}},{"start":{"line":782,"column":20},"end":{"line":782,"column":19}}]},"69":{"line":782,"type":"binary-expr","locations":[{"start":{"line":782,"column":25},"end":{"line":782,"column":61}},{"start":{"line":782,"column":66},"end":{"line":782,"column":95}},{"start":{"line":783,"column":29},"end":{"line":783,"column":66}},{"start":{"line":783,"column":71},"end":{"line":783,"column":101}}]},"70":{"line":816,"type":"if","locations":[{"start":{"line":816,"column":20},"end":{"line":816,"column":19}},{"start":{"line":816,"column":20},"end":{"line":816,"column":19}}]},"71":{"line":845,"type":"if","locations":[{"start":{"line":845,"column":8},"end":{"line":845,"column":7}},{"start":{"line":845,"column":8},"end":{"line":845,"column":7}}]},"72":{"line":864,"type":"if","locations":[{"start":{"line":864,"column":12},"end":{"line":864,"column":11}},{"start":{"line":864,"column":12},"end":{"line":864,"column":11}}]},"73":{"line":885,"type":"switch","locations":[{"start":{"line":885,"column":12},"end":{"line":886,"column":49}},{"start":{"line":887,"column":12},"end":{"line":888,"column":49}},{"start":{"line":889,"column":12},"end":{"line":892,"column":47}}]},"74":{"line":899,"type":"switch","locations":[{"start":{"line":899,"column":12},"end":{"line":900,"column":70}},{"start":{"line":901,"column":12},"end":{"line":902,"column":49}},{"start":{"line":903,"column":12},"end":{"line":904,"column":49}},{"start":{"line":905,"column":12},"end":{"line":906,"column":42}},{"start":{"line":907,"column":12},"end":{"line":908,"column":37}},{"start":{"line":909,"column":12},"end":{"line":912,"column":47}}]},"75":{"line":918,"type":"cond-expr","locations":[{"start":{"line":918,"column":40},"end":{"line":918,"column":96}},{"start":{"line":918,"column":99},"end":{"line":918,"column":105}}]},"76":{"line":931,"type":"if","locations":[{"start":{"line":931,"column":8},"end":{"line":931,"column":7}},{"start":{"line":931,"column":8},"end":{"line":931,"column":7}}]},"77":{"line":933,"type":"cond-expr","locations":[{"start":{"line":933,"column":65},"end":{"line":933,"column":82}},{"start":{"line":933,"column":85},"end":{"line":933,"column":91}}]},"78":{"line":933,"type":"binary-expr","locations":[{"start":{"line":933,"column":19},"end":{"line":933,"column":32}},{"start":{"line":933,"column":36},"end":{"line":933,"column":62}}]},"79":{"line":937,"type":"if","locations":[{"start":{"line":937,"column":8},"end":{"line":937,"column":7}},{"start":{"line":937,"column":8},"end":{"line":937,"column":7}}]},"80":{"line":945,"type":"cond-expr","locations":[{"start":{"line":945,"column":61},"end":{"line":945,"column":91}},{"start":{"line":945,"column":94},"end":{"line":945,"column":118}}]},"81":{"line":945,"type":"binary-expr","locations":[{"start":{"line":945,"column":15},"end":{"line":945,"column":28}},{"start":{"line":945,"column":32},"end":{"line":945,"column":58}}]},"82":{"line":953,"type":"if","locations":[{"start":{"line":953,"column":8},"end":{"line":953,"column":7}},{"start":{"line":953,"column":8},"end":{"line":953,"column":7}}]},"83":{"line":960,"type":"if","locations":[{"start":{"line":960,"column":8},"end":{"line":960,"column":7}},{"start":{"line":960,"column":8},"end":{"line":960,"column":7}}]},"84":{"line":960,"type":"binary-expr","locations":[{"start":{"line":960,"column":12},"end":{"line":960,"column":28}},{"start":{"line":960,"column":32},"end":{"line":960,"column":71}}]},"85":{"line":965,"type":"if","locations":[{"start":{"line":965,"column":8},"end":{"line":965,"column":7}},{"start":{"line":965,"column":8},"end":{"line":965,"column":7}}]},"86":{"line":971,"type":"switch","locations":[{"start":{"line":971,"column":12},"end":{"line":971,"column":37}},{"start":{"line":972,"column":12},"end":{"line":973,"column":64}}]},"87":{"line":977,"type":"if","locations":[{"start":{"line":977,"column":8},"end":{"line":977,"column":7}},{"start":{"line":977,"column":8},"end":{"line":977,"column":7}}]},"88":{"line":984,"type":"if","locations":[{"start":{"line":984,"column":8},"end":{"line":984,"column":7}},{"start":{"line":984,"column":8},"end":{"line":984,"column":7}}]},"89":{"line":984,"type":"binary-expr","locations":[{"start":{"line":984,"column":13},"end":{"line":984,"column":29}},{"start":{"line":984,"column":34},"end":{"line":984,"column":83}},{"start":{"line":986,"column":16},"end":{"line":986,"column":35}},{"start":{"line":986,"column":40},"end":{"line":986,"column":94}}]},"90":{"line":1006,"type":"switch","locations":[{"start":{"line":1006,"column":12},"end":{"line":1007,"column":97}},{"start":{"line":1008,"column":12},"end":{"line":1013,"column":17}},{"start":{"line":1014,"column":12},"end":{"line":1021,"column":17}},{"start":{"line":1022,"column":12},"end":{"line":1029,"column":17}},{"start":{"line":1030,"column":12},"end":{"line":1031,"column":49}},{"start":{"line":1032,"column":12},"end":{"line":1033,"column":49}},{"start":{"line":1034,"column":12},"end":{"line":1035,"column":95}},{"start":{"line":1036,"column":12},"end":{"line":1037,"column":71}},{"start":{"line":1038,"column":12},"end":{"line":1039,"column":97}}]},"91":{"line":1009,"type":"if","locations":[{"start":{"line":1009,"column":16},"end":{"line":1009,"column":15}},{"start":{"line":1009,"column":16},"end":{"line":1009,"column":15}}]},"92":{"line":1015,"type":"if","locations":[{"start":{"line":1015,"column":16},"end":{"line":1015,"column":15}},{"start":{"line":1015,"column":16},"end":{"line":1015,"column":15}}]},"93":{"line":1023,"type":"if","locations":[{"start":{"line":1023,"column":16},"end":{"line":1023,"column":15}},{"start":{"line":1023,"column":16},"end":{"line":1023,"column":15}}]},"94":{"line":1054,"type":"if","locations":[{"start":{"line":1054,"column":8},"end":{"line":1054,"column":7}},{"start":{"line":1054,"column":8},"end":{"line":1054,"column":7}}]},"95":{"line":1069,"type":"switch","locations":[{"start":{"line":1069,"column":12},"end":{"line":1070,"column":93}},{"start":{"line":1071,"column":12},"end":{"line":1072,"column":96}},{"start":{"line":1073,"column":12},"end":{"line":1074,"column":96}},{"start":{"line":1075,"column":12},"end":{"line":1076,"column":92}},{"start":{"line":1077,"column":12},"end":{"line":1078,"column":95}},{"start":{"line":1079,"column":12},"end":{"line":1080,"column":93}},{"start":{"line":1081,"column":12},"end":{"line":1082,"column":94}},{"start":{"line":1083,"column":12},"end":{"line":1084,"column":94}},{"start":{"line":1085,"column":12},"end":{"line":1086,"column":95}},{"start":{"line":1087,"column":12},"end":{"line":1093,"column":17}},{"start":{"line":1094,"column":12},"end":{"line":1095,"column":96}}]},"96":{"line":1088,"type":"if","locations":[{"start":{"line":1088,"column":16},"end":{"line":1088,"column":15}},{"start":{"line":1088,"column":16},"end":{"line":1088,"column":15}}]},"97":{"line":1103,"type":"if","locations":[{"start":{"line":1103,"column":8},"end":{"line":1103,"column":7}},{"start":{"line":1103,"column":8},"end":{"line":1103,"column":7}}]},"98":{"line":1120,"type":"switch","locations":[{"start":{"line":1120,"column":12},"end":{"line":1120,"column":37}},{"start":{"line":1121,"column":12},"end":{"line":1122,"column":58}},{"start":{"line":1123,"column":12},"end":{"line":1128,"column":17}}]},"99":{"line":1124,"type":"if","locations":[{"start":{"line":1124,"column":16},"end":{"line":1124,"column":15}},{"start":{"line":1124,"column":16},"end":{"line":1124,"column":15}}]},"100":{"line":1126,"type":"if","locations":[{"start":{"line":1126,"column":23},"end":{"line":1126,"column":22}},{"start":{"line":1126,"column":23},"end":{"line":1126,"column":22}}]},"101":{"line":1132,"type":"if","locations":[{"start":{"line":1132,"column":8},"end":{"line":1132,"column":7}},{"start":{"line":1132,"column":8},"end":{"line":1132,"column":7}}]},"102":{"line":1137,"type":"if","locations":[{"start":{"line":1137,"column":8},"end":{"line":1137,"column":7}},{"start":{"line":1137,"column":8},"end":{"line":1137,"column":7}}]},"103":{"line":1137,"type":"binary-expr","locations":[{"start":{"line":1137,"column":12},"end":{"line":1137,"column":44}},{"start":{"line":1137,"column":48},"end":{"line":1137,"column":100}}]},"104":{"line":1182,"type":"if","locations":[{"start":{"line":1182,"column":8},"end":{"line":1182,"column":7}},{"start":{"line":1182,"column":8},"end":{"line":1182,"column":7}}]},"105":{"line":1193,"type":"switch","locations":[{"start":{"line":1193,"column":12},"end":{"line":1194,"column":71}},{"start":{"line":1195,"column":12},"end":{"line":1196,"column":95}}]},"106":{"line":1204,"type":"switch","locations":[{"start":{"line":1204,"column":12},"end":{"line":1205,"column":71}},{"start":{"line":1206,"column":12},"end":{"line":1207,"column":94}}]},"107":{"line":1216,"type":"if","locations":[{"start":{"line":1216,"column":8},"end":{"line":1216,"column":7}},{"start":{"line":1216,"column":8},"end":{"line":1216,"column":7}}]},"108":{"line":1218,"type":"if","locations":[{"start":{"line":1218,"column":15},"end":{"line":1218,"column":14}},{"start":{"line":1218,"column":15},"end":{"line":1218,"column":14}}]},"109":{"line":1228,"type":"if","locations":[{"start":{"line":1228,"column":8},"end":{"line":1228,"column":7}},{"start":{"line":1228,"column":8},"end":{"line":1228,"column":7}}]},"110":{"line":1228,"type":"binary-expr","locations":[{"start":{"line":1228,"column":12},"end":{"line":1228,"column":35}},{"start":{"line":1229,"column":15},"end":{"line":1229,"column":63}},{"start":{"line":1230,"column":15},"end":{"line":1230,"column":63}},{"start":{"line":1231,"column":15},"end":{"line":1231,"column":63}}]},"111":{"line":1238,"type":"if","locations":[{"start":{"line":1238,"column":8},"end":{"line":1238,"column":7}},{"start":{"line":1238,"column":8},"end":{"line":1238,"column":7}}]},"112":{"line":1240,"type":"if","locations":[{"start":{"line":1240,"column":15},"end":{"line":1240,"column":14}},{"start":{"line":1240,"column":15},"end":{"line":1240,"column":14}}]},"113":{"line":1259,"type":"if","locations":[{"start":{"line":1259,"column":12},"end":{"line":1259,"column":11}},{"start":{"line":1259,"column":12},"end":{"line":1259,"column":11}}]},"114":{"line":1268,"type":"if","locations":[{"start":{"line":1268,"column":8},"end":{"line":1268,"column":7}},{"start":{"line":1268,"column":8},"end":{"line":1268,"column":7}}]},"115":{"line":1271,"type":"if","locations":[{"start":{"line":1271,"column":12},"end":{"line":1271,"column":11}},{"start":{"line":1271,"column":12},"end":{"line":1271,"column":11}}]},"116":{"line":1277,"type":"if","locations":[{"start":{"line":1277,"column":15},"end":{"line":1277,"column":14}},{"start":{"line":1277,"column":15},"end":{"line":1277,"column":14}}]},"117":{"line":1282,"type":"if","locations":[{"start":{"line":1282,"column":12},"end":{"line":1282,"column":11}},{"start":{"line":1282,"column":12},"end":{"line":1282,"column":11}}]},"118":{"line":1282,"type":"binary-expr","locations":[{"start":{"line":1282,"column":48},"end":{"line":1282,"column":74}},{"start":{"line":1282,"column":78},"end":{"line":1282,"column":111}}]},"119":{"line":1291,"type":"if","locations":[{"start":{"line":1291,"column":12},"end":{"line":1291,"column":11}},{"start":{"line":1291,"column":12},"end":{"line":1291,"column":11}}]},"120":{"line":1306,"type":"if","locations":[{"start":{"line":1306,"column":8},"end":{"line":1306,"column":7}},{"start":{"line":1306,"column":8},"end":{"line":1306,"column":7}}]},"121":{"line":1324,"type":"if","locations":[{"start":{"line":1324,"column":12},"end":{"line":1324,"column":11}},{"start":{"line":1324,"column":12},"end":{"line":1324,"column":11}}]},"122":{"line":1339,"type":"if","locations":[{"start":{"line":1339,"column":8},"end":{"line":1339,"column":7}},{"start":{"line":1339,"column":8},"end":{"line":1339,"column":7}}]},"123":{"line":1356,"type":"if","locations":[{"start":{"line":1356,"column":8},"end":{"line":1356,"column":7}},{"start":{"line":1356,"column":8},"end":{"line":1356,"column":7}}]},"124":{"line":1374,"type":"if","locations":[{"start":{"line":1374,"column":12},"end":{"line":1374,"column":11}},{"start":{"line":1374,"column":12},"end":{"line":1374,"column":11}}]},"125":{"line":1391,"type":"if","locations":[{"start":{"line":1391,"column":8},"end":{"line":1391,"column":7}},{"start":{"line":1391,"column":8},"end":{"line":1391,"column":7}}]},"126":{"line":1407,"type":"if","locations":[{"start":{"line":1407,"column":8},"end":{"line":1407,"column":7}},{"start":{"line":1407,"column":8},"end":{"line":1407,"column":7}}]},"127":{"line":1424,"type":"binary-expr","locations":[{"start":{"line":1424,"column":33},"end":{"line":1424,"column":47}},{"start":{"line":1424,"column":51},"end":{"line":1424,"column":115}}]},"128":{"line":1430,"type":"if","locations":[{"start":{"line":1430,"column":8},"end":{"line":1430,"column":7}},{"start":{"line":1430,"column":8},"end":{"line":1430,"column":7}}]},"129":{"line":1438,"type":"if","locations":[{"start":{"line":1438,"column":8},"end":{"line":1438,"column":7}},{"start":{"line":1438,"column":8},"end":{"line":1438,"column":7}}]},"130":{"line":1438,"type":"binary-expr","locations":[{"start":{"line":1438,"column":12},"end":{"line":1438,"column":23}},{"start":{"line":1438,"column":27},"end":{"line":1438,"column":38}}]},"131":{"line":1451,"type":"if","locations":[{"start":{"line":1451,"column":8},"end":{"line":1451,"column":7}},{"start":{"line":1451,"column":8},"end":{"line":1451,"column":7}}]},"132":{"line":1454,"type":"if","locations":[{"start":{"line":1454,"column":15},"end":{"line":1454,"column":14}},{"start":{"line":1454,"column":15},"end":{"line":1454,"column":14}}]},"133":{"line":1482,"type":"binary-expr","locations":[{"start":{"line":1482,"column":26},"end":{"line":1482,"column":37}},{"start":{"line":1482,"column":41},"end":{"line":1482,"column":109}}]},"134":{"line":1487,"type":"cond-expr","locations":[{"start":{"line":1487,"column":36},"end":{"line":1487,"column":38}},{"start":{"line":1487,"column":41},"end":{"line":1487,"column":59}}]},"135":{"line":1488,"type":"if","locations":[{"start":{"line":1488,"column":8},"end":{"line":1488,"column":7}},{"start":{"line":1488,"column":8},"end":{"line":1488,"column":7}}]},"136":{"line":1497,"type":"if","locations":[{"start":{"line":1497,"column":8},"end":{"line":1497,"column":7}},{"start":{"line":1497,"column":8},"end":{"line":1497,"column":7}}]},"137":{"line":1563,"type":"if","locations":[{"start":{"line":1563,"column":12},"end":{"line":1563,"column":11}},{"start":{"line":1563,"column":12},"end":{"line":1563,"column":11}}]},"138":{"line":1602,"type":"if","locations":[{"start":{"line":1602,"column":12},"end":{"line":1602,"column":11}},{"start":{"line":1602,"column":12},"end":{"line":1602,"column":11}}]},"139":{"line":1604,"type":"if","locations":[{"start":{"line":1604,"column":19},"end":{"line":1604,"column":18}},{"start":{"line":1604,"column":19},"end":{"line":1604,"column":18}}]},"140":{"line":1610,"type":"if","locations":[{"start":{"line":1610,"column":12},"end":{"line":1610,"column":11}},{"start":{"line":1610,"column":12},"end":{"line":1610,"column":11}}]},"141":{"line":1631,"type":"if","locations":[{"start":{"line":1631,"column":8},"end":{"line":1631,"column":7}},{"start":{"line":1631,"column":8},"end":{"line":1631,"column":7}}]},"142":{"line":1631,"type":"binary-expr","locations":[{"start":{"line":1631,"column":12},"end":{"line":1631,"column":33}},{"start":{"line":1631,"column":37},"end":{"line":1631,"column":66}}]}},"s":{"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":1,"8":2,"9":1,"10":1,"11":1,"12":1,"13":2,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":14,"30":14,"31":14,"32":14,"33":14,"34":14,"35":14,"36":14,"37":14,"38":14,"39":14,"40":14,"41":14,"42":7,"43":7,"44":1,"45":7,"46":20,"47":20,"48":20,"49":1,"50":0,"51":1,"52":20,"53":0,"54":0,"55":0,"56":20,"57":21,"58":21,"59":20,"60":21,"61":0,"62":1,"63":1,"64":0,"65":1,"66":1,"67":1,"68":1,"69":0,"70":1,"71":14,"72":14,"73":14,"74":14,"75":14,"76":14,"77":14,"78":1,"79":14,"80":14,"81":16,"82":14,"83":14,"84":1,"85":14,"86":7,"87":7,"88":7,"89":7,"90":7,"91":23,"92":1,"93":0,"94":23,"95":1,"96":0,"97":0,"98":0,"99":0,"100":7,"101":13,"102":1,"103":1,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":1,"120":1,"121":1,"122":0,"123":1,"124":1,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":1,"137":1,"138":1,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":1,"314":1,"315":1,"316":0,"317":0,"318":1,"319":0,"320":1,"321":0,"322":18,"323":1,"324":0,"325":0,"326":0,"327":0,"328":1,"329":0,"330":1,"331":3,"332":3,"333":0,"334":7,"335":6,"336":0,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":0,"344":0,"345":0,"346":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":1,"355":1,"356":1,"357":1,"358":0,"359":0,"360":0,"361":0,"362":0,"363":1,"364":1,"365":0,"366":1,"367":1,"368":0,"369":0,"370":0,"371":0,"372":0,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":0,"387":0,"388":0,"389":0,"390":0,"391":0,"392":0,"393":0,"394":0,"395":0,"396":1,"397":0,"398":1,"399":1,"400":0,"401":0,"402":0,"403":0,"404":0,"405":0,"406":0,"407":0,"408":0,"409":1,"410":0,"411":1,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":0,"434":0,"435":0,"436":0,"437":0,"438":0,"439":0,"440":0,"441":0,"442":0,"443":0,"444":0,"445":0,"446":0,"447":0,"448":0,"449":0,"450":0,"451":0,"452":0,"453":0,"454":0,"455":0,"456":0,"457":0,"458":0,"459":0,"460":0,"461":0,"462":0,"463":0,"464":0,"465":0,"466":0,"467":0,"468":0,"469":0,"470":0,"471":0,"472":0,"473":0,"474":0,"475":0,"476":0,"477":0,"478":0,"479":0,"480":0,"481":0,"482":0,"483":0,"484":0,"485":0,"486":0,"487":0,"488":0,"489":0,"490":0,"491":0,"492":0,"493":0,"494":0,"495":0,"496":0,"497":0,"498":0,"499":0,"500":0,"501":0,"502":0,"503":0,"504":0,"505":0,"506":0,"507":0,"508":0,"509":0,"510":0,"511":0,"512":0,"513":0,"514":0,"515":0,"516":0,"517":0,"518":0,"519":0,"520":0,"521":0,"522":0,"523":0,"524":0,"525":0,"526":0,"527":0,"528":0,"529":0,"530":0,"531":0,"532":0,"533":0,"534":0,"535":0,"536":0,"537":0,"538":0,"539":0,"540":0,"541":0,"542":0,"543":0,"544":0,"545":0,"546":0,"547":0,"548":0,"549":0,"550":0,"551":0,"552":0,"553":0,"554":0,"555":0,"556":0,"557":0,"558":0,"559":0,"560":0,"561":0,"562":0,"563":0,"564":0,"565":0,"566":0,"567":0,"568":0,"569":0,"570":0,"571":0,"572":0,"573":0,"574":0,"575":0,"576":35,"577":35,"578":35,"579":0,"580":35,"581":0,"582":0,"583":0,"584":0,"585":0,"586":0,"587":0,"588":0,"589":13,"590":13,"591":13,"592":13,"593":13,"594":13,"595":13,"596":13,"597":13,"598":13,"599":13,"600":0,"601":0,"602":0,"603":0,"604":0,"605":0,"606":0,"607":0,"608":0,"609":0,"610":0,"611":0,"612":7,"613":0,"614":7,"615":7,"616":7,"617":7,"618":7,"619":7,"620":7,"621":7,"622":0,"623":0,"624":0,"625":0,"626":0,"627":7,"628":7,"629":7,"630":0,"631":7,"632":7,"633":7,"634":7,"635":7,"636":0,"637":0,"638":0,"639":0,"640":0,"641":0,"642":0,"643":0,"644":0,"645":0,"646":0,"647":0,"648":0,"649":0,"650":0,"651":0,"652":0,"653":0,"654":0,"655":0,"656":0,"657":0,"658":0,"659":0,"660":0,"661":0,"662":0,"663":0,"664":0,"665":0,"666":0,"667":0,"668":0,"669":0,"670":0,"671":0,"672":0,"673":0,"674":0,"675":0,"676":0,"677":0,"678":0,"679":0,"680":0,"681":0,"682":0,"683":0,"684":0,"685":0,"686":0,"687":0,"688":0,"689":0,"690":0,"691":0,"692":0,"693":0,"694":0,"695":0,"696":0,"697":0,"698":0,"699":0,"700":0,"701":0,"702":0,"703":0,"704":0,"705":0,"706":0,"707":0,"708":0,"709":0,"710":0,"711":0,"712":0,"713":0,"714":0,"715":0,"716":0,"717":0,"718":0,"719":0,"720":0,"721":0,"722":0,"723":0,"724":0,"725":0,"726":0,"727":0,"728":0,"729":0,"730":0,"731":0,"732":0,"733":0,"734":0,"735":0,"736":0,"737":0,"738":0,"739":0,"740":0,"741":0,"742":0,"743":0,"744":0,"745":0,"746":0,"747":0,"748":0,"749":0,"750":0,"751":0,"752":0,"753":0,"754":0,"755":0,"756":0,"757":0,"758":0,"759":0,"760":0,"761":0,"762":0,"763":0,"764":0,"765":0,"766":0,"767":0,"768":0,"769":0,"770":0,"771":0,"772":0,"773":0,"774":0,"775":0,"776":0,"777":0,"778":0,"779":0,"780":0,"781":0,"782":0,"783":0,"784":0,"785":0,"786":0,"787":0,"788":0,"789":0,"790":0,"791":0,"792":0,"793":1,"794":1},"b":{"1":[1,1],"2":[1,1],"3":[1,6],"4":[7,7,6],"5":[1,19],"6":[20,20,1,1],"7":[0,1],"8":[0,20],"9":[20,0],"10":[0,0],"11":[1,0],"12":[1,1],"13":[1,0],"14":[14,0],"15":[14,0],"16":[1,13],"17":[1,13],"18":[0,23],"19":[23,1],"20":[1,0,0,0,0,7,13,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"21":[0,1],"22":[1,1],"23":[0,1],"24":[0,0],"25":[1,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[1,0],"57":[0,1],"58":[1,1,0],"59":[0,1],"60":[1,0,0],"61":[1,0,0,0,0,1,3,3,0,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"62":[0,1],"63":[0,1],"64":[0,0],"65":[0,0,0,0,0,0],"66":[1,0],"67":[0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],"68":[0,0],"69":[0,0,0,0],"70":[0,1],"71":[0,1],"72":[0,0],"73":[0,0,0],"74":[0,0,0,0,0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0,0,0],"90":[0,0,0,0,0,0,0,0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0,0,0,0,0,0,0,0,0,0],"96":[0,0],"97":[0,0],"98":[0,0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0],"103":[0,0],"104":[0,0],"105":[0,0],"106":[0,0],"107":[0,0],"108":[0,0],"109":[0,35],"110":[35,35,0,0],"111":[0,0],"112":[0,0],"113":[13,0],"114":[13,0],"115":[13,0],"116":[0,0],"117":[0,0],"118":[0,0],"119":[0,0],"120":[0,7],"121":[0,0],"122":[0,7],"123":[0,0],"124":[0,0],"125":[0,0],"126":[0,0],"127":[0,0],"128":[0,0],"129":[0,0],"130":[0,0],"131":[0,0],"132":[0,0],"133":[0,0],"134":[0,0],"135":[0,0],"136":[0,0],"137":[0,0],"138":[0,0],"139":[0,0],"140":[0,0],"141":[0,0],"142":[0,0]},"f":{"1":0,"2":1,"3":1,"4":14,"5":7,"6":7,"7":1,"8":7,"9":20,"10":20,"11":21,"12":0,"13":1,"14":1,"15":1,"16":14,"17":7,"18":23,"19":0,"20":1,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":1,"37":18,"38":1,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":35,"61":0,"62":0,"63":13,"64":13,"65":7,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0},"l":{"1":1,"4":1,"6":1,"9":1,"12":1,"15":0,"16":0,"20":2,"21":1,"22":1,"23":1,"24":1,"27":2,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"51":1,"53":1,"71":14,"72":14,"73":14,"74":14,"75":14,"76":14,"77":14,"78":14,"79":14,"80":14,"81":14,"82":14,"83":14,"87":7,"91":7,"95":1,"99":7,"104":20,"108":20,"109":20,"113":1,"114":0,"116":1,"119":20,"120":0,"121":0,"123":0,"126":20,"130":21,"131":21,"132":20,"133":21,"138":0,"142":1,"143":1,"145":0,"150":1,"151":1,"154":1,"156":1,"159":0,"163":1,"168":14,"169":14,"170":14,"173":14,"174":14,"176":14,"178":14,"180":1,"184":14,"185":16,"186":14,"188":14,"189":1,"191":14,"196":7,"197":7,"198":7,"200":7,"206":23,"207":0,"210":23,"212":1,"214":0,"216":0,"218":0,"220":0,"222":7,"224":13,"227":1,"230":1,"232":0,"234":0,"236":0,"238":0,"240":0,"242":0,"244":0,"246":0,"248":0,"250":0,"252":0,"257":0,"259":0,"264":0,"265":0,"269":1,"270":1,"272":1,"273":0,"279":1,"281":1,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"293":0,"297":0,"298":1,"299":1,"300":1,"302":0,"308":0,"309":0,"312":0,"313":0,"318":0,"319":0,"321":0,"323":0,"324":0,"325":0,"326":0,"327":0,"329":0,"330":0,"331":0,"332":0,"336":0,"337":0,"339":0,"340":0,"342":0,"343":0,"344":0,"345":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":0,"355":0,"357":0,"359":0,"360":0,"363":0,"364":0,"365":0,"367":0,"370":0,"373":0,"374":0,"377":0,"381":0,"382":0,"384":0,"389":0,"397":0,"399":0,"400":0,"401":0,"402":0,"404":0,"405":0,"406":0,"407":0,"408":0,"411":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"432":0,"434":0,"435":0,"436":0,"437":0,"438":0,"442":0,"444":0,"445":0,"446":0,"449":0,"451":0,"456":0,"457":0,"458":0,"460":0,"463":0,"464":0,"465":0,"466":0,"468":0,"470":0,"475":0,"478":0,"481":0,"482":0,"485":0,"486":0,"487":0,"488":0,"489":0,"490":0,"491":0,"492":0,"496":0,"497":0,"498":0,"500":0,"505":0,"506":0,"509":0,"511":0,"512":0,"516":0,"519":0,"520":0,"521":0,"523":0,"527":0,"528":0,"530":0,"535":0,"536":0,"538":0,"540":0,"541":0,"543":0,"546":0,"547":0,"548":0,"549":0,"552":0,"553":0,"554":0,"556":0,"558":0,"559":0,"560":0,"562":0,"564":0,"565":0,"566":0,"567":0,"571":0,"572":0,"575":0,"576":0,"577":0,"580":0,"584":0,"587":0,"589":0,"591":0,"593":0,"596":0,"600":0,"601":0,"605":0,"606":0,"607":0,"608":0,"609":0,"610":0,"611":0,"612":0,"613":0,"614":0,"615":0,"616":0,"617":0,"619":0,"620":0,"621":0,"623":0,"627":0,"628":0,"630":0,"638":1,"641":1,"642":1,"644":0,"649":1,"652":0,"656":1,"659":0,"664":18,"667":1,"670":0,"672":0,"674":0,"676":0,"679":1,"680":0,"683":1,"686":3,"687":3,"689":0,"691":7,"693":6,"695":0,"698":0,"700":0,"702":0,"704":0,"706":0,"708":0,"710":0,"713":0,"715":0,"717":0,"719":0,"721":0,"724":0,"727":0,"729":0,"731":0,"733":0,"742":1,"743":1,"746":1,"747":1,"748":0,"749":0,"750":0,"751":0,"753":0,"756":1,"759":1,"766":0,"770":1,"771":1,"773":0,"774":0,"776":0,"777":0,"780":0,"781":0,"782":0,"784":0,"786":0,"787":0,"789":0,"790":0,"792":0,"793":0,"795":0,"796":0,"798":0,"799":0,"801":0,"802":0,"804":0,"805":0,"807":0,"808":0,"810":0,"811":0,"813":0,"814":0,"816":1,"817":0,"820":1,"821":1,"824":0,"825":0,"828":0,"829":0,"831":0,"832":0,"834":0,"835":0,"837":0,"845":1,"846":0,"848":1,"853":0,"857":0,"861":0,"862":0,"863":0,"864":0,"865":0,"867":0,"870":0,"874":0,"875":0,"876":0,"878":0,"883":0,"884":0,"886":0,"888":0,"890":0,"891":0,"897":0,"898":0,"900":0,"902":0,"904":0,"906":0,"908":0,"910":0,"911":0,"917":0,"918":0,"920":0,"925":0,"926":0,"928":0,"929":0,"931":0,"932":0,"933":0,"937":0,"938":0,"939":0,"940":0,"943":0,"944":0,"945":0,"949":0,"950":0,"953":0,"954":0,"958":0,"960":0,"961":0,"962":0,"965":0,"966":0,"967":0,"970":0,"973":0,"977":0,"978":0,"982":0,"984":0,"987":0,"988":0,"989":0,"992":0,"993":0,"995":0,"996":0,"1001":0,"1002":0,"1003":0,"1004":0,"1005":0,"1007":0,"1009":0,"1010":0,"1012":0,"1015":0,"1016":0,"1018":0,"1019":0,"1020":0,"1023":0,"1024":0,"1026":0,"1027":0,"1028":0,"1031":0,"1033":0,"1035":0,"1037":0,"1039":0,"1044":0,"1051":0,"1052":0,"1054":0,"1055":0,"1057":0,"1064":0,"1065":0,"1066":0,"1067":0,"1068":0,"1070":0,"1072":0,"1074":0,"1076":0,"1078":0,"1080":0,"1082":0,"1084":0,"1086":0,"1088":0,"1090":0,"1092":0,"1095":0,"1100":0,"1103":0,"1104":0,"1107":0,"1108":0,"1111":0,"1115":0,"1118":0,"1119":0,"1122":0,"1124":0,"1125":0,"1126":0,"1127":0,"1132":0,"1133":0,"1137":0,"1138":0,"1141":0,"1142":0,"1146":0,"1147":0,"1148":0,"1152":0,"1153":0,"1154":0,"1159":0,"1180":0,"1182":0,"1183":0,"1185":0,"1191":0,"1192":0,"1194":0,"1196":0,"1202":0,"1203":0,"1205":0,"1207":0,"1212":0,"1213":0,"1215":0,"1216":0,"1217":0,"1218":0,"1219":0,"1221":0,"1226":35,"1227":35,"1228":35,"1232":0,"1234":35,"1238":0,"1239":0,"1240":0,"1241":0,"1243":0,"1244":0,"1249":0,"1250":0,"1255":13,"1257":13,"1258":13,"1259":13,"1260":13,"1264":13,"1268":13,"1270":13,"1271":13,"1272":13,"1273":13,"1275":0,"1277":0,"1279":0,"1282":0,"1283":0,"1286":0,"1288":0,"1291":0,"1292":0,"1294":0,"1297":0,"1306":7,"1308":7,"1309":7,"1310":7,"1311":7,"1312":7,"1315":7,"1317":7,"1320":7,"1321":0,"1324":0,"1325":0,"1327":0,"1329":0,"1334":7,"1336":7,"1339":7,"1340":0,"1343":7,"1344":7,"1347":7,"1349":7,"1351":7,"1356":0,"1358":0,"1359":0,"1360":0,"1361":0,"1362":0,"1365":0,"1367":0,"1370":0,"1371":0,"1374":0,"1375":0,"1377":0,"1379":0,"1383":0,"1386":0,"1388":0,"1391":0,"1392":0,"1395":0,"1396":0,"1397":0,"1400":0,"1402":0,"1407":0,"1408":0,"1411":0,"1414":0,"1417":0,"1420":0,"1421":0,"1424":0,"1425":0,"1426":0,"1428":0,"1430":0,"1431":0,"1434":0,"1438":0,"1439":0,"1443":0,"1444":0,"1445":0,"1446":0,"1450":0,"1451":0,"1453":0,"1454":0,"1456":0,"1461":0,"1462":0,"1466":0,"1467":0,"1471":0,"1472":0,"1475":0,"1480":0,"1482":0,"1484":0,"1487":0,"1488":0,"1489":0,"1490":0,"1492":0,"1493":0,"1494":0,"1496":0,"1497":0,"1498":0,"1499":0,"1501":0,"1502":0,"1504":0,"1506":0,"1507":0,"1509":0,"1511":0,"1514":0,"1517":0,"1518":0,"1520":0,"1524":0,"1526":0,"1528":0,"1529":0,"1530":0,"1532":0,"1534":0,"1538":0,"1540":0,"1541":0,"1542":0,"1545":0,"1547":0,"1548":0,"1549":0,"1551":0,"1553":0,"1558":0,"1560":0,"1561":0,"1563":0,"1564":0,"1567":0,"1570":0,"1573":0,"1574":0,"1578":0,"1579":0,"1580":0,"1581":0,"1582":0,"1584":0,"1588":0,"1590":0,"1591":0,"1594":0,"1598":0,"1600":0,"1601":0,"1602":0,"1603":0,"1604":0,"1605":0,"1607":0,"1610":0,"1611":0,"1612":0,"1614":0,"1615":0,"1619":0,"1624":0,"1625":0,"1626":0,"1629":0,"1631":0,"1632":0,"1633":0,"1634":0,"1635":0,"1636":0,"1637":0,"1640":0,"1641":0,"1646":0,"1648":0,"1649":0,"1650":0,"1651":0,"1654":0}},"src/TSHelper.ts":{"path":"src/TSHelper.ts","statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"2":{"start":{"line":7,"column":8},"end":{"line":11,"column":9}},"3":{"start":{"line":8,"column":12},"end":{"line":10,"column":13}},"4":{"start":{"line":9,"column":16},"end":{"line":9,"column":28}},"5":{"start":{"line":12,"column":8},"end":{"line":12,"column":25}},"6":{"start":{"line":17,"column":8},"end":{"line":17,"column":26}},"7":{"start":{"line":18,"column":8},"end":{"line":22,"column":9}},"8":{"start":{"line":19,"column":12},"end":{"line":21,"column":13}},"9":{"start":{"line":20,"column":16},"end":{"line":20,"column":34}},"10":{"start":{"line":23,"column":8},"end":{"line":23,"column":22}},"11":{"start":{"line":27,"column":8},"end":{"line":27,"column":69}},"12":{"start":{"line":27,"column":44},"end":{"line":27,"column":67}},"13":{"start":{"line":31,"column":8},"end":{"line":40,"column":9}},"14":{"start":{"line":32,"column":12},"end":{"line":39,"column":13}},"15":{"start":{"line":33,"column":16},"end":{"line":38,"column":17}},"16":{"start":{"line":34,"column":20},"end":{"line":34,"column":81}},"17":{"start":{"line":35,"column":20},"end":{"line":37,"column":21}},"18":{"start":{"line":36,"column":24},"end":{"line":36,"column":41}},"19":{"start":{"line":41,"column":8},"end":{"line":41,"column":25}},"20":{"start":{"line":45,"column":8},"end":{"line":52,"column":9}},"21":{"start":{"line":48,"column":12},"end":{"line":51,"column":71}},"22":{"start":{"line":49,"column":16},"end":{"line":51,"column":69}},"23":{"start":{"line":53,"column":8},"end":{"line":53,"column":21}},"24":{"start":{"line":57,"column":8},"end":{"line":57,"column":114}},"25":{"start":{"line":61,"column":8},"end":{"line":63,"column":63}},"26":{"start":{"line":67,"column":8},"end":{"line":67,"column":54}},"27":{"start":{"line":68,"column":8},"end":{"line":68,"column":116}},"28":{"start":{"line":72,"column":8},"end":{"line":75,"column":77}},"29":{"start":{"line":79,"column":8},"end":{"line":81,"column":71}},"30":{"start":{"line":85,"column":8},"end":{"line":87,"column":68}},"31":{"start":{"line":91,"column":8},"end":{"line":93,"column":66}},"32":{"start":{"line":97,"column":8},"end":{"line":102,"column":9}},"33":{"start":{"line":98,"column":12},"end":{"line":98,"column":68}},"34":{"start":{"line":99,"column":12},"end":{"line":99,"column":61}},"35":{"start":{"line":101,"column":12},"end":{"line":101,"column":25}},"36":{"start":{"line":106,"column":8},"end":{"line":109,"column":70}},"37":{"start":{"line":113,"column":8},"end":{"line":120,"column":9}},"38":{"start":{"line":114,"column":12},"end":{"line":114,"column":74}},"39":{"start":{"line":115,"column":12},"end":{"line":118,"column":59}},"40":{"start":{"line":116,"column":43},"end":{"line":116,"column":66}},"41":{"start":{"line":117,"column":36},"end":{"line":117,"column":55}},"42":{"start":{"line":118,"column":39},"end":{"line":118,"column":57}},"43":{"start":{"line":119,"column":12},"end":{"line":119,"column":54}},"44":{"start":{"line":121,"column":8},"end":{"line":121,"column":21}},"45":{"start":{"line":126,"column":8},"end":{"line":126,"column":27}},"46":{"start":{"line":127,"column":8},"end":{"line":133,"column":9}},"47":{"start":{"line":128,"column":12},"end":{"line":132,"column":13}},"48":{"start":{"line":129,"column":16},"end":{"line":129,"column":38}},"49":{"start":{"line":131,"column":16},"end":{"line":131,"column":41}},"50":{"start":{"line":134,"column":8},"end":{"line":134,"column":20}},"51":{"start":{"line":138,"column":8},"end":{"line":146,"column":9}},"52":{"start":{"line":139,"column":12},"end":{"line":139,"column":47}},"53":{"start":{"line":140,"column":12},"end":{"line":140,"column":68}},"54":{"start":{"line":142,"column":12},"end":{"line":145,"column":13}},"55":{"start":{"line":143,"column":16},"end":{"line":143,"column":60}},"56":{"start":{"line":144,"column":16},"end":{"line":144,"column":81}},"57":{"start":{"line":147,"column":8},"end":{"line":147,"column":21}},"58":{"start":{"line":151,"column":8},"end":{"line":159,"column":9}},"59":{"start":{"line":152,"column":12},"end":{"line":152,"column":47}},"60":{"start":{"line":153,"column":12},"end":{"line":153,"column":68}},"61":{"start":{"line":155,"column":12},"end":{"line":158,"column":13}},"62":{"start":{"line":156,"column":16},"end":{"line":156,"column":60}},"63":{"start":{"line":157,"column":16},"end":{"line":157,"column":81}},"64":{"start":{"line":160,"column":8},"end":{"line":160,"column":21}},"65":{"start":{"line":164,"column":8},"end":{"line":189,"column":9}},"66":{"start":{"line":166,"column":16},"end":{"line":166,"column":54}},"67":{"start":{"line":168,"column":16},"end":{"line":168,"column":55}},"68":{"start":{"line":170,"column":16},"end":{"line":170,"column":56}},"69":{"start":{"line":172,"column":16},"end":{"line":172,"column":56}},"70":{"start":{"line":174,"column":16},"end":{"line":174,"column":56}},"71":{"start":{"line":176,"column":16},"end":{"line":176,"column":58}},"72":{"start":{"line":178,"column":16},"end":{"line":178,"column":59}},"73":{"start":{"line":180,"column":16},"end":{"line":180,"column":60}},"74":{"start":{"line":182,"column":16},"end":{"line":182,"column":67}},"75":{"start":{"line":184,"column":16},"end":{"line":184,"column":67}},"76":{"start":{"line":186,"column":16},"end":{"line":186,"column":73}},"77":{"start":{"line":188,"column":16},"end":{"line":188,"column":84}},"78":{"start":{"line":191,"column":8},"end":{"line":191,"column":29}},"79":{"start":{"line":3,"column":0},"end":{"line":193,"column":1}}},"fnMap":{"1":{"name":"(anonymous_1)","line":6,"loc":{"start":{"line":6,"column":26},"end":{"line":6,"column":43}}},"2":{"name":"(anonymous_2)","line":16,"loc":{"start":{"line":16,"column":27},"end":{"line":16,"column":42}}},"3":{"name":"(anonymous_3)","line":26,"loc":{"start":{"line":26,"column":35},"end":{"line":26,"column":95}}},"4":{"name":"(anonymous_4)","line":30,"loc":{"start":{"line":30,"column":33},"end":{"line":30,"column":84}}},"5":{"name":"(anonymous_5)","line":44,"loc":{"start":{"line":44,"column":30},"end":{"line":44,"column":56}}},"6":{"name":"(anonymous_6)","line":56,"loc":{"start":{"line":56,"column":43},"end":{"line":56,"column":57}}},"7":{"name":"(anonymous_7)","line":60,"loc":{"start":{"line":60,"column":30},"end":{"line":60,"column":44}}},"8":{"name":"(anonymous_8)","line":66,"loc":{"start":{"line":66,"column":29},"end":{"line":66,"column":68}}},"9":{"name":"(anonymous_9)","line":71,"loc":{"start":{"line":71,"column":42},"end":{"line":71,"column":81}}},"10":{"name":"(anonymous_10)","line":78,"loc":{"start":{"line":78,"column":37},"end":{"line":78,"column":76}}},"11":{"name":"(anonymous_11)","line":84,"loc":{"start":{"line":84,"column":34},"end":{"line":84,"column":73}}},"12":{"name":"(anonymous_12)","line":90,"loc":{"start":{"line":90,"column":27},"end":{"line":90,"column":66}}},"13":{"name":"(anonymous_13)","line":96,"loc":{"start":{"line":96,"column":35},"end":{"line":96,"column":74}}},"14":{"name":"(anonymous_14)","line":105,"loc":{"start":{"line":105,"column":39},"end":{"line":105,"column":78}}},"15":{"name":"(anonymous_15)","line":112,"loc":{"start":{"line":112,"column":36},"end":{"line":112,"column":94}}},"16":{"name":"(anonymous_16)","line":125,"loc":{"start":{"line":125,"column":36},"end":{"line":125,"column":103}}},"17":{"name":"(anonymous_17)","line":137,"loc":{"start":{"line":137,"column":32},"end":{"line":137,"column":71}}},"18":{"name":"(anonymous_18)","line":150,"loc":{"start":{"line":150,"column":32},"end":{"line":150,"column":71}}},"19":{"name":"(anonymous_19)","line":163,"loc":{"start":{"line":163,"column":41},"end":{"line":163,"column":62}}}},"branchMap":{"1":{"line":8,"type":"if","locations":[{"start":{"line":8,"column":12},"end":{"line":8,"column":11}},{"start":{"line":8,"column":12},"end":{"line":8,"column":11}}]},"2":{"line":19,"type":"if","locations":[{"start":{"line":19,"column":12},"end":{"line":19,"column":11}},{"start":{"line":19,"column":12},"end":{"line":19,"column":11}}]},"3":{"line":19,"type":"binary-expr","locations":[{"start":{"line":19,"column":16},"end":{"line":19,"column":45}},{"start":{"line":19,"column":49},"end":{"line":19,"column":71}}]},"4":{"line":31,"type":"if","locations":[{"start":{"line":31,"column":8},"end":{"line":31,"column":7}},{"start":{"line":31,"column":8},"end":{"line":31,"column":7}}]},"5":{"line":33,"type":"if","locations":[{"start":{"line":33,"column":16},"end":{"line":33,"column":15}},{"start":{"line":33,"column":16},"end":{"line":33,"column":15}}]},"6":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":20},"end":{"line":35,"column":19}},{"start":{"line":35,"column":20},"end":{"line":35,"column":19}}]},"7":{"line":45,"type":"if","locations":[{"start":{"line":45,"column":8},"end":{"line":45,"column":7}},{"start":{"line":45,"column":8},"end":{"line":45,"column":7}}]},"8":{"line":49,"type":"binary-expr","locations":[{"start":{"line":49,"column":16},"end":{"line":49,"column":88}},{"start":{"line":50,"column":19},"end":{"line":50,"column":68}},{"start":{"line":51,"column":19},"end":{"line":51,"column":69}}]},"9":{"line":57,"type":"binary-expr","locations":[{"start":{"line":57,"column":15},"end":{"line":57,"column":26}},{"start":{"line":57,"column":30},"end":{"line":57,"column":67}},{"start":{"line":57,"column":71},"end":{"line":57,"column":113}}]},"10":{"line":61,"type":"binary-expr","locations":[{"start":{"line":61,"column":15},"end":{"line":61,"column":55}},{"start":{"line":62,"column":15},"end":{"line":62,"column":59}},{"start":{"line":63,"column":15},"end":{"line":63,"column":62}}]},"11":{"line":68,"type":"binary-expr","locations":[{"start":{"line":68,"column":15},"end":{"line":68,"column":23}},{"start":{"line":68,"column":28},"end":{"line":68,"column":69}},{"start":{"line":68,"column":73},"end":{"line":68,"column":114}}]},"12":{"line":72,"type":"binary-expr","locations":[{"start":{"line":72,"column":15},"end":{"line":72,"column":26}},{"start":{"line":73,"column":16},"end":{"line":73,"column":63}},{"start":{"line":74,"column":15},"end":{"line":74,"column":76}},{"start":{"line":75,"column":15},"end":{"line":75,"column":76}}]},"13":{"line":79,"type":"binary-expr","locations":[{"start":{"line":79,"column":15},"end":{"line":79,"column":26}},{"start":{"line":80,"column":16},"end":{"line":80,"column":64}},{"start":{"line":81,"column":15},"end":{"line":81,"column":70}}]},"14":{"line":85,"type":"binary-expr","locations":[{"start":{"line":85,"column":15},"end":{"line":85,"column":26}},{"start":{"line":86,"column":16},"end":{"line":86,"column":64}},{"start":{"line":87,"column":15},"end":{"line":87,"column":67}}]},"15":{"line":91,"type":"binary-expr","locations":[{"start":{"line":91,"column":15},"end":{"line":91,"column":26}},{"start":{"line":92,"column":16},"end":{"line":92,"column":68}},{"start":{"line":93,"column":15},"end":{"line":93,"column":65}}]},"16":{"line":97,"type":"if","locations":[{"start":{"line":97,"column":8},"end":{"line":97,"column":7}},{"start":{"line":97,"column":8},"end":{"line":97,"column":7}}]},"17":{"line":106,"type":"binary-expr","locations":[{"start":{"line":106,"column":15},"end":{"line":106,"column":26}},{"start":{"line":107,"column":16},"end":{"line":107,"column":67}},{"start":{"line":108,"column":19},"end":{"line":108,"column":68}},{"start":{"line":109,"column":15},"end":{"line":109,"column":69}}]},"18":{"line":113,"type":"if","locations":[{"start":{"line":113,"column":8},"end":{"line":113,"column":7}},{"start":{"line":113,"column":8},"end":{"line":113,"column":7}}]},"19":{"line":128,"type":"if","locations":[{"start":{"line":128,"column":12},"end":{"line":128,"column":11}},{"start":{"line":128,"column":12},"end":{"line":128,"column":11}}]},"20":{"line":138,"type":"if","locations":[{"start":{"line":138,"column":8},"end":{"line":138,"column":7}},{"start":{"line":138,"column":8},"end":{"line":138,"column":7}}]},"21":{"line":142,"type":"if","locations":[{"start":{"line":142,"column":12},"end":{"line":142,"column":11}},{"start":{"line":142,"column":12},"end":{"line":142,"column":11}}]},"22":{"line":142,"type":"binary-expr","locations":[{"start":{"line":142,"column":16},"end":{"line":142,"column":20}},{"start":{"line":142,"column":24},"end":{"line":142,"column":35}},{"start":{"line":142,"column":39},"end":{"line":142,"column":58}}]},"23":{"line":144,"type":"binary-expr","locations":[{"start":{"line":144,"column":23},"end":{"line":144,"column":28}},{"start":{"line":144,"column":32},"end":{"line":144,"column":80}}]},"24":{"line":151,"type":"if","locations":[{"start":{"line":151,"column":8},"end":{"line":151,"column":7}},{"start":{"line":151,"column":8},"end":{"line":151,"column":7}}]},"25":{"line":155,"type":"if","locations":[{"start":{"line":155,"column":12},"end":{"line":155,"column":11}},{"start":{"line":155,"column":12},"end":{"line":155,"column":11}}]},"26":{"line":155,"type":"binary-expr","locations":[{"start":{"line":155,"column":16},"end":{"line":155,"column":20}},{"start":{"line":155,"column":24},"end":{"line":155,"column":35}},{"start":{"line":155,"column":39},"end":{"line":155,"column":58}}]},"27":{"line":157,"type":"binary-expr","locations":[{"start":{"line":157,"column":23},"end":{"line":157,"column":28}},{"start":{"line":157,"column":32},"end":{"line":157,"column":80}}]},"28":{"line":165,"type":"switch","locations":[{"start":{"line":165,"column":12},"end":{"line":166,"column":54}},{"start":{"line":167,"column":12},"end":{"line":168,"column":55}},{"start":{"line":169,"column":12},"end":{"line":170,"column":56}},{"start":{"line":171,"column":12},"end":{"line":172,"column":56}},{"start":{"line":173,"column":12},"end":{"line":174,"column":56}},{"start":{"line":175,"column":12},"end":{"line":176,"column":58}},{"start":{"line":177,"column":12},"end":{"line":178,"column":59}},{"start":{"line":179,"column":12},"end":{"line":180,"column":60}},{"start":{"line":181,"column":12},"end":{"line":182,"column":67}},{"start":{"line":183,"column":12},"end":{"line":184,"column":67}},{"start":{"line":185,"column":12},"end":{"line":186,"column":73}},{"start":{"line":187,"column":12},"end":{"line":188,"column":84}}]}},"s":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":14,"21":14,"22":16,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":1,"37":1,"38":1,"39":1,"40":0,"41":0,"42":0,"43":1,"44":0,"45":1,"46":1,"47":2,"48":1,"49":1,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":1,"59":0,"60":0,"61":0,"62":0,"63":0,"64":1,"65":1,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":1,"79":1},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[14,0],"8":[16,15,15],"9":[0,0,0],"10":[0,0,0],"11":[0,0,0],"12":[0,0,0,0],"13":[0,0,0],"14":[0,0,0],"15":[0,0,0],"16":[0,0],"17":[1,1,0,1],"18":[1,0],"19":[1,1],"20":[0,0],"21":[0,0],"22":[0,0,0],"23":[0,0],"24":[0,1],"25":[0,0],"26":[0,0,0],"27":[0,0],"28":[0,0,0,0,0,0,0,0,0,0,0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":14,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":1,"19":1},"l":{"1":1,"3":1,"7":0,"8":0,"9":0,"12":0,"17":0,"18":0,"19":0,"20":0,"23":0,"27":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"41":0,"45":14,"48":14,"49":16,"53":0,"57":0,"61":0,"67":0,"68":0,"72":0,"79":0,"85":0,"91":0,"97":0,"98":0,"99":0,"101":0,"106":1,"113":1,"114":1,"115":1,"116":0,"117":0,"118":0,"119":1,"121":0,"126":1,"127":1,"128":2,"129":1,"131":1,"134":0,"138":0,"139":0,"140":0,"142":0,"143":0,"144":0,"147":0,"151":1,"152":0,"153":0,"155":0,"156":0,"157":0,"160":1,"164":1,"166":0,"168":0,"170":0,"172":0,"174":0,"176":0,"178":0,"180":0,"182":0,"184":0,"186":0,"188":0,"191":1}},"src/targets/Transpiler.52.ts":{"path":"src/targets/Transpiler.52.ts","statementMap":{"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":50}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":33}},"3":{"start":{"line":15,"column":8},"end":{"line":15,"column":48}},"4":{"start":{"line":16,"column":8},"end":{"line":16,"column":29}},"5":{"start":{"line":17,"column":8},"end":{"line":17,"column":42}},"6":{"start":{"line":18,"column":8},"end":{"line":18,"column":26}},"7":{"start":{"line":19,"column":8},"end":{"line":19,"column":58}},"8":{"start":{"line":20,"column":8},"end":{"line":20,"column":25}},"9":{"start":{"line":21,"column":8},"end":{"line":21,"column":40}},"10":{"start":{"line":22,"column":8},"end":{"line":22,"column":74}},"11":{"start":{"line":23,"column":8},"end":{"line":23,"column":22}},"12":{"start":{"line":28,"column":8},"end":{"line":28,"column":93}},"13":{"start":{"line":33,"column":8},"end":{"line":36,"column":9}},"14":{"start":{"line":35,"column":16},"end":{"line":35,"column":48}},"15":{"start":{"line":41,"column":8},"end":{"line":54,"column":9}},"16":{"start":{"line":43,"column":16},"end":{"line":43,"column":51}},"17":{"start":{"line":45,"column":16},"end":{"line":45,"column":50}},"18":{"start":{"line":47,"column":16},"end":{"line":47,"column":51}},"19":{"start":{"line":49,"column":16},"end":{"line":49,"column":53}},"20":{"start":{"line":51,"column":16},"end":{"line":51,"column":53}},"21":{"start":{"line":53,"column":16},"end":{"line":53,"column":54}},"22":{"start":{"line":6,"column":0},"end":{"line":56,"column":1}}},"fnMap":{"1":{"name":"(anonymous_1)","line":8,"loc":{"start":{"line":8,"column":28},"end":{"line":13,"column":31}}},"2":{"name":"(anonymous_2)","line":27,"loc":{"start":{"line":27,"column":28},"end":{"line":27,"column":55}}},"3":{"name":"(anonymous_3)","line":32,"loc":{"start":{"line":32,"column":37},"end":{"line":32,"column":85}}},"4":{"name":"(anonymous_4)","line":40,"loc":{"start":{"line":40,"column":32},"end":{"line":40,"column":84}}}},"branchMap":{"1":{"line":34,"type":"switch","locations":[{"start":{"line":34,"column":12},"end":{"line":35,"column":48}}]},"2":{"line":42,"type":"switch","locations":[{"start":{"line":42,"column":12},"end":{"line":43,"column":51}},{"start":{"line":44,"column":12},"end":{"line":45,"column":50}},{"start":{"line":46,"column":12},"end":{"line":47,"column":51}},{"start":{"line":48,"column":12},"end":{"line":49,"column":53}},{"start":{"line":50,"column":12},"end":{"line":51,"column":53}},{"start":{"line":52,"column":12},"end":{"line":53,"column":54}}]}},"s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":1},"b":{"1":[0],"2":[0,0,0,0,0,0]},"f":{"1":0,"2":0,"3":0,"4":0},"l":{"2":1,"4":1,"6":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"28":0,"33":0,"35":0,"41":0,"43":0,"45":0,"47":0,"49":0,"51":0,"53":0}},"src/targets/Transpiler.53.ts":{"path":"src/targets/Transpiler.53.ts","statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":47}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":50}},"3":{"start":{"line":5,"column":0},"end":{"line":5,"column":33}},"4":{"start":{"line":10,"column":8},"end":{"line":13,"column":9}},"5":{"start":{"line":12,"column":16},"end":{"line":12,"column":37}},"6":{"start":{"line":18,"column":8},"end":{"line":31,"column":9}},"7":{"start":{"line":20,"column":16},"end":{"line":20,"column":41}},"8":{"start":{"line":22,"column":16},"end":{"line":22,"column":41}},"9":{"start":{"line":24,"column":16},"end":{"line":24,"column":41}},"10":{"start":{"line":26,"column":16},"end":{"line":26,"column":42}},"11":{"start":{"line":28,"column":16},"end":{"line":28,"column":42}},"12":{"start":{"line":30,"column":16},"end":{"line":30,"column":96}},"13":{"start":{"line":36,"column":8},"end":{"line":39,"column":10}},"14":{"start":{"line":7,"column":0},"end":{"line":41,"column":1}}},"fnMap":{"1":{"name":"(anonymous_1)","line":9,"loc":{"start":{"line":9,"column":37},"end":{"line":9,"column":85}}},"2":{"name":"(anonymous_2)","line":17,"loc":{"start":{"line":17,"column":32},"end":{"line":17,"column":84}}},"3":{"name":"(anonymous_3)","line":35,"loc":{"start":{"line":35,"column":35},"end":{"line":null,"column":-1}}}},"branchMap":{"1":{"line":11,"type":"switch","locations":[{"start":{"line":11,"column":12},"end":{"line":12,"column":37}}]},"2":{"line":19,"type":"switch","locations":[{"start":{"line":19,"column":12},"end":{"line":20,"column":41}},{"start":{"line":21,"column":12},"end":{"line":22,"column":41}},{"start":{"line":23,"column":12},"end":{"line":24,"column":41}},{"start":{"line":25,"column":12},"end":{"line":26,"column":42}},{"start":{"line":27,"column":12},"end":{"line":28,"column":42}},{"start":{"line":29,"column":12},"end":{"line":30,"column":96}}]}},"s":{"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":1},"b":{"1":[0],"2":[0,0,0,0,0,0]},"f":{"1":0,"2":0,"3":0},"l":{"1":1,"3":1,"5":1,"7":1,"10":0,"12":0,"18":0,"20":0,"22":0,"24":0,"26":0,"28":0,"30":0,"36":0}},"src/targets/Transpiler.JIT.ts":{"path":"src/targets/Transpiler.JIT.ts","statementMap":{"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":50}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":33}},"3":{"start":{"line":9,"column":8},"end":{"line":12,"column":9}},"4":{"start":{"line":11,"column":16},"end":{"line":11,"column":46}},"5":{"start":{"line":17,"column":8},"end":{"line":30,"column":9}},"6":{"start":{"line":19,"column":16},"end":{"line":19,"column":49}},"7":{"start":{"line":21,"column":16},"end":{"line":21,"column":48}},"8":{"start":{"line":23,"column":16},"end":{"line":23,"column":49}},"9":{"start":{"line":25,"column":16},"end":{"line":25,"column":51}},"10":{"start":{"line":27,"column":16},"end":{"line":27,"column":51}},"11":{"start":{"line":29,"column":16},"end":{"line":29,"column":52}},"12":{"start":{"line":6,"column":0},"end":{"line":32,"column":1}}},"fnMap":{"1":{"name":"(anonymous_1)","line":8,"loc":{"start":{"line":8,"column":37},"end":{"line":8,"column":85}}},"2":{"name":"(anonymous_2)","line":16,"loc":{"start":{"line":16,"column":32},"end":{"line":16,"column":84}}}},"branchMap":{"1":{"line":10,"type":"switch","locations":[{"start":{"line":10,"column":12},"end":{"line":11,"column":46}}]},"2":{"line":18,"type":"switch","locations":[{"start":{"line":18,"column":12},"end":{"line":19,"column":49}},{"start":{"line":20,"column":12},"end":{"line":21,"column":48}},{"start":{"line":22,"column":12},"end":{"line":23,"column":49}},{"start":{"line":24,"column":12},"end":{"line":25,"column":51}},{"start":{"line":26,"column":12},"end":{"line":27,"column":51}},{"start":{"line":28,"column":12},"end":{"line":29,"column":52}}]}},"s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":1},"b":{"1":[0],"2":[0,0,0,0,0,0]},"f":{"1":0,"2":0},"l":{"2":1,"4":1,"6":1,"9":0,"11":0,"17":0,"19":0,"21":0,"23":0,"25":0,"27":0,"29":0}}} \ No newline at end of file From 8a63a99b120138bb52e696ac6a4b2bd050ba1b2d Mon Sep 17 00:00:00 2001 From: Lolleko Date: Sun, 22 Jul 2018 00:31:41 +0200 Subject: [PATCH 31/42] Added import options --- build_lualib.ts | 4 ++-- package.json | 2 +- src/CommandLineParser.ts | 14 +++++++++----- src/Compiler.ts | 4 ++-- src/Transpiler.ts | 18 ++++++++++++++++-- test/src/util.ts | 6 +++--- test/unit/cli.spec.ts | 2 +- test/unit/expressions.spec.ts | 10 +++++----- test/unit/modules.spec.ts | 4 ++-- 9 files changed, 41 insertions(+), 23 deletions(-) diff --git a/build_lualib.ts b/build_lualib.ts index 1a4540d23..536458dbc 100644 --- a/build_lualib.ts +++ b/build_lualib.ts @@ -3,8 +3,8 @@ import * as glob from "glob"; import {compile} from "./src/Compiler"; compile([ - "-ah", - "--dontRequireLuaLib", + "--luaLibImport", + "none", "--luaTarget", "5.1", "--outDir", diff --git a/package.json b/package.json index 9ab2e5deb..73a5eed61 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "scripts": { "build": "tsc -p tsconfig.json && npm run build-lualib", "build-lualib": "ts-node ./build_lualib.ts", - "test": "tslint -p . && npm run build && ts-node ./test/runner.ts", + "test": "tslint -p . && ts-node ./test/runner.ts", "coverage": "nyc npm test && nyc report --reporter=text-lcov > coverage.lcov", "coverage-html": "nyc npm test && nyc report --reporter=html", "test-threaded": "tslint -p . && npm run build && ts-node ./test/threaded_runner.ts", diff --git a/src/CommandLineParser.ts b/src/CommandLineParser.ts index 62a0b2138..91a57528b 100644 --- a/src/CommandLineParser.ts +++ b/src/CommandLineParser.ts @@ -6,7 +6,7 @@ import * as yargs from "yargs"; export interface CompilerOptions extends ts.CompilerOptions { addHeader?: boolean; luaTarget?: string; - dontRequireLuaLib?: boolean; + luaLibImport?: string; } export interface ParsedCommandLine extends ts.ParsedCommandLine { @@ -24,10 +24,11 @@ const optionDeclarations: { [key: string]: yargs.Options } = { describe: "Specify if a header will be added to compiled files.", type: "boolean", }, - dontRequireLuaLib: { - default: false, - describe: "Dont require lua library that enables advanced Typescipt/JS functionality.", - type: "boolean", + luaLibImport: { + choices: ["inline", "require", "none"], + default: "inline", + describe: "Specify Lua target version.", + type: "string", }, luaTarget: { alias: "lt", @@ -117,6 +118,9 @@ function addTSTLOptions(commandLine: ts.ParsedCommandLine, /** Check the current state of the ParsedCommandLine for errors */ function runDiagnostics(commandLine: ts.ParsedCommandLine) { + // Remove files that dont exist + commandLine.fileNames = commandLine.fileNames.filter(file => fs.existsSync(file) || fs.existsSync(file + ".ts")); + const tsInvalidCompilerOptionErrorCode = 5023; if (commandLine.errors.length !== 0) { // Generate a list of valid option names and aliases diff --git a/src/Compiler.ts b/src/Compiler.ts index 275643361..596698c1a 100644 --- a/src/Compiler.ts +++ b/src/Compiler.ts @@ -7,7 +7,7 @@ import { LuaTranspiler51 } from "./targets/Transpiler.51"; import { LuaTranspiler52 } from "./targets/Transpiler.52"; import { LuaTranspiler53 } from "./targets/Transpiler.53"; import { LuaTranspilerJIT } from "./targets/Transpiler.JIT"; -import { LuaTarget, LuaTranspiler, TranspileError } from "./Transpiler"; +import { LuaLibImportKind, LuaTarget, LuaTranspiler, TranspileError } from "./Transpiler"; export function compile(argv: string[]) { const commandLine = parseCommandLine(argv); @@ -97,7 +97,7 @@ export function compileFilesWithOptions(fileNames: string[], options: CompilerOp }); // Copy lualib to target dir - if (!options.dontRequireLuaLib) { + if (options.luaLibImport === LuaLibImportKind.Require) { fs.copyFileSync( path.resolve(__dirname, "../dist/lualib/lualib_bundle.lua"), path.join(options.outDir, "lualib_bundle.lua") diff --git a/src/Transpiler.ts b/src/Transpiler.ts index 197cab979..13a396df8 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -3,6 +3,7 @@ import * as ts from "typescript"; import { CompilerOptions } from "./CommandLineParser"; import { TSHelper as tsHelper } from "./TSHelper"; +import * as fs from "fs"; import * as path from "path"; /* tslint:disable */ @@ -42,6 +43,12 @@ export enum LuaLibFeature { Ternary = "Ternary", } +export enum LuaLibImportKind { + Inline = "inline", + Require = "require", + None = "none", +} + interface ExportInfo { name: string; node: ts.Node; @@ -171,9 +178,9 @@ export abstract class LuaTranspiler { "-- https://github.com/Perryvw/TypescriptToLua\n"; } let result = header; - if (!this.options.dontRequireLuaLib) { + if (this.options.luaLibImport === LuaLibImportKind.Require) { // require helper functions - result += `require("typescript_lualib")\n`; + result += `require("lualib_bundle")\n`; } if (this.isModule) { // Shadow exports if it already exists @@ -188,6 +195,13 @@ export abstract class LuaTranspiler { if (this.isModule) { result += "return exports\n"; } + + if (this.options.luaLibImport === LuaLibImportKind.Inline) { + for (const feature of this.luaLibFeatureSet) { + const featureFile = path.resolve(__dirname, `../dist/lualib/${feature}.lua`); + result += fs.readFileSync(featureFile) + "\n"; + } + } return result; } diff --git a/test/src/util.ts b/test/src/util.ts index c2b099901..98c84d19b 100644 --- a/test/src/util.ts +++ b/test/src/util.ts @@ -13,7 +13,7 @@ const fs = require("fs"); const libSource = fs.readFileSync(path.join(path.dirname(require.resolve('typescript')), 'lib.es6.d.ts')).toString(); -export function transpileString(str: string, options: CompilerOptions = { dontRequireLuaLib: true, luaTarget: LuaTarget.Lua53 }): string { +export function transpileString(str: string, options: CompilerOptions = { luaLibImport: "require", luaTarget: LuaTarget.Lua53 }): string { const compilerHost = { directoryExists: () => true, fileExists: (fileName): boolean => true, @@ -55,7 +55,7 @@ export function transpileFile(filePath: string): string { const diagnostics = ts.getPreEmitDiagnostics(program).filter(diag => diag.code !== 6054); diagnostics.forEach(diagnostic => console.log(`${ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n")}`)); - const options: ts.CompilerOptions = { dontRequireLuaLib: true }; + const options: ts.CompilerOptions = { luaLibImport: "none" }; const result = createTranspiler(checker, options, program.getSourceFile(filePath)).transpileSourceFile(); return result.trim(); } @@ -106,7 +106,7 @@ export function expectCodeEqual(code1: string, code2: string) { // Get a mock transpiler to use for testing export function makeTestTranspiler(target: LuaTarget = LuaTarget.Lua53) { return createTranspiler({} as ts.TypeChecker, - { dontRequireLuaLib: true, luaTarget: target } as any, + { luaLibImport: "none", luaTarget: target } as any, { statements: [] } as any as ts.SourceFile); } diff --git a/test/unit/cli.spec.ts b/test/unit/cli.spec.ts index f290767b7..47ae24613 100644 --- a/test/unit/cli.spec.ts +++ b/test/unit/cli.spec.ts @@ -7,7 +7,7 @@ export class CLITests { @Test("defaultOption") @TestCase("luaTarget", "JIT") @TestCase("addHeader", true) - @TestCase("dontRequireLuaLib", false) + @TestCase("luaLibImport", "inline") @TestCase("rootDir", process.cwd()) @TestCase("outDir", process.cwd()) public defaultOptions(option: any, expected: any) { diff --git a/test/unit/expressions.spec.ts b/test/unit/expressions.spec.ts index cef8d7b61..e3c3357f4 100644 --- a/test/unit/expressions.spec.ts +++ b/test/unit/expressions.spec.ts @@ -107,7 +107,7 @@ export class ExpressionTests { @Test("Bitop [5.1]") public bitOperatorOverride51(input: string, lua: string) { // Bit operations not supported in 5.1, expect an exception - Expect(() => util.transpileString(input, { luaTarget: LuaTarget.Lua51, dontRequireLuaLib: true })) + Expect(() => util.transpileString(input, { luaTarget: LuaTarget.Lua51, luaLibImport: "none" })) .toThrow(); } @@ -126,7 +126,7 @@ export class ExpressionTests { @TestCase("a>>>=b", "a = bit.arshift(a,b)") @Test("Bitop [JIT]") public bitOperatorOverrideJIT(input: string, lua: string) { - Expect(util.transpileString(input, { luaTarget: LuaTarget.LuaJIT, dontRequireLuaLib: true })).toBe(lua); + Expect(util.transpileString(input, { luaTarget: LuaTarget.LuaJIT, luaLibImport: "none" })).toBe(lua); } @TestCase("~a", "bit32.bnot(a)") @@ -144,7 +144,7 @@ export class ExpressionTests { @TestCase("a>>>=b", "a = bit32.arshift(a,b)") @Test("Bitop [5.2]") public bitOperatorOverride52(input: string, lua: string) { - Expect(util.transpileString(input, { luaTarget: LuaTarget.Lua52, dontRequireLuaLib: true })).toBe(lua); + Expect(util.transpileString(input, { luaTarget: LuaTarget.Lua52, luaLibImport: "none" })).toBe(lua); } @TestCase("~a", "~a") @@ -160,14 +160,14 @@ export class ExpressionTests { @TestCase("a>>=b", "a = a >> b") @Test("Bitop [5.3]") public bitOperatorOverride53(input: string, lua: string) { - Expect(util.transpileString(input, { luaTarget: LuaTarget.Lua53, dontRequireLuaLib: true })).toBe(lua); + Expect(util.transpileString(input, { luaTarget: LuaTarget.Lua53, luaLibImport: "none" })).toBe(lua); } @TestCase("a>>>b") @TestCase("a>>>=b") @Test("Unsupported bitop 5.3") public bitOperatorOverride53Unsupported(input: string) { - Expect(() => util.transpileString(input, { luaTarget: LuaTarget.Lua53, dontRequireLuaLib: true })) + Expect(() => util.transpileString(input, { luaTarget: LuaTarget.Lua53, luaLibImport: "none" })) .toThrowError(Error, "Bitwise operator >>> not supported in Lua 5.3"); } diff --git a/test/unit/modules.spec.ts b/test/unit/modules.spec.ts index 60147b9f0..31716fbf5 100644 --- a/test/unit/modules.spec.ts +++ b/test/unit/modules.spec.ts @@ -15,10 +15,10 @@ export class LuaModuleTests { @Test("lualibRequire") public lualibRequire() { // Transpile - const lua = util.transpileString(``, {dontRequireLuaLib: false, luaTarget: "JIT"}); + const lua = util.transpileString(``, {luaLibImport: "require", luaTarget: "JIT"}); // Assert - Expect(lua).toBe(`require("typescript_lualib")`); + Expect(lua).toBe(`require("lualib_bundle")`); } @Test("Import named bindings exception") From 837deef86cf1e71d0f6e68970bd5f87b226d71ae Mon Sep 17 00:00:00 2001 From: Lolleko Date: Sun, 22 Jul 2018 07:26:02 +0200 Subject: [PATCH 32/42] Fixed inlining happening after return & changed addheader optio flag to => noHeader --- build_lualib.ts | 1 + src/CommandLineParser.ts | 5 ++--- src/Transpiler.ts | 15 ++++++++------- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/build_lualib.ts b/build_lualib.ts index 536458dbc..46b868236 100644 --- a/build_lualib.ts +++ b/build_lualib.ts @@ -7,6 +7,7 @@ compile([ "none", "--luaTarget", "5.1", + "--noHeader", "--outDir", "./dist/lualib", "--rootDir", diff --git a/src/CommandLineParser.ts b/src/CommandLineParser.ts index 91a57528b..855b3e424 100644 --- a/src/CommandLineParser.ts +++ b/src/CommandLineParser.ts @@ -18,9 +18,8 @@ export class CLIError extends Error { } const optionDeclarations: { [key: string]: yargs.Options } = { - addHeader: { - alias: ["ah", "header"], - default: true, + noHeader: { + default: false, describe: "Specify if a header will be added to compiled files.", type: "boolean", }, diff --git a/src/Transpiler.ts b/src/Transpiler.ts index 13a396df8..75a89a02b 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -187,6 +187,14 @@ export abstract class LuaTranspiler { result += "local exports = exports or {}\n"; } + // Inline lualib features + if (this.options.luaLibImport === LuaLibImportKind.Inline) { + for (const feature of this.luaLibFeatureSet) { + const featureFile = path.resolve(__dirname, `../dist/lualib/${feature}.lua`); + result += fs.readFileSync(featureFile) + "\n"; + } + } + // Transpile content statements this.exportStack.push([]); this.sourceFile.statements.forEach(s => result += this.transpileNode(s)); @@ -195,13 +203,6 @@ export abstract class LuaTranspiler { if (this.isModule) { result += "return exports\n"; } - - if (this.options.luaLibImport === LuaLibImportKind.Inline) { - for (const feature of this.luaLibFeatureSet) { - const featureFile = path.resolve(__dirname, `../dist/lualib/${feature}.lua`); - result += fs.readFileSync(featureFile) + "\n"; - } - } return result; } From d12017de5a798680143fed33ba774401baa97cde Mon Sep 17 00:00:00 2001 From: Lolleko Date: Sun, 22 Jul 2018 07:53:42 +0200 Subject: [PATCH 33/42] Fixed Laulib Inline/Export order & Fixed lualib build not cleanung up --- build_lualib.ts | 7 ++++++- src/CommandLineParser.ts | 10 +++++----- src/Compiler.ts | 2 +- src/Transpiler.ts | 11 +++++++---- test/src/util.ts | 10 +++++----- 5 files changed, 24 insertions(+), 16 deletions(-) diff --git a/build_lualib.ts b/build_lualib.ts index 46b868236..1416020c3 100644 --- a/build_lualib.ts +++ b/build_lualib.ts @@ -1,6 +1,9 @@ import concat = require("concat"); import * as glob from "glob"; import {compile} from "./src/Compiler"; +import * as fs from "fs"; + +const bundlePath = "./dist/lualib/lualib_bundle.lua"; compile([ "--luaLibImport", @@ -15,4 +18,6 @@ compile([ ...glob.sync("./src/lualib/*.ts"), ]); -concat(glob.sync("./dist/lualib/*.lua"), "./dist/lualib/lualib_bundle.lua"); +fs.unlinkSync(bundlePath); + +concat(glob.sync("./dist/lualib/*.lua"), bundlePath); diff --git a/src/CommandLineParser.ts b/src/CommandLineParser.ts index 855b3e424..1d02eb76c 100644 --- a/src/CommandLineParser.ts +++ b/src/CommandLineParser.ts @@ -18,11 +18,6 @@ export class CLIError extends Error { } const optionDeclarations: { [key: string]: yargs.Options } = { - noHeader: { - default: false, - describe: "Specify if a header will be added to compiled files.", - type: "boolean", - }, luaLibImport: { choices: ["inline", "require", "none"], default: "inline", @@ -36,6 +31,11 @@ const optionDeclarations: { [key: string]: yargs.Options } = { describe: "Specify Lua target version.", type: "string", }, + noHeader: { + default: false, + describe: "Specify if a header will be added to compiled files.", + type: "boolean", + }, }; /** diff --git a/src/Compiler.ts b/src/Compiler.ts index 596698c1a..8dd5f61db 100644 --- a/src/Compiler.ts +++ b/src/Compiler.ts @@ -51,7 +51,7 @@ export function compileFilesWithOptions(fileNames: string[], options: CompilerOp try { const rootDir = options.rootDir; - console.log(`Transpiling ${sourceFile.fileName}...`); + // console.log(`Transpiling ${sourceFile.fileName}...`); // Transpile AST const lua = createTranspiler(checker, options, sourceFile).transpileSourceFile(); diff --git a/src/Transpiler.ts b/src/Transpiler.ts index 75a89a02b..9df508eb9 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -187,17 +187,20 @@ export abstract class LuaTranspiler { result += "local exports = exports or {}\n"; } + // Transpile content statements + this.exportStack.push([]); + this.sourceFile.statements.forEach(s => result += this.transpileNode(s)); + // Inline lualib features if (this.options.luaLibImport === LuaLibImportKind.Inline) { + result += "\n" + "-- Lua Library Imports\n"; for (const feature of this.luaLibFeatureSet) { const featureFile = path.resolve(__dirname, `../dist/lualib/${feature}.lua`); - result += fs.readFileSync(featureFile) + "\n"; + result += fs.readFileSync(featureFile).toString() + "\n"; } } - // Transpile content statements - this.exportStack.push([]); - this.sourceFile.statements.forEach(s => result += this.transpileNode(s)); + // Exports result += this.makeExports(); if (this.isModule) { diff --git a/test/src/util.ts b/test/src/util.ts index 98c84d19b..463172c22 100644 --- a/test/src/util.ts +++ b/test/src/util.ts @@ -1,19 +1,19 @@ -import * as ts from "typescript"; import * as path from "path"; +import * as ts from "typescript"; import { Expect } from "alsatian"; -import { LuaTarget, LuaTranspiler, TranspileError } from "../../src/Transpiler"; import { CompilerOptions } from "../../src/CommandLineParser"; import { createTranspiler } from "../../src/Compiler"; +import { LuaTarget, LuaTranspiler, TranspileError } from "../../src/Transpiler"; import {lauxlib, lua, lualib, to_jsstring, to_luastring } from "fengari"; const fs = require("fs"); -const libSource = fs.readFileSync(path.join(path.dirname(require.resolve('typescript')), 'lib.es6.d.ts')).toString(); +const libSource = fs.readFileSync(path.join(path.dirname(require.resolve("typescript")), "lib.es6.d.ts")).toString(); -export function transpileString(str: string, options: CompilerOptions = { luaLibImport: "require", luaTarget: LuaTarget.Lua53 }): string { +export function transpileString(str: string, options: CompilerOptions = { luaLibImport: "none", luaTarget: LuaTarget.Lua53 }): string { const compilerHost = { directoryExists: () => true, fileExists: (fileName): boolean => true, @@ -118,4 +118,4 @@ const tslualib = fs.readFileSync("dist/lualib/lualib_bundle.lua") + "\n"; const jsonlib = fs.readFileSync("test/src/json.lua") + "\n"; -export const minimalTestLib = tslualib + jsonlib; +export const minimalTestLib = tslualib + jsonlib; \ No newline at end of file From cb16b2714551545f7632ae85d03455ff919410a0 Mon Sep 17 00:00:00 2001 From: Lolleko Date: Sun, 22 Jul 2018 07:58:12 +0200 Subject: [PATCH 34/42] Fixed defaultoption test test --- test/unit/cli.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/cli.spec.ts b/test/unit/cli.spec.ts index 47ae24613..f8ebcb7c2 100644 --- a/test/unit/cli.spec.ts +++ b/test/unit/cli.spec.ts @@ -6,7 +6,7 @@ export class CLITests { @Test("defaultOption") @TestCase("luaTarget", "JIT") - @TestCase("addHeader", true) + @TestCase("noHeader", false) @TestCase("luaLibImport", "inline") @TestCase("rootDir", process.cwd()) @TestCase("outDir", process.cwd()) From 8854697f7c08cbff9e40bc4e41bd82db186972bd Mon Sep 17 00:00:00 2001 From: Lolleko Date: Sun, 22 Jul 2018 08:16:02 +0200 Subject: [PATCH 35/42] Fixed build error --- build_lualib.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build_lualib.ts b/build_lualib.ts index 1416020c3..2bb8a0a2e 100644 --- a/build_lualib.ts +++ b/build_lualib.ts @@ -18,6 +18,8 @@ compile([ ...glob.sync("./src/lualib/*.ts"), ]); -fs.unlinkSync(bundlePath); +if (fs.existsSync(bundlePath)) { + fs.unlinkSync(bundlePath); +} concat(glob.sync("./dist/lualib/*.lua"), bundlePath); From e626a502f8f9845f7eb95aadbc03f3b06a831e9f Mon Sep 17 00:00:00 2001 From: Lolleko Date: Sun, 22 Jul 2018 12:30:09 +0200 Subject: [PATCH 36/42] Replaced concat witf fs functions --- build_lualib.ts | 6 +++++- package-lock.json | 9 --------- package.json | 1 - 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/build_lualib.ts b/build_lualib.ts index 2bb8a0a2e..128dbadb5 100644 --- a/build_lualib.ts +++ b/build_lualib.ts @@ -22,4 +22,8 @@ if (fs.existsSync(bundlePath)) { fs.unlinkSync(bundlePath); } -concat(glob.sync("./dist/lualib/*.lua"), bundlePath); +let bundle = ""; + +glob.sync("./dist/lualib/*.lua").forEach(fileName => bundle += fs.readFileSync(fileName)); + +fs.writeFileSync(bundlePath, bundle); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c6f768cdc..7dd5fda20 100644 --- a/package-lock.json +++ b/package-lock.json @@ -282,15 +282,6 @@ "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==", "dev": true }, - "concat": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/concat/-/concat-1.0.3.tgz", - "integrity": "sha1-QPM1MInWVGdpXLGIa0Xt1jfYzKg=", - "dev": true, - "requires": { - "commander": "^2.9.0" - } - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", diff --git a/package.json b/package.json index 73a5eed61..dbf12839c 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,6 @@ "alsatian": "^2.2.1", "circular-json": "^0.5.5", "codecov": "3.0.2", - "concat": "^1.0.3", "deep-equal": "^1.0.1", "fengari": "^0.1.2", "glob": "^7.1.2", From 946efa6ac7b55b01817d102dcb665c92e8c6e4dc Mon Sep 17 00:00:00 2001 From: Lolleko Date: Sun, 22 Jul 2018 12:55:50 +0200 Subject: [PATCH 37/42] Fixed dependecy issue --- build_lualib.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/build_lualib.ts b/build_lualib.ts index 128dbadb5..e43e9b000 100644 --- a/build_lualib.ts +++ b/build_lualib.ts @@ -1,7 +1,6 @@ -import concat = require("concat"); +import * as fs from "fs"; import * as glob from "glob"; import {compile} from "./src/Compiler"; -import * as fs from "fs"; const bundlePath = "./dist/lualib/lualib_bundle.lua"; @@ -26,4 +25,4 @@ let bundle = ""; glob.sync("./dist/lualib/*.lua").forEach(fileName => bundle += fs.readFileSync(fileName)); -fs.writeFileSync(bundlePath, bundle); \ No newline at end of file +fs.writeFileSync(bundlePath, bundle); From b83de62902ae608201e61ccc9d3743f1a5d94252 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Sun, 22 Jul 2018 13:44:27 +0200 Subject: [PATCH 38/42] Fixed transpiler review comments --- src/Transpiler.ts | 38 +++++++++++++++++++------------------- tslint.json | 7 ++++++- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/Transpiler.ts b/src/Transpiler.ts index 9df508eb9..68218e775 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -107,7 +107,7 @@ export abstract class LuaTranspiler { "local " : ""; } - public pushExport(nameIn: string, nodeIn: ts.Node, dummyIn: boolean = false) { + public pushExport(nameIn: string, nodeIn: ts.Node, dummyIn: boolean = false): void { this.exportStack[this.exportStack.length - 1].push({name: nameIn, node: nodeIn, dummy: dummyIn}); } @@ -135,24 +135,23 @@ export abstract class LuaTranspiler { public makeExports(): string { let result = ""; - this.exportStack.pop().forEach( - exp => result += this.makeExport(exp.name, exp.node, exp.dummy)); + this.exportStack.pop().forEach(exp => result += this.makeExport(exp.name, exp.node, exp.dummy)); return result; } - public importLuaLibFeature(feature: LuaLibFeature) { + public importLuaLibFeature(feature: LuaLibFeature): void { // TODO inline imported features in output i option set this.luaLibFeatureSet.add(feature); } - public getAbsoluteImportPath(relativePath: string) { + public getAbsoluteImportPath(relativePath: string): string { if (relativePath.charAt(0) !== "." && this.options.baseUrl) { return path.resolve(this.options.baseUrl, relativePath); } return path.resolve(path.dirname(this.sourceFile.fileName), relativePath); } - public getImportPath(relativePath: string) { + public getImportPath(relativePath: string): string { // Calculate absolute path to import const absolutePathToImport = this.getAbsoluteImportPath(relativePath); if (this.options.rootDir) { @@ -166,7 +165,7 @@ export abstract class LuaTranspiler { return `"${this.pathToLuaRequirePath(relativePath)}"`; } - public pathToLuaRequirePath(filePath: string) { + public pathToLuaRequirePath(filePath: string): string { return filePath.replace(new RegExp("\\\\|\/", "g"), "."); } @@ -299,19 +298,20 @@ export abstract class LuaTranspiler { if (ts.isNamedImports(imports)) { const fileImportTable = path.basename(importPathWithoutQuotes) + this.importCount; const resolvedImportPath = this.getImportPath(importPathWithoutQuotes); + let result = `local ${fileImportTable} = require(${resolvedImportPath})\n`; this.importCount++; + imports.elements.forEach(element => { const nameText = this.transpileIdentifier(element.name); if (element.propertyName) { const propertyText = this.transpileIdentifier(element.propertyName); - result += - `local ${nameText} = ${fileImportTable}.${propertyText}\n`; + result += `local ${nameText} = ${fileImportTable}.${propertyText}\n`; } else { - result += - `local ${nameText} = ${fileImportTable}.${nameText}\n`; + result += `local ${nameText} = ${fileImportTable}.${nameText}\n`; } }); + return result; } else if (ts.isNamespaceImport(imports)) { const resolvedImportPath = this.getImportPath(importPathWithoutQuotes); @@ -875,7 +875,7 @@ export abstract class LuaTranspiler { throw new TranspileError(`Bit operations are not supported in Lua ${this.options.target}`, node); } - public transpileTemplateExpression(node: ts.TemplateExpression) { + public transpileTemplateExpression(node: ts.TemplateExpression): string { const parts = [`"${node.head.text}"`]; node.templateSpans.forEach(span => { const expr = this.transpileExpression(span.expression, true); @@ -963,7 +963,7 @@ export abstract class LuaTranspiler { return isTupleReturn && !isInDestructingAssignment ? `({ ${callPath}(${params}) })` : `${callPath}(${params})`; } - public transpilePropertyCall(node: ts.CallExpression) { + public transpilePropertyCall(node: ts.CallExpression): string { let params; let callPath; @@ -1240,6 +1240,8 @@ export abstract class LuaTranspiler { } } + // Counter-act typescript's identifier escaping: + // https://github.com/Microsoft/TypeScript/blob/master/src/compiler/utilities.ts#L556 public transpileIdentifier(identifier: ts.Identifier): string { const escapedText = identifier.escapedText as string; const underScoreCharCode = "_".charCodeAt(0); @@ -1254,7 +1256,7 @@ export abstract class LuaTranspiler { public transpileArrayBindingElement(name: ts.ArrayBindingElement): string { if (ts.isOmittedExpression(name)) { - return "_"; + return "__"; } else if (ts.isIdentifier(name)) { return this.transpileIdentifier(name); } else { @@ -1274,8 +1276,8 @@ export abstract class LuaTranspiler { node.declarationList.declarations.forEach(declaration => { result += this.transpileVariableDeclaration(declaration as ts.VariableDeclaration); - if (ts.isIdentifier((declaration.name as ts.Identifier))) { - this.pushExport(this.transpileIdentifier((declaration.name as ts.Identifier)), node); + if (ts.isIdentifier(declaration.name)) { + this.pushExport(this.transpileIdentifier(declaration.name as ts.Identifier), node); } }); @@ -1301,9 +1303,7 @@ export abstract class LuaTranspiler { throw new TranspileError(`Ellipsis destruction is not allowed.`, node); } - const vars = node.name.elements.map( - element => - (this.transpileIdentifier((element as ts.BindingElement).name as ts.Identifier))).join(","); + const vars = node.name.elements.map(this.transpileArrayBindingElement).join(","); // Don't unpack TupleReturn decorated functions if (tsHelper.isTupleReturnCall(node.initializer, this.checker)) { diff --git a/tslint.json b/tslint.json index 43e9fbc2f..d9770be29 100644 --- a/tslint.json +++ b/tslint.json @@ -28,7 +28,12 @@ } ], "interface-name": false, - "radix": false + "radix": false, + "typedef": [ + true, + "call-signature", + "property-declaration" + ] }, "rulesDirectory": [] } From 5f72d435416e8e7cbb23011b99474f7c3d053f93 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Sun, 22 Jul 2018 13:59:32 +0200 Subject: [PATCH 39/42] Fixed some linting issues --- src/CommandLineParser.ts | 6 +++--- src/Compiler.ts | 2 +- src/TSHelper.ts | 8 ++++---- src/Transpiler.ts | 4 +++- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/CommandLineParser.ts b/src/CommandLineParser.ts index 1d02eb76c..5e91f4915 100644 --- a/src/CommandLineParser.ts +++ b/src/CommandLineParser.ts @@ -102,7 +102,7 @@ export function parseCommandLine(args: string[]): ParsedCommandLine { function addTSTLOptions(commandLine: ts.ParsedCommandLine, additionalArgs?: yargs.Arguments, - forceOverride?: boolean) { + forceOverride?: boolean): void { additionalArgs = additionalArgs ? additionalArgs : commandLine.raw; // Add compiler options that are ignored by TS parsers if (additionalArgs) { @@ -116,7 +116,7 @@ function addTSTLOptions(commandLine: ts.ParsedCommandLine, } /** Check the current state of the ParsedCommandLine for errors */ -function runDiagnostics(commandLine: ts.ParsedCommandLine) { +function runDiagnostics(commandLine: ts.ParsedCommandLine): void { // Remove files that dont exist commandLine.fileNames = commandLine.fileNames.filter(file => fs.existsSync(file) || fs.existsSync(file + ".ts")); @@ -154,7 +154,7 @@ function runDiagnostics(commandLine: ts.ParsedCommandLine) { } /** Find configFile, function from ts api seems to be broken? */ -export function findConfigFile(commandLine: ts.ParsedCommandLine) { +export function findConfigFile(commandLine: ts.ParsedCommandLine): void { if (!commandLine.options.project) { throw new CLIError(`error no base path provided, could not find config.`); } diff --git a/src/Compiler.ts b/src/Compiler.ts index 8dd5f61db..95172f766 100644 --- a/src/Compiler.ts +++ b/src/Compiler.ts @@ -9,7 +9,7 @@ import { LuaTranspiler53 } from "./targets/Transpiler.53"; import { LuaTranspilerJIT } from "./targets/Transpiler.JIT"; import { LuaLibImportKind, LuaTarget, LuaTranspiler, TranspileError } from "./Transpiler"; -export function compile(argv: string[]) { +export function compile(argv: string[]): void { const commandLine = parseCommandLine(argv); compileFilesWithOptions(commandLine.fileNames, commandLine.options); } diff --git a/src/TSHelper.ts b/src/TSHelper.ts index b817b59bc..607966c46 100644 --- a/src/TSHelper.ts +++ b/src/TSHelper.ts @@ -3,7 +3,7 @@ import * as ts from "typescript"; export class TSHelper { // Reverse lookup of enum key by value - public static enumName(needle, haystack) { + public static enumName(needle, haystack): string { for (const name in haystack) { if (haystack[name] === needle) { return name; @@ -13,7 +13,7 @@ export class TSHelper { } // Breaks down a mask into all flag names. - public static enumNames(mask, haystack) { + public static enumNames(mask, haystack): string[] { const result = []; for (const name in haystack) { if ((mask & haystack[name]) !== 0 && mask >= haystack[name]) { @@ -41,7 +41,7 @@ export class TSHelper { return undefined; } - public static isFileModule(sourceFile: ts.SourceFile) { + public static isFileModule(sourceFile: ts.SourceFile): boolean { if (sourceFile) { // Vanilla ts flags files as external module if they have an import or // export statement, we only check for export statements @@ -53,7 +53,7 @@ export class TSHelper { return false; } - public static isInDestructingAssignment(node: ts.Node) { + public static isInDestructingAssignment(node: ts.Node): boolean { return node.parent && ts.isVariableDeclaration(node.parent) && ts.isArrayBindingPattern(node.parent.name); } diff --git a/src/Transpiler.ts b/src/Transpiler.ts index 68218e775..7320fe7d5 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -1259,6 +1259,8 @@ export abstract class LuaTranspiler { return "__"; } else if (ts.isIdentifier(name)) { return this.transpileIdentifier(name); + } else if (ts.isBindingElement(name) && ts.isIdentifier(name.name)) { + return this.transpileIdentifier(name.name); } else { const kind = tsHelper.enumName(name.kind, ts.SyntaxKind); throw new TranspileError(`Encountered not-supported array binding element kind: ${kind}`, name); @@ -1303,7 +1305,7 @@ export abstract class LuaTranspiler { throw new TranspileError(`Ellipsis destruction is not allowed.`, node); } - const vars = node.name.elements.map(this.transpileArrayBindingElement).join(","); + const vars = node.name.elements.map(e => this.transpileArrayBindingElement(e)).join(","); // Don't unpack TupleReturn decorated functions if (tsHelper.isTupleReturnCall(node.initializer, this.checker)) { From 24562ed3c580b9b6017d21e851af95cae30ff318 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Sun, 22 Jul 2018 14:58:53 +0200 Subject: [PATCH 40/42] Added linting for lualib src to build command --- package.json | 2 +- src/lualib/Set.ts | 2 +- tslint.json | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index dbf12839c..6a7d3d0af 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ ], "scripts": { "build": "tsc -p tsconfig.json && npm run build-lualib", - "build-lualib": "ts-node ./build_lualib.ts", + "build-lualib": "tslint -c ./tslint.json src/lualib/*.ts && ts-node ./build_lualib.ts", "test": "tslint -p . && ts-node ./test/runner.ts", "coverage": "nyc npm test && nyc report --reporter=text-lcov > coverage.lcov", "coverage-html": "nyc npm test && nyc report --reporter=html", diff --git a/src/lualib/Set.ts b/src/lualib/Set.ts index abfdd33f8..81021dbef 100644 --- a/src/lualib/Set.ts +++ b/src/lualib/Set.ts @@ -20,7 +20,7 @@ class Set { } } - public add(value: TValue) { + public add(value: TValue): Set { if (!this.has(value)) { this.size++; } diff --git a/tslint.json b/tslint.json index d9770be29..bb6058aba 100644 --- a/tslint.json +++ b/tslint.json @@ -15,6 +15,7 @@ "max-classes-per-file": 1, "max-line-length": [true, 120], "no-console": [false], + "no-namespace": false, "trailing-comma": [ true, { From a5c434873e5553bb56ff43de3609d1d533ad4a30 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Sun, 22 Jul 2018 15:14:28 +0200 Subject: [PATCH 41/42] Moved linting step to test instead of build --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 6a7d3d0af..c4f9a5398 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,8 @@ ], "scripts": { "build": "tsc -p tsconfig.json && npm run build-lualib", - "build-lualib": "tslint -c ./tslint.json src/lualib/*.ts && ts-node ./build_lualib.ts", - "test": "tslint -p . && ts-node ./test/runner.ts", + "build-lualib": "ts-node ./build_lualib.ts", + "test": "tslint -p . && tslint -c ./tslint.json src/lualib/*.ts && ts-node ./test/runner.ts", "coverage": "nyc npm test && nyc report --reporter=text-lcov > coverage.lcov", "coverage-html": "nyc npm test && nyc report --reporter=html", "test-threaded": "tslint -p . && npm run build && ts-node ./test/threaded_runner.ts", From a819459c80a6f1dfed91e943c3df2ec8084154f0 Mon Sep 17 00:00:00 2001 From: Lolleko Date: Sun, 22 Jul 2018 19:48:33 +0200 Subject: [PATCH 42/42] Fixed some minor issues --- src/CommandLineParser.ts | 2 +- src/Compiler.ts | 2 -- src/Index.ts | 2 +- src/lualib/ArraySplice.ts | 21 +-------------------- test/unit/{ => lualib}/lualib.spec.ts | 2 +- 5 files changed, 4 insertions(+), 25 deletions(-) rename test/unit/{ => lualib}/lualib.spec.ts (99%) diff --git a/src/CommandLineParser.ts b/src/CommandLineParser.ts index 5e91f4915..c6dfb11fc 100644 --- a/src/CommandLineParser.ts +++ b/src/CommandLineParser.ts @@ -21,7 +21,7 @@ const optionDeclarations: { [key: string]: yargs.Options } = { luaLibImport: { choices: ["inline", "require", "none"], default: "inline", - describe: "Specify Lua target version.", + describe: "Specifies how js standard features missing in lua are imported.", type: "string", }, luaTarget: { diff --git a/src/Compiler.ts b/src/Compiler.ts index 95172f766..1afc69425 100644 --- a/src/Compiler.ts +++ b/src/Compiler.ts @@ -51,8 +51,6 @@ export function compileFilesWithOptions(fileNames: string[], options: CompilerOp try { const rootDir = options.rootDir; - // console.log(`Transpiling ${sourceFile.fileName}...`); - // Transpile AST const lua = createTranspiler(checker, options, sourceFile).transpileSourceFile(); diff --git a/src/Index.ts b/src/Index.ts index c4dd2be38..5055ec8aa 100644 --- a/src/Index.ts +++ b/src/Index.ts @@ -1,5 +1,5 @@ #!/usr/bin/env node -import {compile} from "./Compiler"; +import { compile } from "./Compiler"; compile(process.argv.slice(2)); diff --git a/src/lualib/ArraySplice.ts b/src/lualib/ArraySplice.ts index 99737a4cb..b875d706c 100644 --- a/src/lualib/ArraySplice.ts +++ b/src/lualib/ArraySplice.ts @@ -1,22 +1,17 @@ -// https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ...items: T[]): T[] { - // 1. 2. + const len = list.length; let actualStart; - // 4. if (start < 0) { actualStart = Math.max(len + start, 0); } else { actualStart = Math.min(start, len); } - // 13. - // 14. const itemCount = items.length; - // 5. - 7. let actualDeleteCount: number; if (!start) { @@ -27,13 +22,8 @@ function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ... actualDeleteCount = Math.min(Math.max(deleteCount, 0), len - actualStart); } - // 8. ignored - - // 9. const out: T[] = []; - // 10. - // 11. for (let k = 0; k < actualDeleteCount; k++) { const from = actualStart + k; @@ -42,9 +32,7 @@ function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ... } } - // 15. if (itemCount < actualDeleteCount) { - // a. b. for (let k = actualStart; k < len - actualDeleteCount; k++) { const from = k + actualDeleteCount; const to = k + itemCount; @@ -55,11 +43,9 @@ function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ... list[to] = undefined; } } - // c. d. for (let k = len; k > len - actualDeleteCount + itemCount; k--) { list[k - 1] = undefined; } - // 16. } else if (itemCount > actualDeleteCount) { for (let k = len - actualDeleteCount; k > actualStart; k--) { @@ -71,23 +57,18 @@ function __TS__ArraySplice(list: T[], start: number, deleteCount: number, ... } else { list[to] = undefined; } - } } - // 17. - // 18. let j = actualStart; for (const e of items) { list[j] = e; j++; } - // 19. for (let k = list.length - 1; k >= len - actualDeleteCount + itemCount; k--) { list[k] = undefined; } - // 20. return out; } diff --git a/test/unit/lualib.spec.ts b/test/unit/lualib/lualib.spec.ts similarity index 99% rename from test/unit/lualib.spec.ts rename to test/unit/lualib/lualib.spec.ts index 0b9bb8bfa..ecc470fc7 100644 --- a/test/unit/lualib.spec.ts +++ b/test/unit/lualib/lualib.spec.ts @@ -1,5 +1,5 @@ import { Expect, Test, TestCase } from "alsatian"; -import * as util from "../src/util"; +import * as util from "../../src/util"; export class LuaLibArrayTests {