occam-verify-cli 0.0.1002 → 0.0.1005

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 (184) hide show
  1. package/README.md +0 -2
  2. package/bin/abbreviations.js +1 -3
  3. package/bin/action/help.js +0 -2
  4. package/bin/action/verify.js +4 -24
  5. package/bin/defaults.js +0 -2
  6. package/bin/main.js +3 -4
  7. package/bin/options.js +0 -2
  8. package/lib/assertion/subproof.js +106 -0
  9. package/lib/assignment/metavariable.js +2 -2
  10. package/lib/combinator.js +50 -16
  11. package/lib/conclusion.js +73 -14
  12. package/lib/context/file.js +191 -31
  13. package/lib/context/local.js +37 -49
  14. package/lib/context/release.js +42 -35
  15. package/lib/context/release.other.js +605 -0
  16. package/lib/declaration/combinator.js +83 -0
  17. package/lib/derivation.js +86 -0
  18. package/lib/equality.js +3 -11
  19. package/lib/index.js +1 -1
  20. package/lib/judgement.js +3 -10
  21. package/lib/label.js +58 -16
  22. package/lib/log.js +3 -11
  23. package/lib/metaType.js +31 -19
  24. package/lib/metavariable.js +39 -12
  25. package/lib/mixins/statement/qualified/unify.js +118 -0
  26. package/lib/mixins/statement/unify.js +57 -0
  27. package/lib/mixins/statement/verify.js +184 -0
  28. package/lib/node/statement/combinator/bracketed.js +15 -11
  29. package/lib/ocmbinator/bracketed.js +52 -8
  30. package/lib/premise.js +109 -56
  31. package/lib/proof.js +91 -0
  32. package/lib/proofStep.js +78 -25
  33. package/lib/reference.js +62 -16
  34. package/lib/rule.js +146 -26
  35. package/lib/ruleNames.js +5 -5
  36. package/lib/statement/qualified.js +127 -0
  37. package/lib/statement/unqualified.js +89 -0
  38. package/lib/statement.js +176 -0
  39. package/lib/subDerivation.js +86 -0
  40. package/lib/subproof.js +155 -0
  41. package/lib/substitution/frameForMetavariable.js +14 -15
  42. package/lib/substitution/statementForMetavariable.js +23 -24
  43. package/lib/substitution/termForVariable.js +11 -12
  44. package/lib/substitution.js +9 -2
  45. package/lib/substitutions.js +14 -14
  46. package/lib/supposition.js +92 -60
  47. package/lib/unifier/statementWithCombinator.js +3 -3
  48. package/lib/unify/metavariableWithFrame.js +2 -2
  49. package/lib/unify/metavariableWithStatement.js +2 -2
  50. package/lib/unify/metavariableWithStatementGivenSubstitution.js +2 -2
  51. package/lib/unify/variableWithTerm.js +2 -2
  52. package/lib/utilities/node.js +13 -11
  53. package/lib/utilities/releaseContext.js +3 -3
  54. package/lib/utilities/string.js +8 -2
  55. package/lib/utilities/subproof.js +5 -5
  56. package/lib/utilities/tokens.js +10 -10
  57. package/lib/variable.js +1 -10
  58. package/lib/verifier/metaLevel.js +2 -2
  59. package/lib/verifier/topLevel.js +5 -5
  60. package/lib/verify/axiom.js +3 -5
  61. package/lib/verify/conjecture.js +4 -7
  62. package/lib/verify/consequent.js +2 -3
  63. package/lib/verify/declaration/combinator.js +2 -14
  64. package/lib/verify/declaration/metavariable.js +9 -10
  65. package/lib/verify/files.js +4 -4
  66. package/lib/verify/frame.js +12 -12
  67. package/lib/verify/lemma.js +4 -7
  68. package/lib/verify/metaLemma.js +4 -7
  69. package/lib/verify/metatheorem.js +4 -7
  70. package/lib/verify/proofStep.js +2 -31
  71. package/lib/verify/theorem.js +4 -7
  72. package/package.json +4 -4
  73. package/src/assertion/subproof.js +84 -0
  74. package/src/assignment/metavariable.js +2 -2
  75. package/src/combinator.js +45 -15
  76. package/src/conclusion.js +83 -13
  77. package/src/context/file.js +223 -11
  78. package/src/context/local.js +12 -16
  79. package/src/context/release.js +57 -39
  80. package/src/context/release.other.js +547 -0
  81. package/src/declaration/combinator.js +44 -0
  82. package/src/derivation.js +50 -0
  83. package/src/equality.js +2 -9
  84. package/src/index.js +0 -1
  85. package/src/judgement.js +2 -8
  86. package/src/label.js +56 -13
  87. package/src/log.js +2 -9
  88. package/src/metaType.js +26 -14
  89. package/src/metavariable.js +57 -9
  90. package/src/mixins/statement/qualified/unify.js +186 -0
  91. package/src/mixins/statement/unify.js +70 -0
  92. package/src/mixins/statement/verify.js +274 -0
  93. package/src/node/statement/combinator/bracketed.js +4 -3
  94. package/src/ocmbinator/bracketed.js +15 -12
  95. package/src/premise.js +136 -44
  96. package/src/proof.js +58 -0
  97. package/src/proofStep.js +92 -22
  98. package/src/reference.js +58 -12
  99. package/src/rule.js +199 -30
  100. package/src/ruleNames.js +1 -1
  101. package/src/statement/qualified.js +104 -0
  102. package/src/statement/unqualified.js +60 -0
  103. package/src/statement.js +179 -0
  104. package/src/subDerivation.js +52 -0
  105. package/src/subproof.js +99 -0
  106. package/src/substitution/frameForMetavariable.js +20 -17
  107. package/src/substitution/statementForMetavariable.js +31 -29
  108. package/src/substitution/termForVariable.js +15 -14
  109. package/src/substitution.js +8 -0
  110. package/src/substitutions.js +12 -13
  111. package/src/supposition.js +94 -44
  112. package/src/unifier/statementWithCombinator.js +6 -3
  113. package/src/unify/metavariableWithFrame.js +1 -1
  114. package/src/unify/metavariableWithStatement.js +1 -1
  115. package/src/unify/metavariableWithStatementGivenSubstitution.js +1 -1
  116. package/src/unify/variableWithTerm.js +1 -1
  117. package/src/utilities/node.js +18 -12
  118. package/src/utilities/releaseContext.js +2 -2
  119. package/src/utilities/string.js +6 -2
  120. package/src/utilities/subproof.js +2 -2
  121. package/src/utilities/tokens.js +7 -7
  122. package/src/variable.js +0 -10
  123. package/src/verifier/metaLevel.js +3 -2
  124. package/src/verifier/topLevel.js +6 -4
  125. package/src/verify/axiom.js +1 -2
  126. package/src/verify/conjecture.js +2 -3
  127. package/src/verify/consequent.js +1 -1
  128. package/src/verify/declaration/combinator.js +0 -20
  129. package/src/verify/declaration/metavariable.js +8 -12
  130. package/src/verify/files.js +3 -3
  131. package/src/verify/frame.js +11 -11
  132. package/src/verify/lemma.js +2 -3
  133. package/src/verify/metaLemma.js +2 -3
  134. package/src/verify/metatheorem.js +2 -3
  135. package/src/verify/proofStep.js +0 -41
  136. package/src/verify/theorem.js +2 -3
  137. package/lib/tokens/combinatorStatement/bracketed.js +0 -17
  138. package/lib/unify/premiseWithProofStep.js +0 -41
  139. package/lib/unify/premisesWithProofSteps.js +0 -31
  140. package/lib/unify/qualifiedStatement.js +0 -136
  141. package/lib/unify/statementWithBracketedCombinator.js +0 -30
  142. package/lib/unify/statementWithCombinator.js +0 -29
  143. package/lib/unify/statementWithCombinators.js +0 -31
  144. package/lib/unify/statementWithMetaType.js +0 -24
  145. package/lib/verify/conclusion.js +0 -39
  146. package/lib/verify/derivation.js +0 -31
  147. package/lib/verify/label.js +0 -37
  148. package/lib/verify/labels.js +0 -28
  149. package/lib/verify/premise.js +0 -45
  150. package/lib/verify/premises.js +0 -28
  151. package/lib/verify/proof.js +0 -34
  152. package/lib/verify/rule.js +0 -56
  153. package/lib/verify/statement/qualified.js +0 -41
  154. package/lib/verify/statement/unqualified.js +0 -45
  155. package/lib/verify/statement.js +0 -219
  156. package/lib/verify/statementAsCombinator.js +0 -33
  157. package/lib/verify/statementGivenMetaType.js +0 -52
  158. package/lib/verify/subproof.js +0 -34
  159. package/lib/verify/supposition.js +0 -45
  160. package/lib/verify/suppositions.js +0 -28
  161. package/src/tokens/combinatorStatement/bracketed.js +0 -10
  162. package/src/unify/premiseWithProofStep.js +0 -54
  163. package/src/unify/premisesWithProofSteps.js +0 -23
  164. package/src/unify/qualifiedStatement.js +0 -208
  165. package/src/unify/statementWithBracketedCombinator.js +0 -22
  166. package/src/unify/statementWithCombinator.js +0 -22
  167. package/src/unify/statementWithCombinators.js +0 -23
  168. package/src/unify/statementWithMetaType.js +0 -14
  169. package/src/verify/conclusion.js +0 -40
  170. package/src/verify/derivation.js +0 -23
  171. package/src/verify/label.js +0 -34
  172. package/src/verify/labels.js +0 -17
  173. package/src/verify/premise.js +0 -49
  174. package/src/verify/premises.js +0 -17
  175. package/src/verify/proof.js +0 -31
  176. package/src/verify/rule.js +0 -71
  177. package/src/verify/statement/qualified.js +0 -40
  178. package/src/verify/statement/unqualified.js +0 -49
  179. package/src/verify/statement.js +0 -312
  180. package/src/verify/statementAsCombinator.js +0 -27
  181. package/src/verify/statementGivenMetaType.js +0 -52
  182. package/src/verify/subproof.js +0 -32
  183. package/src/verify/supposition.js +0 -49
  184. package/src/verify/suppositions.js +0 -17
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return UnqualifiedStatement;
9
+ }
10
+ });
11
+ var _statement = /*#__PURE__*/ _interop_require_default(require("../statement"));
12
+ var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
13
+ var _string = require("../utilities/string");
14
+ var _query = require("../utilities/query");
15
+ function _class_call_check(instance, Constructor) {
16
+ if (!(instance instanceof Constructor)) {
17
+ throw new TypeError("Cannot call a class as a function");
18
+ }
19
+ }
20
+ function _defineProperties(target, props) {
21
+ for(var i = 0; i < props.length; i++){
22
+ var descriptor = props[i];
23
+ descriptor.enumerable = descriptor.enumerable || false;
24
+ descriptor.configurable = true;
25
+ if ("value" in descriptor) descriptor.writable = true;
26
+ Object.defineProperty(target, descriptor.key, descriptor);
27
+ }
28
+ }
29
+ function _create_class(Constructor, protoProps, staticProps) {
30
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
31
+ if (staticProps) _defineProperties(Constructor, staticProps);
32
+ return Constructor;
33
+ }
34
+ function _interop_require_default(obj) {
35
+ return obj && obj.__esModule ? obj : {
36
+ default: obj
37
+ };
38
+ }
39
+ var statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement");
40
+ var UnqualifiedStatement = /*#__PURE__*/ function() {
41
+ function UnqualifiedStatement(string, statement) {
42
+ _class_call_check(this, UnqualifiedStatement);
43
+ this.string = string;
44
+ this.statement = statement;
45
+ }
46
+ _create_class(UnqualifiedStatement, [
47
+ {
48
+ key: "getString",
49
+ value: function getString() {
50
+ return this.string;
51
+ }
52
+ },
53
+ {
54
+ key: "getStatement",
55
+ value: function getStatement() {
56
+ return this.statement;
57
+ }
58
+ },
59
+ {
60
+ key: "verify",
61
+ value: function verify(assignments, stated, localContext) {
62
+ var verified;
63
+ var unqualifiedStatementString = (0, _string.trim)(this.string); ///
64
+ localContext.trace("Verifying the '".concat(unqualifiedStatementString, "' unqualified statement..."));
65
+ var statementVerified = this.statement.verify(assignments, stated, localContext);
66
+ verified = statementVerified; ///
67
+ if (verified) {
68
+ localContext.debug("...verified the '".concat(unqualifiedStatementString, "' unqualified statement."));
69
+ }
70
+ return verified;
71
+ }
72
+ }
73
+ ], [
74
+ {
75
+ key: "fromUnqualifiedStatementNode",
76
+ value: function fromUnqualifiedStatementNode(unqualifiedStatementNode, fileContext) {
77
+ var unqualifiedStatement = null;
78
+ if (unqualifiedStatementNode !== null) {
79
+ var statementNode = statementNodeQuery(unqualifiedStatementNode), localContext = _local.default.fromFileContext(fileContext), statement = statementNode !== null ? _statement.default.fromStatementNode(statementNode, localContext) : null, node = unqualifiedStatementNode, string = fileContext.nodeAsString(node);
80
+ unqualifiedStatement = new UnqualifiedStatement(string, statement);
81
+ }
82
+ return unqualifiedStatement;
83
+ }
84
+ }
85
+ ]);
86
+ return UnqualifiedStatement;
87
+ }();
88
+
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0ZW1lbnQvdW5xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBTdGF0ZW1lbnQgZnJvbSBcIi4uL3N0YXRlbWVudFwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbFwiO1xuXG5pbXBvcnQgeyB0cmltIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVW5xdWFsaWZpZWRTdGF0ZW1lbnQge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHN0YXRlbWVudCkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMuc3RhdGVtZW50ID0gc3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnQ7XG4gIH1cblxuICB2ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkO1xuXG4gICAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSB0cmltKHRoaXMuc3RyaW5nKTsgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkID0gdGhpcy5zdGF0ZW1lbnQudmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICB2ZXJpZmllZCA9IHN0YXRlbWVudFZlcmlmaWVkOyAvLy9cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIGZyb21VbnF1YWxpZmllZFN0YXRlbWVudE5vZGUodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB1bnF1YWxpZmllZFN0YXRlbWVudCA9IG51bGw7XG5cbiAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgIHN0YXRlbWVudCA9IChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXRlbWVudC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgbm9kZSA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgc3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpO1xuXG4gICAgICB1bnF1YWxpZmllZFN0YXRlbWVudCA9IG5ldyBVbnF1YWxpZmllZFN0YXRlbWVudChzdHJpbmcsIHN0YXRlbWVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVucXVhbGlmaWVkU3RhdGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiVW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdHJpbmciLCJzdGF0ZW1lbnQiLCJnZXRTdHJpbmciLCJnZXRTdGF0ZW1lbnQiLCJ2ZXJpZnkiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImxvY2FsQ29udGV4dCIsInZlcmlmaWVkIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmciLCJ0cmltIiwidHJhY2UiLCJzdGF0ZW1lbnRWZXJpZmllZCIsImRlYnVnIiwiZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsImZpbGVDb250ZXh0IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiU3RhdGVtZW50IiwiZnJvbVN0YXRlbWVudE5vZGUiLCJub2RlIiwibm9kZUFzU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7OztnRUFSQzs0REFDRztzQkFFSjtxQkFDSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFdEIsSUFBQSxBQUFNRixxQ0FBTjthQUFNQSxxQkFDUEcsTUFBTSxFQUFFQyxTQUFTO2dDQURWSjtRQUVqQixJQUFJLENBQUNHLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2tCQUhBSjs7WUFNbkJLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsTUFBTTtZQUNwQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsU0FBUztZQUN2Qjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsWUFBWTtnQkFDdEMsSUFBSUM7Z0JBRUosSUFBTUMsNkJBQTZCQyxJQUFBQSxZQUFJLEVBQUMsSUFBSSxDQUFDVixNQUFNLEdBQUcsR0FBRztnQkFFekRPLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUE0QyxPQUEzQkYsNEJBQTJCO2dCQUVoRSxJQUFNRyxvQkFBb0IsSUFBSSxDQUFDWCxTQUFTLENBQUNHLE1BQU0sQ0FBQ0MsYUFBYUMsUUFBUUM7Z0JBRXJFQyxXQUFXSSxtQkFBbUIsR0FBRztnQkFFakMsSUFBSUosVUFBVTtvQkFDWkQsYUFBYU0sS0FBSyxDQUFDLEFBQUMsb0JBQThDLE9BQTNCSiw0QkFBMkI7Z0JBQ3BFO2dCQUVBLE9BQU9EO1lBQ1Q7Ozs7WUFFT00sS0FBQUE7bUJBQVAsU0FBT0EsNkJBQTZCQyx3QkFBd0IsRUFBRUMsV0FBVztnQkFDdkUsSUFBSUMsdUJBQXVCO2dCQUUzQixJQUFJRiw2QkFBNkIsTUFBTTtvQkFDckMsSUFBTUcsZ0JBQWdCcEIsbUJBQW1CaUIsMkJBQ25DUixlQUFlWSxjQUFZLENBQUNDLGVBQWUsQ0FBQ0osY0FDNUNmLFlBQVksQUFBQ2lCLGtCQUFrQixPQUNqQkcsa0JBQVMsQ0FBQ0MsaUJBQWlCLENBQUNKLGVBQWVYLGdCQUN6QyxNQUNoQmdCLE9BQU9SLDBCQUNQZixTQUFTZ0IsWUFBWVEsWUFBWSxDQUFDRDtvQkFFeENOLHVCQUF1QixJQTVDUnBCLHFCQTRDaUNHLFFBQVFDO2dCQUMxRDtnQkFFQSxPQUFPZ0I7WUFDVDs7O1dBaERtQnBCIn0=
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
12
+ var _unify = /*#__PURE__*/ _interop_require_default(require("./mixins/statement/unify"));
13
+ var _verify = /*#__PURE__*/ _interop_require_default(require("./mixins/statement/verify"));
14
+ var _statementAsCombinator = /*#__PURE__*/ _interop_require_default(require("./verifier/statementAsCombinator"));
15
+ var _node = require("./utilities/node");
16
+ var _metaTypeNames = require("./metaTypeNames");
17
+ function _class_call_check(instance, Constructor) {
18
+ if (!(instance instanceof Constructor)) {
19
+ throw new TypeError("Cannot call a class as a function");
20
+ }
21
+ }
22
+ function _defineProperties(target, props) {
23
+ for(var i = 0; i < props.length; i++){
24
+ var descriptor = props[i];
25
+ descriptor.enumerable = descriptor.enumerable || false;
26
+ descriptor.configurable = true;
27
+ if ("value" in descriptor) descriptor.writable = true;
28
+ Object.defineProperty(target, descriptor.key, descriptor);
29
+ }
30
+ }
31
+ function _create_class(Constructor, protoProps, staticProps) {
32
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
33
+ if (staticProps) _defineProperties(Constructor, staticProps);
34
+ return Constructor;
35
+ }
36
+ function _interop_require_default(obj) {
37
+ return obj && obj.__esModule ? obj : {
38
+ default: obj
39
+ };
40
+ }
41
+ var Statement = /*#__PURE__*/ function() {
42
+ function Statement(string, node) {
43
+ _class_call_check(this, Statement);
44
+ this.string = string;
45
+ this.node = node;
46
+ }
47
+ _create_class(Statement, [
48
+ {
49
+ key: "getString",
50
+ value: function getString() {
51
+ return this.string;
52
+ }
53
+ },
54
+ {
55
+ key: "getNode",
56
+ value: function getNode() {
57
+ return this.node;
58
+ }
59
+ },
60
+ {
61
+ key: "isEqualTo",
62
+ value: function isEqualTo(statement) {
63
+ var node = statement.getNode(), matches = this.node.match(node), equalTo = matches; ///
64
+ return equalTo;
65
+ }
66
+ },
67
+ {
68
+ key: "verify",
69
+ value: function verify(assignments, stated, localContext) {
70
+ var verified = false;
71
+ var statement = this, statementString = this.string; ///
72
+ localContext.trace("Verifying the '".concat(statementString, "' statement..."));
73
+ if (!verified) {
74
+ verified = _unify.default.some(function(unifyMixin) {
75
+ var unified = unifyMixin(statement, assignments, stated, localContext);
76
+ if (unified) {
77
+ return true;
78
+ }
79
+ });
80
+ }
81
+ if (!verified) {
82
+ verified = _verify.default.some(function(verifyMixin) {
83
+ var verified = verifyMixin(statement, assignments, stated, localContext);
84
+ if (verified) {
85
+ return true;
86
+ }
87
+ });
88
+ }
89
+ if (verified) {
90
+ localContext.debug("...verified the '".concat(statementString, "' statement."));
91
+ }
92
+ return verified;
93
+ }
94
+ },
95
+ {
96
+ key: "unifyWithMetaType",
97
+ value: function unifyWithMetaType(metaType, assignments, stated, localContext) {
98
+ var unifiedWithMetaType;
99
+ var verifiedGivenMetaType = this.verifyGivenMetaType(metaType, assignments, stated, localContext);
100
+ unifiedWithMetaType = verifiedGivenMetaType; ///
101
+ return unifiedWithMetaType;
102
+ }
103
+ },
104
+ {
105
+ key: "verifyAsCombinator",
106
+ value: function verifyAsCombinator(localContext) {
107
+ var verifiedAsCombinator;
108
+ var statementNode = this.node, statementString = this.string; ///
109
+ localContext.trace("Verifying the '".concat(statementString, "' statement as a combinator..."));
110
+ verifiedAsCombinator = _statementAsCombinator.default.verifyStatement(statementNode, localContext);
111
+ if (verifiedAsCombinator) {
112
+ localContext.debug("...verified the '".concat(statementString, "' statement as a combinator."), statementNode);
113
+ }
114
+ return verifiedAsCombinator;
115
+ }
116
+ },
117
+ {
118
+ key: "verifyGivenMetaType",
119
+ value: function verifyGivenMetaType(metaType, assignments, stated, localContext) {
120
+ var verifiedGivenMetaType;
121
+ var metaTypeName = metaType.getName();
122
+ switch(metaTypeName){
123
+ case _metaTypeNames.FRAME_META_TYPE_NAME:
124
+ case _metaTypeNames.REFERENCE_META_TYPE_NAME:
125
+ {
126
+ debugger;
127
+ break;
128
+ }
129
+ case _metaTypeNames.STATEMENT_META_TYPE_NAME:
130
+ {
131
+ var verified = this.verify(assignments, stated, localContext);
132
+ verifiedGivenMetaType = verified; ///
133
+ break;
134
+ }
135
+ }
136
+ return verifiedGivenMetaType;
137
+ }
138
+ },
139
+ {
140
+ key: "toJSON",
141
+ value: function toJSON() {
142
+ var string = this.string, json = {
143
+ string: string
144
+ };
145
+ return json;
146
+ }
147
+ }
148
+ ], [
149
+ {
150
+ key: "fromJSON",
151
+ value: function fromJSON(json, fileContext) {
152
+ var string = json.string, statementString = string, lexer = fileContext.getLexer(), parser = fileContext.getParser(), statementNode = (0, _node.statementNodeFromStatementString)(statementString, lexer, parser), node = statementNode, statement = new Statement(string, node);
153
+ return statement;
154
+ }
155
+ },
156
+ {
157
+ key: "fromStatementNode",
158
+ value: function fromStatementNode(statementNode, localContext) {
159
+ var statement;
160
+ if (statementNode !== null) {
161
+ var node = statementNode, string = localContext.nodeAsString(node);
162
+ statement = new Statement(string, node);
163
+ }
164
+ return statement;
165
+ }
166
+ }
167
+ ]);
168
+ return Statement;
169
+ }();
170
+ Object.assign(_shim.default, {
171
+ Statement: Statement
172
+ });
173
+ Object.assign(Statement.prototype, _unify.default);
174
+ var _default = Statement;
175
+
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGF0ZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuL3NoaW1cIjtcbmltcG9ydCB1bmlmeU1peGlucyBmcm9tIFwiLi9taXhpbnMvc3RhdGVtZW50L3VuaWZ5XCI7XG5pbXBvcnQgdmVyaWZ5TWl4aW5zIGZyb20gXCIuL21peGlucy9zdGF0ZW1lbnQvdmVyaWZ5XCI7XG5pbXBvcnQgc3RhdGVtZW50QXNDb21iaW5hdG9yVmVyaWZpZXIgZnJvbSBcIi4vdmVyaWZpZXIvc3RhdGVtZW50QXNDb21iaW5hdG9yXCI7XG5cbmltcG9ydCB7IHN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25vZGVcIjtcbmltcG9ydCB7IEZSQU1FX01FVEFfVFlQRV9OQU1FLCBSRUZFUkVOQ0VfTUVUQV9UWVBFX05BTUUsIFNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRSB9IGZyb20gXCIuL21ldGFUeXBlTmFtZXNcIjtcblxuY2xhc3MgU3RhdGVtZW50IHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCBub2RlKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBpc0VxdWFsVG8oc3RhdGVtZW50KSB7XG4gICAgY29uc3Qgbm9kZSA9IHN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgICAgbWF0Y2hlcyA9IHRoaXMubm9kZS5tYXRjaChub2RlKSxcbiAgICAgICAgICBlcXVhbFRvID0gbWF0Y2hlczsgIC8vL1xuXG4gICAgcmV0dXJuIGVxdWFsVG87XG4gIH1cblxuICB2ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnQgPSB0aGlzLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC4uLmApO1xuXG4gICAgaWYgKCF2ZXJpZmllZCkge1xuICAgICAgdmVyaWZpZWQgPSB1bmlmeU1peGlucy5zb21lKCh1bmlmeU1peGluKSA9PiB7IC8vL1xuICAgICAgICBjb25zdCB1bmlmaWVkID0gdW5pZnlNaXhpbihzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHVuaWZpZWQpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCF2ZXJpZmllZCkge1xuICAgICAgdmVyaWZpZWQgPSB2ZXJpZnlNaXhpbnMuc29tZSgodmVyaWZ5TWl4aW4pID0+IHtcbiAgICAgICAgY29uc3QgdmVyaWZpZWQgPSB2ZXJpZnlNaXhpbihzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50LmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHVuaWZ5V2l0aE1ldGFUeXBlKG1ldGFUeXBlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgdW5pZmllZFdpdGhNZXRhVHlwZTtcblxuICAgIGNvbnN0IHZlcmlmaWVkR2l2ZW5NZXRhVHlwZSA9IHRoaXMudmVyaWZ5R2l2ZW5NZXRhVHlwZShtZXRhVHlwZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIHVuaWZpZWRXaXRoTWV0YVR5cGUgPSB2ZXJpZmllZEdpdmVuTWV0YVR5cGU7ICAvLy9cblxuICAgIHJldHVybiB1bmlmaWVkV2l0aE1ldGFUeXBlO1xuICB9XG5cbiAgdmVyaWZ5QXNDb21iaW5hdG9yKGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZEFzQ29tYmluYXRvcjtcblxuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSB0aGlzLm5vZGUsICAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGNvbWJpbmF0b3IuLi5gKTtcblxuICAgIHZlcmlmaWVkQXNDb21iaW5hdG9yID0gc3RhdGVtZW50QXNDb21iaW5hdG9yVmVyaWZpZXIudmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAodmVyaWZpZWRBc0NvbWJpbmF0b3IpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGNvbWJpbmF0b3IuYCwgc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkQXNDb21iaW5hdG9yO1xuICB9XG5cbiAgdmVyaWZ5R2l2ZW5NZXRhVHlwZShtZXRhVHlwZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkR2l2ZW5NZXRhVHlwZTtcblxuICAgIGNvbnN0IG1ldGFUeXBlTmFtZSA9IG1ldGFUeXBlLmdldE5hbWUoKTtcblxuICAgIHN3aXRjaCAobWV0YVR5cGVOYW1lKSB7XG4gICAgICBjYXNlIEZSQU1FX01FVEFfVFlQRV9OQU1FOlxuICAgICAgY2FzZSBSRUZFUkVOQ0VfTUVUQV9UWVBFX05BTUU6IHtcbiAgICAgICAgZGVidWdnZXJcblxuICAgICAgICAvLyB2ZXJpZmllZEdpdmVuTWV0YVR5cGUgPSBmYWxzZTtcbiAgICAgICAgLy9cbiAgICAgICAgLy8gY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcbiAgICAgICAgLy9cbiAgICAgICAgLy8gaWYgKG1ldGF2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgLy8gICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAvLyAgICAgbWV0YXZhcmlhYmxlID0gbG9jYWxDb250ZXh0LmZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5hbWUobWV0YXZhcmlhYmxlTmFtZSk7XG4gICAgICAgIC8vXG4gICAgICAgIC8vICAgaWYgKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgICAvLyAgICAgY29uc3QgbWV0YXZhcmlhYmxlTWV0YVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGUoKTtcbiAgICAgICAgLy9cbiAgICAgICAgLy8gICAgIGlmIChtZXRhdmFyaWFibGVNZXRhVHlwZSA9PT0gbWV0YVR5cGUpIHtcbiAgICAgICAgLy8gICAgICAgdmVyaWZpZWRHaXZlbk1ldGFUeXBlID0gdHJ1ZTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gICB9XG4gICAgICAgIC8vIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBTVEFURU1FTlRfTUVUQV9UWVBFX05BTUU6IHtcbiAgICAgICAgY29uc3QgdmVyaWZpZWQgPSB0aGlzLnZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpXG5cbiAgICAgICAgdmVyaWZpZWRHaXZlbk1ldGFUeXBlID0gdmVyaWZpZWQ7IC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZEdpdmVuTWV0YVR5cGU7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gdGhpcy5zdHJpbmcsIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBzdHJpbmdcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IHN0cmluZyB9ID0ganNvbixcbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSBzdHJpbmcsIC8vL1xuICAgICAgICAgIGxleGVyID0gZmlsZUNvbnRleHQuZ2V0TGV4ZXIoKSxcbiAgICAgICAgICBwYXJzZXIgPSBmaWxlQ29udGV4dC5nZXRQYXJzZXIoKSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcoc3RhdGVtZW50U3RyaW5nLCBsZXhlciwgcGFyc2VyKSxcbiAgICAgICAgICBub2RlID0gc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudCA9IG5ldyBTdGF0ZW1lbnQoc3RyaW5nLCBub2RlKTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudDtcblxuICAgIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpO1xuXG4gICAgICBzdGF0ZW1lbnQgPSBuZXcgU3RhdGVtZW50KHN0cmluZywgbm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgU3RhdGVtZW50XG59KTtcblxuT2JqZWN0LmFzc2lnbihTdGF0ZW1lbnQucHJvdG90eXBlLCB1bmlmeU1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IFN0YXRlbWVudDtcblxuIl0sIm5hbWVzIjpbIlN0YXRlbWVudCIsInN0cmluZyIsIm5vZGUiLCJnZXRTdHJpbmciLCJnZXROb2RlIiwiaXNFcXVhbFRvIiwic3RhdGVtZW50IiwibWF0Y2hlcyIsIm1hdGNoIiwiZXF1YWxUbyIsInZlcmlmeSIsImFzc2lnbm1lbnRzIiwic3RhdGVkIiwibG9jYWxDb250ZXh0IiwidmVyaWZpZWQiLCJzdGF0ZW1lbnRTdHJpbmciLCJ0cmFjZSIsInVuaWZ5TWl4aW5zIiwic29tZSIsInVuaWZ5TWl4aW4iLCJ1bmlmaWVkIiwidmVyaWZ5TWl4aW5zIiwidmVyaWZ5TWl4aW4iLCJkZWJ1ZyIsInVuaWZ5V2l0aE1ldGFUeXBlIiwibWV0YVR5cGUiLCJ1bmlmaWVkV2l0aE1ldGFUeXBlIiwidmVyaWZpZWRHaXZlbk1ldGFUeXBlIiwidmVyaWZ5R2l2ZW5NZXRhVHlwZSIsInZlcmlmeUFzQ29tYmluYXRvciIsInZlcmlmaWVkQXNDb21iaW5hdG9yIiwic3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudEFzQ29tYmluYXRvclZlcmlmaWVyIiwidmVyaWZ5U3RhdGVtZW50IiwibWV0YVR5cGVOYW1lIiwiZ2V0TmFtZSIsIkZSQU1FX01FVEFfVFlQRV9OQU1FIiwiUkVGRVJFTkNFX01FVEFfVFlQRV9OQU1FIiwiU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FIiwidG9KU09OIiwianNvbiIsImZyb21KU09OIiwiZmlsZUNvbnRleHQiLCJsZXhlciIsImdldExleGVyIiwicGFyc2VyIiwiZ2V0UGFyc2VyIiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmciLCJmcm9tU3RhdGVtZW50Tm9kZSIsIm5vZGVBc1N0cmluZyIsIk9iamVjdCIsImFzc2lnbiIsInNoaW0iLCJwcm90b3R5cGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWlMQTs7O2VBQUE7OzsyREEvS2lCOzREQUNPOzZEQUNDOzRFQUNpQjtvQkFFTzs2QkFDd0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFekYsSUFBQSxBQUFNQSwwQkFBTjthQUFNQSxVQUNRQyxNQUFNLEVBQUVDLElBQUk7Z0NBRHBCRjtRQUVGLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTs7a0JBSFZGOztZQU1KRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLE1BQU07WUFDcEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVUMsU0FBUztnQkFDakIsSUFBTUosT0FBT0ksVUFBVUYsT0FBTyxJQUN4QkcsVUFBVSxJQUFJLENBQUNMLElBQUksQ0FBQ00sS0FBSyxDQUFDTixPQUMxQk8sVUFBVUYsU0FBVSxHQUFHO2dCQUU3QixPQUFPRTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO2dCQUN0QyxJQUFJQyxXQUFXO2dCQUVmLElBQU1SLFlBQVksSUFBSSxFQUNoQlMsa0JBQWtCLElBQUksQ0FBQ2QsTUFBTSxFQUFHLEdBQUc7Z0JBRXpDWSxhQUFhRyxLQUFLLENBQUMsQUFBQyxrQkFBaUMsT0FBaEJELGlCQUFnQjtnQkFFckQsSUFBSSxDQUFDRCxVQUFVO29CQUNiQSxXQUFXRyxjQUFXLENBQUNDLElBQUksQ0FBQyxT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
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return SubDerivation;
9
+ }
10
+ });
11
+ var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
12
+ var _array = require("./utilities/array");
13
+ var _query = require("./utilities/query");
14
+ function _class_call_check(instance, Constructor) {
15
+ if (!(instance instanceof Constructor)) {
16
+ throw new TypeError("Cannot call a class as a function");
17
+ }
18
+ }
19
+ function _defineProperties(target, props) {
20
+ for(var i = 0; i < props.length; i++){
21
+ var descriptor = props[i];
22
+ descriptor.enumerable = descriptor.enumerable || false;
23
+ descriptor.configurable = true;
24
+ if ("value" in descriptor) descriptor.writable = true;
25
+ Object.defineProperty(target, descriptor.key, descriptor);
26
+ }
27
+ }
28
+ function _create_class(Constructor, protoProps, staticProps) {
29
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
+ if (staticProps) _defineProperties(Constructor, staticProps);
31
+ return Constructor;
32
+ }
33
+ function _interop_require_default(obj) {
34
+ return obj && obj.__esModule ? obj : {
35
+ default: obj
36
+ };
37
+ }
38
+ var proofStepNodesQuery = (0, _query.nodesQuery)("/subDerivation/proofStep|lastProofStep");
39
+ var SubDerivation = /*#__PURE__*/ function() {
40
+ function SubDerivation(proofSteps) {
41
+ _class_call_check(this, SubDerivation);
42
+ this.proofSteps = proofSteps;
43
+ }
44
+ _create_class(SubDerivation, [
45
+ {
46
+ key: "getProofSteps",
47
+ value: function getProofSteps() {
48
+ return this.proofSteps;
49
+ }
50
+ },
51
+ {
52
+ key: "getLastProofStep",
53
+ value: function getLastProofStep() {
54
+ var lastProofStep = (0, _array.last)(this.proofSteps);
55
+ return lastProofStep;
56
+ }
57
+ },
58
+ {
59
+ key: "verify",
60
+ value: function verify(substitutions, localContext) {
61
+ var verified;
62
+ verified = this.proofSteps.every(function(proofStep) {
63
+ var proofStepVerified = proofStep.verify(substitutions, localContext);
64
+ if (proofStepVerified) {
65
+ return true;
66
+ }
67
+ });
68
+ return verified;
69
+ }
70
+ }
71
+ ], [
72
+ {
73
+ key: "fromSubDerivationNode",
74
+ value: function fromSubDerivationNode(subDerivationNode, fileContext) {
75
+ var ProofStep = _shim.default.ProofStep, proofStepNodes = proofStepNodesQuery(subDerivationNode), proofSteps = proofStepNodes.map(function(proofStepNode) {
76
+ var proofStep = ProofStep.fromProofStepNode(proofStepNode, fileContext);
77
+ return proofStep;
78
+ }), subDerivation = new SubDerivation(proofSteps);
79
+ return subDerivation;
80
+ }
81
+ }
82
+ ]);
83
+ return SubDerivation;
84
+ }();
85
+
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJEZXJpdmF0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5cbmltcG9ydCB7IGxhc3QgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVzUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgcHJvb2ZTdGVwTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc3ViRGVyaXZhdGlvbi9wcm9vZlN0ZXB8bGFzdFByb29mU3RlcFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3ViRGVyaXZhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHByb29mU3RlcHMpIHtcbiAgICB0aGlzLnByb29mU3RlcHMgPSBwcm9vZlN0ZXBzO1xuICB9XG5cbiAgZ2V0UHJvb2ZTdGVwcygpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9vZlN0ZXBzO1xuICB9XG5cbiAgZ2V0TGFzdFByb29mU3RlcCgpIHtcbiAgICBjb25zdCBsYXN0UHJvb2ZTdGVwID0gbGFzdCh0aGlzLnByb29mU3RlcHMpO1xuXG4gICAgcmV0dXJuIGxhc3RQcm9vZlN0ZXA7XG4gIH1cblxuICB2ZXJpZnkoc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkO1xuXG4gICAgdmVyaWZpZWQgPSB0aGlzLnByb29mU3RlcHMuZXZlcnkoKHByb29mU3RlcCkgPT4geyAvLy9cbiAgICAgIGNvbnN0IHByb29mU3RlcFZlcmlmaWVkID0gcHJvb2ZTdGVwLnZlcmlmeShzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAocHJvb2ZTdGVwVmVyaWZpZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN1YkRlcml2YXRpb25Ob2RlKHN1YkRlcml2YXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgUHJvb2ZTdGVwIH0gPSBzaGltLFxuICAgICAgICAgIHByb29mU3RlcE5vZGVzID0gcHJvb2ZTdGVwTm9kZXNRdWVyeShzdWJEZXJpdmF0aW9uTm9kZSksXG4gICAgICAgICAgcHJvb2ZTdGVwcyA9IHByb29mU3RlcE5vZGVzLm1hcCgocHJvb2ZTdGVwTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvb2ZTdGVwID0gUHJvb2ZTdGVwLmZyb21Qcm9vZlN0ZXBOb2RlKHByb29mU3RlcE5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICAgICAgcmV0dXJuIHByb29mU3RlcDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdWJEZXJpdmF0aW9uID0gbmV3IFN1YkRlcml2YXRpb24ocHJvb2ZTdGVwcyk7XG5cbiAgICByZXR1cm4gc3ViRGVyaXZhdGlvbjtcblxuICB9XG59Il0sIm5hbWVzIjpbIlN1YkRlcml2YXRpb24iLCJwcm9vZlN0ZXBOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInByb29mU3RlcHMiLCJnZXRQcm9vZlN0ZXBzIiwiZ2V0TGFzdFByb29mU3RlcCIsImxhc3RQcm9vZlN0ZXAiLCJsYXN0IiwidmVyaWZ5Iiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dCIsInZlcmlmaWVkIiwiZXZlcnkiLCJwcm9vZlN0ZXAiLCJwcm9vZlN0ZXBWZXJpZmllZCIsImZyb21TdWJEZXJpdmF0aW9uTm9kZSIsInN1YkRlcml2YXRpb25Ob2RlIiwiZmlsZUNvbnRleHQiLCJQcm9vZlN0ZXAiLCJzaGltIiwicHJvb2ZTdGVwTm9kZXMiLCJtYXAiLCJwcm9vZlN0ZXBOb2RlIiwiZnJvbVByb29mU3RlcE5vZGUiLCJzdWJEZXJpdmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7OzsyREFQSjtxQkFFSTtxQkFDTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUzQixJQUFNQyxzQkFBc0JDLElBQUFBLGlCQUFVLEVBQUM7QUFFeEIsSUFBQSxBQUFNRiw4QkFBTjthQUFNQSxjQUNQRyxVQUFVO2dDQURISDtRQUVqQixJQUFJLENBQUNHLFVBQVUsR0FBR0E7O2tCQUZESDs7WUFLbkJJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsVUFBVTtZQUN4Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxnQkFBZ0JDLElBQUFBLFdBQUksRUFBQyxJQUFJLENBQUNKLFVBQVU7Z0JBRTFDLE9BQU9HO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0MsYUFBYSxFQUFFQyxZQUFZO2dCQUNoQyxJQUFJQztnQkFFSkEsV0FBVyxJQUFJLENBQUNSLFVBQVUsQ0FBQ1MsS0FBSyxDQUFDLFNBQUNDO29CQUNoQyxJQUFNQyxvQkFBb0JELFVBQVVMLE1BQU0sQ0FBQ0MsZUFBZUM7b0JBRTFELElBQUlJLG1CQUFtQjt3QkFDckIsT0FBTztvQkFDVDtnQkFDRjtnQkFFQSxPQUFPSDtZQUNUOzs7O1lBRU9JLEtBQUFBO21CQUFQLFNBQU9BLHNCQUFzQkMsaUJBQWlCLEVBQUVDLFdBQVc7Z0JBQ3pELElBQU0sQUFBRUMsWUFBY0MsYUFBSSxDQUFsQkQsV0FDRkUsaUJBQWlCbkIsb0JBQW9CZSxvQkFDckNiLGFBQWFpQixlQUFlQyxHQUFHLENBQUMsU0FBQ0M7b0JBQy9CLElBQU1ULFlBQVlLLFVBQVVLLGlCQUFpQixDQUFDRCxlQUFlTDtvQkFFN0QsT0FBT0o7Z0JBQ1QsSUFDQVcsZ0JBQWdCLElBckNMeEIsY0FxQ3VCRztnQkFFeEMsT0FBT3FCO1lBRVQ7OztXQXpDbUJ4QiJ9
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Subproof;
9
+ }
10
+ });
11
+ var _supposition = /*#__PURE__*/ _interop_require_default(require("./supposition"));
12
+ var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
13
+ var _subDerivation = /*#__PURE__*/ _interop_require_default(require("./subDerivation"));
14
+ var _query = require("./utilities/query");
15
+ var _subproof = require("./utilities/subproof");
16
+ function _array_like_to_array(arr, len) {
17
+ if (len == null || len > arr.length) len = arr.length;
18
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
19
+ return arr2;
20
+ }
21
+ function _array_without_holes(arr) {
22
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
23
+ }
24
+ function _class_call_check(instance, Constructor) {
25
+ if (!(instance instanceof Constructor)) {
26
+ throw new TypeError("Cannot call a class as a function");
27
+ }
28
+ }
29
+ function _defineProperties(target, props) {
30
+ for(var i = 0; i < props.length; i++){
31
+ var descriptor = props[i];
32
+ descriptor.enumerable = descriptor.enumerable || false;
33
+ descriptor.configurable = true;
34
+ if ("value" in descriptor) descriptor.writable = true;
35
+ Object.defineProperty(target, descriptor.key, descriptor);
36
+ }
37
+ }
38
+ function _create_class(Constructor, protoProps, staticProps) {
39
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
40
+ if (staticProps) _defineProperties(Constructor, staticProps);
41
+ return Constructor;
42
+ }
43
+ function _interop_require_default(obj) {
44
+ return obj && obj.__esModule ? obj : {
45
+ default: obj
46
+ };
47
+ }
48
+ function _iterable_to_array(iter) {
49
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
50
+ }
51
+ function _non_iterable_spread() {
52
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
53
+ }
54
+ function _to_consumable_array(arr) {
55
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
56
+ }
57
+ function _unsupported_iterable_to_array(o, minLen) {
58
+ if (!o) return;
59
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
60
+ var n = Object.prototype.toString.call(o).slice(8, -1);
61
+ if (n === "Object" && o.constructor) n = o.constructor.name;
62
+ if (n === "Map" || n === "Set") return Array.from(n);
63
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
64
+ }
65
+ var suppositionNodesQuery = (0, _query.nodesQuery)("/subproof/supposition"), subDerivationNodeQuery = (0, _query.nodeQuery)("/subproof/subDerivation");
66
+ var Subproof = /*#__PURE__*/ function() {
67
+ function Subproof(string, suppositions, subDerivation) {
68
+ _class_call_check(this, Subproof);
69
+ this.string = string;
70
+ this.suppositions = suppositions;
71
+ this.subDerivation = subDerivation;
72
+ }
73
+ _create_class(Subproof, [
74
+ {
75
+ key: "getString",
76
+ value: function getString() {
77
+ return this.string;
78
+ }
79
+ },
80
+ {
81
+ key: "getNode",
82
+ value: function getNode() {
83
+ return this.node;
84
+ }
85
+ },
86
+ {
87
+ key: "getSuppositions",
88
+ value: function getSuppositions() {
89
+ return this.suppositions;
90
+ }
91
+ },
92
+ {
93
+ key: "getSubDerivation",
94
+ value: function getSubDerivation() {
95
+ return this.subDerivation;
96
+ }
97
+ },
98
+ {
99
+ key: "getLastProofStep",
100
+ value: function getLastProofStep() {
101
+ return this.subDerivation.getLastProofStep();
102
+ }
103
+ },
104
+ {
105
+ key: "getStatements",
106
+ value: function getStatements() {
107
+ var lastProofStep = this.getLastProofStep(), suppositionStatements = this.suppositions.map(function(supposition) {
108
+ var suppositionStatement = supposition.getStatement();
109
+ return suppositionStatement;
110
+ }), lastProofStepStatement = lastProofStep.getStatement(), statements = _to_consumable_array(suppositionStatements).concat([
111
+ lastProofStepStatement
112
+ ]);
113
+ return statements;
114
+ }
115
+ },
116
+ {
117
+ key: "verify",
118
+ value: function verify(substitutions, localContext) {
119
+ var subproofVerified = false;
120
+ localContext = _local.default.fromLocalContext(localContext); ///
121
+ var suppositionsVerified = this.suppositions.every(function(supposition) {
122
+ var suppositionVerified = supposition.verify(localContext);
123
+ if (suppositionVerified) {
124
+ return true;
125
+ }
126
+ });
127
+ if (suppositionsVerified) {
128
+ var subDerivationVerified = this.subDerivation.verify(substitutions, localContext);
129
+ if (subDerivationVerified) {
130
+ subproofVerified = true;
131
+ }
132
+ }
133
+ return subproofVerified;
134
+ }
135
+ }
136
+ ], [
137
+ {
138
+ key: "fromSubproofNode",
139
+ value: function fromSubproofNode(subproofNode, fileContext) {
140
+ var subproof = null;
141
+ if (subproofNode !== null) {
142
+ var subproofString = (0, _subproof.subproofStringFromSubproofNode)(subproofNode, fileContext), suppositionNodes = suppositionNodesQuery(subproofNode), subDerivationNode = subDerivationNodeQuery(subproofNode), string = subproofString, suppositions = suppositionNodes.map(function(suppositionNode) {
143
+ var supposition = _supposition.default.fromSuppositionNode(suppositionNode, fileContext);
144
+ return supposition;
145
+ }), subDerivation = _subDerivation.default.fromSubDerivationNode(subDerivationNode, fileContext);
146
+ subproof = new Subproof(string, suppositions, subDerivation);
147
+ }
148
+ return subproof;
149
+ }
150
+ }
151
+ ]);
152
+ return Subproof;
153
+ }();
154
+
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJwcm9vZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFN1cHBvc2l0aW9uIGZyb20gXCIuL3N1cHBvc2l0aW9uXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcbmltcG9ydCBTdWJEZXJpdmF0aW9uIGZyb20gXCIuL3N1YkRlcml2YXRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQge3N1YnByb29mTm9kZUFzU3VicHJvb2ZTdHJpbmcsIHN1YnByb29mU3RyaW5nRnJvbVN1YnByb29mTm9kZX0gZnJvbSBcIi4vdXRpbGl0aWVzL3N1YnByb29mXCI7XG5cbmNvbnN0IHN1cHBvc2l0aW9uTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc3VicHJvb2Yvc3VwcG9zaXRpb25cIiksXG4gICAgICBzdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N1YnByb29mL3N1YkRlcml2YXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YnByb29mIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCBzdXBwb3NpdGlvbnMsIHN1YkRlcml2YXRpb24pIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9ucztcbiAgICB0aGlzLnN1YkRlcml2YXRpb24gPSBzdWJEZXJpdmF0aW9uO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFN1cHBvc2l0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5zdXBwb3NpdGlvbnM7XG4gIH1cblxuICBnZXRTdWJEZXJpdmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN1YkRlcml2YXRpb247XG4gIH1cblxuICBnZXRMYXN0UHJvb2ZTdGVwKCkgeyByZXR1cm4gdGhpcy5zdWJEZXJpdmF0aW9uLmdldExhc3RQcm9vZlN0ZXAoKTsgfVxuXG4gIGdldFN0YXRlbWVudHMoKSB7XG4gICAgY29uc3QgbGFzdFByb29mU3RlcCA9IHRoaXMuZ2V0TGFzdFByb29mU3RlcCgpLFxuICAgICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50cyA9IHRoaXMuc3VwcG9zaXRpb25zLm1hcCgoc3VwcG9zaXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN1cHBvc2l0aW9uU3RhdGVtZW50ID0gc3VwcG9zaXRpb24uZ2V0U3RhdGVtZW50KCk7XG5cbiAgICAgICAgICAgIHJldHVybiBzdXBwb3NpdGlvblN0YXRlbWVudDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBsYXN0UHJvb2ZTdGVwU3RhdGVtZW50ID0gbGFzdFByb29mU3RlcC5nZXRTdGF0ZW1lbnQoKSxcbiAgICAgICAgICBzdGF0ZW1lbnRzID0gW1xuICAgICAgICAgICAgLi4uc3VwcG9zaXRpb25TdGF0ZW1lbnRzLFxuICAgICAgICAgICAgbGFzdFByb29mU3RlcFN0YXRlbWVudFxuICAgICAgICAgIF07XG5cbiAgICByZXR1cm4gc3RhdGVtZW50cztcbiAgfVxuXG5cbiAgdmVyaWZ5KHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCBzdWJwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUxvY2FsQ29udGV4dChsb2NhbENvbnRleHQpOyAgLy8vXG5cbiAgICBjb25zdCBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHRoaXMuc3VwcG9zaXRpb25zLmV2ZXJ5KChzdXBwb3NpdGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3VwcG9zaXRpb25WZXJpZmllZCA9IHN1cHBvc2l0aW9uLnZlcmlmeShsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3VwcG9zaXRpb25WZXJpZmllZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChzdXBwb3NpdGlvbnNWZXJpZmllZCkge1xuICAgICAgY29uc3Qgc3ViRGVyaXZhdGlvblZlcmlmaWVkID0gdGhpcy5zdWJEZXJpdmF0aW9uLnZlcmlmeShzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3ViRGVyaXZhdGlvblZlcmlmaWVkKSB7XG4gICAgICAgIHN1YnByb29mVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdWJwcm9vZlZlcmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdWJwcm9vZk5vZGUoc3VicHJvb2ZOb2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCBzdWJwcm9vZiA9IG51bGw7XG5cbiAgICBpZiAoc3VicHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJwcm9vZlN0cmluZyA9IHN1YnByb29mU3RyaW5nRnJvbVN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgIHN1cHBvc2l0aW9uTm9kZXMgPSBzdXBwb3NpdGlvbk5vZGVzUXVlcnkoc3VicHJvb2ZOb2RlKSxcbiAgICAgICAgICAgIHN1YkRlcml2YXRpb25Ob2RlID0gc3ViRGVyaXZhdGlvbk5vZGVRdWVyeShzdWJwcm9vZk5vZGUpLFxuICAgICAgICAgICAgc3RyaW5nID0gc3VicHJvb2ZTdHJpbmcsICAvLy9cbiAgICAgICAgICAgIHN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9uTm9kZXMubWFwKChzdXBwb3NpdGlvbk5vZGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgc3VwcG9zaXRpb24gPSBTdXBwb3NpdGlvbi5mcm9tU3VwcG9zaXRpb25Ob2RlKHN1cHBvc2l0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgICAgIHJldHVybiBzdXBwb3NpdGlvbjtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc3ViRGVyaXZhdGlvbiA9IFN1YkRlcml2YXRpb24uZnJvbVN1YkRlcml2YXRpb25Ob2RlKHN1YkRlcml2YXRpb25Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgIHN1YnByb29mID0gbmV3IFN1YnByb29mKHN0cmluZywgc3VwcG9zaXRpb25zLCBzdWJEZXJpdmF0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VicHJvb2Y7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTdWJwcm9vZiIsInN1cHBvc2l0aW9uTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJzdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RyaW5nIiwic3VwcG9zaXRpb25zIiwic3ViRGVyaXZhdGlvbiIsImdldFN0cmluZyIsImdldE5vZGUiLCJub2RlIiwiZ2V0U3VwcG9zaXRpb25zIiwiZ2V0U3ViRGVyaXZhdGlvbiIsImdldExhc3RQcm9vZlN0ZXAiLCJnZXRTdGF0ZW1lbnRzIiwibGFzdFByb29mU3RlcCIsInN1cHBvc2l0aW9uU3RhdGVtZW50cyIsIm1hcCIsInN1cHBvc2l0aW9uIiwic3VwcG9zaXRpb25TdGF0ZW1lbnQiLCJnZXRTdGF0ZW1lbnQiLCJsYXN0UHJvb2ZTdGVwU3RhdGVtZW50Iiwic3RhdGVtZW50cyIsInZlcmlmeSIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHQiLCJzdWJwcm9vZlZlcmlmaWVkIiwiTG9jYWxDb250ZXh0IiwiZnJvbUxvY2FsQ29udGV4dCIsInN1cHBvc2l0aW9uc1ZlcmlmaWVkIiwiZXZlcnkiLCJzdXBwb3NpdGlvblZlcmlmaWVkIiwic3ViRGVyaXZhdGlvblZlcmlmaWVkIiwiZnJvbVN1YnByb29mTm9kZSIsInN1YnByb29mTm9kZSIsImZpbGVDb250ZXh0Iiwic3VicHJvb2YiLCJzdWJwcm9vZlN0cmluZyIsInN1YnByb29mU3RyaW5nRnJvbVN1YnByb29mTm9kZSIsInN1cHBvc2l0aW9uTm9kZXMiLCJzdWJEZXJpdmF0aW9uTm9kZSIsInN1cHBvc2l0aW9uTm9kZSIsIlN1cHBvc2l0aW9uIiwiZnJvbVN1cHBvc2l0aW9uTm9kZSIsIlN1YkRlcml2YXRpb24iLCJmcm9tU3ViRGVyaXZhdGlvbk5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBWXFCQTs7O2tFQVZHOzREQUNDO29FQUNDO3FCQUVZO3dCQUNxQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFM0UsSUFBTUMsd0JBQXdCQyxJQUFBQSxpQkFBVSxFQUFDLDBCQUNuQ0MseUJBQXlCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRTFCLElBQUEsQUFBTUoseUJBQU47YUFBTUEsU0FDUEssTUFBTSxFQUFFQyxZQUFZLEVBQUVDLGFBQWE7Z0NBRDVCUDtRQUVqQixJQUFJLENBQUNLLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFlBQVksR0FBR0E7UUFDcEIsSUFBSSxDQUFDQyxhQUFhLEdBQUdBOztrQkFKSlA7O1lBT25CUSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNDLElBQUk7WUFDbEI7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLFlBQVk7WUFDMUI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLGFBQWE7WUFDM0I7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQXFCLE9BQU8sSUFBSSxDQUFDTixhQUFhLENBQUNNLGdCQUFnQjtZQUFJOzs7WUFFbkVDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxnQkFBZ0IsSUFBSSxDQUFDRixnQkFBZ0IsSUFDckNHLHdCQUF3QixJQUFJLENBQUNWLFlBQVksQ0FBQ1csR0FBRyxDQUFDLFNBQUNDO29CQUM3QyxJQUFNQyx1QkFBdUJELFlBQVlFLFlBQVk7b0JBRXJELE9BQU9EO2dCQUNULElBQ0FFLHlCQUF5Qk4sY0FBY0ssWUFBWSxJQUNuREUsYUFBYSxBQUNYLHFCQUFHTiw4QkFEUTtvQkFFWEs7aUJBQ0Q7Z0JBRVAsT0FBT0M7WUFDVDs7O1lBR0FDLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxhQUFhLEVBQUVDLFlBQVk7Z0JBQ2hDLElBQUlDLG1CQUFtQjtnQkFFdkJELGVBQWVFLGNBQVksQ0FBQ0MsZ0JBQWdCLENBQUNILGVBQWdCLEdBQUc7Z0JBRWhFLElBQU1JLHVCQUF1QixJQUFJLENBQUN2QixZQUFZLENBQUN3QixLQUFLLENBQUMsU0FBQ1o7b0JBQ3BELElBQU1hLHNCQUFzQmIsWUFBWUssTUFBTSxDQUFDRTtvQkFFL0MsSUFBSU0scUJBQXFCO3dCQUN2QixPQUFPO29CQUNUO2dCQUNGO2dCQUVBLElBQUlGLHNCQUFzQjtvQkFDeEIsSUFBTUcsd0JBQXdCLElBQUksQ0FBQ3pCLGFBQWEsQ0FBQ2dCLE1BQU0sQ0FBQ0MsZUFBZUM7b0JBRXZFLElBQUlPLHVCQUF1Qjt3QkFDekJOLG1CQUFtQjtvQkFDckI7Z0JBQ0Y7Z0JBRUEsT0FBT0E7WUFDVDs7OztZQUVPTyxLQUFBQTttQkFBUCxTQUFPQSxpQkFBaUJDLFlBQVksRUFBRUMsV0FBVztnQkFDL0MsSUFBSUMsV0FBVztnQkFFZixJQUFJRixpQkFBaUIsTUFBTTtvQkFDekIsSUFBTUcsaUJBQWlCQyxJQUFBQSx3Q0FBOEIsRUFBQ0osY0FBY0MsY0FDOURJLG1CQUFtQnRDLHNCQUFzQmlDLGVBQ3pDTSxvQkFBb0JyQyx1QkFBdUIrQixlQUMzQzdCLFNBQVNnQyxnQkFDVC9CLGVBQWVpQyxpQkFBaUJ0QixHQUFHLENBQUMsU0FBQ3dCO3dCQUNuQyxJQUFNdkIsY0FBY3dCLG9CQUFXLENBQUNDLG1CQUFtQixDQUFDRixpQkFBaUJOO3dCQUVyRSxPQUFPakI7b0JBQ1QsSUFDQVgsZ0JBQWdCcUMsc0JBQWEsQ0FBQ0MscUJBQXFCLENBQUNMLG1CQUFtQkw7b0JBRTdFQyxXQUFXLElBakZJcEMsU0FpRlNLLFFBQVFDLGNBQWNDO2dCQUNoRDtnQkFFQSxPQUFPNkI7WUFDVDs7O1dBckZtQnBDIn0=