nyc 13.2.0 → 13.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/commands/report.js +40 -0
  3. package/lib/instrumenters/istanbul.js +6 -12
  4. package/lib/instrumenters/noop.js +5 -5
  5. package/node_modules/arrify/package.json +1 -2
  6. package/node_modules/async/CHANGELOG.md +3 -0
  7. package/node_modules/async/package.json +11 -11
  8. package/node_modules/handlebars/dist/amd/handlebars/base.js +2 -2
  9. package/node_modules/handlebars/dist/amd/handlebars/compiler/javascript-compiler.js +4 -1
  10. package/node_modules/handlebars/dist/amd/handlebars/compiler/parser.js +3 -5
  11. package/node_modules/handlebars/dist/cjs/handlebars/base.js +2 -2
  12. package/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js +4 -1
  13. package/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js +3 -5
  14. package/node_modules/handlebars/dist/handlebars.amd.js +10 -9
  15. package/node_modules/handlebars/dist/handlebars.amd.min.js +4 -4
  16. package/node_modules/handlebars/dist/handlebars.js +7 -6
  17. package/node_modules/handlebars/dist/handlebars.min.js +4 -4
  18. package/node_modules/handlebars/dist/handlebars.runtime.amd.js +3 -3
  19. package/node_modules/handlebars/dist/handlebars.runtime.amd.min.js +2 -2
  20. package/node_modules/handlebars/dist/handlebars.runtime.js +2 -2
  21. package/node_modules/handlebars/dist/handlebars.runtime.min.js +2 -2
  22. package/node_modules/handlebars/lib/handlebars/base.js +1 -1
  23. package/node_modules/handlebars/lib/handlebars/compiler/javascript-compiler.js +3 -0
  24. package/node_modules/handlebars/lib/handlebars/compiler/parser.js +9 -9
  25. package/node_modules/handlebars/lib/handlebars.d.ts +356 -0
  26. package/node_modules/handlebars/package.json +12 -11
  27. package/node_modules/handlebars/release-notes.md +38 -1
  28. package/node_modules/istanbul-reports/CHANGELOG.md +11 -0
  29. package/node_modules/istanbul-reports/package.json +12 -12
  30. package/node_modules/mem/index.js +5 -1
  31. package/node_modules/mem/package.json +14 -14
  32. package/node_modules/normalize-package-data/README.md +1 -1
  33. package/node_modules/normalize-package-data/lib/fixer.js +3 -2
  34. package/node_modules/normalize-package-data/package.json +13 -13
  35. package/node_modules/p-is-promise/index.d.ts +13 -0
  36. package/node_modules/p-is-promise/index.js +10 -6
  37. package/node_modules/p-is-promise/license +4 -16
  38. package/node_modules/p-is-promise/package.json +17 -18
  39. package/node_modules/p-is-promise/readme.md +1 -1
  40. package/node_modules/path-parse/.travis.yml +9 -0
  41. package/node_modules/{is-builtin-module/license → path-parse/LICENSE} +5 -5
  42. package/node_modules/path-parse/README.md +42 -0
  43. package/node_modules/path-parse/index.js +93 -0
  44. package/node_modules/path-parse/package.json +64 -0
  45. package/node_modules/path-parse/test.js +77 -0
  46. package/node_modules/resolve/.editorconfig +20 -0
  47. package/node_modules/resolve/.eslintignore +1 -0
  48. package/node_modules/resolve/.eslintrc +31 -0
  49. package/node_modules/resolve/.travis.yml +269 -0
  50. package/node_modules/resolve/CHANGELOG.md +629 -0
  51. package/node_modules/resolve/LICENSE +18 -0
  52. package/node_modules/resolve/appveyor.yml +47 -0
  53. package/node_modules/resolve/changelog.hbs +36 -0
  54. package/node_modules/resolve/example/async.js +5 -0
  55. package/node_modules/resolve/example/sync.js +3 -0
  56. package/node_modules/resolve/index.js +8 -0
  57. package/node_modules/resolve/lib/async.js +229 -0
  58. package/node_modules/resolve/lib/caller.js +8 -0
  59. package/node_modules/resolve/lib/core.js +53 -0
  60. package/node_modules/resolve/lib/core.json +73 -0
  61. package/node_modules/resolve/lib/node-modules-paths.js +42 -0
  62. package/node_modules/resolve/lib/normalize-options.js +10 -0
  63. package/node_modules/resolve/lib/sync.js +154 -0
  64. package/node_modules/resolve/package.json +77 -0
  65. package/node_modules/resolve/readme.markdown +179 -0
  66. package/node_modules/resolve/test/.eslintrc +5 -0
  67. package/node_modules/resolve/test/core.js +82 -0
  68. package/node_modules/resolve/test/dotdot/abc/index.js +2 -0
  69. package/node_modules/resolve/test/dotdot/index.js +1 -0
  70. package/node_modules/resolve/test/dotdot.js +29 -0
  71. package/node_modules/resolve/test/faulty_basedir.js +29 -0
  72. package/node_modules/resolve/test/filter.js +34 -0
  73. package/node_modules/resolve/test/filter_sync.js +26 -0
  74. package/node_modules/resolve/test/mock.js +143 -0
  75. package/node_modules/resolve/test/mock_sync.js +67 -0
  76. package/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
  77. package/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
  78. package/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
  79. package/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
  80. package/node_modules/resolve/test/module_dir.js +56 -0
  81. package/node_modules/resolve/test/node-modules-paths.js +121 -0
  82. package/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
  83. package/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
  84. package/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
  85. package/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
  86. package/node_modules/resolve/test/node_path.js +70 -0
  87. package/node_modules/resolve/test/nonstring.js +9 -0
  88. package/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
  89. package/node_modules/resolve/test/pathfilter.js +75 -0
  90. package/node_modules/resolve/test/precedence/aaa/index.js +1 -0
  91. package/node_modules/resolve/test/precedence/aaa/main.js +1 -0
  92. package/node_modules/resolve/test/precedence/aaa.js +1 -0
  93. package/node_modules/resolve/test/precedence/bbb/main.js +1 -0
  94. package/node_modules/resolve/test/precedence/bbb.js +1 -0
  95. package/node_modules/resolve/test/precedence.js +23 -0
  96. package/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  97. package/node_modules/resolve/test/resolver/baz/package.json +3 -0
  98. package/node_modules/resolve/test/resolver/baz/quux.js +1 -0
  99. package/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
  100. package/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
  101. package/node_modules/resolve/test/resolver/browser_field/package.json +5 -0
  102. package/node_modules/resolve/test/resolver/cup.coffee +1 -0
  103. package/node_modules/resolve/test/resolver/dot_main/index.js +1 -0
  104. package/node_modules/resolve/test/resolver/dot_main/package.json +3 -0
  105. package/node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0
  106. package/node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0
  107. package/node_modules/resolve/test/resolver/foo.js +1 -0
  108. package/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
  109. package/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
  110. package/node_modules/resolve/test/resolver/invalid_main/package.json +7 -0
  111. package/node_modules/resolve/test/resolver/mug.coffee +0 -0
  112. package/node_modules/resolve/test/resolver/mug.js +0 -0
  113. package/node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0
  114. package/node_modules/resolve/test/resolver/multirepo/package.json +20 -0
  115. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0
  116. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0
  117. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
  118. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0
  119. package/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  120. package/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  121. package/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
  122. package/node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0
  123. package/node_modules/resolve/test/resolver/same_names/foo.js +1 -0
  124. package/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
  125. package/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
  126. package/node_modules/resolve/test/resolver/without_basedir/main.js +5 -0
  127. package/node_modules/resolve/test/resolver.js +429 -0
  128. package/node_modules/resolve/test/resolver_sync.js +340 -0
  129. package/node_modules/resolve/test/subdirs.js +13 -0
  130. package/node_modules/resolve/test/symlinks.js +56 -0
  131. package/package.json +3 -3
  132. package/node_modules/builtin-modules/builtin-modules.json +0 -35
  133. package/node_modules/builtin-modules/index.js +0 -10
  134. package/node_modules/builtin-modules/license +0 -21
  135. package/node_modules/builtin-modules/package.json +0 -75
  136. package/node_modules/builtin-modules/readme.md +0 -41
  137. package/node_modules/builtin-modules/static.js +0 -2
  138. package/node_modules/is-builtin-module/index.js +0 -10
  139. package/node_modules/is-builtin-module/package.json +0 -78
  140. package/node_modules/is-builtin-module/readme.md +0 -33
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ <a name="13.3.0"></a>
6
+ # [13.3.0](https://github.com/istanbuljs/nyc/compare/v13.2.0...v13.3.0) (2019-02-14)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * update dependendencies due to vulnerabilities ([#992](https://github.com/istanbuljs/nyc/issues/992)) ([e8cc59b](https://github.com/istanbuljs/nyc/commit/e8cc59b)), closes [#991](https://github.com/istanbuljs/nyc/issues/991)
12
+
13
+
14
+ ### Features
15
+
16
+ * Support nyc report --check-coverage ([#984](https://github.com/istanbuljs/nyc/issues/984)) ([dd48410](https://github.com/istanbuljs/nyc/commit/dd48410))
17
+
18
+
19
+
5
20
  <a name="13.2.0"></a>
6
21
  # [13.2.0](https://github.com/istanbuljs/nyc/compare/v13.1.0...v13.2.0) (2019-01-27)
7
22
 
@@ -39,6 +39,38 @@ exports.builder = function (yargs) {
39
39
  type: 'boolean',
40
40
  global: false
41
41
  })
42
+ .option('check-coverage', {
43
+ type: 'boolean',
44
+ default: false,
45
+ describe: 'check whether coverage is within thresholds provided',
46
+ global: false
47
+ })
48
+ .option('branches', {
49
+ default: 0,
50
+ description: 'what % of branches must be covered?',
51
+ global: false
52
+ })
53
+ .option('functions', {
54
+ default: 0,
55
+ description: 'what % of functions must be covered?',
56
+ global: false
57
+ })
58
+ .option('lines', {
59
+ default: 90,
60
+ description: 'what % of lines must be covered?',
61
+ global: false
62
+ })
63
+ .option('statements', {
64
+ default: 0,
65
+ description: 'what % of statements must be covered?',
66
+ global: false
67
+ })
68
+ .option('per-file', {
69
+ default: false,
70
+ type: 'boolean',
71
+ description: 'check thresholds per file',
72
+ global: false
73
+ })
42
74
  .example('$0 report --reporter=lcov', 'output an HTML lcov report to ./coverage')
43
75
  }
44
76
 
@@ -46,4 +78,12 @@ exports.handler = function (argv) {
46
78
  process.env.NYC_CWD = process.cwd()
47
79
  var nyc = new NYC(argv)
48
80
  nyc.report()
81
+ if (argv.checkCoverage) {
82
+ nyc.checkCoverage({
83
+ lines: argv.lines,
84
+ functions: argv.functions,
85
+ branches: argv.branches,
86
+ statements: argv.statements
87
+ }, argv['per-file'])
88
+ }
49
89
  }
@@ -1,14 +1,14 @@
1
1
  'use strict'
2
2
 
3
- var convertSourceMap = require('convert-source-map')
4
- var mergeSourceMap = require('merge-source-map')
3
+ const { createInstrumenter } = require('istanbul-lib-instrument')
4
+ const convertSourceMap = require('convert-source-map')
5
+ const mergeSourceMap = require('merge-source-map')
5
6
 
6
7
  function InstrumenterIstanbul (cwd, options) {
7
8
  const plugins = options.plugins
8
9
  const configPlugins = plugins ? { plugins } : {}
9
10
 
10
- var istanbul = InstrumenterIstanbul.istanbul()
11
- var instrumenter = istanbul.createInstrumenter(Object.assign({
11
+ const instrumenter = createInstrumenter(Object.assign({
12
12
  autoWrap: true,
13
13
  coverageVariable: '__coverage__',
14
14
  embedSource: true,
@@ -20,7 +20,7 @@ function InstrumenterIstanbul (cwd, options) {
20
20
  }, configPlugins))
21
21
 
22
22
  return {
23
- instrumentSync: function (code, filename, sourceMap) {
23
+ instrumentSync (code, filename, sourceMap) {
24
24
  var instrumented = instrumenter.instrumentSync(code, filename)
25
25
  // the instrumenter can optionally produce source maps,
26
26
  // this is useful for features like remapping stack-traces.
@@ -39,16 +39,10 @@ function InstrumenterIstanbul (cwd, options) {
39
39
  }
40
40
  return instrumented
41
41
  },
42
- lastFileCoverage: function () {
42
+ lastFileCoverage () {
43
43
  return instrumenter.lastFileCoverage()
44
44
  }
45
45
  }
46
46
  }
47
47
 
48
- InstrumenterIstanbul.istanbul = function () {
49
- InstrumenterIstanbul._istanbul || (InstrumenterIstanbul._istanbul = require('istanbul-lib-instrument'))
50
-
51
- return InstrumenterIstanbul._istanbul || (InstrumenterIstanbul._istanbul = require('istanbul'))
52
- }
53
-
54
48
  module.exports = InstrumenterIstanbul
@@ -1,10 +1,10 @@
1
- var FileCoverage = require('istanbul-lib-coverage').classes.FileCoverage
2
- var readInitialCoverage = require('istanbul-lib-instrument').readInitialCoverage
1
+ const { FileCoverage } = require('istanbul-lib-coverage').classes
2
+ const { readInitialCoverage } = require('istanbul-lib-instrument')
3
3
 
4
4
  function NOOP () {
5
5
  return {
6
- instrumentSync: function (code, filename) {
7
- var extracted = readInitialCoverage(code)
6
+ instrumentSync (code, filename) {
7
+ const extracted = readInitialCoverage(code)
8
8
  if (extracted) {
9
9
  this.fileCoverage = new FileCoverage(extracted.coverageData)
10
10
  } else {
@@ -12,7 +12,7 @@ function NOOP () {
12
12
  }
13
13
  return code
14
14
  },
15
- lastFileCoverage: function () {
15
+ lastFileCoverage () {
16
16
  return this.fileCoverage
17
17
  }
18
18
  }
@@ -24,8 +24,7 @@
24
24
  "_requiredBy": [
25
25
  "/",
26
26
  "/minimist-options",
27
- "/test-exclude",
28
- "/ts-node"
27
+ "/test-exclude"
29
28
  ],
30
29
  "_resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
31
30
  "_spec": "1.0.1",
@@ -1,3 +1,6 @@
1
+ #v2.6.2
2
+ - Updated lodash to squelch a security warning (#1620)
3
+
1
4
  # v2.6.1
2
5
  - Updated lodash to prevent `npm audit` warnings. (#1532, #1533)
3
6
  - Made `async-es` more optimized for webpack users (#1517)
@@ -1,31 +1,31 @@
1
1
  {
2
2
  "_args": [
3
3
  [
4
- "async@2.6.1",
4
+ "async@2.6.2",
5
5
  "/usr/src/npm/nyc"
6
6
  ]
7
7
  ],
8
- "_from": "async@2.6.1",
9
- "_id": "async@2.6.1",
8
+ "_from": "async@2.6.2",
9
+ "_id": "async@2.6.2",
10
10
  "_inBundle": false,
11
- "_integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
11
+ "_integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
12
12
  "_location": "/async",
13
13
  "_phantomChildren": {},
14
14
  "_requested": {
15
15
  "type": "version",
16
16
  "registry": true,
17
- "raw": "async@2.6.1",
17
+ "raw": "async@2.6.2",
18
18
  "name": "async",
19
19
  "escapedName": "async",
20
- "rawSpec": "2.6.1",
20
+ "rawSpec": "2.6.2",
21
21
  "saveSpec": null,
22
- "fetchSpec": "2.6.1"
22
+ "fetchSpec": "2.6.2"
23
23
  },
24
24
  "_requiredBy": [
25
25
  "/handlebars"
26
26
  ],
27
- "_resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
28
- "_spec": "2.6.1",
27
+ "_resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
28
+ "_spec": "2.6.2",
29
29
  "_where": "/usr/src/npm/nyc",
30
30
  "author": {
31
31
  "name": "Caolan McMahon"
@@ -34,7 +34,7 @@
34
34
  "url": "https://github.com/caolan/async/issues"
35
35
  },
36
36
  "dependencies": {
37
- "lodash": "^4.17.10"
37
+ "lodash": "^4.17.11"
38
38
  },
39
39
  "description": "Higher-order functions and common patterns for asynchronous code",
40
40
  "devDependencies": {
@@ -106,5 +106,5 @@
106
106
  "mocha-test": "npm run mocha-node-test && npm run mocha-browser-test",
107
107
  "test": "npm run lint && npm run mocha-node-test"
108
108
  },
109
- "version": "2.6.1"
109
+ "version": "2.6.2"
110
110
  }
@@ -11,7 +11,7 @@ define(['exports', './utils', './exception', './helpers', './decorators', './log
11
11
 
12
12
  var _logger2 = _interopRequireDefault(_logger);
13
13
 
14
- var VERSION = '4.0.12';
14
+ var VERSION = '4.1.0';
15
15
  exports.VERSION = VERSION;
16
16
  var COMPILER_REVISION = 7;
17
17
 
@@ -93,4 +93,4 @@ define(['exports', './utils', './exception', './helpers', './decorators', './log
93
93
  exports.createFrame = _utils.createFrame;
94
94
  exports.logger = _logger2['default'];
95
95
  });
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQU1PLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQzs7QUFDekIsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7OztBQUU1QixNQUFNLGdCQUFnQixHQUFHO0FBQzlCLEtBQUMsRUFBRSxhQUFhO0FBQ2hCLEtBQUMsRUFBRSxlQUFlO0FBQ2xCLEtBQUMsRUFBRSxlQUFlO0FBQ2xCLEtBQUMsRUFBRSxVQUFVO0FBQ2IsS0FBQyxFQUFFLGtCQUFrQjtBQUNyQixLQUFDLEVBQUUsaUJBQWlCO0FBQ3BCLEtBQUMsRUFBRSxVQUFVO0dBQ2QsQ0FBQzs7O0FBRUYsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUM7O0FBRTlCLFdBQVMscUJBQXFCLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7QUFDbkUsUUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO0FBQzdCLFFBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLEVBQUUsQ0FBQztBQUMvQixRQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxFQUFFLENBQUM7O0FBRW5DLGFBeEJNLHNCQUFzQixDQXdCTCxJQUFJLENBQUMsQ0FBQztBQUM3QixnQkF4Qk0seUJBQXlCLENBd0JMLElBQUksQ0FBQyxDQUFDO0dBQ2pDOztBQUVELHVCQUFxQixDQUFDLFNBQVMsR0FBRztBQUNoQyxlQUFXLEVBQUUscUJBQXFCOztBQUVsQyxVQUFNLHFCQUFRO0FBQ2QsT0FBRyxFQUFFLG9CQUFPLEdBQUc7O0FBRWYsa0JBQWMsRUFBRSx3QkFBUyxJQUFJLEVBQUUsRUFBRSxFQUFFO0FBQ2pDLFVBQUksT0FyQ3FCLFFBQVEsQ0FxQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUU7QUFDdEMsWUFBSSxFQUFFLEVBQUU7QUFBRSxnQkFBTSwwQkFBYyx5Q0FBeUMsQ0FBQyxDQUFDO1NBQUU7QUFDM0UsZUF2Q2UsTUFBTSxDQXVDZCxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO09BQzVCLE1BQU07QUFDTCxZQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztPQUN6QjtLQUNGO0FBQ0Qsb0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLGFBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUMzQjs7QUFFRCxtQkFBZSxFQUFFLHlCQUFTLElBQUksRUFBRSxPQUFPLEVBQUU7QUFDdkMsVUFBSSxPQWpEcUIsUUFBUSxDQWlEcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsRUFBRTtBQUN0QyxlQWxEZSxNQUFNLENBa0RkLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7T0FDN0IsTUFBTTtBQUNMLFlBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO0FBQ2xDLGdCQUFNLHdFQUEwRCxJQUFJLG9CQUFpQixDQUFDO1NBQ3ZGO0FBQ0QsWUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUM7T0FDL0I7S0FDRjtBQUNELHFCQUFpQixFQUFFLDJCQUFTLElBQUksRUFBRTtBQUNoQyxhQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDNUI7O0FBRUQscUJBQWlCLEVBQUUsMkJBQVMsSUFBSSxFQUFFLEVBQUUsRUFBRTtBQUNwQyxVQUFJLE9BL0RxQixRQUFRLENBK0RwQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLFlBQUksRUFBRSxFQUFFO0FBQUUsZ0JBQU0sMEJBQWMsNENBQTRDLENBQUMsQ0FBQztTQUFFO0FBQzlFLGVBakVlLE1BQU0sQ0FpRWQsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztPQUMvQixNQUFNO0FBQ0wsWUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7T0FDNUI7S0FDRjtBQUNELHVCQUFtQixFQUFFLDZCQUFTLElBQUksRUFBRTtBQUNsQyxhQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7R0FDRixDQUFDOztBQUVLLE1BQUksR0FBRyxHQUFHLG9CQUFPLEdBQUcsQ0FBQzs7O1VBRXBCLFdBQVcsVUE3RVgsV0FBVztVQTZFRSxNQUFNIiwiZmlsZSI6ImJhc2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZUZyYW1lLCBleHRlbmQsIHRvU3RyaW5nfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi9leGNlcHRpb24nO1xuaW1wb3J0IHtyZWdpc3RlckRlZmF1bHRIZWxwZXJzfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHtyZWdpc3RlckRlZmF1bHREZWNvcmF0b3JzfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4xMic7XG5leHBvcnQgY29uc3QgQ09NUElMRVJfUkVWSVNJT04gPSA3O1xuXG5leHBvcnQgY29uc3QgUkVWSVNJT05fQ0hBTkdFUyA9IHtcbiAgMTogJzw9IDEuMC5yYy4yJywgLy8gMS4wLnJjLjIgaXMgYWN0dWFsbHkgcmV2MiBidXQgZG9lc24ndCByZXBvcnQgaXRcbiAgMjogJz09IDEuMC4wLXJjLjMnLFxuICAzOiAnPT0gMS4wLjAtcmMuNCcsXG4gIDQ6ICc9PSAxLngueCcsXG4gIDU6ICc9PSAyLjAuMC1hbHBoYS54JyxcbiAgNjogJz49IDIuMC4wLWJldGEuMScsXG4gIDc6ICc+PSA0LjAuMCdcbn07XG5cbmNvbnN0IG9iamVjdFR5cGUgPSAnW29iamVjdCBPYmplY3RdJztcblxuZXhwb3J0IGZ1bmN0aW9uIEhhbmRsZWJhcnNFbnZpcm9ubWVudChoZWxwZXJzLCBwYXJ0aWFscywgZGVjb3JhdG9ycykge1xuICB0aGlzLmhlbHBlcnMgPSBoZWxwZXJzIHx8IHt9O1xuICB0aGlzLnBhcnRpYWxzID0gcGFydGlhbHMgfHwge307XG4gIHRoaXMuZGVjb3JhdG9ycyA9IGRlY29yYXRvcnMgfHwge307XG5cbiAgcmVnaXN0ZXJEZWZhdWx0SGVscGVycyh0aGlzKTtcbiAgcmVnaXN0ZXJEZWZhdWx0RGVjb3JhdG9ycyh0aGlzKTtcbn1cblxuSGFuZGxlYmFyc0Vudmlyb25tZW50LnByb3RvdHlwZSA9IHtcbiAgY29uc3RydWN0b3I6IEhhbmRsZWJhcnNFbnZpcm9ubWVudCxcblxuICBsb2dnZXI6IGxvZ2dlcixcbiAgbG9nOiBsb2dnZXIubG9nLFxuXG4gIHJlZ2lzdGVySGVscGVyOiBmdW5jdGlvbihuYW1lLCBmbikge1xuICAgIGlmICh0b1N0cmluZy5jYWxsKG5hbWUpID09PSBvYmplY3RUeXBlKSB7XG4gICAgICBpZiAoZm4pIHsgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXJnIG5vdCBzdXBwb3J0ZWQgd2l0aCBtdWx0aXBsZSBoZWxwZXJzJyk7IH1cbiAgICAgIGV4dGVuZCh0aGlzLmhlbHBlcnMsIG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlbHBlcnNbbmFtZV0gPSBmbjtcbiAgICB9XG4gIH0sXG4gIHVucmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5oZWxwZXJzW25hbWVdO1xuICB9LFxuXG4gIHJlZ2lzdGVyUGFydGlhbDogZnVuY3Rpb24obmFtZSwgcGFydGlhbCkge1xuICAgIGlmICh0b1N0cmluZy5jYWxsKG5hbWUpID09PSBvYmplY3RUeXBlKSB7XG4gICAgICBleHRlbmQodGhpcy5wYXJ0aWFscywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2YgcGFydGlhbCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihgQXR0ZW1wdGluZyB0byByZWdpc3RlciBhIHBhcnRpYWwgY2FsbGVkIFwiJHtuYW1lfVwiIGFzIHVuZGVmaW5lZGApO1xuICAgICAgfVxuICAgICAgdGhpcy5wYXJ0aWFsc1tuYW1lXSA9IHBhcnRpYWw7XG4gICAgfVxuICB9LFxuICB1bnJlZ2lzdGVyUGFydGlhbDogZnVuY3Rpb24obmFtZSkge1xuICAgIGRlbGV0ZSB0aGlzLnBhcnRpYWxzW25hbWVdO1xuICB9LFxuXG4gIHJlZ2lzdGVyRGVjb3JhdG9yOiBmdW5jdGlvbihuYW1lLCBmbikge1xuICAgIGlmICh0b1N0cmluZy5jYWxsKG5hbWUpID09PSBvYmplY3RUeXBlKSB7XG4gICAgICBpZiAoZm4pIHsgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXJnIG5vdCBzdXBwb3J0ZWQgd2l0aCBtdWx0aXBsZSBkZWNvcmF0b3JzJyk7IH1cbiAgICAgIGV4dGVuZCh0aGlzLmRlY29yYXRvcnMsIG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlY29yYXRvcnNbbmFtZV0gPSBmbjtcbiAgICB9XG4gIH0sXG4gIHVucmVnaXN0ZXJEZWNvcmF0b3I6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5kZWNvcmF0b3JzW25hbWVdO1xuICB9XG59O1xuXG5leHBvcnQgbGV0IGxvZyA9IGxvZ2dlci5sb2c7XG5cbmV4cG9ydCB7Y3JlYXRlRnJhbWUsIGxvZ2dlcn07XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQU1PLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQzs7QUFDeEIsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7OztBQUU1QixNQUFNLGdCQUFnQixHQUFHO0FBQzlCLEtBQUMsRUFBRSxhQUFhO0FBQ2hCLEtBQUMsRUFBRSxlQUFlO0FBQ2xCLEtBQUMsRUFBRSxlQUFlO0FBQ2xCLEtBQUMsRUFBRSxVQUFVO0FBQ2IsS0FBQyxFQUFFLGtCQUFrQjtBQUNyQixLQUFDLEVBQUUsaUJBQWlCO0FBQ3BCLEtBQUMsRUFBRSxVQUFVO0dBQ2QsQ0FBQzs7O0FBRUYsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUM7O0FBRTlCLFdBQVMscUJBQXFCLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7QUFDbkUsUUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO0FBQzdCLFFBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLEVBQUUsQ0FBQztBQUMvQixRQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxFQUFFLENBQUM7O0FBRW5DLGFBeEJNLHNCQUFzQixDQXdCTCxJQUFJLENBQUMsQ0FBQztBQUM3QixnQkF4Qk0seUJBQXlCLENBd0JMLElBQUksQ0FBQyxDQUFDO0dBQ2pDOztBQUVELHVCQUFxQixDQUFDLFNBQVMsR0FBRztBQUNoQyxlQUFXLEVBQUUscUJBQXFCOztBQUVsQyxVQUFNLHFCQUFRO0FBQ2QsT0FBRyxFQUFFLG9CQUFPLEdBQUc7O0FBRWYsa0JBQWMsRUFBRSx3QkFBUyxJQUFJLEVBQUUsRUFBRSxFQUFFO0FBQ2pDLFVBQUksT0FyQ3FCLFFBQVEsQ0FxQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUU7QUFDdEMsWUFBSSxFQUFFLEVBQUU7QUFBRSxnQkFBTSwwQkFBYyx5Q0FBeUMsQ0FBQyxDQUFDO1NBQUU7QUFDM0UsZUF2Q2UsTUFBTSxDQXVDZCxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO09BQzVCLE1BQU07QUFDTCxZQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztPQUN6QjtLQUNGO0FBQ0Qsb0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLGFBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUMzQjs7QUFFRCxtQkFBZSxFQUFFLHlCQUFTLElBQUksRUFBRSxPQUFPLEVBQUU7QUFDdkMsVUFBSSxPQWpEcUIsUUFBUSxDQWlEcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsRUFBRTtBQUN0QyxlQWxEZSxNQUFNLENBa0RkLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7T0FDN0IsTUFBTTtBQUNMLFlBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO0FBQ2xDLGdCQUFNLHdFQUEwRCxJQUFJLG9CQUFpQixDQUFDO1NBQ3ZGO0FBQ0QsWUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUM7T0FDL0I7S0FDRjtBQUNELHFCQUFpQixFQUFFLDJCQUFTLElBQUksRUFBRTtBQUNoQyxhQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDNUI7O0FBRUQscUJBQWlCLEVBQUUsMkJBQVMsSUFBSSxFQUFFLEVBQUUsRUFBRTtBQUNwQyxVQUFJLE9BL0RxQixRQUFRLENBK0RwQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLFlBQUksRUFBRSxFQUFFO0FBQUUsZ0JBQU0sMEJBQWMsNENBQTRDLENBQUMsQ0FBQztTQUFFO0FBQzlFLGVBakVlLE1BQU0sQ0FpRWQsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztPQUMvQixNQUFNO0FBQ0wsWUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7T0FDNUI7S0FDRjtBQUNELHVCQUFtQixFQUFFLDZCQUFTLElBQUksRUFBRTtBQUNsQyxhQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7R0FDRixDQUFDOztBQUVLLE1BQUksR0FBRyxHQUFHLG9CQUFPLEdBQUcsQ0FBQzs7O1VBRXBCLFdBQVcsVUE3RVgsV0FBVztVQTZFRSxNQUFNIiwiZmlsZSI6ImJhc2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZUZyYW1lLCBleHRlbmQsIHRvU3RyaW5nfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi9leGNlcHRpb24nO1xuaW1wb3J0IHtyZWdpc3RlckRlZmF1bHRIZWxwZXJzfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHtyZWdpc3RlckRlZmF1bHREZWNvcmF0b3JzfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMS4wJztcbmV4cG9ydCBjb25zdCBDT01QSUxFUl9SRVZJU0lPTiA9IDc7XG5cbmV4cG9ydCBjb25zdCBSRVZJU0lPTl9DSEFOR0VTID0ge1xuICAxOiAnPD0gMS4wLnJjLjInLCAvLyAxLjAucmMuMiBpcyBhY3R1YWxseSByZXYyIGJ1dCBkb2Vzbid0IHJlcG9ydCBpdFxuICAyOiAnPT0gMS4wLjAtcmMuMycsXG4gIDM6ICc9PSAxLjAuMC1yYy40JyxcbiAgNDogJz09IDEueC54JyxcbiAgNTogJz09IDIuMC4wLWFscGhhLngnLFxuICA2OiAnPj0gMi4wLjAtYmV0YS4xJyxcbiAgNzogJz49IDQuMC4wJ1xufTtcblxuY29uc3Qgb2JqZWN0VHlwZSA9ICdbb2JqZWN0IE9iamVjdF0nO1xuXG5leHBvcnQgZnVuY3Rpb24gSGFuZGxlYmFyc0Vudmlyb25tZW50KGhlbHBlcnMsIHBhcnRpYWxzLCBkZWNvcmF0b3JzKSB7XG4gIHRoaXMuaGVscGVycyA9IGhlbHBlcnMgfHwge307XG4gIHRoaXMucGFydGlhbHMgPSBwYXJ0aWFscyB8fCB7fTtcbiAgdGhpcy5kZWNvcmF0b3JzID0gZGVjb3JhdG9ycyB8fCB7fTtcblxuICByZWdpc3RlckRlZmF1bHRIZWxwZXJzKHRoaXMpO1xuICByZWdpc3RlckRlZmF1bHREZWNvcmF0b3JzKHRoaXMpO1xufVxuXG5IYW5kbGViYXJzRW52aXJvbm1lbnQucHJvdG90eXBlID0ge1xuICBjb25zdHJ1Y3RvcjogSGFuZGxlYmFyc0Vudmlyb25tZW50LFxuXG4gIGxvZ2dlcjogbG9nZ2VyLFxuICBsb2c6IGxvZ2dlci5sb2csXG5cbiAgcmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUsIGZuKSB7XG4gICAgaWYgKHRvU3RyaW5nLmNhbGwobmFtZSkgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgIGlmIChmbikgeyB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBcmcgbm90IHN1cHBvcnRlZCB3aXRoIG11bHRpcGxlIGhlbHBlcnMnKTsgfVxuICAgICAgZXh0ZW5kKHRoaXMuaGVscGVycywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGVscGVyc1tuYW1lXSA9IGZuO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlckhlbHBlcjogZnVuY3Rpb24obmFtZSkge1xuICAgIGRlbGV0ZSB0aGlzLmhlbHBlcnNbbmFtZV07XG4gIH0sXG5cbiAgcmVnaXN0ZXJQYXJ0aWFsOiBmdW5jdGlvbihuYW1lLCBwYXJ0aWFsKSB7XG4gICAgaWYgKHRvU3RyaW5nLmNhbGwobmFtZSkgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgIGV4dGVuZCh0aGlzLnBhcnRpYWxzLCBuYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHR5cGVvZiBwYXJ0aWFsID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKGBBdHRlbXB0aW5nIHRvIHJlZ2lzdGVyIGEgcGFydGlhbCBjYWxsZWQgXCIke25hbWV9XCIgYXMgdW5kZWZpbmVkYCk7XG4gICAgICB9XG4gICAgICB0aGlzLnBhcnRpYWxzW25hbWVdID0gcGFydGlhbDtcbiAgICB9XG4gIH0sXG4gIHVucmVnaXN0ZXJQYXJ0aWFsOiBmdW5jdGlvbihuYW1lKSB7XG4gICAgZGVsZXRlIHRoaXMucGFydGlhbHNbbmFtZV07XG4gIH0sXG5cbiAgcmVnaXN0ZXJEZWNvcmF0b3I6IGZ1bmN0aW9uKG5hbWUsIGZuKSB7XG4gICAgaWYgKHRvU3RyaW5nLmNhbGwobmFtZSkgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgIGlmIChmbikgeyB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBcmcgbm90IHN1cHBvcnRlZCB3aXRoIG11bHRpcGxlIGRlY29yYXRvcnMnKTsgfVxuICAgICAgZXh0ZW5kKHRoaXMuZGVjb3JhdG9ycywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVjb3JhdG9yc1tuYW1lXSA9IGZuO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSkge1xuICAgIGRlbGV0ZSB0aGlzLmRlY29yYXRvcnNbbmFtZV07XG4gIH1cbn07XG5cbmV4cG9ydCBsZXQgbG9nID0gbG9nZ2VyLmxvZztcblxuZXhwb3J0IHtjcmVhdGVGcmFtZSwgbG9nZ2VyfTtcbiJdfQ==