occam-verify-cli 0.0.316 → 0.0.318

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 (92) hide show
  1. package/bin/callbacks.js +27 -0
  2. package/bin/main.js +3 -5
  3. package/bin/messages.js +11 -0
  4. package/bin/utilities/logging.js +2 -10
  5. package/bin/utilities/release.js +68 -43
  6. package/lib/callbacks.js +68 -0
  7. package/lib/context/file.js +58 -81
  8. package/lib/context/metaproof.js +30 -118
  9. package/lib/context/proof.js +73 -137
  10. package/lib/context/release.js +81 -15
  11. package/lib/index.js +5 -1
  12. package/lib/mixins/callbacks.js +27 -0
  13. package/lib/mixins/file.js +23 -0
  14. package/lib/mixins/logging.js +39 -0
  15. package/lib/rule.js +3 -3
  16. package/lib/verify/IndicativeConditional.js +9 -5
  17. package/lib/verify/assertion/type.js +12 -10
  18. package/lib/verify/axiom.js +10 -14
  19. package/lib/verify/conclusion.js +5 -3
  20. package/lib/verify/conditinalInference.js +7 -5
  21. package/lib/verify/declaration/combinator.js +7 -3
  22. package/lib/verify/declaration/constructor.js +7 -3
  23. package/lib/verify/declaration/topLevel.js +11 -9
  24. package/lib/verify/declaration/type.js +8 -3
  25. package/lib/verify/declaration/variable.js +7 -3
  26. package/lib/verify/equality.js +8 -6
  27. package/lib/verify/file.js +7 -9
  28. package/lib/verify/label.js +6 -4
  29. package/lib/verify/labels.js +5 -4
  30. package/lib/verify/metaDerivation.js +21 -18
  31. package/lib/verify/metaproof.js +6 -4
  32. package/lib/verify/metastatement/qualified.js +7 -5
  33. package/lib/verify/metastatement/unqualified.js +7 -5
  34. package/lib/verify/premiseOrPremises.js +11 -12
  35. package/lib/verify/release.js +28 -18
  36. package/lib/verify/rule.js +11 -14
  37. package/lib/verify/statement/qualified.js +7 -3
  38. package/lib/verify/statement/unqualified.js +6 -4
  39. package/lib/verify/statement.js +8 -10
  40. package/lib/verify/statementAsCombinator.js +33 -36
  41. package/lib/verify/term.js +4 -2
  42. package/lib/verify/termAsConstructor.js +38 -39
  43. package/lib/verify/termAsVariable.js +4 -2
  44. package/lib/verify/type.js +18 -14
  45. package/lib/verify/unconditionalInference.js +5 -3
  46. package/lib/verify/variable.js +13 -10
  47. package/package.json +2 -2
  48. package/src/callbacks.js +27 -0
  49. package/src/context/file.js +62 -61
  50. package/src/context/metaproof.js +29 -44
  51. package/src/context/proof.js +51 -64
  52. package/src/context/release.js +33 -11
  53. package/src/index.js +1 -0
  54. package/src/mixins/callbacks.js +15 -0
  55. package/src/mixins/file.js +12 -0
  56. package/src/mixins/logging.js +24 -0
  57. package/src/rule.js +2 -2
  58. package/src/verify/IndicativeConditional.js +18 -9
  59. package/src/verify/assertion/type.js +15 -8
  60. package/src/verify/axiom.js +15 -17
  61. package/src/verify/conclusion.js +8 -2
  62. package/src/verify/conditinalInference.js +10 -4
  63. package/src/verify/declaration/combinator.js +12 -3
  64. package/src/verify/declaration/constructor.js +12 -3
  65. package/src/verify/declaration/topLevel.js +15 -9
  66. package/src/verify/declaration/type.js +14 -4
  67. package/src/verify/declaration/variable.js +12 -3
  68. package/src/verify/equality.js +11 -4
  69. package/src/verify/file.js +6 -8
  70. package/src/verify/label.js +9 -3
  71. package/src/verify/labels.js +5 -3
  72. package/src/verify/metaDerivation.js +26 -19
  73. package/src/verify/metaproof.js +9 -3
  74. package/src/verify/metastatement/qualified.js +10 -4
  75. package/src/verify/metastatement/unqualified.js +10 -4
  76. package/src/verify/premiseOrPremises.js +18 -14
  77. package/src/verify/release.js +45 -27
  78. package/src/verify/rule.js +15 -16
  79. package/src/verify/statement/qualified.js +12 -3
  80. package/src/verify/statement/unqualified.js +9 -3
  81. package/src/verify/statement.js +10 -9
  82. package/src/verify/statementAsCombinator.js +45 -46
  83. package/src/verify/term.js +7 -1
  84. package/src/verify/termAsConstructor.js +48 -45
  85. package/src/verify/termAsVariable.js +7 -1
  86. package/src/verify/type.js +25 -21
  87. package/src/verify/unconditionalInference.js +8 -2
  88. package/src/verify/variable.js +18 -11
  89. package/lib/mixins/log.js +0 -41
  90. package/lib/verify/supposition.js +0 -29
  91. package/src/mixins/log.js +0 -28
  92. package/src/verify/supposition.js +0 -22
@@ -9,8 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _file = /*#__PURE__*/ _interopRequireDefault(require("../context/file"));
12
- var _release = /*#__PURE__*/ _interopRequireDefault(require("../context/release"));
13
- var _topLevel = /*#__PURE__*/ _interopRequireDefault(require("../verify/declaration/topLevel"));
12
+ var _topLevel = /*#__PURE__*/ _interopRequireDefault(require("./declaration/topLevel"));
14
13
  var _query = require("../utilities/query");
15
14
  function _interopRequireDefault(obj) {
16
15
  return obj && obj.__esModule ? obj : {
@@ -18,22 +17,21 @@ function _interopRequireDefault(obj) {
18
17
  };
19
18
  }
20
19
  var topLevelDeclarationNodesQuery = (0, _query.nodesQuery)("/document/topLevelDeclaration");
21
- function verifyFile(filePath) {
22
- var releaseContext = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : _release.default.fromNothing();
23
- var fileVerified = false;
20
+ function verifyFile(filePath, releaseContext) {
21
+ var fileVerified;
24
22
  releaseContext.debug("Verifying the '".concat(filePath, "' file..."));
25
- var fileContext = _file.default.fromReleaseContextAndFilePath(releaseContext, filePath), context = fileContext, node = fileContext.getNode(), topLevelDeclarationNodes = topLevelDeclarationNodesQuery(node), topLevelDeclarationsVerified = topLevelDeclarationNodes.every(function(topLevelDeclarationNode) {
26
- var topLevelDeclarationVerified = (0, _topLevel.default)(topLevelDeclarationNode, context);
23
+ var fileContext = _file.default.fromReleaseContextAndFilePath(releaseContext, filePath), node = fileContext.getNode(), topLevelDeclarationNodes = topLevelDeclarationNodesQuery(node), topLevelDeclarationsVerified = topLevelDeclarationNodes.every(function(topLevelDeclarationNode) {
24
+ var topLevelDeclarationVerified = (0, _topLevel.default)(topLevelDeclarationNode, fileContext);
27
25
  if (topLevelDeclarationVerified) {
28
26
  return true;
29
27
  }
30
28
  });
29
+ fileVerified = topLevelDeclarationsVerified; ///
31
30
  if (topLevelDeclarationsVerified) {
32
31
  releaseContext.addFileContext(fileContext);
33
- fileVerified = true;
34
32
  releaseContext.info("Verified the '".concat(filePath, "' file."));
35
33
  }
36
34
  return fileVerified;
37
35
  }
38
36
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZmlsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEZpbGVDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2ZpbGVcIjtcbmltcG9ydCBSZWxlYXNlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9yZWxlYXNlXCI7XG5pbXBvcnQgdmVyaWZ5VG9wTGV2ZWxEZWNsYXJhdGlvbiBmcm9tIFwiLi4vdmVyaWZ5L2RlY2xhcmF0aW9uL3RvcExldmVsXCI7XG5cbmltcG9ydCB7IG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHRvcExldmVsRGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kb2N1bWVudC90b3BMZXZlbERlY2xhcmF0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlGaWxlKGZpbGVQYXRoLCByZWxlYXNlQ29udGV4dCA9IFJlbGVhc2VDb250ZXh0LmZyb21Ob3RoaW5nKCkpIHtcbiAgbGV0IGZpbGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIHJlbGVhc2VDb250ZXh0LmRlYnVnKGBWZXJpZnlpbmcgdGhlICcke2ZpbGVQYXRofScgZmlsZS4uLmApO1xuXG4gIGNvbnN0IGZpbGVDb250ZXh0ID0gRmlsZUNvbnRleHQuZnJvbVJlbGVhc2VDb250ZXh0QW5kRmlsZVBhdGgocmVsZWFzZUNvbnRleHQsIGZpbGVQYXRoKSxcbiAgICAgICAgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgIG5vZGUgPSBmaWxlQ29udGV4dC5nZXROb2RlKCksXG4gICAgICAgIHRvcExldmVsRGVjbGFyYXRpb25Ob2RlcyA9IHRvcExldmVsRGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5KG5vZGUpLFxuICAgICAgICB0b3BMZXZlbERlY2xhcmF0aW9uc1ZlcmlmaWVkID0gdG9wTGV2ZWxEZWNsYXJhdGlvbk5vZGVzLmV2ZXJ5KCh0b3BMZXZlbERlY2xhcmF0aW9uTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRvcExldmVsRGVjbGFyYXRpb25WZXJpZmllZCA9IHZlcmlmeVRvcExldmVsRGVjbGFyYXRpb24odG9wTGV2ZWxEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgICAgaWYgKHRvcExldmVsRGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gIGlmICh0b3BMZXZlbERlY2xhcmF0aW9uc1ZlcmlmaWVkKSB7XG4gICAgcmVsZWFzZUNvbnRleHQuYWRkRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpO1xuXG4gICAgZmlsZVZlcmlmaWVkID0gdHJ1ZTtcblxuICAgIHJlbGVhc2VDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtmaWxlUGF0aH0nIGZpbGUuYCk7XG4gIH1cblxuICByZXR1cm4gZmlsZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUZpbGUiLCJ0b3BMZXZlbERlY2xhcmF0aW9uTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJmaWxlUGF0aCIsInJlbGVhc2VDb250ZXh0IiwiUmVsZWFzZUNvbnRleHQiLCJmcm9tTm90aGluZyIsImZpbGVWZXJpZmllZCIsImRlYnVnIiwiZmlsZUNvbnRleHQiLCJGaWxlQ29udGV4dCIsImZyb21SZWxlYXNlQ29udGV4dEFuZEZpbGVQYXRoIiwiY29udGV4dCIsIm5vZGUiLCJnZXROb2RlIiwidG9wTGV2ZWxEZWNsYXJhdGlvbk5vZGVzIiwidG9wTGV2ZWxEZWNsYXJhdGlvbnNWZXJpZmllZCIsImV2ZXJ5IiwidG9wTGV2ZWxEZWNsYXJhdGlvbk5vZGUiLCJ0b3BMZXZlbERlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlUb3BMZXZlbERlY2xhcmF0aW9uIiwiYWRkRmlsZUNvbnRleHQiLCJpbmZvIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXdCQTs7O3lEQVJBOzREQUNHOzZEQUNXO3FCQUVYOzs7Ozs7QUFFM0IsSUFBTUMsZ0NBQWdDQyxJQUFBQSxpQkFBVSxFQUFDO0FBRWxDLFNBQVNGLFdBQVdHLFFBQVEsRUFBaUQ7UUFBL0NDLGlCQUFBQSxpRUFBaUJDLGdCQUFjLENBQUNDLFdBQVcsRUFBRTtJQUN4RixJQUFJQyxlQUFlLEtBQUs7SUFFeEJILGVBQWVJLEtBQUssQ0FBQyxBQUFDLGtCQUEwQixPQUFUTCxVQUFTO0lBRWhELElBQU1NLGNBQWNDLGFBQVcsQ0FBQ0MsNkJBQTZCLENBQUNQLGdCQUFnQkQsV0FDeEVTLFVBQVVILGFBQ1ZJLE9BQU9KLFlBQVlLLE9BQU8sSUFDMUJDLDJCQUEyQmQsOEJBQThCWSxPQUN6REcsK0JBQStCRCx5QkFBeUJFLEtBQUssQ0FBQyxTQUFDQyx5QkFBNEI7UUFDekYsSUFBTUMsOEJBQThCQyxJQUFBQSxpQkFBeUIsRUFBQ0YseUJBQXlCTjtRQUV2RixJQUFJTyw2QkFBNkI7WUFDL0IsT0FBTyxJQUFJO1FBQ2IsQ0FBQztJQUNIO0lBRU4sSUFBSUgsOEJBQThCO1FBQ2hDWixlQUFlaUIsY0FBYyxDQUFDWjtRQUU5QkYsZUFBZSxJQUFJO1FBRW5CSCxlQUFla0IsSUFBSSxDQUFDLEFBQUMsaUJBQXlCLE9BQVRuQixVQUFTO0lBQ2hELENBQUM7SUFFRCxPQUFPSTtBQUNUIn0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZmlsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEZpbGVDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2ZpbGVcIjtcbmltcG9ydCB2ZXJpZnlUb3BMZXZlbERlY2xhcmF0aW9uIGZyb20gXCIuL2RlY2xhcmF0aW9uL3RvcExldmVsXCI7XG5cbmltcG9ydCB7IG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHRvcExldmVsRGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kb2N1bWVudC90b3BMZXZlbERlY2xhcmF0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlGaWxlKGZpbGVQYXRoLCByZWxlYXNlQ29udGV4dCkge1xuICBsZXQgZmlsZVZlcmlmaWVkO1xuXG4gIHJlbGVhc2VDb250ZXh0LmRlYnVnKGBWZXJpZnlpbmcgdGhlICcke2ZpbGVQYXRofScgZmlsZS4uLmApO1xuXG4gIGNvbnN0IGZpbGVDb250ZXh0ID0gRmlsZUNvbnRleHQuZnJvbVJlbGVhc2VDb250ZXh0QW5kRmlsZVBhdGgocmVsZWFzZUNvbnRleHQsIGZpbGVQYXRoKSxcbiAgICAgICAgbm9kZSA9IGZpbGVDb250ZXh0LmdldE5vZGUoKSxcbiAgICAgICAgdG9wTGV2ZWxEZWNsYXJhdGlvbk5vZGVzID0gdG9wTGV2ZWxEZWNsYXJhdGlvbk5vZGVzUXVlcnkobm9kZSksXG4gICAgICAgIHRvcExldmVsRGVjbGFyYXRpb25zVmVyaWZpZWQgPSB0b3BMZXZlbERlY2xhcmF0aW9uTm9kZXMuZXZlcnkoKHRvcExldmVsRGVjbGFyYXRpb25Ob2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdG9wTGV2ZWxEZWNsYXJhdGlvblZlcmlmaWVkID0gdmVyaWZ5VG9wTGV2ZWxEZWNsYXJhdGlvbih0b3BMZXZlbERlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgaWYgKHRvcExldmVsRGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gIGZpbGVWZXJpZmllZCA9IHRvcExldmVsRGVjbGFyYXRpb25zVmVyaWZpZWQ7ICAvLy9cblxuICBpZiAodG9wTGV2ZWxEZWNsYXJhdGlvbnNWZXJpZmllZCkge1xuICAgIHJlbGVhc2VDb250ZXh0LmFkZEZpbGVDb250ZXh0KGZpbGVDb250ZXh0KTtcblxuICAgIHJlbGVhc2VDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtmaWxlUGF0aH0nIGZpbGUuYCk7XG4gIH1cblxuICByZXR1cm4gZmlsZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUZpbGUiLCJ0b3BMZXZlbERlY2xhcmF0aW9uTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJmaWxlUGF0aCIsInJlbGVhc2VDb250ZXh0IiwiZmlsZVZlcmlmaWVkIiwiZGVidWciLCJmaWxlQ29udGV4dCIsIkZpbGVDb250ZXh0IiwiZnJvbVJlbGVhc2VDb250ZXh0QW5kRmlsZVBhdGgiLCJub2RlIiwiZ2V0Tm9kZSIsInRvcExldmVsRGVjbGFyYXRpb25Ob2RlcyIsInRvcExldmVsRGVjbGFyYXRpb25zVmVyaWZpZWQiLCJldmVyeSIsInRvcExldmVsRGVjbGFyYXRpb25Ob2RlIiwidG9wTGV2ZWxEZWNsYXJhdGlvblZlcmlmaWVkIiwidmVyaWZ5VG9wTGV2ZWxEZWNsYXJhdGlvbiIsImFkZEZpbGVDb250ZXh0IiwiaW5mbyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUF3QkE7Ozt5REFQQTs2REFDYztxQkFFWDs7Ozs7O0FBRTNCLElBQU1DLGdDQUFnQ0MsSUFBQUEsaUJBQVUsRUFBQztBQUVsQyxTQUFTRixXQUFXRyxRQUFRLEVBQUVDLGNBQWMsRUFBRTtJQUMzRCxJQUFJQztJQUVKRCxlQUFlRSxLQUFLLENBQUMsQUFBQyxrQkFBMEIsT0FBVEgsVUFBUztJQUVoRCxJQUFNSSxjQUFjQyxhQUFXLENBQUNDLDZCQUE2QixDQUFDTCxnQkFBZ0JELFdBQ3hFTyxPQUFPSCxZQUFZSSxPQUFPLElBQzFCQywyQkFBMkJYLDhCQUE4QlMsT0FDekRHLCtCQUErQkQseUJBQXlCRSxLQUFLLENBQUMsU0FBQ0MseUJBQTRCO1FBQ3pGLElBQU1DLDhCQUE4QkMsSUFBQUEsaUJBQXlCLEVBQUNGLHlCQUF5QlI7UUFFdkYsSUFBSVMsNkJBQTZCO1lBQy9CLE9BQU8sSUFBSTtRQUNiLENBQUM7SUFDSDtJQUVOWCxlQUFlUSw4QkFBK0IsR0FBRztJQUVqRCxJQUFJQSw4QkFBOEI7UUFDaENULGVBQWVjLGNBQWMsQ0FBQ1g7UUFFOUJILGVBQWVlLElBQUksQ0FBQyxBQUFDLGlCQUF5QixPQUFUaEIsVUFBUztJQUNoRCxDQUFDO0lBRUQsT0FBT0U7QUFDVCJ9
@@ -9,16 +9,18 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _query = require("../utilities/query");
12
- function verifyLabel(labelNode, labels, context) {
12
+ function verifyLabel(labelNode, labels, fileContext) {
13
13
  var labelVerified = false;
14
- var labelName = (0, _query.labelNameFromLabelNode)(labelNode), label = labelName, labelPresent = context.isLabelPresent(label);
14
+ fileContext.begin(labelNode);
15
+ var labelName = (0, _query.labelNameFromLabelNode)(labelNode), label = labelName, labelPresent = fileContext.isLabelPresent(label);
15
16
  if (labelPresent) {
16
- context.error("The label ".concat(label, " is already present"), labelNode);
17
+ fileContext.error("The label ".concat(label, " is already present"), labelNode);
17
18
  } else {
18
19
  labels.push(label);
19
20
  labelVerified = true;
20
21
  }
22
+ labelVerified ? fileContext.complete(labelNode) : fileContext.halt(labelNode);
21
23
  return labelVerified;
22
24
  }
23
25
 
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbGFiZWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxhYmVsTmFtZUZyb21MYWJlbE5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUxhYmVsKGxhYmVsTm9kZSwgbGFiZWxzLCBjb250ZXh0KSB7XG4gIGxldCBsYWJlbFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbGFiZWxOYW1lID0gbGFiZWxOYW1lRnJvbUxhYmVsTm9kZShsYWJlbE5vZGUpLFxuICAgICAgICBsYWJlbCA9IGxhYmVsTmFtZSwgIC8vL1xuICAgICAgICBsYWJlbFByZXNlbnQgPSBjb250ZXh0LmlzTGFiZWxQcmVzZW50KGxhYmVsKTtcblxuICBpZiAobGFiZWxQcmVzZW50KSB7XG4gICAgY29udGV4dC5lcnJvcihgVGhlIGxhYmVsICR7bGFiZWx9IGlzIGFscmVhZHkgcHJlc2VudGAsIGxhYmVsTm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgbGFiZWxzLnB1c2gobGFiZWwpO1xuXG4gICAgbGFiZWxWZXJpZmllZCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gbGFiZWxWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlMYWJlbCIsImxhYmVsTm9kZSIsImxhYmVscyIsImNvbnRleHQiLCJsYWJlbFZlcmlmaWVkIiwibGFiZWxOYW1lIiwibGFiZWxOYW1lRnJvbUxhYmVsTm9kZSIsImxhYmVsIiwibGFiZWxQcmVzZW50IiwiaXNMYWJlbFByZXNlbnQiLCJlcnJvciIsInB1c2giXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7cUJBRmU7QUFFeEIsU0FBU0EsWUFBWUMsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sRUFBRTtJQUM5RCxJQUFJQyxnQkFBZ0IsS0FBSztJQUV6QixJQUFNQyxZQUFZQyxJQUFBQSw2QkFBc0IsRUFBQ0wsWUFDbkNNLFFBQVFGLFdBQ1JHLGVBQWVMLFFBQVFNLGNBQWMsQ0FBQ0Y7SUFFNUMsSUFBSUMsY0FBYztRQUNoQkwsUUFBUU8sS0FBSyxDQUFDLEFBQUMsYUFBa0IsT0FBTkgsT0FBTSx3QkFBc0JOO0lBQ3pELE9BQU87UUFDTEMsT0FBT1MsSUFBSSxDQUFDSjtRQUVaSCxnQkFBZ0IsSUFBSTtJQUN0QixDQUFDO0lBRUQsT0FBT0E7QUFDVCJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbGFiZWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxhYmVsTmFtZUZyb21MYWJlbE5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUxhYmVsKGxhYmVsTm9kZSwgbGFiZWxzLCBmaWxlQ29udGV4dCkge1xuICBsZXQgbGFiZWxWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGZpbGVDb250ZXh0LmJlZ2luKGxhYmVsTm9kZSk7XG5cbiAgY29uc3QgbGFiZWxOYW1lID0gbGFiZWxOYW1lRnJvbUxhYmVsTm9kZShsYWJlbE5vZGUpLFxuICAgICAgICBsYWJlbCA9IGxhYmVsTmFtZSwgIC8vL1xuICAgICAgICBsYWJlbFByZXNlbnQgPSBmaWxlQ29udGV4dC5pc0xhYmVsUHJlc2VudChsYWJlbCk7XG5cbiAgaWYgKGxhYmVsUHJlc2VudCkge1xuICAgIGZpbGVDb250ZXh0LmVycm9yKGBUaGUgbGFiZWwgJHtsYWJlbH0gaXMgYWxyZWFkeSBwcmVzZW50YCwgbGFiZWxOb2RlKTtcbiAgfSBlbHNlIHtcbiAgICBsYWJlbHMucHVzaChsYWJlbCk7XG5cbiAgICBsYWJlbFZlcmlmaWVkID0gdHJ1ZTtcbiAgfVxuXG4gIGxhYmVsVmVyaWZpZWQgP1xuICAgIGZpbGVDb250ZXh0LmNvbXBsZXRlKGxhYmVsTm9kZSkgOlxuICAgICAgZmlsZUNvbnRleHQuaGFsdChsYWJlbE5vZGUpO1xuXG4gIHJldHVybiBsYWJlbFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUxhYmVsIiwibGFiZWxOb2RlIiwibGFiZWxzIiwiZmlsZUNvbnRleHQiLCJsYWJlbFZlcmlmaWVkIiwiYmVnaW4iLCJsYWJlbE5hbWUiLCJsYWJlbE5hbWVGcm9tTGFiZWxOb2RlIiwibGFiZWwiLCJsYWJlbFByZXNlbnQiLCJpc0xhYmVsUHJlc2VudCIsImVycm9yIiwicHVzaCIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7OztxQkFGZTtBQUV4QixTQUFTQSxZQUFZQyxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsV0FBVyxFQUFFO0lBQ2xFLElBQUlDLGdCQUFnQixLQUFLO0lBRXpCRCxZQUFZRSxLQUFLLENBQUNKO0lBRWxCLElBQU1LLFlBQVlDLElBQUFBLDZCQUFzQixFQUFDTixZQUNuQ08sUUFBUUYsV0FDUkcsZUFBZU4sWUFBWU8sY0FBYyxDQUFDRjtJQUVoRCxJQUFJQyxjQUFjO1FBQ2hCTixZQUFZUSxLQUFLLENBQUMsQUFBQyxhQUFrQixPQUFOSCxPQUFNLHdCQUFzQlA7SUFDN0QsT0FBTztRQUNMQyxPQUFPVSxJQUFJLENBQUNKO1FBRVpKLGdCQUFnQixJQUFJO0lBQ3RCLENBQUM7SUFFREEsZ0JBQ0VELFlBQVlVLFFBQVEsQ0FBQ1osYUFDbkJFLFlBQVlXLElBQUksQ0FBQ2IsVUFBVTtJQUUvQixPQUFPRztBQUNUIn0=
@@ -14,9 +14,10 @@ function _interopRequireDefault(obj) {
14
14
  default: obj
15
15
  };
16
16
  }
17
- function verifyLabels(labelNodes, labels, context) {
18
- var labelsVerified = labelNodes.every(function(labelNode) {
19
- var labelVerified = (0, _label.default)(labelNode, labels, context);
17
+ function verifyLabels(labelNodes, labels, fileContext) {
18
+ var labelsVerified;
19
+ labelsVerified = labelNodes.every(function(labelNode) {
20
+ var labelVerified = (0, _label.default)(labelNode, labels, fileContext);
20
21
  if (labelVerified) {
21
22
  return true;
22
23
  }
@@ -24,4 +25,4 @@ function verifyLabels(labelNodes, labels, context) {
24
25
  return labelsVerified;
25
26
  }
26
27
 
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbGFiZWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5TGFiZWwgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbFwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlMYWJlbHMobGFiZWxOb2RlcywgbGFiZWxzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGxhYmVsc1ZlcmlmaWVkID0gbGFiZWxOb2Rlcy5ldmVyeSgobGFiZWxOb2RlKSA9PiB7XG4gICAgY29uc3QgbGFiZWxWZXJpZmllZCA9IHZlcmlmeUxhYmVsKGxhYmVsTm9kZSwgbGFiZWxzLCBjb250ZXh0KTtcblxuICAgIGlmIChsYWJlbFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBsYWJlbHNWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlMYWJlbHMiLCJsYWJlbE5vZGVzIiwibGFiZWxzIiwiY29udGV4dCIsImxhYmVsc1ZlcmlmaWVkIiwiZXZlcnkiLCJsYWJlbE5vZGUiLCJsYWJlbFZlcmlmaWVkIiwidmVyaWZ5TGFiZWwiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7MERBRkE7Ozs7OztBQUVULFNBQVNBLGFBQWFDLFVBQVUsRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUU7SUFDaEUsSUFBTUMsaUJBQWlCSCxXQUFXSSxLQUFLLENBQUMsU0FBQ0MsV0FBYztRQUNyRCxJQUFNQyxnQkFBZ0JDLElBQUFBLGNBQVcsRUFBQ0YsV0FBV0osUUFBUUM7UUFFckQsSUFBSUksZUFBZTtZQUNqQixPQUFPLElBQUk7UUFDYixDQUFDO0lBQ0g7SUFFQSxPQUFPSDtBQUNUIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbGFiZWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5TGFiZWwgZnJvbSBcIi4uL3ZlcmlmeS9sYWJlbFwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlMYWJlbHMobGFiZWxOb2RlcywgbGFiZWxzLCBmaWxlQ29udGV4dCkge1xuICBsZXQgbGFiZWxzVmVyaWZpZWQ7XG5cbiAgbGFiZWxzVmVyaWZpZWQgPSBsYWJlbE5vZGVzLmV2ZXJ5KChsYWJlbE5vZGUpID0+IHtcbiAgICBjb25zdCBsYWJlbFZlcmlmaWVkID0gdmVyaWZ5TGFiZWwobGFiZWxOb2RlLCBsYWJlbHMsIGZpbGVDb250ZXh0KTtcblxuICAgIGlmIChsYWJlbFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBsYWJlbHNWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlMYWJlbHMiLCJsYWJlbE5vZGVzIiwibGFiZWxzIiwiZmlsZUNvbnRleHQiLCJsYWJlbHNWZXJpZmllZCIsImV2ZXJ5IiwibGFiZWxOb2RlIiwibGFiZWxWZXJpZmllZCIsInZlcmlmeUxhYmVsIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7OzBEQUZBOzs7Ozs7QUFFVCxTQUFTQSxhQUFhQyxVQUFVLEVBQUVDLE1BQU0sRUFBRUMsV0FBVyxFQUFFO0lBQ3BFLElBQUlDO0lBRUpBLGlCQUFpQkgsV0FBV0ksS0FBSyxDQUFDLFNBQUNDLFdBQWM7UUFDL0MsSUFBTUMsZ0JBQWdCQyxJQUFBQSxjQUFXLEVBQUNGLFdBQVdKLFFBQVFDO1FBRXJELElBQUlJLGVBQWU7WUFDakIsT0FBTyxJQUFJO1FBQ2IsQ0FBQztJQUNIO0lBRUEsT0FBT0g7QUFDVCJ9
@@ -21,69 +21,72 @@ function _interopRequireDefault(obj) {
21
21
  };
22
22
  }
23
23
  var metaDerivationNodeQuery = (0, _query.nodeQuery)("/metaSubproof/metaDerivation!"), metaDerivationChildNodesQuery = (0, _query.nodesQuery)("/metaDerivation/*"), qualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement"), unqualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/unqualifiedMetastatement!"), qualifiedOrUnqualifiedMetastatementNodesQuery = (0, _query.nodesQuery)("/metaSubproof/qualifiedMetastatement|unqualifiedMetastatement");
24
- function verifyMetaDerivation(metaDerivationNode, context) {
24
+ function verifyMetaDerivation(metaDerivationNode, metaproofContext) {
25
+ var metaDerivationVerified;
26
+ metaproofContext.begin(metaDerivationNode);
25
27
  var derived = true;
26
- context.setDerived(derived);
28
+ metaproofContext.setDerived(derived);
27
29
  var metaDerivationChildNodes = metaDerivationChildNodesQuery(metaDerivationNode), metaDerivationChildNodesVerified = metaDerivationChildNodes.every(function(metaDerivationChildNode) {
28
30
  var metaDerivationChildNodeVerified;
29
31
  var ruleName = metaDerivationChildNode.getRuleName();
30
32
  switch(ruleName){
31
33
  case _ruleNames.META_SUBPROOF_RULE_NAME:
32
34
  {
33
- var metaSubproofNode = metaDerivationChildNode, metaSubproofVerified = verifyMetaSubproof(metaSubproofNode, context);
35
+ var metaSubproofNode = metaDerivationChildNode, metaSubproofVerified = verifyMetaSubproof(metaSubproofNode, metaproofContext);
34
36
  if (metaSubproofVerified) {
35
37
  var metaAssertion = _metaAssertion.default.fromMetaSubproofNode(metaSubproofNode);
36
- context.addMetaAssertion(metaAssertion);
38
+ metaproofContext.addMetaAssertion(metaAssertion);
37
39
  metaDerivationChildNodeVerified = true;
38
40
  }
39
41
  break;
40
42
  }
41
43
  case _ruleNames.QUALIFIED_METASTATEMENT_RULE_NAME:
42
44
  {
43
- var qualifiedMetastatementNode = metaDerivationChildNode, qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode, context);
45
+ var qualifiedMetastatementNode = metaDerivationChildNode, qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode, metaproofContext);
44
46
  if (qualifiedMetastatementVerified) {
45
47
  var metaAssertion1 = _metaAssertion.default.fromQualifiedMetastatementNode(qualifiedMetastatementNode);
46
- context.addMetaAssertion(metaAssertion1);
48
+ metaproofContext.addMetaAssertion(metaAssertion1);
47
49
  metaDerivationChildNodeVerified = qualifiedMetastatementVerified; ///
48
50
  }
49
51
  break;
50
52
  }
51
53
  case _ruleNames.UNQUALIFIED_METASTATEMENT_RULE_NAME:
52
54
  {
53
- var unqualifiedMetastatementNode = metaDerivationChildNode, unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, context);
55
+ var unqualifiedMetastatementNode = metaDerivationChildNode, unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, metaproofContext);
54
56
  if (unqualifiedMetastatementVerified) {
55
57
  var metaAssertion2 = _metaAssertion.default.fromUnqualifiedMetastatementNode(unqualifiedMetastatementNode);
56
- context.addMetaAssertion(metaAssertion2);
58
+ metaproofContext.addMetaAssertion(metaAssertion2);
57
59
  metaDerivationChildNodeVerified = true;
58
60
  }
59
61
  break;
60
62
  }
61
63
  }
62
64
  return metaDerivationChildNodeVerified;
63
- }), metaDerivationVerified = metaDerivationChildNodesVerified; ///
65
+ });
66
+ metaDerivationVerified = metaDerivationChildNodesVerified; ///
67
+ metaDerivationVerified ? metaproofContext.complete(metaDerivationNode) : metaproofContext.halt(metaDerivationNode);
64
68
  return metaDerivationVerified;
65
69
  }
66
- function verifyMetaSubproof(metaSubproofNode, context) {
70
+ function verifyMetaSubproof(metaSubproofNode, metaproofContext) {
67
71
  var metaSubproofVerified = false;
68
- var metaproofContext = _metaproof.default.fromContext(context);
69
- context = metaproofContext; ///
70
- var qualifiedOrUnqualifiedMetastatementNodes = qualifiedOrUnqualifiedMetastatementNodesQuery(metaSubproofNode), firstQualifiedOrUnqualifiedMetastatementNode = (0, _array.first)(qualifiedOrUnqualifiedMetastatementNodes), unqualifiedMetastatementNode = firstQualifiedOrUnqualifiedMetastatementNode, unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, context);
72
+ metaproofContext = _metaproof.default.fromMetaproofContext(metaproofContext); ///
73
+ var qualifiedOrUnqualifiedMetastatementNodes = qualifiedOrUnqualifiedMetastatementNodesQuery(metaSubproofNode), firstQualifiedOrUnqualifiedMetastatementNode = (0, _array.first)(qualifiedOrUnqualifiedMetastatementNodes), unqualifiedMetastatementNode = firstQualifiedOrUnqualifiedMetastatementNode, unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, metaproofContext);
71
74
  if (unqualifiedMetastatementVerified) {
72
75
  var metaAssertion = _metaAssertion.default.fromUnqualifiedMetastatementNode(unqualifiedMetastatementNode);
73
- context.addMetaAssertion(metaAssertion);
76
+ metaproofContext.addMetaAssertion(metaAssertion);
74
77
  var metaDerivationVerified = true;
75
78
  var metaDerivationNode = metaDerivationNodeQuery(metaSubproofNode);
76
79
  if (metaDerivationNode !== null) {
77
- metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, context);
80
+ metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, metaproofContext);
78
81
  }
79
82
  if (metaDerivationVerified) {
80
83
  var secondQualifiedOrUnqualifiedMetastatementNode = (0, _array.second)(qualifiedOrUnqualifiedMetastatementNodes), qualifiedOrUnqualifiedMetastatementNode = secondQualifiedOrUnqualifiedMetastatementNode, qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(qualifiedOrUnqualifiedMetastatementNode), unqualifiedMetastatementNode1 = unqualifiedMetastatementNodeQuery(qualifiedOrUnqualifiedMetastatementNode);
81
84
  if (qualifiedMetastatementNode !== null) {
82
- var qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode, context);
85
+ var qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode, metaproofContext);
83
86
  metaSubproofVerified = qualifiedMetastatementVerified; ///
84
87
  }
85
88
  if (unqualifiedMetastatementNode1 !== null) {
86
- var unqualifiedMetastatementVerified1 = (0, _unqualified.default)(unqualifiedMetastatementNode1, context);
89
+ var unqualifiedMetastatementVerified1 = (0, _unqualified.default)(unqualifiedMetastatementNode1, metaproofContext);
87
90
  metaSubproofVerified = unqualifiedMetastatementVerified1; ///
88
91
  }
89
92
  }
@@ -91,4 +94,4 @@ function verifyMetaSubproof(metaSubproofNode, context) {
91
94
  return metaSubproofVerified;
92
95
  }
93
96
 
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YURlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhQXNzZXJ0aW9uIGZyb20gXCIuLi9tZXRhQXNzZXJ0aW9uXCI7XG5pbXBvcnQgTWV0YXByb29mQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9tZXRhcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IGZpcnN0LCBzZWNvbmQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBNRVRBX1NVQlBST09GX1JVTEVfTkFNRSwgUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FLCBVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgbWV0YURlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YVN1YnByb29mL21ldGFEZXJpdmF0aW9uIVwiKSxcbiAgICAgIG1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhRGVyaXZhdGlvbi8qXCIpLFxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRNZXRhc3RhdGVtZW50XCIpLFxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL21ldGFTdWJwcm9vZi9xdWFsaWZpZWRNZXRhc3RhdGVtZW50fHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFwiKVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhRGVyaXZhdGlvbihtZXRhRGVyaXZhdGlvbk5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgZGVyaXZlZCA9IHRydWU7XG5cbiAgY29udGV4dC5zZXREZXJpdmVkKGRlcml2ZWQpO1xuXG4gIGNvbnN0IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlcyA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1F1ZXJ5KG1ldGFEZXJpdmF0aW9uTm9kZSksXG4gICAgICAgIG1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1ZlcmlmaWVkID0gbWV0YURlcml2YXRpb25DaGlsZE5vZGVzLmV2ZXJ5KChtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZSkgPT4ge1xuICAgICAgICAgIGxldCBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZVZlcmlmaWVkO1xuXG4gICAgICAgICAgY29uc3QgcnVsZU5hbWUgPSBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgICAgICAgc3dpdGNoIChydWxlTmFtZSkge1xuICAgICAgICAgICAgY2FzZSBNRVRBX1NVQlBST09GX1JVTEVfTkFNRToge1xuICAgICAgICAgICAgICBjb25zdCBtZXRhU3VicHJvb2ZOb2RlID0gbWV0YURlcml2YXRpb25DaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgICAgICAgbWV0YVN1YnByb29mVmVyaWZpZWQgPSB2ZXJpZnlNZXRhU3VicHJvb2YobWV0YVN1YnByb29mTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgICAgICAgaWYgKG1ldGFTdWJwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWV0YUFzc2VydGlvbiA9IE1ldGFBc3NlcnRpb24uZnJvbU1ldGFTdWJwcm9vZk5vZGUobWV0YVN1YnByb29mTm9kZSk7XG5cbiAgICAgICAgICAgICAgICBjb250ZXh0LmFkZE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbik7XG5cbiAgICAgICAgICAgICAgICBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjYXNlIFFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRToge1xuICAgICAgICAgICAgICBjb25zdCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXRhQXNzZXJ0aW9uID0gTWV0YUFzc2VydGlvbi5mcm9tUXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgICAgICAgICAgY29udGV4dC5hZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuXG4gICAgICAgICAgICAgICAgbWV0YURlcml2YXRpb25DaGlsZE5vZGVWZXJpZmllZCA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSBVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRToge1xuICAgICAgICAgICAgICBjb25zdCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YURlcml2YXRpb25DaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgICAgICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWV0YUFzc2VydGlvbiA9IE1ldGFBc3NlcnRpb24uZnJvbVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgICAgICAgICBjb250ZXh0LmFkZE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbik7XG5cbiAgICAgICAgICAgICAgICBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZVZlcmlmaWVkO1xuICAgICAgICB9KSxcbiAgICAgICAgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1ZlcmlmaWVkOyAgLy8vXG5cbiAgcmV0dXJuIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFTdWJwcm9vZihtZXRhU3VicHJvb2ZOb2RlLCBjb250ZXh0KSB7XG4gIGxldCBtZXRhU3VicHJvb2ZWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFwcm9vZkNvbnRleHQgPSBNZXRhcHJvb2ZDb250ZXh0LmZyb21Db250ZXh0KGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBtZXRhcHJvb2ZDb250ZXh0OyAvLy9cblxuICBjb25zdCBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzID0gcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5KG1ldGFTdWJwcm9vZk5vZGUpLFxuICAgICAgICBmaXJzdFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IGZpcnN0KHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXMpLFxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gZmlyc3RRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3QgbWV0YUFzc2VydGlvbiA9IE1ldGFBc3NlcnRpb24uZnJvbVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb250ZXh0LmFkZE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbik7XG5cbiAgICBsZXQgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IHRydWU7XG5cbiAgICBjb25zdCBtZXRhRGVyaXZhdGlvbk5vZGUgPSBtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeShtZXRhU3VicHJvb2ZOb2RlKTtcblxuICAgIGlmIChtZXRhRGVyaXZhdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlNZXRhRGVyaXZhdGlvbihtZXRhRGVyaXZhdGlvbk5vZGUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmIChtZXRhRGVyaXZhdGlvblZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBzZWNvbmRRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBzZWNvbmQocXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlcyksXG4gICAgICAgICAgICBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBzZWNvbmRRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgbWV0YVN1YnByb29mVmVyaWZpZWQgPSBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7ICAvLy9cbiAgICAgIH1cblxuICAgICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgbWV0YVN1YnByb29mVmVyaWZpZWQgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgIC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhU3VicHJvb2ZWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhRGVyaXZhdGlvbiIsIm1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YURlcml2YXRpb25DaGlsZE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsIm1ldGFEZXJpdmF0aW9uTm9kZSIsImNvbnRleHQiLCJkZXJpdmVkIiwic2V0RGVyaXZlZCIsIm1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlcyIsIm1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1ZlcmlmaWVkIiwiZXZlcnkiLCJtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZSIsIm1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlVmVyaWZpZWQiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiTUVUQV9TVUJQUk9PRl9SVUxFX05BTUUiLCJtZXRhU3VicHJvb2ZOb2RlIiwibWV0YVN1YnByb29mVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhU3VicHJvb2YiLCJtZXRhQXNzZXJ0aW9uIiwiTWV0YUFzc2VydGlvbiIsImZyb21NZXRhU3VicHJvb2ZOb2RlIiwiYWRkTWV0YUFzc2VydGlvbiIsIlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsImZyb21RdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsIlVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwiZnJvbVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhRGVyaXZhdGlvblZlcmlmaWVkIiwibWV0YXByb29mQ29udGV4dCIsIk1ldGFwcm9vZkNvbnRleHQiLCJmcm9tQ29udGV4dCIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXMiLCJmaXJzdFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsImZpcnN0Iiwic2Vjb25kUXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwic2Vjb25kIiwicXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpQkE7OztlQUF3QkE7OztrRUFmRTs4REFDRzs4REFDWTtnRUFDRTtxQkFFYjtxQkFDUTt5QkFDMEU7Ozs7OztBQUVoSCxJQUFNQywwQkFBMEJDLElBQUFBLGdCQUFTLEVBQUMsa0NBQ3BDQyxnQ0FBZ0NDLElBQUFBLGlCQUFVLEVBQUMsc0JBQzNDQyxrQ0FBa0NILElBQUFBLGdCQUFTLEVBQUMsNEJBQzVDSSxvQ0FBb0NKLElBQUFBLGdCQUFTLEVBQUMsK0JBQzlDSyxnREFBZ0RILElBQUFBLGlCQUFVLEVBQUM7QUFFbEQsU0FBU0oscUJBQXFCUSxrQkFBa0IsRUFBRUMsT0FBTyxFQUFFO0lBQ3hFLElBQU1DLFVBQVUsSUFBSTtJQUVwQkQsUUFBUUUsVUFBVSxD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
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YURlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhQXNzZXJ0aW9uIGZyb20gXCIuLi9tZXRhQXNzZXJ0aW9uXCI7XG5pbXBvcnQgTWV0YXByb29mQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9tZXRhcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IGZpcnN0LCBzZWNvbmQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBNRVRBX1NVQlBST09GX1JVTEVfTkFNRSwgUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FLCBVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgbWV0YURlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YVN1YnByb29mL21ldGFEZXJpdmF0aW9uIVwiKSxcbiAgICAgIG1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhRGVyaXZhdGlvbi8qXCIpLFxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRNZXRhc3RhdGVtZW50XCIpLFxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL21ldGFTdWJwcm9vZi9xdWFsaWZpZWRNZXRhc3RhdGVtZW50fHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFwiKVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhRGVyaXZhdGlvbihtZXRhRGVyaXZhdGlvbk5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQ7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihtZXRhRGVyaXZhdGlvbk5vZGUpO1xuXG4gIGNvbnN0IGRlcml2ZWQgPSB0cnVlO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuc2V0RGVyaXZlZChkZXJpdmVkKTtcblxuICBjb25zdCBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXMgPSBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXNRdWVyeShtZXRhRGVyaXZhdGlvbk5vZGUpLFxuICAgICAgICBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXNWZXJpZmllZCA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlcy5ldmVyeSgobWV0YURlcml2YXRpb25DaGlsZE5vZGUpID0+IHtcbiAgICAgICAgICBsZXQgbWV0YURlcml2YXRpb25DaGlsZE5vZGVWZXJpZmllZDtcblxuICAgICAgICAgIGNvbnN0IHJ1bGVOYW1lID0gbWV0YURlcml2YXRpb25DaGlsZE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICAgICAgICAgIHN3aXRjaCAocnVsZU5hbWUpIHtcbiAgICAgICAgICAgIGNhc2UgTUVUQV9TVUJQUk9PRl9SVUxFX05BTUU6IHtcbiAgICAgICAgICAgICAgY29uc3QgbWV0YVN1YnByb29mTm9kZSA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgICAgIG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gdmVyaWZ5TWV0YVN1YnByb29mKG1ldGFTdWJwcm9vZk5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChtZXRhU3VicHJvb2ZWZXJpZmllZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21NZXRhU3VicHJvb2ZOb2RlKG1ldGFTdWJwcm9vZk5vZGUpO1xuXG4gICAgICAgICAgICAgICAgbWV0YXByb29mQ29udGV4dC5hZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuXG4gICAgICAgICAgICAgICAgbWV0YURlcml2YXRpb25DaGlsZE5vZGVWZXJpZmllZCA9IHRydWU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSBRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgICAgICAgICAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgICAgICAgICAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWV0YUFzc2VydGlvbiA9IE1ldGFBc3NlcnRpb24uZnJvbVF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICAgICAgICAgIG1ldGFwcm9vZkNvbnRleHQuYWRkTWV0YUFzc2VydGlvbihtZXRhQXNzZXJ0aW9uKTtcblxuICAgICAgICAgICAgICAgIG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlVmVyaWZpZWQgPSBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgICAgICAgICAgY29uc3QgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgICAgICAgICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21VbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgICAgICAgICAgbWV0YXByb29mQ29udGV4dC5hZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuXG4gICAgICAgICAgICAgICAgbWV0YURlcml2YXRpb25DaGlsZE5vZGVWZXJpZmllZCA9IHRydWU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbWV0YURlcml2YXRpb25DaGlsZE5vZGVWZXJpZmllZDtcbiAgICAgICAgfSk7XG5cbiAgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1ZlcmlmaWVkOyAgLy8vXG5cbiAgbWV0YURlcml2YXRpb25WZXJpZmllZCA/XG4gICAgbWV0YXByb29mQ29udGV4dC5jb21wbGV0ZShtZXRhRGVyaXZhdGlvbk5vZGUpIDpcbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuaGFsdChtZXRhRGVyaXZhdGlvbk5vZGUpO1xuXG4gIHJldHVybiBtZXRhRGVyaXZhdGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhU3VicHJvb2YobWV0YVN1YnByb29mTm9kZSwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgbWV0YVN1YnByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBtZXRhcHJvb2ZDb250ZXh0ID0gTWV0YXByb29mQ29udGV4dC5mcm9tTWV0YXByb29mQ29udGV4dChtZXRhcHJvb2ZDb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlcyA9IHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeShtZXRhU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgZmlyc3RRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBmaXJzdChxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzKSxcbiAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IGZpcnN0UXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21VbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbWV0YXByb29mQ29udGV4dC5hZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuXG4gICAgbGV0IG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSB0cnVlO1xuXG4gICAgY29uc3QgbWV0YURlcml2YXRpb25Ob2RlID0gbWV0YURlcml2YXRpb25Ob2RlUXVlcnkobWV0YVN1YnByb29mTm9kZSk7XG5cbiAgICBpZiAobWV0YURlcml2YXRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgICBtZXRhRGVyaXZhdGlvblZlcmlmaWVkID0gdmVyaWZ5TWV0YURlcml2YXRpb24obWV0YURlcml2YXRpb25Ob2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAobWV0YURlcml2YXRpb25WZXJpZmllZCkge1xuICAgICAgY29uc3Qgc2Vjb25kUXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gc2Vjb25kKHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXMpLFxuICAgICAgICAgICAgcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gc2Vjb25kUXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgICAgIG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkOyAgLy8vXG4gICAgICB9XG5cbiAgICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgICAgIG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7ICAvLy9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YVN1YnByb29mVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YURlcml2YXRpb24iLCJtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzUXVlcnkiLCJtZXRhRGVyaXZhdGlvbk5vZGUiLCJtZXRhcHJvb2ZDb250ZXh0IiwibWV0YURlcml2YXRpb25WZXJpZmllZCIsImJlZ2luIiwiZGVyaXZlZCIsInNldERlcml2ZWQiLCJtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXMiLCJtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXNWZXJpZmllZCIsImV2ZXJ5IiwibWV0YURlcml2YXRpb25DaGlsZE5vZGUiLCJtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZVZlcmlmaWVkIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIk1FVEFfU1VCUFJPT0ZfUlVMRV9OQU1FIiwibWV0YVN1YnByb29mTm9kZSIsIm1ldGFTdWJwcm9vZlZlcmlmaWVkIiwidmVyaWZ5TWV0YVN1YnByb29mIiwibWV0YUFzc2VydGlvbiIsIk1ldGFBc3NlcnRpb24iLCJmcm9tTWV0YVN1YnByb29mTm9kZSIsImFkZE1ldGFBc3NlcnRpb24iLCJRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJmcm9tUXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsImZyb21VbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwiY29tcGxldGUiLCJoYWx0IiwiTWV0YXByb29mQ29udGV4dCIsImZyb21NZXRhcHJvb2ZDb250ZXh0IiwicXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlcyIsImZpcnN0UXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwiZmlyc3QiLCJzZWNvbmRRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJzZWNvbmQiLCJxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUi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
@@ -17,20 +17,22 @@ function _interopRequireDefault(obj) {
17
17
  };
18
18
  }
19
19
  var metaDerivationNodeQuery = (0, _query.nodeQuery)("/metaproof/metaDerivation!"), qualifiedStatementNodeQuery = (0, _query.nodeQuery)("/metaproof/qualifiedMetastatement!"), metaProofMetastatementNodeQuery = (0, _query.nodeQuery)("/metaproof/qualifiedMetastatement/metastatement!");
20
- function verifyMetaproof(metaproofNode, conclusion, context) {
20
+ function verifyMetaproof(metaproofNode, conclusion, metaproofContext) {
21
21
  var metaproofVerified = false;
22
+ metaproofContext.begin(metaproofNode);
22
23
  var metaDerivationNode = metaDerivationNodeQuery(metaproofNode);
23
24
  var metaDerivationVerified = true;
24
25
  if (metaDerivationNode !== null) {
25
- metaDerivationVerified = (0, _metaDerivation.default)(metaDerivationNode, context);
26
+ metaDerivationVerified = (0, _metaDerivation.default)(metaDerivationNode, metaproofContext);
26
27
  }
27
28
  if (metaDerivationVerified) {
28
- var qualifiedMetastatementNode = qualifiedStatementNodeQuery(metaproofNode), qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode, context);
29
+ var qualifiedMetastatementNode = qualifiedStatementNodeQuery(metaproofNode), qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode, metaproofContext);
29
30
  if (qualifiedMetastatementVerified) {
30
31
  var metastatementNode = conclusion.getMetastatementNode(), metaProofMetastatementNode = metaProofMetastatementNodeQuery(metaproofNode), metaProofMetastatementNodeMatches = matchMetaProofMetastatementNode(metaProofMetastatementNode, metastatementNode);
31
32
  metaproofVerified = metaProofMetastatementNodeMatches; ///
32
33
  }
33
34
  }
35
+ metaproofVerified ? metaproofContext.complete(metaproofNode) : metaproofContext.complete(metaproofNode);
34
36
  return metaproofVerified;
35
37
  }
36
38
  function matchMetaProofMetastatementNode(metaProofMetastatementNode, metastatementNode) {
@@ -78,4 +80,4 @@ function matchMetaProofNonTerminalNode(metaProofNonTerminalNode, nonTerminalNode
78
80
  return metaProofNonTerminalNodeMatches;
79
81
  }
80
82
 
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5TWV0YURlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFwcm9vZi9tZXRhRGVyaXZhdGlvbiFcIiksXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhcHJvb2YvcXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YXByb29mKG1ldGFwcm9vZk5vZGUsIGNvbmNsdXNpb24sIGNvbnRleHQpIHtcbiAgbGV0IG1ldGFwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YURlcml2YXRpb25Ob2RlID0gbWV0YURlcml2YXRpb25Ob2RlUXVlcnkobWV0YXByb29mTm9kZSk7XG5cbiAgbGV0IG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSB0cnVlO1xuXG4gIGlmIChtZXRhRGVyaXZhdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBtZXRhRGVyaXZhdGlvblZlcmlmaWVkID0gdmVyaWZ5TWV0YURlcml2YXRpb24obWV0YURlcml2YXRpb25Ob2RlLCBjb250ZXh0KTtcbiAgfVxuXG4gIGlmIChtZXRhRGVyaXZhdGlvblZlcmlmaWVkKSB7XG4gICAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkobWV0YXByb29mTm9kZSksXG4gICAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IGNvbmNsdXNpb24uZ2V0TWV0YXN0YXRlbWVudE5vZGUoKSxcbiAgICAgICAgICAgIG1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGVRdWVyeShtZXRhcHJvb2ZOb2RlKSxcbiAgICAgICAgICAgIG1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG1hdGNoTWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGUobWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbWV0YXByb29mVmVyaWZpZWQgPSBtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7ICAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YXByb29mVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGUobWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gIGNvbnN0IG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZSA9IG1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZShtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSksXG4gICAgICAgIG1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7ICAvLy9cblxuICByZXR1cm4gbWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaE1ldGFQcm9vZk5vZGUobWV0YVByb29mTm9kZSwgbm9kZSkge1xuICBsZXQgbWV0YVByb29mTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICBydWxlTm9kZVRlcm1pbmFsTm9kZSA9IG1ldGFQcm9vZk5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICBpZiAobm9kZVRlcm1pbmFsTm9kZSA9PT0gcnVsZU5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBpZiAobm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgICAgbWV0YVByb29mVGVybWluYWxOb2RlID0gbWV0YVByb29mTm9kZSwgIC8vL1xuICAgICAgICAgICAgbWV0YVByb29mVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoTWV0YVByb29mVGVybWluYWxOb2RlKG1ldGFQcm9vZlRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlKTtcblxuICAgICAgbWV0YVByb29mTm9kZU1hdGNoZXMgPSBtZXRhUHJvb2ZUZXJtaW5hbE5vZGVNYXRjaGVzOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgICAgbWV0YVByb29mTm9uVGVybWluYWxOb2RlID0gbWV0YVByb29mTm9kZSwgIC8vL1xuICAgICAgICAgICAgbWV0YVByb29mTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoTWV0YVByb29mTm9uVGVybWluYWxOb2RlKG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKTtcblxuICAgICAgbWV0YVByb29mTm9kZU1hdGNoZXMgPSBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YVByb29mTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVByb29mTm9kZXMobWV0YVByb29mTm9kZXMsIG5vZGVzKSB7XG4gIGxldCBtZXRhUHJvb2ZOb2Rlc01hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBub2Rlc0xlbmd0aCA9IG5vZGVzLmxlbmd0aCxcbiAgICAgICAgbWV0YVByb29mTm9kZXNMZW5ndGggPSBtZXRhUHJvb2ZOb2Rlcy5sZW5ndGg7XG5cbiAgaWYgKG5vZGVzTGVuZ3RoID09PSBtZXRhUHJvb2ZOb2Rlc0xlbmd0aCkge1xuICAgIG1ldGFQcm9vZk5vZGVzTWF0Y2hlcyA9IG5vZGVzLmV2ZXJ5KChub2RlLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgbWV0YVByb29mTm9kZSA9IG1ldGFQcm9vZk5vZGVzW2luZGV4XSxcbiAgICAgICAgICAgIG1ldGFQcm9vZk5vZGVNYXRjaGVzID0gbWF0Y2hNZXRhUHJvb2ZOb2RlKG1ldGFQcm9vZk5vZGUsIG5vZGUpO1xuXG4gICAgICBpZiAobWV0YVByb29mTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBtZXRhUHJvb2ZOb2Rlc01hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVByb29mVGVybWluYWxOb2RlKG1ldGFQcm9vZlRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBtZXRhUHJvb2ZUZXJtaW5hbE5vZGUubWF0Y2godGVybWluYWxOb2RlKSxcbiAgICAgICAgbWV0YVByb29mVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoZXM7ICAvLy9cblxuICByZXR1cm4gbWV0YVByb29mVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUobWV0YVByb29mTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUpIHtcbiAgbGV0IG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICBtZXRhUHJvb2ZSdWxlTmFtZSA9IG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICBpZiAocnVsZU5hbWUgPT09IG1ldGFQcm9vZlJ1bGVOYW1lKSB7XG4gICAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbWV0YVByb29mQ2hpbGROb2RlcyA9IG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBtZXRhUHJvb2ZOb2RlcyA9IG1ldGFQcm9vZkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIG1ldGFQcm9vZk5vZGVzTWF0Y2hlcyA9IG1hdGNoTWV0YVByb29mTm9kZXMobWV0YVByb29mTm9kZXMsIG5vZGVzKTtcblxuICAgIG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtZXRhUHJvb2ZOb2Rlc01hdGNoZXM7IC8vL1xuICB9XG5cbiAgcmV0dXJuIG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXByb29mIiwibWV0YURlcml2YXRpb25Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkiLCJtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwibWV0YXByb29mTm9kZSIsImNvbmNsdXNpb24iLCJjb250ZXh0IiwibWV0YXByb29mVmVyaWZpZWQiLCJtZXRhRGVyaXZhdGlvbk5vZGUiLCJtZXRhRGVyaXZhdGlvblZlcmlmaWVkIiwidmVyaWZ5TWV0YURlcml2YXRpb24iLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImdldE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaE1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YVByb29mTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwibWV0YVByb29mTm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YVByb29mTm9uVGVybWluYWxOb2RlIiwibWF0Y2hNZXRhUHJvb2ZOb2RlIiwibWV0YVByb29mTm9kZSIsIm5vZGUiLCJtZXRhUHJvb2ZOb2RlTWF0Y2hlcyIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInJ1bGVOb2RlVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwibWV0YVByb29mVGVybWluYWxOb2RlIiwibWV0YVByb29mVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YVByb29mVGVybWluYWxOb2RlIiwibWF0Y2hNZXRhUHJvb2ZOb2RlcyIsIm1ldGFQcm9vZk5vZGVzIiwibm9kZXMiLCJtZXRhUHJvb2ZOb2Rlc01hdGNoZXMiLCJub2Rlc0xlbmd0aCIsImxlbmd0aCIsIm1ldGFQcm9vZk5vZGVzTGVuZ3RoIiwiZXZlcnkiLCJpbmRleCIsIm1hdGNoZXMiLCJtYXRjaCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJtZXRhUHJvb2ZSdWxlTmFtZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwibWV0YVByb29mQ2hpbGROb2RlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7OzttRUFUUzs4REFDUTtxQkFFZjs7Ozs7O0FBRTFCLElBQU1DLDBCQUEwQkMsSUFBQUEsZ0JBQVMsRUFBQywrQkFDcENDLDhCQUE4QkQsSUFBQUEsZ0JBQVMsRUFBQyx1Q0FDeENFLGtDQUFrQ0YsSUFBQUEsZ0JBQVMsRUFBQztBQUVuQyxTQUFTRixnQkFBZ0JLLGFBQWEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUU7SUFDMUUsSUFBSUMsb0JBQW9CLEtBQUs7SUFFN0IsSUFBTUMscUJBQXFCUix3QkFBd0JJO0lBRW5ELElBQUlLLHlCQUF5QixJQUFJO0lBRWpDLElBQUlELHVCQUF1QixJQUFJLEVBQUU7UUFDL0JDLHlCQUF5QkMsSUFBQUEsdUJBQW9CLEVBQUNGLG9CQUFvQkY7SUFDcEUsQ0FBQztJQUVELElBQUlHLHdCQUF3QjtRQUMxQixJQUFNRSw2QkFBNkJULDRCQUE0QkUsZ0JBQ3pEUSxpQ0FBaUNDLElBQUFBLGtCQUE0QixFQUFDRiw0QkFBNEJMO1FBRWhHLElBQUlNLGdDQUFnQztZQUNsQyxJQUFNRSxvQkFBb0JULFdBQVdVLG9CQUFvQixJQUNuREMsNkJBQTZCYixnQ0FBZ0NDLGdCQUM3RGEsb0NBQW9DQyxnQ0FBZ0NGLDRCQUE0QkY7WUFFdEdQLG9CQUFvQlUsbUNBQW9DLEdBQUc7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPVjtBQUNUO0FBRUEsU0FBU1csZ0NBQWdDRiwwQkFBMEIsRUFBRUYsaUJBQWlCLEVBQUU7SUFDdEYsSUFBTUssMkJBQTJCSCw0QkFDM0JJLGtCQUFrQk4sbUJBQ2xCTyxrQ0FBa0NDLDhCQUE4QkgsMEJBQTBCQyxrQkFDMUZILG9DQUFvQ0ksaUNBQWtDLEdBQUc7SUFFL0UsT0FBT0o7QUFDVDtBQUVBLFNBQVNNLG1CQUFtQkMsYUFBYSxFQUFFQyxJQUFJLEVBQUU7SUFDL0MsSUFBSUMsdUJBQXVCLEtBQUs7SUFFaEMsSUFBTUMsbUJBQW1CRixLQUFLRyxjQUFjLElBQ3RDQyx1QkFBdUJMLGNBQWNJLGNBQWM7SUFFekQsSUFBSUQscUJBQXFCRSxzQkFBc0I7UUFDN0MsSUFBSUYsa0JBQWtCO1lBQ3BCLElBQU1HLGVBQWVMLE1BQ2ZNLHdCQUF3QlAsZUFDeEJRLCtCQUErQkMsMkJBQTJCRix1QkFBdUJEO1lBRXZGSix1QkFBdUJNLDhCQUErQixHQUFHO1FBQzNELE9BQU87WUFDTCxJQUFNWixrQkFBa0JLLE1BQ2xCTiwyQkFBMkJLLGVBQzNCSCxrQ0FBa0NDLDhCQUE4QkgsMEJBQTBCQztZQUVoR00sdUJBQXVCTCxpQ0FBaUMsR0FBRztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU9LO0FBQ1Q7QUFFQSxTQUFTUSxvQkFBb0JDLGNBQWMsRUFBRUMsS0FBSyxFQUFFO0lBQ2xELElBQUlDLHdCQUF3QixLQUFLO0lBRWpDLElBQU1DLGNBQWNGLE1BQU1HLE1BQU0sRUFDMUJDLHVCQUF1QkwsZUFBZUksTUFBTTtJQUVsRCxJQUFJRCxnQkFBZ0JFLHNCQUFzQjtRQUN4Q0gsd0JBQXdCRCxNQUFNSyxLQUFLLENBQUMsU0FBQ2hCLE1BQU1pQixPQUFVO1lBQ25ELElBQU1sQixnQkFBZ0JXLGNBQWMsQ0FBQ08sTUFBTSxFQUNyQ2hCLHVCQUF1QkgsbUJBQW1CQyxlQUFlQztZQUUvRCxJQUFJQyxzQkFBc0I7Z0JBQ3hCLE9BQU8sSUFBSTtZQUNiLENBQUM7UUFDSDtJQUNGLENBQUM7SUFFRCxPQUFPVztBQUNUO0FBRUEsU0FBU0osMkJBQTJCRixxQkFBcUIsRUFBRUQsWUFBWSxFQUFFO0lBQ3ZFLElBQU1hLFVBQVVaLHNCQUFzQmEsS0FBSyxDQUFDZCxlQUN0Q0UsK0JBQStCVyxTQUFVLEdBQUc7SUFFbEQsT0FBT1g7QUFDVDtBQUVBLFNBQVNWLDhCQUE4Qkgsd0JBQXdCLEVBQUVDLGVBQWUsRUFBRTtJQUNoRixJQUFJQyxrQ0FBa0MsS0FBSztJQUUzQyxJQUFNd0IsV0FBV3pCLGdCQUFnQjBCLFdBQVcsSUFDdENDLG9CQUFvQjVCLHlCQUF5QjJCLFdBQVcsSUFBSSxHQUFHO0lBRXJFLElBQUlELGFBQWFFLG1CQUFtQjtRQUNsQyxJQUFNQyxhQUFhNUIsZ0JBQWdCNkIsYUFBYSxJQUMxQ0Msc0JBQXNCL0IseUJBQXlCOEIsYUFBYSxJQUM1RGIsUUFBUVksWUFDUmIsaUJBQWlCZSxxQkFDakJiLHdCQUF3Qkgsb0JBQW9CQyxnQkFBZ0JDO1FBRWxFZixrQ0FBa0NnQix1QkFBdUIsR0FBRztJQUM5RCxDQUFDO0lBRUQsT0FBT2hCO0FBQ1QifQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5TWV0YURlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFwcm9vZi9tZXRhRGVyaXZhdGlvbiFcIiksXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhcHJvb2YvcXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YXByb29mKG1ldGFwcm9vZk5vZGUsIGNvbmNsdXNpb24sIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IG1ldGFwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihtZXRhcHJvb2ZOb2RlKTtcblxuICBjb25zdCBtZXRhRGVyaXZhdGlvbk5vZGUgPSBtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeShtZXRhcHJvb2ZOb2RlKTtcblxuICBsZXQgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IHRydWU7XG5cbiAgaWYgKG1ldGFEZXJpdmF0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlNZXRhRGVyaXZhdGlvbihtZXRhRGVyaXZhdGlvbk5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuICB9XG5cbiAgaWYgKG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICBjb25zdCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShtZXRhcHJvb2ZOb2RlKSxcbiAgICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gY29uY2x1c2lvbi5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgICAgbWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFwcm9vZk5vZGUpLFxuICAgICAgICAgICAgbWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWF0Y2hNZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZShtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBtZXRhcHJvb2ZWZXJpZmllZCA9IG1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlczsgIC8vL1xuICAgIH1cbiAgfVxuXG4gIG1ldGFwcm9vZlZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKG1ldGFwcm9vZk5vZGUpIDpcbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuY29tcGxldGUobWV0YXByb29mTm9kZSk7XG5cbiAgcmV0dXJuIG1ldGFwcm9vZlZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiBtYXRjaE1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlKG1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSkge1xuICBjb25zdCBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUgPSBtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUobWV0YVByb29mTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUpLFxuICAgICAgICBtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzOyAgLy8vXG5cbiAgcmV0dXJuIG1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZOb2RlKG1ldGFQcm9vZk5vZGUsIG5vZGUpIHtcbiAgbGV0IG1ldGFQcm9vZk5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgcnVsZU5vZGVUZXJtaW5hbE5vZGUgPSBtZXRhUHJvb2ZOb2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IHJ1bGVOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFQcm9vZlRlcm1pbmFsTm9kZSA9IG1ldGFQcm9vZk5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFQcm9vZlRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZlRlcm1pbmFsTm9kZShtZXRhUHJvb2ZUZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSk7XG5cbiAgICAgIG1ldGFQcm9vZk5vZGVNYXRjaGVzID0gbWV0YVByb29mVGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZSA9IG1ldGFQcm9vZk5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZShtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSk7XG5cbiAgICAgIG1ldGFQcm9vZk5vZGVNYXRjaGVzID0gbWV0YVByb29mTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFQcm9vZk5vZGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaE1ldGFQcm9vZk5vZGVzKG1ldGFQcm9vZk5vZGVzLCBub2Rlcykge1xuICBsZXQgbWV0YVByb29mTm9kZXNNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIG1ldGFQcm9vZk5vZGVzTGVuZ3RoID0gbWV0YVByb29mTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChub2Rlc0xlbmd0aCA9PT0gbWV0YVByb29mTm9kZXNMZW5ndGgpIHtcbiAgICBtZXRhUHJvb2ZOb2Rlc01hdGNoZXMgPSBub2Rlcy5ldmVyeSgobm9kZSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IG1ldGFQcm9vZk5vZGUgPSBtZXRhUHJvb2ZOb2Rlc1tpbmRleF0sXG4gICAgICAgICAgICBtZXRhUHJvb2ZOb2RlTWF0Y2hlcyA9IG1hdGNoTWV0YVByb29mTm9kZShtZXRhUHJvb2ZOb2RlLCBub2RlKTtcblxuICAgICAgaWYgKG1ldGFQcm9vZk5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbWV0YVByb29mTm9kZXNNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaE1ldGFQcm9vZlRlcm1pbmFsTm9kZShtZXRhUHJvb2ZUZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSkge1xuICBjb25zdCBtYXRjaGVzID0gbWV0YVByb29mVGVybWluYWxOb2RlLm1hdGNoKHRlcm1pbmFsTm9kZSksXG4gICAgICAgIG1ldGFQcm9vZlRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaGVzOyAgLy8vXG5cbiAgcmV0dXJuIG1ldGFQcm9vZlRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVByb29mTm9uVGVybWluYWxOb2RlKG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKSB7XG4gIGxldCBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgbWV0YVByb29mUnVsZU5hbWUgPSBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgaWYgKHJ1bGVOYW1lID09PSBtZXRhUHJvb2ZSdWxlTmFtZSkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG1ldGFQcm9vZkNoaWxkTm9kZXMgPSBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgbWV0YVByb29mTm9kZXMgPSBtZXRhUHJvb2ZDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBtZXRhUHJvb2ZOb2Rlc01hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vZGVzKG1ldGFQcm9vZk5vZGVzLCBub2Rlcyk7XG5cbiAgICBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWV0YVByb29mTm9kZXNNYXRjaGVzOyAvLy9cbiAgfVxuXG4gIHJldHVybiBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFwcm9vZiIsIm1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwibWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGFwcm9vZk5vZGUiLCJjb25jbHVzaW9uIiwibWV0YXByb29mQ29udGV4dCIsIm1ldGFwcm9vZlZlcmlmaWVkIiwiYmVnaW4iLCJtZXRhRGVyaXZhdGlvbk5vZGUiLCJtZXRhRGVyaXZhdGlvblZlcmlmaWVkIiwidmVyaWZ5TWV0YURlcml2YXRpb24iLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImdldE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaE1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlIiwiY29tcGxldGUiLCJtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUiLCJtYXRjaE1ldGFQcm9vZk5vZGUiLCJtZXRhUHJvb2ZOb2RlIiwibm9kZSIsIm1ldGFQcm9vZk5vZGVNYXRjaGVzIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwicnVsZU5vZGVUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJtZXRhUHJvb2ZUZXJtaW5hbE5vZGUiLCJtZXRhUHJvb2ZUZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZUZXJtaW5hbE5vZGUiLCJtYXRjaE1ldGFQcm9vZk5vZGVzIiwibWV0YVByb29mTm9kZXMiLCJub2RlcyIsIm1ldGFQcm9vZk5vZGVzTWF0Y2hlcyIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwibWV0YVByb29mTm9kZXNMZW5ndGgiLCJldmVyeSIsImluZGV4IiwibWF0Y2hlcyIsIm1hdGNoIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIm1ldGFQcm9vZlJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJtZXRhUHJvb2ZDaGlsZE5vZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7O21FQVRTOzhEQUNRO3FCQUVmOzs7Ozs7QUFFMUIsSUFBTUMsMEJBQTBCQyxJQUFBQSxnQkFBUyxFQUFDLCtCQUNwQ0MsOEJBQThCRCxJQUFBQSxnQkFBUyxFQUFDLHVDQUN4Q0Usa0NBQWtDRixJQUFBQSxnQkFBUyxFQUFDO0FBRW5DLFNBQVNGLGdCQUFnQkssYUFBYSxFQUFFQyxVQUFVLEVBQUVDLGdCQUFnQixFQUFFO0lBQ25GLElBQUlDLG9CQUFvQixLQUFLO0lBRTdCRCxpQkFBaUJFLEtBQUssQ0FBQ0o7SUFFdkIsSUFBTUsscUJBQXFCVCx3QkFBd0JJO0lBRW5ELElBQUlNLHlCQUF5QixJQUFJO0lBRWpDLElBQUlELHVCQUF1QixJQUFJLEVBQUU7UUFDL0JDLHlCQUF5QkMsSUFBQUEsdUJBQW9CLEVBQUNGLG9CQUFvQkg7SUFDcEUsQ0FBQztJQUVELElBQUlJLHdCQUF3QjtRQUMxQixJQUFNRSw2QkFBNkJWLDRCQUE0QkUsZ0JBQ3pEUyxpQ0FBaUNDLElBQUFBLGtCQUE0QixFQUFDRiw0QkFBNEJOO1FBRWhHLElBQUlPLGdDQUFnQztZQUNsQyxJ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
@@ -11,21 +11,23 @@ Object.defineProperty(exports, "default", {
11
11
  var _string = require("../../utilities/string");
12
12
  var _query = require("../../utilities/query");
13
13
  var referenceNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement/qualification!/reference!"), metastatementNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement/metastatement!");
14
- function verifyQualifiedMetastatement(qualifiedMetastatementNode, context) {
14
+ function verifyQualifiedMetastatement(qualifiedMetastatementNode, metaproofContext) {
15
15
  var qualifiedMetastatementVerified = false;
16
+ metaproofContext.begin(qualifiedMetastatementNode);
16
17
  var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode);
17
18
  if (metastatementNode !== null) {
18
- var referenceNode = referenceNodeQuery(qualifiedMetastatementNode), referenceName = (0, _query.referenceNameFromReferenceNode)(referenceNode), rule = context.findRuleByReferenceName(referenceName);
19
+ var referenceNode = referenceNodeQuery(qualifiedMetastatementNode), referenceName = (0, _query.referenceNameFromReferenceNode)(referenceNode), rule = metaproofContext.findRuleByReferenceName(referenceName);
19
20
  if (rule !== null) {
20
- var ruleMatchesMetastatement = rule.matchMetastatement(metastatementNode, context);
21
+ var ruleMatchesMetastatement = rule.matchMetastatement(metastatementNode, metaproofContext);
21
22
  qualifiedMetastatementVerified = ruleMatchesMetastatement; ///
22
23
  }
23
24
  }
24
25
  if (qualifiedMetastatementVerified) {
25
26
  var metastatementString = (0, _string.nodeAsString)(metastatementNode);
26
- context.debug("Verified the '".concat(metastatementString, "' qualified metastatement."), qualifiedMetastatementNode);
27
+ metaproofContext.debug("Verified the '".concat(metastatementString, "' qualified metastatement."));
27
28
  }
29
+ qualifiedMetastatementVerified ? metaproofContext.complete(qualifiedMetastatementNode) : metaproofContext.halt(qualifiedMetastatementNode);
28
30
  return qualifiedMetastatementVerified;
29
31
  }
30
32
 
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIHJlZmVyZW5jZU5hbWVGcm9tUmVmZXJlbmNlTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgcmVmZXJlbmNlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQvcXVhbGlmaWNhdGlvbiEvcmVmZXJlbmNlIVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgY29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAobWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCByZWZlcmVuY2VOb2RlID0gcmVmZXJlbmNlTm9kZVF1ZXJ5KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICByZWZlcmVuY2VOYW1lID0gcmVmZXJlbmNlTmFtZUZyb21SZWZlcmVuY2VOb2RlKHJlZmVyZW5jZU5vZGUpLFxuICAgICAgICAgIHJ1bGUgPSBjb250ZXh0LmZpbmRSdWxlQnlSZWZlcmVuY2VOYW1lKHJlZmVyZW5jZU5hbWUpO1xuXG4gICAgaWYgKHJ1bGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJ1bGVNYXRjaGVzTWV0YXN0YXRlbWVudCA9IHJ1bGUubWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBjb250ZXh0KTtcblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gcnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50OyAgLy8vXG4gICAgfVxuICB9XG5cbiAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgVmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgbWV0YXN0YXRlbWVudC5gLCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJyZWZlcmVuY2VOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJjb250ZXh0IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwibWV0YXN0YXRlbWVudE5vZGUiLCJyZWZlcmVuY2VOb2RlIiwicmVmZXJlbmNlTmFtZSIsInJlZmVyZW5jZU5hbWVGcm9tUmVmZXJlbmNlTm9kZSIsInJ1bGUiLCJmaW5kUnVsZUJ5UmVmZXJlbmNlTmFtZSIsInJ1bGVNYXRjaGVzTWV0YXN0YXRlbWVudCIsIm1hdGNoTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUF3QkE7OztzQkFOSztxQkFDNkI7QUFFMUQsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHNEQUMvQkMseUJBQXlCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRTFCLFNBQVNGLDZCQUE2QkksMEJBQTBCLEVBQUVDLE9BQU8sRUFBRTtJQUN4RixJQUFJQyxpQ0FBaUMsS0FBSztJQUUxQyxJQUFNQyxvQkFBb0JKLHVCQUF1QkM7SUFFakQsSUFBSUcsc0JBQXNCLElBQUksRUFBRTtRQUM5QixJQUFNQyxnQkFBZ0JQLG1CQUFtQkcsNkJBQ25DSyxnQkFBZ0JDLElBQUFBLHFDQUE4QixFQUFDRixnQkFDL0NHLE9BQU9OLFFBQVFPLHVCQUF1QixDQUFDSDtRQUU3QyxJQUFJRSxTQUFTLElBQUksRUFBRTtZQUNqQixJQUFNRSwyQkFBMkJGLEtBQUtHLGtCQUFrQixDQUFDUCxtQkFBbUJGO1lBRTVFQyxpQ0FBaUNPLDBCQUEyQixHQUFHO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSVAsZ0NBQWdDO1FBQ2xDLElBQU1TLHNCQUFzQkMsSUFBQUEsb0JBQVksRUFBQ1Q7UUFFekNGLFFBQVFZLEtBQUssQ0FBQyxBQUFDLGlCQUFvQyxPQUFwQkYscUJBQW9CLCtCQUE2Qlg7SUFDbEYsQ0FBQztJQUVELE9BQU9FO0FBQ1QifQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIHJlZmVyZW5jZU5hbWVGcm9tUmVmZXJlbmNlTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgcmVmZXJlbmNlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQvcXVhbGlmaWNhdGlvbiEvcmVmZXJlbmNlIVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAobWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCByZWZlcmVuY2VOb2RlID0gcmVmZXJlbmNlTm9kZVF1ZXJ5KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICByZWZlcmVuY2VOYW1lID0gcmVmZXJlbmNlTmFtZUZyb21SZWZlcmVuY2VOb2RlKHJlZmVyZW5jZU5vZGUpLFxuICAgICAgICAgIHJ1bGUgPSBtZXRhcHJvb2ZDb250ZXh0LmZpbmRSdWxlQnlSZWZlcmVuY2VOYW1lKHJlZmVyZW5jZU5hbWUpO1xuXG4gICAgaWYgKHJ1bGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJ1bGVNYXRjaGVzTWV0YXN0YXRlbWVudCA9IHJ1bGUubWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gcnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50OyAgLy8vXG4gICAgfVxuICB9XG5cbiAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbWV0YXByb29mQ29udGV4dC5kZWJ1ZyhgVmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgbWV0YXN0YXRlbWVudC5gKTtcbiAgfVxuXG4gIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA/XG4gICAgbWV0YXByb29mQ29udGV4dC5jb21wbGV0ZShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSkgOlxuICAgICAgbWV0YXByb29mQ29udGV4dC5oYWx0KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJyZWZlcmVuY2VOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhcHJvb2ZDb250ZXh0IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwiYmVnaW4iLCJtZXRhc3RhdGVtZW50Tm9kZSIsInJlZmVyZW5jZU5vZGUiLCJyZWZlcmVuY2VOYW1lIiwicmVmZXJlbmNlTmFtZUZyb21SZWZlcmVuY2VOb2RlIiwicnVsZSIsImZpbmRSdWxlQnlSZWZlcmVuY2VOYW1lIiwicnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50IiwibWF0Y2hNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsImRlYnVnIiwiY29tcGxldGUiLCJoYWx0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7O3NCQU5LO3FCQUM2QjtBQUUxRCxJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMsc0RBQy9CQyx5QkFBeUJELElBQUFBLGdCQUFTLEVBQUM7QUFFMUIsU0FBU0YsNkJBQTZCSSwwQkFBMEIsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDakcsSUFBSUMsaUNBQWlDLEtBQUs7SUFFMUNELGlCQUFpQkUsS0FBSyxDQUFDSDtJQUV2QixJQUFNSSxvQkFBb0JMLHVCQUF1QkM7SUFFakQsSUFBSUksc0JBQXNCLElBQUksRUFBRTtRQUM5QixJQUFNQyxnQkFBZ0JSLG1CQUFtQkcsNkJBQ25DTSxnQkFBZ0JDLElBQUFBLHFDQUE4QixFQUFDRixnQkFDL0NHLE9BQU9QLGlCQUFpQlEsdUJBQXVCLENBQUNIO1FBRXRELElBQUlFLFNBQVMsSUFBSSxFQUFFO1lBQ2pCLElBQU1FLDJCQUEyQkYsS0FBS0csa0JBQWtCLENBQUNQLG1CQUFtQkg7WUFFNUVDLGlDQUFpQ1EsMEJBQTJCLEdBQUc7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJUixnQ0FBZ0M7UUFDbEMsSUFBTVUsc0JBQXNCQyxJQUFBQSxvQkFBWSxFQUFDVDtRQUV6Q0gsaUJBQWlCYSxLQUFLLENBQUMsQUFBQyxpQkFBb0MsT0FBcEJGLHFCQUFvQjtJQUM5RCxDQUFDO0lBRURWLGlDQUNFRCxpQkFBaUJjLFFBQVEsQ0FBQ2YsOEJBQ3hCQyxpQkFBaUJlLElBQUksQ0FBQ2hCLDJCQUEyQjtJQUVyRCxPQUFPRTtBQUNUIn0=
@@ -17,13 +17,14 @@ function _interopRequireDefault(obj) {
17
17
  };
18
18
  }
19
19
  var metastatementNodeQuery = (0, _query.nodeQuery)("/unqualifiedMetastatement/metastatement!");
20
- function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, context) {
20
+ function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, metaproofContext) {
21
21
  var unqualifiedMetastatementVerified = false;
22
+ metaproofContext.begin(unqualifiedMetastatementNode);
22
23
  var metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
23
24
  if (metastatementNode !== null) {
24
- var derived = context.isDerived();
25
+ var derived = metaproofContext.isDerived();
25
26
  if (derived) {
26
- var metaAssertion = _metaAssertion.default.fromMetastatementNode(metastatementNode), metaAssertionMatches = context.matchMetaAssertion(metaAssertion);
27
+ var metaAssertion = _metaAssertion.default.fromMetastatementNode(metastatementNode), metaAssertionMatches = metaproofContext.matchMetaAssertion(metaAssertion);
27
28
  unqualifiedMetastatementVerified = metaAssertionMatches; ///
28
29
  } else {
29
30
  unqualifiedMetastatementVerified = true;
@@ -31,9 +32,10 @@ function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, context) {
31
32
  }
32
33
  if (unqualifiedMetastatementVerified) {
33
34
  var metastatementString = (0, _string.nodeAsString)(metastatementNode);
34
- context.debug("Verified the '".concat(metastatementString, "' unqualified metastatement."), unqualifiedMetastatementNode);
35
+ metaproofContext.debug("Verified the '".concat(metastatementString, "' unqualified metastatement."));
35
36
  }
37
+ unqualifiedMetastatementVerified ? metaproofContext.complete(unqualifiedMetastatementNode) : metaproofContext.halt(unqualifiedMetastatementNode);
36
38
  return unqualifiedMetastatementVerified;
37
39
  }
38
40
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFBc3NlcnRpb24gZnJvbSBcIi4uLy4uL21ldGFBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBjb250ZXh0KSB7XG4gIGxldCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAobWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBkZXJpdmVkID0gY29udGV4dC5pc0Rlcml2ZWQoKTtcblxuICAgIGlmIChkZXJpdmVkKSB7XG4gICAgICBjb25zdCBtZXRhQXNzZXJ0aW9uID0gTWV0YUFzc2VydGlvbi5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YUFzc2VydGlvbk1hdGNoZXMgPSBjb250ZXh0Lm1hdGNoTWV0YUFzc2VydGlvbihtZXRhQXNzZXJ0aW9uKTtcblxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBtZXRhQXNzZXJ0aW9uTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGBWZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuYCwgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJjb250ZXh0IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImRlcml2ZWQiLCJpc0Rlcml2ZWQiLCJtZXRhQXNzZXJ0aW9uIiwiTWV0YUFzc2VydGlvbiIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFBc3NlcnRpb25NYXRjaGVzIiwibWF0Y2hNZXRhQXNzZXJ0aW9uIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQXdCQTs7O2tFQVBFO3FCQUVBO3NCQUNHOzs7Ozs7QUFFN0IsSUFBTUMseUJBQXlCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRTFCLFNBQVNGLCtCQUErQkcsNEJBQTRCLEVBQUVDLE9BQU8sRUFBRTtJQUM1RixJQUFJQyxtQ0FBbUMsS0FBSztJQUU1QyxJQUFNQyxvQkFBb0JMLHVCQUF1QkU7SUFFakQsSUFBSUcsc0JBQXNCLElBQUksRUFBRTtRQUM5QixJQUFNQyxVQUFVSCxRQUFRSSxTQUFTO1FBRWpDLElBQUlELFNBQVM7WUFDWCxJQUFNRSxnQkFBZ0JDLHNCQUFhLENBQUNDLHFCQUFxQixDQUFDTCxvQkFDcERNLHVCQUF1QlIsUUFBUVMsa0JBQWtCLENBQUNKO1lBRXhESixtQ0FBbUNPLHNCQUF1QixHQUFHO1FBQy9ELE9BQU87WUFDTFAsbUNBQW1DLElBQUk7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxrQ0FBa0M7UUFDcEMsSUFBTVMsc0JBQXNCQyxJQUFBQSxvQkFBWSxFQUFDVDtRQUV6Q0YsUUFBUVksS0FBSyxDQUFDLEFBQUMsaUJBQW9DLE9BQXBCRixxQkFBb0IsaUNBQStCWDtJQUNwRixDQUFDO0lBRUQsT0FBT0U7QUFDVCJ9
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFBc3NlcnRpb24gZnJvbSBcIi4uLy4uL21ldGFBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KSB7XG4gIGxldCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuYmVnaW4odW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChtZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGRlcml2ZWQgPSBtZXRhcHJvb2ZDb250ZXh0LmlzRGVyaXZlZCgpO1xuXG4gICAgaWYgKGRlcml2ZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhQXNzZXJ0aW9uTWF0Y2hlcyA9IG1ldGFwcm9vZkNvbnRleHQubWF0Y2hNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IG1ldGFBc3NlcnRpb25NYXRjaGVzOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIG1ldGFwcm9vZkNvbnRleHQuZGVidWcoYFZlcmlmaWVkIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgbWV0YXN0YXRlbWVudC5gKTtcbiAgfVxuXG4gIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpIDpcbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuaGFsdCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhcHJvb2ZDb250ZXh0IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJiZWdpbiIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZGVyaXZlZCIsImlzRGVyaXZlZCIsIm1ldGFBc3NlcnRpb24iLCJNZXRhQXNzZXJ0aW9uIiwiZnJvbU1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YUFzc2VydGlvbk1hdGNoZXMiLCJtYXRjaE1ldGFBc3NlcnRpb24iLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZGVidWciLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBd0JBOzs7a0VBUEU7cUJBRUE7c0JBQ0c7Ozs7OztBQUU3QixJQUFNQyx5QkFBeUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFMUIsU0FBU0YsK0JBQStCRyw0QkFBNEIsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDckcsSUFBSUMsbUNBQW1DLEtBQUs7SUFFNUNELGlCQUFpQkUsS0FBSyxDQUFDSDtJQUV2QixJQUFNSSxvQkFBb0JOLHVCQUF1QkU7SUFFakQsSUFBSUksc0JBQXNCLElBQUksRUFBRTtRQUM5QixJQUFNQyxVQUFVSixpQkFBaUJLLFNBQVM7UUFFMUMsSUFBSUQsU0FBUztZQUNYLElBQU1FLGdCQUFnQkMsc0JBQWEsQ0FBQ0MscUJBQXFCLENBQUNMLG9CQUNwRE0sdUJBQXVCVCxpQkFBaUJVLGtCQUFrQixDQUFDSjtZQUVqRUwsbUNBQW1DUSxzQkFBdUIsR0FBRztRQUMvRCxPQUFPO1lBQ0xSLG1DQUFtQyxJQUFJO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSUEsa0NBQWtDO1FBQ3BDLElBQU1VLHNCQUFzQkMsSUFBQUEsb0JBQVksRUFBQ1Q7UUFFekNILGlCQUFpQmEsS0FBSyxDQUFDLEFBQUMsaUJBQW9DLE9BQXBCRixxQkFBb0I7SUFDOUQsQ0FBQztJQUVEVixtQ0FDRUQsaUJBQWlCYyxRQUFRLENBQUNmLGdDQUN4QkMsaUJBQWlCZSxJQUFJLENBQUNoQiw2QkFBNkI7SUFFdkQsT0FBT0U7QUFDVCJ9
@@ -18,22 +18,21 @@ function _interopRequireDefault(obj) {
18
18
  };
19
19
  }
20
20
  var metastatementNodeQuery = (0, _query.nodeQuery)("/unqualifiedMetastatement/metastatement"), unqualifiedMetastatementNodesQuery = (0, _query.nodesQuery)("/premise|premises/unqualifiedMetastatement");
21
- function verifyPremiseOrPremises(premiseOrPremisesNode, premises, context) {
22
- var unqualifiedMetastatementNodes = unqualifiedMetastatementNodesQuery(premiseOrPremisesNode), premiseOrPremisesVerified = unqualifiedMetastatementNodes.every(function(unqualifiedMetastatementNode) {
23
- var unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, context);
21
+ function verifyPremiseOrPremises(premiseOrPremisesNode, premises, metaproofContext) {
22
+ var premiseOrPremisesVerified;
23
+ metaproofContext.begin(premiseOrPremisesNode);
24
+ var unqualifiedMetastatementNodes = unqualifiedMetastatementNodesQuery(premiseOrPremisesNode);
25
+ premiseOrPremisesVerified = unqualifiedMetastatementNodes.every(function(unqualifiedMetastatementNode) {
26
+ var unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, metaproofContext);
24
27
  if (unqualifiedMetastatementVerified) {
25
- var metaAssertion = _metaAssertion.default.fromUnqualifiedMetastatementNode(unqualifiedMetastatementNode);
26
- context.addMetaAssertion(metaAssertion);
28
+ var metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode), metaAssertion = _metaAssertion.default.fromUnqualifiedMetastatementNode(unqualifiedMetastatementNode), premise = _premise.default.fromMetastatementNode(metastatementNode);
29
+ premises.push(premise);
30
+ metaproofContext.addMetaAssertion(metaAssertion);
27
31
  return true;
28
32
  }
29
33
  });
30
- if (premiseOrPremisesVerified) {
31
- unqualifiedMetastatementNodes.forEach(function(unqualifiedMetastatementNode) {
32
- var metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode), premise = _premise.default.fromMetastatementNode(metastatementNode);
33
- premises.push(premise);
34
- });
35
- }
34
+ premiseOrPremisesVerified ? metaproofContext.complete(premiseOrPremisesNode) : metaproofContext.halt(premiseOrPremisesNode);
36
35
  return premiseOrPremisesVerified;
37
36
  }
38
37
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcHJlbWlzZU9yUHJlbWlzZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBQcmVtaXNlIGZyb20gXCIuLi9wcmVtaXNlXCI7XG5pbXBvcnQgTWV0YUFzc2VydGlvbiBmcm9tIFwiLi4vbWV0YUFzc2VydGlvblwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L21ldGFzdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50XCIpLFxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcHJlbWlzZXxwcmVtaXNlcy91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVByZW1pc2VPclByZW1pc2VzKHByZW1pc2VPclByZW1pc2VzTm9kZSwgcHJlbWlzZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXMgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5KHByZW1pc2VPclByZW1pc2VzTm9kZSksXG4gICAgICAgIHByZW1pc2VPclByZW1pc2VzVmVyaWZpZWQgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2Rlcy5ldmVyeSgodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgICAgICBjb25zdCBtZXRhQXNzZXJ0aW9uID0gTWV0YUFzc2VydGlvbi5mcm9tVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICAgICAgY29udGV4dC5hZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gIGlmIChwcmVtaXNlT3JQcmVtaXNlc1ZlcmlmaWVkKSB7XG4gICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXMuZm9yRWFjaCgodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSkgPT4ge1xuICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgcHJlbWlzZSA9IFByZW1pc2UuZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgcHJlbWlzZXMucHVzaChwcmVtaXNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBwcmVtaXNlT3JQcmVtaXNlc1ZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVByZW1pc2VPclByZW1pc2VzIiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicHJlbWlzZU9yUHJlbWlzZXNOb2RlIiwicHJlbWlzZXMiLCJjb250ZXh0IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXMiLCJwcmVtaXNlT3JQcmVtaXNlc1ZlcmlmaWVkIiwiZXZlcnkiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhQXNzZXJ0aW9uIiwiTWV0YUFzc2VydGlvbiIsImZyb21VbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwiYWRkTWV0YUFzc2VydGlvbiIsImZvckVhY2giLCJtZXRhc3RhdGVtZW50Tm9kZSIsInByZW1pc2UiLCJQcmVtaXNlIiwiZnJvbU1ldGFzdGF0ZW1lbnROb2RlIiwicHVzaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7Ozs0REFUSjtrRUFDTTtnRUFDaUI7cUJBRUw7Ozs7OztBQUV0QyxJQUFNQyx5QkFBeUJDLElBQUFBLGdCQUFTLEVBQUMsNENBQ25DQyxxQ0FBcUNDLElBQUFBLGlCQUFVLEVBQUM7QUFFdkMsU0FBU0osd0JBQXdCSyxxQkFBcUIsRUFBRUMsUUFBUSxFQUFFQyxPQUFPLEVBQUU7SUFDeEYsSUFBTUMsZ0NBQWdDTCxtQ0FBbUNFLHdCQUNuRUksNEJBQTRCRCw4QkFBOEJFLEtBQUssQ0FBQyxTQUFDQyw4QkFBaUM7UUFDaEcsSUFBTUMsbUNBQW1DQyxJQUFBQSxvQkFBOEIsRUFBQ0YsOEJBQThCSjtRQUV0RyxJQUFJSyxrQ0FBa0M7WUFDcEMsSUFBTUUsZ0JBQWdCQyxzQkFBYSxDQUFDQyxnQ0FBZ0MsQ0FBQ0w7WUFFckVKLFFBQVFVLGdCQUFnQixDQUFDSDtZQUV6QixPQUFPLElBQUk7UUFDYixDQUFDO0lBQ0g7SUFFTixJQUFJTCwyQkFBMkI7UUFDN0JELDhCQUE4QlUsT0FBTyxDQUFDLFNBQUNQLDhCQUFpQztZQUN0RSxJQUFNUSxvQkFBb0JsQix1QkFBdUJVLCtCQUMzQ1MsVUFBVUMsZ0JBQU8sQ0FBQ0MscUJBQXFCLENBQUNIO1lBRTlDYixTQUFTaUIsSUFBSSxDQUFDSDtRQUNoQjtJQUNGLENBQUM7SUFFRCxPQUFPWDtBQUNUIn0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcHJlbWlzZU9yUHJlbWlzZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBQcmVtaXNlIGZyb20gXCIuLi9wcmVtaXNlXCI7XG5pbXBvcnQgTWV0YUFzc2VydGlvbiBmcm9tIFwiLi4vbWV0YUFzc2VydGlvblwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L21ldGFzdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50XCIpLFxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcHJlbWlzZXxwcmVtaXNlcy91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVByZW1pc2VPclByZW1pc2VzKHByZW1pc2VPclByZW1pc2VzTm9kZSwgcHJlbWlzZXMsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHByZW1pc2VPclByZW1pc2VzVmVyaWZpZWQ7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihwcmVtaXNlT3JQcmVtaXNlc05vZGUpO1xuXG4gIGNvbnN0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzID0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeShwcmVtaXNlT3JQcmVtaXNlc05vZGUpO1xuXG4gIHByZW1pc2VPclByZW1pc2VzVmVyaWZpZWQgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2Rlcy5ldmVyeSgodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSkgPT4ge1xuICAgIGNvbnN0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhQXNzZXJ0aW9uID0gTWV0YUFzc2VydGlvbi5mcm9tVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgIHByZW1pc2UgPSBQcmVtaXNlLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIHByZW1pc2VzLnB1c2gocHJlbWlzZSk7XG5cbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuYWRkTWV0YUFzc2VydGlvbihtZXRhQXNzZXJ0aW9uKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBwcmVtaXNlT3JQcmVtaXNlc1ZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKHByZW1pc2VPclByZW1pc2VzTm9kZSkgOlxuICAgICAgbWV0YXByb29mQ29udGV4dC5oYWx0KHByZW1pc2VPclByZW1pc2VzTm9kZSk7XG5cbiAgcmV0dXJuIHByZW1pc2VPclByZW1pc2VzVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5UHJlbWlzZU9yUHJlbWlzZXMiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJwcmVtaXNlT3JQcmVtaXNlc05vZGUiLCJwcmVtaXNlcyIsIm1ldGFwcm9vZkNvbnRleHQiLCJwcmVtaXNlT3JQcmVtaXNlc1ZlcmlmaWVkIiwiYmVnaW4iLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlcyIsImV2ZXJ5IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhQXNzZXJ0aW9uIiwiTWV0YUFzc2VydGlvbiIsImZyb21VbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwicHJlbWlzZSIsIlByZW1pc2UiLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJwdXNoIiwiYWRkTWV0YUFzc2VydGlvbiIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7Ozs0REFUSjtrRUFDTTtnRUFDaUI7cUJBRUw7Ozs7OztBQUV0QyxJQUFNQyx5QkFBeUJDLElBQUFBLGdCQUFTLEVBQUMsNENBQ25DQyxxQ0FBcUNDLElBQUFBLGlCQUFVLEVBQUM7QUFFdkMsU0FBU0osd0JBQXdCSyxxQkFBcUIsRUFBRUMsUUFBUSxFQUFFQyxnQkFBZ0IsRUFBRTtJQUNqRyxJQUFJQztJQUVKRCxpQkFBaUJFLEtBQUssQ0FBQ0o7SUFFdkIsSUFBTUssZ0NBQWdDUCxtQ0FBbUNFO0lBRXpFRyw0QkFBNEJFLDhCQUE4QkMsS0FBSyxDQUFDLFNBQUNDLDhCQUFpQztRQUNoRyxJQUFNQyxtQ0FBbUNDLElBQUFBLG9CQUE4QixFQUFDRiw4QkFBOEJMO1FBRXRHLElBQUlNLGtDQUFrQztZQUNwQyxJQUFNRSxvQkFBb0JkLHVCQUF1QlcsK0JBQzNDSSxnQkFBZ0JDLHNCQUFhLENBQUNDLGdDQUFnQyxDQUFDTiwrQkFDL0RPLFVBQVVDLGdCQUFPLENBQUNDLHFCQUFxQixDQUFDTjtZQUU5Q1QsU0FBU2dCLElBQUksQ0FBQ0g7WUFFZFosaUJBQWlCZ0IsZ0JBQWdCLENBQUNQO1lBRWxDLE9BQU8sSUFBSTtRQUNiLENBQUM7SUFDSDtJQUVBUiw0QkFDRUQsaUJBQWlCaUIsUUFBUSxDQUFDbkIseUJBQ3hCRSxpQkFBaUJrQixJQUFJLENBQUNwQixzQkFBc0I7SUFFaEQsT0FBT0c7QUFDVCJ9
@@ -15,33 +15,43 @@ function _interopRequireDefault(obj) {
15
15
  };
16
16
  }
17
17
  function verifyRelease(name, releaseContextMap) {
18
- var releaseContexts = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
19
18
  var releaseContext = releaseContextMap[name], verified = releaseContext.isVerified();
20
19
  var releaseVerified = verified; ///
21
20
  if (!releaseVerified) {
22
21
  releaseContext.debug("Verifying the '".concat(name, "' package..."));
23
- var dependencies = releaseContext.getDependencies(), dependencyReleasesVVerified = dependencies.everyDependency(function(dependency) {
24
- var _$name = dependency.getName(), releaseVerified = verifyRelease(_$name, releaseContextMap, releaseContexts);
25
- if (releaseVerified) {
26
- return true;
27
- }
28
- });
22
+ var dependencyReleasesVVerified = verifyDependencyReleases(releaseContext, releaseContextMap);
29
23
  if (dependencyReleasesVVerified) {
30
- var releaseContexts1 = dependencies.mapDependency(function(dependency) {
31
- var _$name = dependency.getName(), releaseContext = releaseContextMap[_$name];
32
- return releaseContext;
33
- }), dependencyReleaseContexts = retrieveDependencyReleaseContexts(dependencies, releaseContextMap);
34
- releaseContext.initialise(releaseContexts1, dependencyReleaseContexts);
35
- var filesVerified = (0, _files.default)(releaseContext);
36
- releaseVerified = filesVerified; ///
37
- if (releaseVerified) {
38
- releaseContexts1.push(releaseContext);
39
- releaseContext.info("Verified the '".concat(name, "' package."));
24
+ var releaseFilesVerified = verifyReleaseFiles(releaseContext, releaseContextMap);
25
+ if (releaseFilesVerified) {
26
+ releaseVerified = true;
40
27
  }
41
28
  }
42
29
  }
30
+ if (releaseVerified) {
31
+ var verified1 = true;
32
+ releaseContext.setVerified(verified1);
33
+ releaseContext.info("Verified the '".concat(name, "' package."));
34
+ }
43
35
  return releaseVerified;
44
36
  }
37
+ function verifyReleaseFiles(releaseContext, releaseContextMap) {
38
+ var dependencies = releaseContext.getDependencies(), releaseContexts = dependencies.mapDependency(function(dependency) {
39
+ var name = dependency.getName(), _$releaseContext = releaseContextMap[name];
40
+ return _$releaseContext;
41
+ }), dependencyReleaseContexts = retrieveDependencyReleaseContexts(dependencies, releaseContextMap);
42
+ releaseContext.initialise(releaseContexts, dependencyReleaseContexts);
43
+ var filesVerified = (0, _files.default)(releaseContext), releaseFilesVerified = filesVerified; ///
44
+ return releaseFilesVerified;
45
+ }
46
+ function verifyDependencyReleases(releaseContext, releaseContextMap) {
47
+ var dependencies = releaseContext.getDependencies(), dependencyReleasesVVerified = dependencies.everyDependency(function(dependency) {
48
+ var name = dependency.getName(), releaseVerified = verifyRelease(name, releaseContextMap);
49
+ if (releaseVerified) {
50
+ return true;
51
+ }
52
+ });
53
+ return dependencyReleasesVVerified;
54
+ }
45
55
  function retrieveDependencyReleaseContexts(dependencies, releaseContextMap) {
46
56
  var dependencyReleaseContexts = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
47
57
  dependencies.forEachDependency(function(dependency) {
@@ -55,4 +65,4 @@ function retrieveDependencyReleaseContexts(dependencies, releaseContextMap) {
55
65
  return dependencyReleaseContexts;
56
66
  }
57
67
 
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcmVsZWFzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUZpbGVzIGZyb20gXCIuLi92ZXJpZnkvZmlsZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UmVsZWFzZShuYW1lLCByZWxlYXNlQ29udGV4dE1hcCwgcmVsZWFzZUNvbnRleHRzID0gW10pIHtcbiAgY29uc3QgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtuYW1lXSxcbiAgICAgICAgdmVyaWZpZWQgPSByZWxlYXNlQ29udGV4dC5pc1ZlcmlmaWVkKClcblxuICBsZXQgcmVsZWFzZVZlcmlmaWVkID0gdmVyaWZpZWQ7IC8vL1xuXG4gIGlmICghcmVsZWFzZVZlcmlmaWVkKSB7XG4gICAgcmVsZWFzZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bmFtZX0nIHBhY2thZ2UuLi5gKTtcblxuICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpLFxuICAgICAgICAgIGRlcGVuZGVuY3lSZWxlYXNlc1ZWZXJpZmllZCA9IGRlcGVuZGVuY2llcy5ldmVyeURlcGVuZGVuY3koKGRlcGVuZGVuY3kpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgICAgICAgICAgIHJlbGVhc2VWZXJpZmllZCA9IHZlcmlmeVJlbGVhc2UobmFtZSwgcmVsZWFzZUNvbnRleHRNYXAsIHJlbGVhc2VDb250ZXh0cyk7XG5cbiAgICAgICAgICAgIGlmIChyZWxlYXNlVmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICBpZiAoZGVwZW5kZW5jeVJlbGVhc2VzVlZlcmlmaWVkKSB7XG4gICAgICBjb25zdCByZWxlYXNlQ29udGV4dHMgPSBkZXBlbmRlbmNpZXMubWFwRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBuYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbbmFtZV07XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHJlbGVhc2VDb250ZXh0O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gcmV0cmlldmVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY2llcywgcmVsZWFzZUNvbnRleHRNYXApO1xuXG4gICAgICByZWxlYXNlQ29udGV4dC5pbml0aWFsaXNlKHJlbGVhc2VDb250ZXh0cywgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyk7XG5cbiAgICAgIGNvbnN0IGZpbGVzVmVyaWZpZWQgPSB2ZXJpZnlGaWxlcyhyZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgIHJlbGVhc2VWZXJpZmllZCA9IGZpbGVzVmVyaWZpZWQ7ICAvLy9cblxuICAgICAgaWYgKHJlbGVhc2VWZXJpZmllZCkge1xuICAgICAgICByZWxlYXNlQ29udGV4dHMucHVzaChyZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgICAgcmVsZWFzZUNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke25hbWV9JyBwYWNrYWdlLmApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZWxlYXNlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHJldHJpZXZlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmNpZXMsIHJlbGVhc2VDb250ZXh0TWFwLCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gW10pIHtcbiAgZGVwZW5kZW5jaWVzLmZvckVhY2hEZXBlbmRlbmN5KChkZXBlbmRlbmN5KSA9PiB7XG4gICAgY29uc3QgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgICBkZXBlbmRlbmN5UmVsZWFzZU5hbWUgPSBkZXBlbmRlbmN5TmFtZSwgLy8vXG4gICAgICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbZGVwZW5kZW5jeVJlbGVhc2VOYW1lXSxcbiAgICAgICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzSW5jbHVkZXNEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHQgPSBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmluY2x1ZGVzKGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dCk7XG5cbiAgICBpZiAoIWRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNJbmNsdWRlc0RlcGVuZGVuY3lSZWxlYXNlQ29udGV4dCkge1xuICAgICAgY29uc3QgcmVsZWFzZUNvbnRleHQgPSBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHQsICAvLy9cbiAgICAgICAgICAgIGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpO1xuXG4gICAgICByZXRyaWV2ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoZGVwZW5kZW5jaWVzLCByZWxlYXNlQ29udGV4dE1hcCwgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMucHVzaChkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHQpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHM7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5UmVsZWFzZSIsIm5hbWUiLCJyZWxlYXNlQ29udGV4dE1hcCIsInJlbGVhc2VDb250ZXh0cyIsInJlbGVhc2VDb250ZXh0IiwidmVyaWZpZWQiLCJpc1ZlcmlmaWVkIiwicmVsZWFzZVZlcmlmaWVkIiwiZGVidWciLCJkZXBlbmRlbmNpZXMiLCJnZXREZXBlbmRlbmNpZXMiLCJkZXBlbmRlbmN5UmVsZWFzZXNWVmVyaWZpZWQiLCJldmVyeURlcGVuZGVuY3kiLCJkZXBlbmRlbmN5IiwiZ2V0TmFtZSIsIm1hcERlcGVuZGVuY3kiLCJkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwicmV0cmlldmVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwiaW5pdGlhbGlzZSIsImZpbGVzVmVyaWZpZWQiLCJ2ZXJpZnlGaWxlcyIsInB1c2giLCJpbmZvIiwiZm9yRWFjaERlcGVuZGVuY3kiLCJkZXBlbmRlbmN5TmFtZSIsImRlcGVuZGVuY3lSZWxlYXNlTmFtZSIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dCIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNJbmNsdWRlc0RlcGVuZGVuY3lSZWxlYXNlQ29udGV4dCIsImluY2x1ZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7OzBEQUZBOzs7Ozs7QUFFVCxTQUFTQSxjQUFjQyxJQUFJLEVBQUVDLGlCQUFpQixFQUF3QjtRQUF0QkMsa0JBQUFBLGlFQUFrQixFQUFFO0lBQ2pGLElBQU1DLGlCQUFpQkYsaUJBQWlCLENBQUNELEtBQUssRUFDeENJLFdBQVdELGVBQWVFLFVBQVU7SUFFMUMsSUFBSUMsa0JBQWtCRixVQUFVLEdBQUc7SUFFbkMsSUFBSSxDQUFDRSxpQkFBaUI7UUFDcEJILGVBQWVJLEtBQUssQ0FBQyxBQUFDLGtCQUFzQixPQUFMUCxNQUFLO1FBRTVDLElBQU1RLGVBQWVMLGVBQWVNLGVBQWUsSUFDN0NDLDhCQUE4QkYsYUFBYUcsZUFBZSxDQUFDLFNBQUNDLFlBQWU7WUFDekUsSUFBTVosU0FBT1ksV0FBV0MsT0FBTyxJQUN6QlAsa0JBQWtCUCxjQUFjQyxRQUFNQyxtQkFBbUJDO1lBRS9ELElBQUlJLGlCQUFpQjtnQkFDbkIsT0FBTyxJQUFJO1lBQ2IsQ0FBQztRQUNIO1FBRU4sSUFBSUksNkJBQTZCO1lBQy9CLElBQU1SLG1CQUFrQk0sYUFBYU0sYUFBYSxDQUFDLFNBQUNGLFlBQWU7Z0JBQzNELElBQU1aLFNBQU9ZLFdBQVdDLE9BQU8sSUFDekJWLGlCQUFpQkYsaUJBQWlCLENBQUNELE9BQUs7Z0JBRTlDLE9BQU9HO1lBQ1QsSUFDQVksNEJBQTRCQyxrQ0FBa0NSLGNBQWNQO1lBRWxGRSxlQUFlYyxVQUFVLENBQUNmLGtCQUFpQmE7WUFFM0MsSUFBTUcsZ0JBQWdCQyxJQUFBQSxjQUFXLEVBQUNoQjtZQUVsQ0csa0JBQWtCWSxlQUFnQixHQUFHO1lBRXJDLElBQUlaLGlCQUFpQjtnQkFDbkJKLGlCQUFnQmtCLElBQUksQ0FBQ2pCO2dCQUVyQkEsZUFBZWtCLElBQUksQ0FBQyxBQUFDLGlCQUFxQixPQUFMckIsTUFBSztZQUM1QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPTTtBQUNUO0FBRUEsU0FBU1Usa0NBQWtDUixZQUFZLEVBQUVQLGlCQUFpQixFQUFrQztRQUFoQ2MsNEJBQUFBLGlFQUE0QixFQUFFO0lBQ3hHUCxhQUFhYyxpQkFBaUIsQ0FBQyxTQUFDVixZQUFlO1FBQzdDLElBQU1XLGlCQUFpQlgsV0FBV0MsT0FBTyxJQUNuQ1csd0JBQXdCRCxnQkFDeEJFLDJCQUEyQnhCLGlCQUFpQixDQUFDdUIsc0JBQXNCLEVBQ25FRSw0REFBNERYLDBCQUEwQlksUUFBUSxDQUFDRjtRQUVyRyxJQUFJLENBQUNDLDJEQUEyRDtZQUM5RCxJQUFNdkIsaUJBQWlCc0IsMEJBQ2pCakIsaUJBQWVMLGVBQWVNLGVBQWU7WUFFbkRPLGtDQUFrQ1IsZ0JBQWNQLG1CQUFtQmM7WUFFbkVBLDBCQUEwQkssSUFBSSxDQUFDSztRQUNqQyxDQUFDO0lBQ0g7SUFFQSxPQUFPVjtBQUNUIn0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcmVsZWFzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUZpbGVzIGZyb20gXCIuLi92ZXJpZnkvZmlsZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UmVsZWFzZShuYW1lLCByZWxlYXNlQ29udGV4dE1hcCkge1xuICBjb25zdCByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW25hbWVdLFxuICAgICAgICB2ZXJpZmllZCA9IHJlbGVhc2VDb250ZXh0LmlzVmVyaWZpZWQoKTtcblxuICBsZXQgcmVsZWFzZVZlcmlmaWVkID0gdmVyaWZpZWQ7IC8vL1xuXG4gIGlmICghcmVsZWFzZVZlcmlmaWVkKSB7XG4gICAgcmVsZWFzZUNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7bmFtZX0nIHBhY2thZ2UuLi5gKTtcblxuICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlc1ZWZXJpZmllZCA9IHZlcmlmeURlcGVuZGVuY3lSZWxlYXNlcyhyZWxlYXNlQ29udGV4dCwgcmVsZWFzZUNvbnRleHRNYXApO1xuXG4gICAgaWYgKGRlcGVuZGVuY3lSZWxlYXNlc1ZWZXJpZmllZCkge1xuICAgICAgY29uc3QgcmVsZWFzZUZpbGVzVmVyaWZpZWQgPSB2ZXJpZnlSZWxlYXNlRmlsZXMocmVsZWFzZUNvbnRleHQsIHJlbGVhc2VDb250ZXh0TWFwKTtcblxuICAgICAgaWYgKHJlbGVhc2VGaWxlc1ZlcmlmaWVkKSB7XG4gICAgICAgIHJlbGVhc2VWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHJlbGVhc2VWZXJpZmllZCkge1xuICAgIGNvbnN0IHZlcmlmaWVkID0gdHJ1ZTtcblxuICAgIHJlbGVhc2VDb250ZXh0LnNldFZlcmlmaWVkKHZlcmlmaWVkKTtcblxuICAgIHJlbGVhc2VDb250ZXh0LmluZm8oYFZlcmlmaWVkIHRoZSAnJHtuYW1lfScgcGFja2FnZS5gKTtcbiAgfVxuXG4gIHJldHVybiByZWxlYXNlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVJlbGVhc2VGaWxlcyhyZWxlYXNlQ29udGV4dCwgcmVsZWFzZUNvbnRleHRNYXApIHtcbiAgY29uc3QgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCksXG4gICAgICAgIHJlbGVhc2VDb250ZXh0cyA9IGRlcGVuZGVuY2llcy5tYXBEZXBlbmRlbmN5KChkZXBlbmRlbmN5KSA9PiB7XG4gICAgICAgICAgY29uc3QgbmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbbmFtZV07XG5cbiAgICAgICAgICByZXR1cm4gcmVsZWFzZUNvbnRleHQ7XG4gICAgICAgIH0pLFxuICAgICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gcmV0cmlldmVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY2llcywgcmVsZWFzZUNvbnRleHRNYXApO1xuXG4gIHJlbGVhc2VDb250ZXh0LmluaXRpYWxpc2UocmVsZWFzZUNvbnRleHRzLCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKTtcblxuICBjb25zdCBmaWxlc1ZlcmlmaWVkID0gdmVyaWZ5RmlsZXMocmVsZWFzZUNvbnRleHQpLFxuICAgICAgICByZWxlYXNlRmlsZXNWZXJpZmllZCA9IGZpbGVzVmVyaWZpZWQ7IC8vL1xuXG4gIHJldHVybiByZWxlYXNlRmlsZXNWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5RGVwZW5kZW5jeVJlbGVhc2VzKHJlbGVhc2VDb250ZXh0LCByZWxlYXNlQ29udGV4dE1hcCkge1xuICBjb25zdCBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKSxcbiAgICAgICAgZGVwZW5kZW5jeVJlbGVhc2VzVlZlcmlmaWVkID0gZGVwZW5kZW5jaWVzLmV2ZXJ5RGVwZW5kZW5jeSgoZGVwZW5kZW5jeSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgICAgICAgICByZWxlYXNlVmVyaWZpZWQgPSB2ZXJpZnlSZWxlYXNlKG5hbWUsIHJlbGVhc2VDb250ZXh0TWFwKTtcblxuICAgICAgICAgIGlmIChyZWxlYXNlVmVyaWZpZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIGRlcGVuZGVuY3lSZWxlYXNlc1ZWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gcmV0cmlldmVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY2llcywgcmVsZWFzZUNvbnRleHRNYXAsIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSBbXSkge1xuICBkZXBlbmRlbmNpZXMuZm9yRWFjaERlcGVuZGVuY3koKGRlcGVuZGVuY3kpID0+IHtcbiAgICBjb25zdCBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICAgIGRlcGVuZGVuY3lSZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtkZXBlbmRlbmN5UmVsZWFzZU5hbWVdLFxuICAgICAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNJbmNsdWRlc0RlcGVuZGVuY3lSZWxlYXNlQ29udGV4dCA9IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuaW5jbHVkZXMoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0KTtcblxuICAgIGlmICghZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0luY2x1ZGVzRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0KSB7XG4gICAgICBjb25zdCByZWxlYXNlQ29udGV4dCA9IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dCwgIC8vL1xuICAgICAgICAgICAgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCk7XG5cbiAgICAgIHJldHJpZXZlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmNpZXMsIHJlbGVhc2VDb250ZXh0TWFwLCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5wdXNoKGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dCk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cztcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlSZWxlYXNlIiwibmFtZSIsInJlbGVhc2VDb250ZXh0TWFwIiwicmVsZWFzZUNvbnRleHQiLCJ2ZXJpZmllZCIsImlzVmVyaWZpZWQiLCJyZWxlYXNlVmVyaWZpZWQiLCJkZWJ1ZyIsImRlcGVuZGVuY3lSZWxlYXNlc1ZWZXJpZmllZCIsInZlcmlmeURlcGVuZGVuY3lSZWxlYXNlcyIsInJlbGVhc2VGaWxlc1ZlcmlmaWVkIiwidmVyaWZ5UmVsZWFzZUZpbGVzIiwic2V0VmVyaWZpZWQiLCJpbmZvIiwiZGVwZW5kZW5jaWVzIiwiZ2V0RGVwZW5kZW5jaWVzIiwicmVsZWFzZUNvbnRleHRzIiwibWFwRGVwZW5kZW5jeSIsImRlcGVuZGVuY3kiLCJnZXROYW1lIiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsInJldHJpZXZlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsImluaXRpYWxpc2UiLCJmaWxlc1ZlcmlmaWVkIiwidmVyaWZ5RmlsZXMiLCJldmVyeURlcGVuZGVuY3kiLCJmb3JFYWNoRGVwZW5kZW5jeSIsImRlcGVuZGVuY3lOYW1lIiwiZGVwZW5kZW5jeVJlbGVhc2VOYW1lIiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0IiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0lu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