occam-verify-cli 0.0.526 → 0.0.529

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 (221) hide show
  1. package/README.md +4 -0
  2. package/bin/abbreviations.js +5 -1
  3. package/bin/action/help.js +4 -0
  4. package/bin/action/verify.js +35 -13
  5. package/bin/actions.js +11 -6
  6. package/bin/defaults.js +4 -0
  7. package/bin/options.js +4 -0
  8. package/bin/utilities/releaseContext.js +5 -7
  9. package/lib/assertion/type.js +10 -40
  10. package/lib/axiom.js +8 -8
  11. package/lib/axiomLemmaTheoremConjecture.js +190 -0
  12. package/lib/combinator.js +4 -3
  13. package/lib/conclusion.js +8 -7
  14. package/lib/conjecture.js +141 -0
  15. package/lib/consequence.js +6 -5
  16. package/lib/constants.js +11 -27
  17. package/lib/constructor.js +5 -4
  18. package/lib/context/file.js +88 -73
  19. package/lib/context/metaproof.js +51 -20
  20. package/lib/context/proof.js +48 -114
  21. package/lib/context/release/directory.js +25 -6
  22. package/lib/context/release/file.js +38 -25
  23. package/lib/context/release.js +32 -51
  24. package/lib/equality.js +79 -51
  25. package/lib/index.js +4 -16
  26. package/lib/kinds.js +5 -1
  27. package/lib/label.js +4 -3
  28. package/lib/lemma.js +8 -8
  29. package/lib/log.js +146 -0
  30. package/lib/matcher.js +25 -75
  31. package/lib/metaTypeNames.js +13 -0
  32. package/lib/mixins/file.js +62 -2
  33. package/lib/mixins/logging.js +13 -13
  34. package/lib/node/metastatement/bracketed.js +16 -0
  35. package/lib/node/statement/bracketed.js +16 -0
  36. package/lib/node/statement/combinator/bracketed.js +17 -0
  37. package/lib/node/statement/combinator/equality.js +17 -0
  38. package/lib/node/statement/equality.js +16 -0
  39. package/lib/ocmbinator/bracketed.js +3 -4
  40. package/lib/ocmbinator/equality.js +3 -4
  41. package/lib/premise.js +13 -12
  42. package/lib/rule.js +5 -5
  43. package/lib/ruleNames.js +1 -9
  44. package/lib/step/metaproof.js +28 -25
  45. package/lib/step/proof.js +23 -1
  46. package/lib/substitution/metastatementForMetavariable.js +16 -13
  47. package/lib/substitution/statementForMetavariable.js +16 -13
  48. package/lib/substitution/termForVariable.js +76 -0
  49. package/lib/supposition.js +7 -6
  50. package/lib/theorem.js +8 -8
  51. package/lib/type.js +12 -5
  52. package/lib/utilities/metaproof.js +60 -0
  53. package/lib/utilities/node.js +56 -0
  54. package/lib/utilities/proof.js +60 -0
  55. package/lib/utilities/releaseContext.js +24 -12
  56. package/lib/utilities/string.js +3 -38
  57. package/lib/variable.js +4 -38
  58. package/lib/{matcher → verifier}/metastatementForMetavariable/conclusion.js +12 -12
  59. package/lib/{matcher → verifier}/metastatementForMetavariable/premise.js +12 -12
  60. package/lib/verifier/metastatementForMetavariable.js +198 -0
  61. package/lib/{matcher → verifier}/statementForMetavariable/conclusion.js +12 -12
  62. package/lib/{matcher → verifier}/statementForMetavariable/premise.js +12 -12
  63. package/lib/verifier/statementForMetavariable.js +203 -0
  64. package/lib/{matcher/statementForVariable → verifier/termForVariable}/consequence.js +13 -13
  65. package/lib/{matcher/statementForVariable → verifier/termForVariable}/supposition.js +13 -13
  66. package/lib/verifier/termForVariable.js +198 -0
  67. package/lib/verifier.js +92 -0
  68. package/lib/verify/assertion/type.js +62 -41
  69. package/lib/verify/axiom.js +3 -6
  70. package/lib/verify/conclusion.js +2 -4
  71. package/lib/verify/conjecture.js +54 -0
  72. package/lib/verify/consequence.js +2 -4
  73. package/lib/verify/declaration/combinator.js +1 -3
  74. package/lib/verify/declaration/constructor.js +1 -3
  75. package/lib/verify/declaration/topLevel.js +7 -5
  76. package/lib/verify/declaration/type.js +1 -3
  77. package/lib/verify/declaration/variable.js +1 -3
  78. package/lib/verify/derivation.js +1 -5
  79. package/lib/verify/label.js +1 -3
  80. package/lib/verify/lemma.js +3 -6
  81. package/lib/verify/metastatement/qualified.js +2 -5
  82. package/lib/verify/metastatement/unqualified.js +2 -5
  83. package/lib/verify/metastatement.js +1 -3
  84. package/lib/verify/premise.js +2 -4
  85. package/lib/verify/proof.js +3 -5
  86. package/lib/verify/rule.js +3 -6
  87. package/lib/verify/ruleDerivation.js +1 -5
  88. package/lib/verify/ruleProof.js +3 -5
  89. package/lib/verify/statement/qualified.js +40 -13
  90. package/lib/verify/statement/unqualified.js +2 -5
  91. package/lib/verify/statement.js +56 -62
  92. package/lib/verify/statementAsCombinator.js +4 -6
  93. package/lib/verify/supposition.js +2 -4
  94. package/lib/verify/term.js +4 -10
  95. package/lib/verify/termAsConstructor.js +6 -9
  96. package/lib/verify/theorem.js +3 -6
  97. package/lib/verify/type.js +5 -9
  98. package/lib/verify/variable.js +5 -9
  99. package/package.json +1 -1
  100. package/src/assertion/type.js +7 -32
  101. package/src/axiom.js +4 -4
  102. package/src/{axiomLemmaTheorem.js → axiomLemmaTheoremConjecture.js} +9 -9
  103. package/src/combinator.js +3 -3
  104. package/src/conclusion.js +7 -7
  105. package/src/conjecture.js +13 -0
  106. package/src/consequence.js +5 -5
  107. package/src/constants.js +3 -7
  108. package/src/constructor.js +4 -4
  109. package/src/context/file.js +85 -65
  110. package/src/context/metaproof.js +55 -15
  111. package/src/context/proof.js +53 -50
  112. package/src/context/release/directory.js +31 -7
  113. package/src/context/release/file.js +47 -31
  114. package/src/context/release.js +23 -32
  115. package/src/equality.js +108 -61
  116. package/src/index.js +2 -4
  117. package/src/kinds.js +1 -0
  118. package/src/label.js +3 -3
  119. package/src/lemma.js +4 -4
  120. package/src/log.js +116 -0
  121. package/src/matcher.js +32 -24
  122. package/src/metaTypeNames.js +3 -0
  123. package/src/mixins/file.js +46 -1
  124. package/src/mixins/logging.js +6 -6
  125. package/src/node/metastatement/bracketed.js +9 -0
  126. package/src/node/statement/bracketed.js +9 -0
  127. package/src/node/statement/combinator/bracketed.js +10 -0
  128. package/src/node/statement/combinator/equality.js +11 -0
  129. package/src/node/statement/equality.js +10 -0
  130. package/src/ocmbinator/bracketed.js +2 -5
  131. package/src/ocmbinator/equality.js +2 -5
  132. package/src/premise.js +13 -13
  133. package/src/rule.js +4 -4
  134. package/src/ruleNames.js +0 -2
  135. package/src/step/metaproof.js +32 -29
  136. package/src/step/proof.js +28 -0
  137. package/src/substitution/metastatementForMetavariable.js +10 -15
  138. package/src/substitution/statementForMetavariable.js +11 -16
  139. package/src/substitution/termForVariable.js +36 -0
  140. package/src/supposition.js +6 -6
  141. package/src/theorem.js +4 -4
  142. package/src/type.js +17 -7
  143. package/src/utilities/metaproof.js +62 -0
  144. package/src/utilities/node.js +73 -0
  145. package/src/utilities/proof.js +62 -0
  146. package/src/utilities/releaseContext.js +30 -12
  147. package/src/utilities/string.js +4 -53
  148. package/src/variable.js +4 -37
  149. package/src/verifier/metastatementForMetavariable/conclusion.js +9 -0
  150. package/src/verifier/metastatementForMetavariable/premise.js +9 -0
  151. package/src/verifier/metastatementForMetavariable.js +89 -0
  152. package/src/verifier/statementForMetavariable/conclusion.js +9 -0
  153. package/src/verifier/statementForMetavariable/premise.js +9 -0
  154. package/src/verifier/statementForMetavariable.js +105 -0
  155. package/src/verifier/termForVariable/consequence.js +9 -0
  156. package/src/verifier/termForVariable/supposition.js +9 -0
  157. package/src/verifier/termForVariable.js +89 -0
  158. package/src/verifier.js +74 -0
  159. package/src/verify/assertion/type.js +74 -74
  160. package/src/verify/axiom.js +2 -9
  161. package/src/verify/conclusion.js +1 -7
  162. package/src/verify/conjecture.js +67 -0
  163. package/src/verify/consequence.js +1 -7
  164. package/src/verify/declaration/combinator.js +0 -6
  165. package/src/verify/declaration/constructor.js +0 -6
  166. package/src/verify/declaration/topLevel.js +7 -6
  167. package/src/verify/declaration/type.js +0 -6
  168. package/src/verify/declaration/variable.js +0 -6
  169. package/src/verify/derivation.js +0 -12
  170. package/src/verify/label.js +0 -6
  171. package/src/verify/lemma.js +4 -11
  172. package/src/verify/metastatement/qualified.js +1 -8
  173. package/src/verify/metastatement/unqualified.js +1 -8
  174. package/src/verify/metastatement.js +0 -6
  175. package/src/verify/premise.js +1 -7
  176. package/src/verify/proof.js +1 -7
  177. package/src/verify/rule.js +2 -9
  178. package/src/verify/ruleDerivation.js +0 -12
  179. package/src/verify/ruleProof.js +1 -7
  180. package/src/verify/statement/qualified.js +54 -20
  181. package/src/verify/statement/unqualified.js +1 -8
  182. package/src/verify/statement.js +65 -95
  183. package/src/verify/statementAsCombinator.js +3 -9
  184. package/src/verify/supposition.js +1 -7
  185. package/src/verify/term.js +3 -21
  186. package/src/verify/termAsConstructor.js +5 -13
  187. package/src/verify/theorem.js +2 -9
  188. package/src/verify/type.js +4 -13
  189. package/src/verify/variable.js +4 -13
  190. package/bin/callbacks.js +0 -48
  191. package/lib/axiomLemmaTheorem.js +0 -190
  192. package/lib/callbacks.js +0 -75
  193. package/lib/context/release/combinator.js +0 -64
  194. package/lib/jsonTypes.js +0 -30
  195. package/lib/matcher/metastatementForMetavariable.js +0 -201
  196. package/lib/matcher/statementForMetavariable.js +0 -201
  197. package/lib/matcher/statementForVariable.js +0 -201
  198. package/lib/mixins/callbacks.js +0 -27
  199. package/lib/substitution/statementForVariable.js +0 -86
  200. package/lib/utilities/json.js +0 -187
  201. package/lib/utilities/substitution.js +0 -61
  202. package/lib/utilities/version.js +0 -32
  203. package/lib/versionChanges.js +0 -34
  204. package/src/callbacks.js +0 -39
  205. package/src/context/release/combinator.js +0 -39
  206. package/src/jsonTypes.js +0 -6
  207. package/src/matcher/metastatementForMetavariable/conclusion.js +0 -9
  208. package/src/matcher/metastatementForMetavariable/premise.js +0 -9
  209. package/src/matcher/metastatementForMetavariable.js +0 -99
  210. package/src/matcher/statementForMetavariable/conclusion.js +0 -9
  211. package/src/matcher/statementForMetavariable/premise.js +0 -9
  212. package/src/matcher/statementForMetavariable.js +0 -99
  213. package/src/matcher/statementForVariable/consequence.js +0 -9
  214. package/src/matcher/statementForVariable/supposition.js +0 -9
  215. package/src/matcher/statementForVariable.js +0 -99
  216. package/src/mixins/callbacks.js +0 -15
  217. package/src/substitution/statementForVariable.js +0 -64
  218. package/src/utilities/json.js +0 -264
  219. package/src/utilities/substitution.js +0 -79
  220. package/src/utilities/version.js +0 -30
  221. package/src/versionChanges.js +0 -11
@@ -9,8 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _combinator = /*#__PURE__*/ _interopRequireDefault(require("../combinator"));
12
- var _combinator1 = /*#__PURE__*/ _interopRequireDefault(require("../context/release/combinator"));
13
- var _string = require("../utilities/string");
12
+ var _equality = /*#__PURE__*/ _interopRequireDefault(require("../node/statement/combinator/equality"));
14
13
  function _assertThisInitialized(self) {
15
14
  if (self === void 0) {
16
15
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -112,7 +111,7 @@ var EqualityCombinator = /*#__PURE__*/ function(Combinator) {
112
111
  {
113
112
  key: "fromNothing",
114
113
  value: function fromNothing() {
115
- var statementString = "Object = Object", releaseContext = _combinator1.default, statementNode = (0, _string.statementNodeFromStatementString)(statementString, releaseContext), equalityCombinator = new EqualityCombinator(statementNode);
114
+ var statementNode = _equality.default, equalityCombinator = new EqualityCombinator(statementNode);
116
115
  return equalityCombinator;
117
116
  }
118
117
  }
@@ -122,4 +121,4 @@ var EqualityCombinator = /*#__PURE__*/ function(Combinator) {
122
121
  var equalityCombinator = EqualityCombinator.fromNothing();
123
122
  var _default = equalityCombinator;
124
123
 
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vY21iaW5hdG9yL2VxdWFsaXR5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgQ29tYmluYXRvciBmcm9tIFwiLi4vY29tYmluYXRvclwiO1xuaW1wb3J0IENvbWJpbmF0b3JSZWxlYXNlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9yZWxlYXNlL2NvbWJpbmF0b3JcIjtcblxuaW1wb3J0IHsgc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jbGFzcyBFcXVhbGl0eUNvbWJpbmF0b3IgZXh0ZW5kcyBDb21iaW5hdG9yIHtcbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IFwiT2JqZWN0ID0gT2JqZWN0XCIsXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHQgPSBDb21iaW5hdG9yUmVsZWFzZUNvbnRleHQsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyhzdGF0ZW1lbnRTdHJpbmcsIHJlbGVhc2VDb250ZXh0KSxcbiAgICAgICAgICBlcXVhbGl0eUNvbWJpbmF0b3IgPSBuZXcgRXF1YWxpdHlDb21iaW5hdG9yKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIGVxdWFsaXR5Q29tYmluYXRvcjtcbiAgfVxufVxuXG5jb25zdCBlcXVhbGl0eUNvbWJpbmF0b3IgPSBFcXVhbGl0eUNvbWJpbmF0b3IuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGRlZmF1bHQgZXF1YWxpdHlDb21iaW5hdG9yO1xuIl0sIm5hbWVzIjpbIkVxdWFsaXR5Q29tYmluYXRvciIsImZyb21Ob3RoaW5nIiwic3RhdGVtZW50U3RyaW5nIiwicmVsZWFzZUNvbnRleHQiLCJDb21iaW5hdG9yUmVsZWFzZUNvbnRleHQiLCJzdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmciLCJlcXVhbGl0eUNvbWJpbmF0b3IiLCJDb21iaW5hdG9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvQkE7OztlQUFBOzs7K0RBbEJ1QjtnRUFDYztzQkFFWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVqRCxJQUFBLEFBQU1BLG1DQVdILEFBWEg7Y0FBTUE7OEJBQUFBO2FBQUFBOzhCQUFBQTs7O2lCQUFBQTs7WUFDR0MsS0FBQUE7bUJBQVAsU0FBT0EsY0FBYztnQkFDbkIsSUFBTUMsa0JBQWtCLG1CQUNsQkMsaUJBQWlCQyxvQkFBd0IsRUFDekNDLGdCQUFnQkMsSUFBQUEsd0NBQWdDLEVBQUNKLGlCQUFpQkMsaUJBQ2xFSSxxQkFBcUIsSUFMekJQLG1CQUtnREs7Z0JBRWxELE9BQU9FO1lBQ1Q7OztXQVJJUDtFQUEyQlEsbUJBQVU7QUFXM0MsSUFBTUQscUJBQXFCUCxtQkFBbUJDLFdBQVc7SUFFekQsV0FBZU0ifQ==
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vY21iaW5hdG9yL2VxdWFsaXR5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgQ29tYmluYXRvciBmcm9tIFwiLi4vY29tYmluYXRvclwiO1xuXG5pbXBvcnQgZXF1YWxpdHlDb21iaW5hdG9yU3RhdGVtZW50Tm9kZSBmcm9tIFwiLi4vbm9kZS9zdGF0ZW1lbnQvY29tYmluYXRvci9lcXVhbGl0eVwiO1xuXG5jbGFzcyBFcXVhbGl0eUNvbWJpbmF0b3IgZXh0ZW5kcyBDb21iaW5hdG9yIHtcbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBlcXVhbGl0eUNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgZXF1YWxpdHlDb21iaW5hdG9yID0gbmV3IEVxdWFsaXR5Q29tYmluYXRvcihzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBlcXVhbGl0eUNvbWJpbmF0b3I7XG4gIH1cbn1cblxuY29uc3QgZXF1YWxpdHlDb21iaW5hdG9yID0gRXF1YWxpdHlDb21iaW5hdG9yLmZyb21Ob3RoaW5nKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGVxdWFsaXR5Q29tYmluYXRvcjtcbiJdLCJuYW1lcyI6WyJFcXVhbGl0eUNvbWJpbmF0b3IiLCJmcm9tTm90aGluZyIsInN0YXRlbWVudE5vZGUiLCJlcXVhbGl0eUNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlIiwiZXF1YWxpdHlDb21iaW5hdG9yIiwiQ29tYmluYXRvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBQTs7OytEQWZ1Qjs2REFFcUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUMsSUFBQSxBQUFNQSxtQ0FTSCxBQVRIO2NBQU1BOzhCQUFBQTthQUFBQTs4QkFBQUE7OztpQkFBQUE7O1lBQ0dDLEtBQUFBO21CQUFQLFNBQU9BLGNBQWM7Z0JBQ25CLElBQU1DLGdCQUFnQkMsaUJBQStCLEVBQy9DQyxxQkFBcUIsSUFIekJKLG1CQUdnREU7Z0JBRWxELE9BQU9FO1lBQ1Q7OztXQU5JSjtFQUEyQkssbUJBQVU7QUFTM0MsSUFBTUQscUJBQXFCSixtQkFBbUJDLFdBQVc7SUFFekQsV0FBZUcifQ==
package/lib/premise.js CHANGED
@@ -10,8 +10,9 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _string = require("./utilities/string");
12
12
  var _query = require("./utilities/query");
13
- var _premise = require("./matcher/statementForMetavariable/premise");
14
- var _premise1 = require("./matcher/metastatementForMetavariable/premise");
13
+ var _premise = require("./verifier/statementForMetavariable/premise");
14
+ var _node = require("./utilities/node");
15
+ var _premise1 = require("./verifier/metastatementForMetavariable/premise");
15
16
  function _arrayLikeToArray(arr, len) {
16
17
  if (len == null || len > arr.length) len = arr.length;
17
18
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -77,10 +78,10 @@ var Premise = /*#__PURE__*/ function() {
77
78
  if (subproofAssertionNode !== null) {
78
79
  var subproofSuppositionStatementNodes = subproofSuppositionStatementNodesQuery(subproofNode), subproofSubDerivationLastStatementNode = subproofSubDerivationLastStatementNodeQuery(subproofNode), subproofStatementNodes = _toConsumableArray(subproofSuppositionStatementNodes).concat([
79
80
  subproofSubDerivationLastStatementNode
80
- ]), ruleSubproofAssertionMetaSubproofStatementNodes = ruleSubproofAssertionMetaSubproofStatementNodesQuery(subproofAssertionNode), subproofStatementNodesLength = subproofStatementNodes.length, ruleSubproofAssertionMetaSubproofStatementNodesLength = ruleSubproofAssertionMetaSubproofStatementNodes.length;
81
- if (subproofStatementNodesLength === ruleSubproofAssertionMetaSubproofStatementNodesLength) {
82
- subproofNodeMatches = ruleSubproofAssertionMetaSubproofStatementNodes.every(function(ruleSubproofAssertionMetastatementNode, index) {
83
- var subproofStatementNode = subproofStatementNodes[index], nonTerminalNodeA = ruleSubproofAssertionMetastatementNode, nonTerminalNodeB = subproofStatementNode, nonTerminalNodeMatches = _premise.premiseStatementForMetavariableMatcher.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions);
81
+ ]), ruleSubproofAssertionMetastatementNodes = ruleSubproofAssertionMetastatementNodesQuery(subproofAssertionNode), subproofStatementNodesLength = subproofStatementNodes.length, ruleSubproofAssertionMetastatementNodesLength = ruleSubproofAssertionMetastatementNodes.length;
82
+ if (subproofStatementNodesLength === ruleSubproofAssertionMetastatementNodesLength) {
83
+ subproofNodeMatches = ruleSubproofAssertionMetastatementNodes.every(function(ruleSubproofAssertionMetastatementNode, index) {
84
+ var subproofStatementNode = subproofStatementNodes[index], nonTerminalNodeA = ruleSubproofAssertionMetastatementNode, nonTerminalNodeB = subproofStatementNode, nonTerminalNodeMatches = _premise.premiseStatementForMetavariableVerifier.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions);
84
85
  if (nonTerminalNodeMatches) {
85
86
  return true;
86
87
  }
@@ -93,7 +94,7 @@ var Premise = /*#__PURE__*/ function() {
93
94
  {
94
95
  key: "matchStatementNode",
95
96
  value: function matchStatementNode(statementNode, substitutions) {
96
- var nonTerminalNodeA = this.metastatementNode, nonTerminalNodeB = statementNode, nonTerminalNodeMatches = _premise.premiseStatementForMetavariableMatcher.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions), statementNodeMatches = nonTerminalNodeMatches; ///
97
+ var nonTerminalNodeA = this.metastatementNode, nonTerminalNodeB = statementNode, nonTerminalNodeMatches = _premise.premiseStatementForMetavariableVerifier.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions), statementNodeMatches = nonTerminalNodeMatches; ///
97
98
  return statementNodeMatches;
98
99
  }
99
100
  },
@@ -108,7 +109,7 @@ var Premise = /*#__PURE__*/ function() {
108
109
  ]), ruleSubproofMetastatementNodesLength = ruleSubproofMetastatementNodes.length, ruleSubproofAssertionMetastatementNodes = ruleSubproofAssertionMetastatementNodesQuery(ruleSubproofAssertionNode), ruleSubproofAssertionMetastatementNodesLength = ruleSubproofAssertionMetastatementNodes.length;
109
110
  if (ruleSubproofMetastatementNodesLength === ruleSubproofAssertionMetastatementNodesLength) {
110
111
  ruleSubproofNodeMatches = ruleSubproofAssertionMetastatementNodes.every(function(ruleSubproofAssertionMetastatementNode, index) {
111
- var ruleSubproofMetastatementNode = ruleSubproofMetastatementNodes[index], nonTerminalNodeA = ruleSubproofAssertionMetastatementNode, nonTerminalNodeB = ruleSubproofMetastatementNode, nonTerminalNodeMatches = _premise1.premiseMetastatementForMetavariableMatcher.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions);
112
+ var ruleSubproofMetastatementNode = ruleSubproofMetastatementNodes[index], nonTerminalNodeA = ruleSubproofAssertionMetastatementNode, nonTerminalNodeB = ruleSubproofMetastatementNode, nonTerminalNodeMatches = _premise1.premiseMetastatementForMetavariableVerifier.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions);
112
113
  if (nonTerminalNodeMatches) {
113
114
  return true;
114
115
  }
@@ -121,7 +122,7 @@ var Premise = /*#__PURE__*/ function() {
121
122
  {
122
123
  key: "matchMetastatementNode",
123
124
  value: function matchMetastatementNode(metastatementNode, substitutions) {
124
- var nonTerminalNodeA = this.metastatementNode, nonTerminalNodeB = metastatementNode, nonTerminalNodeMatches = _premise1.premiseMetastatementForMetavariableMatcher.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions), metastatementNodeMatches = nonTerminalNodeMatches; ///
125
+ var nonTerminalNodeA = this.metastatementNode, nonTerminalNodeB = metastatementNode, nonTerminalNodeMatches = _premise1.premiseMetastatementForMetavariableVerifier.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions), metastatementNodeMatches = nonTerminalNodeMatches; ///
125
126
  return metastatementNodeMatches;
126
127
  }
127
128
  },
@@ -137,8 +138,8 @@ var Premise = /*#__PURE__*/ function() {
137
138
  ], [
138
139
  {
139
140
  key: "fromJSON",
140
- value: function fromJSON(json, releaseContext) {
141
- var metastatement = json.metastatement, metastatementString = metastatement, metastatementNode = (0, _string.metastatementNodeFromMetastatementString)(metastatementString, releaseContext), premise = new Premise(metastatementNode);
141
+ value: function fromJSON(json, lexer, parser) {
142
+ var metastatement = json.metastatement, metastatementString = metastatement, metastatementNode = (0, _node.metastatementNodeFromMetastatementString)(metastatementString, lexer, parser), premise = new Premise(metastatementNode);
142
143
  return premise;
143
144
  }
144
145
  },
@@ -153,4 +154,4 @@ var Premise = /*#__PURE__*/ function() {
153
154
  return Premise;
154
155
  }();
155
156
 
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVtaXNlLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHByZW1pc2VTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVNYXRjaGVyIH0gZnJvbSBcIi4vbWF0Y2hlci9zdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGUvcHJlbWlzZVwiO1xuaW1wb3J0IHsgbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IHByZW1pc2VNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlTWF0Y2hlciB9IGZyb20gXCIuL21hdGNoZXIvbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZS9wcmVtaXNlXCI7XG5cbmNvbnN0IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L3J1bGVTdWJwcm9vZkFzc2VydGlvbiFcIiksXG4gICAgICBydWxlU3VicHJvb2ZQcmVtaXNlTWV0YXN0YXRlbWVudFF1ZXJ5ID0gbm9kZXNRdWVyeShcIi9ydWxlU3VicHJvb2YvcHJlbWlzZS91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhL21ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgc3VicHJvb2ZTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3N1YnByb29mL3N1cHBvc2l0aW9uL3VucXVhbGlmaWVkU3RhdGVtZW50IS9zdGF0ZW1lbnQhXCIpLFxuICAgICAgc3VicHJvb2ZTdWJEZXJpdmF0aW9uTGFzdFN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdWJwcm9vZi9zdWJEZXJpdmF0aW9uL3F1YWxpZmllZFN0YXRlbWVudHx1bnF1YWxpZmllZFN0YXRlbWVudFstMV0vc3RhdGVtZW50IVwiKSxcbiAgICAgIHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9ydWxlU3VicHJvb2ZBc3NlcnRpb24vbWV0YXN0YXRlbWVudFwiKSxcbiAgICAgIHJ1bGVTdWJwcm9vZlN1YkRlcml2YXRpb25MYXN0TWV0YXN0YXRlbWVudFF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVTdWJwcm9vZi9ydWxlU3ViRGVyaXZhdGlvbi9xdWFsaWZpZWRNZXRhc3RhdGVtZW50fHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFstMV0vbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFByZW1pc2Uge1xuICBjb25zdHJ1Y3RvcihtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMubWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldE1ldGFzdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hTdWJwcm9vZk5vZGUoc3VicHJvb2ZOb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IHN1YnByb29mTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN1YnByb29mQXNzZXJ0aW9uTm9kZSA9IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSh0aGlzLm1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChzdWJwcm9vZkFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN1YnByb29mU3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcyA9IHN1YnByb29mU3VwcG9zaXRpb25TdGF0ZW1lbnROb2Rlc1F1ZXJ5KHN1YnByb29mTm9kZSksXG4gICAgICAgICAgICBzdWJwcm9vZlN1YkRlcml2YXRpb25MYXN0U3RhdGVtZW50Tm9kZSA9IHN1YnByb29mU3ViRGVyaXZhdGlvbkxhc3RTdGF0ZW1lbnROb2RlUXVlcnkoc3VicHJvb2ZOb2RlKSxcbiAgICAgICAgICAgIHN1YnByb29mU3RhdGVtZW50Tm9kZXMgPSBbXG4gICAgICAgICAgICAgIC4uLnN1YnByb29mU3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcyxcbiAgICAgICAgICAgICAgc3VicHJvb2ZTdWJEZXJpdmF0aW9uTGFzdFN0YXRlbWVudE5vZGVcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhU3VicHJvb2ZTdGF0ZW1lbnROb2RlcyA9IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFTdWJwcm9vZlN0YXRlbWVudE5vZGVzUXVlcnkoc3VicHJvb2ZBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICAgIHN1YnByb29mU3RhdGVtZW50Tm9kZXNMZW5ndGggPSBzdWJwcm9vZlN0YXRlbWVudE5vZGVzLmxlbmd0aCxcbiAgICAgICAgICAgIHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFTdWJwcm9vZlN0YXRlbWVudE5vZGVzTGVuZ3RoID0gcnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YVN1YnByb29mU3RhdGVtZW50Tm9kZXMubGVuZ3RoO1xuXG4gICAgICBpZiAoc3VicHJvb2ZTdGF0ZW1lbnROb2Rlc0xlbmd0aCA9PT0gcnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YVN1YnByb29mU3RhdGVtZW50Tm9kZXNMZW5ndGgpIHtcbiAgICAgICAgc3VicHJvb2ZOb2RlTWF0Y2hlcyA9IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFTdWJwcm9vZlN0YXRlbWVudE5vZGVzLmV2ZXJ5KChydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICBjb25zdCBzdWJwcm9vZlN0YXRlbWVudE5vZGUgPSBzdWJwcm9vZlN0YXRlbWVudE5vZGVzW2luZGV4XSxcbiAgICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVBID0gcnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gc3VicHJvb2ZTdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gcHJlbWlzZVN0YXRlbWVudEZvck1ldGF2YXJpYWJsZU1hdGNoZXIubWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgICBpZiAobm9uVGVybWluYWxOb2RlTWF0Y2hlcykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3VicHJvb2ZOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IHRoaXMubWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBwcmVtaXNlU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlTWF0Y2hlci5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hSdWxlU3VicHJvb2ZOb2RlKHJ1bGVTdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgcnVsZVN1YnByb29mTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGUgPSBydWxlU3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkodGhpcy5tZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBpZiAocnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcnVsZVN1YnByb29mUHJlbWlzZU1ldGFzdGF0ZW1lbnQgPSBydWxlU3VicHJvb2ZQcmVtaXNlTWV0YXN0YXRlbWVudFF1ZXJ5KHJ1bGVTdWJwcm9vZk5vZGUpLFxuICAgICAgICAgICAgcnVsZVN1YnByb29mU3ViRGVyaXZhdGlvbkxhc3RNZXRhc3RhdGVtZW50ID0gcnVsZVN1YnByb29mU3ViRGVyaXZhdGlvbkxhc3RNZXRhc3RhdGVtZW50UXVlcnkocnVsZVN1YnByb29mTm9kZSksXG4gICAgICAgICAgICBydWxlU3VicHJvb2ZNZXRhc3RhdGVtZW50Tm9kZXMgPSBbXG4gICAgICAgICAgICAgIC4uLnJ1bGVTdWJwcm9vZlByZW1pc2VNZXRhc3RhdGVtZW50LFxuICAgICAgICAgICAgICBydWxlU3VicHJvb2ZTdWJEZXJpdmF0aW9uTGFzdE1ldGFzdGF0ZW1lbnRcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBydWxlU3VicHJvb2ZNZXRhc3RhdGVtZW50Tm9kZXNMZW5ndGggPSBydWxlU3VicHJvb2ZNZXRhc3RhdGVtZW50Tm9kZXMubGVuZ3RoLFxuICAgICAgICAgICAgcnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzID0gcnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzUXVlcnkocnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgICBydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXNMZW5ndGggPSBydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMubGVuZ3RoO1xuXG4gICAgICBpZiAocnVsZVN1YnByb29mTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoID09PSBydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXNMZW5ndGgpIHtcbiAgICAgICAgcnVsZVN1YnByb29mTm9kZU1hdGNoZXMgPSBydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMuZXZlcnkoKHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcnVsZVN1YnByb29mTWV0YXN0YXRlbWVudE5vZGUgPSBydWxlU3VicHJvb2ZNZXRhc3RhdGVtZW50Tm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQSA9IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gcnVsZVN1YnByb29mTWV0YXN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHByZW1pc2VNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlTWF0Y2hlci5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vblRlcm1pbmFsTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJ1bGVTdWJwcm9vZk5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHByZW1pc2VNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlTWF0Y2hlci5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBub25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG4gIH1cblxuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLm1ldGFzdGF0ZW1lbnROb2RlLCB0b2tlbnMpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnQgPSBtZXRhc3RhdGVtZW50U3RyaW5nLCAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbWV0YXN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgbWV0YXN0YXRlbWVudCB9ID0ganNvbixcbiAgICAgICAgICBtZXRhc3RhdGVtZW50U3RyaW5nID0gbWV0YXN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyhtZXRhc3RhdGVtZW50U3RyaW5nLCByZWxlYXNlQ29udGV4dCksXG4gICAgICAgICAgcHJlbWlzZSA9IG5ldyBQcmVtaXNlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBwcmVtaXNlO1xuICB9XG5cbiAgc3RhdGljIGZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHByZW1pc2UgPSBuZXcgUHJlbWlzZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gcHJlbWlzZTtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJQcmVtaXNlIiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicnVsZVN1YnByb29mUHJlbWlzZU1ldGFzdGF0ZW1lbnRRdWVyeSIsIm5vZGVzUXVlcnkiLCJzdWJwcm9vZlN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXNRdWVyeSIsInN1YnByb29mU3ViRGVyaXZhdGlvbkxhc3RTdGF0ZW1lbnROb2RlUXVlcnkiLCJydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsInJ1bGVTdWJwcm9vZlN1YkRlcml2YXRpb25MYXN0TWV0YXN0YXRlbWVudFF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGUiLCJnZXRNZXRhc3RhdGVtZW50Tm9kZSIsIm1hdGNoU3VicHJvb2ZOb2RlIiwic3VicHJvb2ZOb2RlIiwic3Vic3RpdHV0aW9ucyIsInN1YnByb29mTm9kZU1hdGNoZXMiLCJzdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJzdWJwcm9vZlN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMiLCJzdWJwcm9vZlN1YkRlcml2YXRpb25MYXN0U3RhdGVtZW50Tm9kZSIsInN1YnByb29mU3RhdGVtZW50Tm9kZXMiLCJydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhU3VicHJvb2ZTdGF0ZW1lbnROb2RlcyIsInJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFTdWJwcm9vZlN0YXRlbWVudE5vZGVzUXVlcnkiLCJzdWJwcm9vZlN0YXRlbWVudE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YVN1YnByb29mU3RhdGVtZW50Tm9kZXNMZW5ndGgiLCJldmVyeSIsInJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlIiwiaW5kZXgiLCJzdWJwcm9vZlN0YXRlbWVudE5vZGUiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsIm5vblRlcm1pbmFsTm9kZU1hdGNoZXMiLCJwcmVtaXNlU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlTWF0Y2hlciIsIm1hdGNoTm9uVGVybWluYWxOb2RlIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hSdWxlU3VicHJvb2ZOb2RlIiwicnVsZVN1YnByb29mTm9kZSIsInJ1bGVTdWJwcm9vZk5vZGVNYXRjaGVzIiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSIsInJ1bGVTdWJwcm9vZlByZW1pc2VNZXRhc3RhdGVtZW50IiwicnVsZVN1YnByb29mU3ViRGVyaXZhdGlvbkxhc3RNZXRhc3RhdGVtZW50IiwicnVsZVN1YnByb29mTWV0YXN0YXRlbWVudE5vZGVzIiwicnVsZVN1YnByb29mTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoIiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzIiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoIiwicnVsZVN1YnByb29mTWV0YXN0YXRlbWVudE5vZGUiLCJwcmVtaXNlTWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZU1hdGNoZXIiLCJtYXRjaE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwidG9KU09OIiwidG9rZW5zIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsIm1ldGFzdGF0ZW1lbnQiLCJqc29uIiwiZnJvbUpTT04iLCJyZWxlYXNlQ29udGV4dCIsIm1ldGFzdGF0ZW1lbnROb2RlRnJvbU1ldGFzdGF0ZW1lbnRTdHJpbmciLCJwcmVtaXNlIiwiZnJvbU1ldGFzdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWVxQkE7OztzQkFiUTtxQkFDUzt1QkFDaUI7d0JBRUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUzRCxJQUFNQyxpQ0FBaUNDLElBQUFBLGdCQUFTLEVBQUMsMENBQzNDQyx3Q0FBd0NDLElBQUFBLGlCQUFVLEVBQUMsbUVBQ25EQyx5Q0FBeUNELElBQUFBLGlCQUFVLEVBQUMsMkRBQ3BERSw4Q0FBOENKLElBQUFBLGdCQUFTLEVBQUMsbUZBQ3hESywrQ0FBK0NILElBQUFBLGlCQUFVLEVBQUMseUNBQzFESSxrREFBa0ROLElBQUFBLGdCQUFTLEVBQUM7QUFFbkQsSUFBQSxBQUFNRix3QkFBTjthQUFNQSxRQUNQUyxpQkFBaUI7OEJBRFZUO1FBRWpCLElBQUksQ0FBQ1MsaUJBQWlCLEdBQUdBOztpQkFGUlQ7O1lBS25CVSxLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCO2dCQUNyQixPQUFPLElBQUksQ0FBQ0QsaUJBQWlCO1lBQy9COzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLGtCQUFrQkMsWUFBWSxFQUFFQyxhQUFhLEVBQUU7Z0JBQzdDLElBQUlDLHNCQUFzQixLQUFLO2dCQUUvQixJQUFNQyx3QkFBd0JkLCtCQUErQixJ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
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVtaXNlLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHByZW1pc2VTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVWZXJpZmllciB9IGZyb20gXCIuL3ZlcmlmaWVyL3N0YXRlbWVudEZvck1ldGF2YXJpYWJsZS9wcmVtaXNlXCI7XG5pbXBvcnQgeyBtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25vZGVcIjtcbmltcG9ydCB7IHByZW1pc2VNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlVmVyaWZpZXIgfSBmcm9tIFwiLi92ZXJpZmllci9tZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlL3ByZW1pc2VcIjtcblxuY29uc3QgcnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvcnVsZVN1YnByb29mQXNzZXJ0aW9uIVwiKSxcbiAgICAgIHJ1bGVTdWJwcm9vZlByZW1pc2VNZXRhc3RhdGVtZW50UXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3J1bGVTdWJwcm9vZi9wcmVtaXNlL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudCEvbWV0YXN0YXRlbWVudCFcIiksXG4gICAgICBzdWJwcm9vZlN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc3VicHJvb2Yvc3VwcG9zaXRpb24vdW5xdWFsaWZpZWRTdGF0ZW1lbnQhL3N0YXRlbWVudCFcIiksXG4gICAgICBzdWJwcm9vZlN1YkRlcml2YXRpb25MYXN0U3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N1YnByb29mL3N1YkRlcml2YXRpb24vcXVhbGlmaWVkU3RhdGVtZW50fHVucXVhbGlmaWVkU3RhdGVtZW50Wy0xXS9zdGF0ZW1lbnQhXCIpLFxuICAgICAgcnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3J1bGVTdWJwcm9vZkFzc2VydGlvbi9tZXRhc3RhdGVtZW50XCIpLFxuICAgICAgcnVsZVN1YnByb29mU3ViRGVyaXZhdGlvbkxhc3RNZXRhc3RhdGVtZW50UXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZVN1YnByb29mL3J1bGVTdWJEZXJpdmF0aW9uL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnR8dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Wy0xXS9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUHJlbWlzZSB7XG4gIGNvbnN0cnVjdG9yKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0TWV0YXN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0YXN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBtYXRjaFN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgc3VicHJvb2ZOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gcnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5KHRoaXMubWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKHN1YnByb29mQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3VicHJvb2ZTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzID0gc3VicHJvb2ZTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzUXVlcnkoc3VicHJvb2ZOb2RlKSxcbiAgICAgICAgICAgIHN1YnByb29mU3ViRGVyaXZhdGlvbkxhc3RTdGF0ZW1lbnROb2RlID0gc3VicHJvb2ZTdWJEZXJpdmF0aW9uTGFzdFN0YXRlbWVudE5vZGVRdWVyeShzdWJwcm9vZk5vZGUpLFxuICAgICAgICAgICAgc3VicHJvb2ZTdGF0ZW1lbnROb2RlcyA9IFtcbiAgICAgICAgICAgICAgLi4uc3VicHJvb2ZTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzLFxuICAgICAgICAgICAgICBzdWJwcm9vZlN1YkRlcml2YXRpb25MYXN0U3RhdGVtZW50Tm9kZVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlcyA9IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5KHN1YnByb29mQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgICBzdWJwcm9vZlN0YXRlbWVudE5vZGVzTGVuZ3RoID0gc3VicHJvb2ZTdGF0ZW1lbnROb2Rlcy5sZW5ndGgsXG4gICAgICAgICAgICBydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXNMZW5ndGggPSBydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMubGVuZ3RoO1xuXG4gICAgICBpZiAoc3VicHJvb2ZTdGF0ZW1lbnROb2Rlc0xlbmd0aCA9PT0gcnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoKSB7XG4gICAgICAgIHN1YnByb29mTm9kZU1hdGNoZXMgPSBydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMuZXZlcnkoKHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1YnByb29mU3RhdGVtZW50Tm9kZSA9IHN1YnByb29mU3RhdGVtZW50Tm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUEgPSBydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBzdWJwcm9vZlN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBwcmVtaXNlU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlVmVyaWZpZXIubWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgICBpZiAobm9uVGVybWluYWxOb2RlTWF0Y2hlcykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3VicHJvb2ZOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IHRoaXMubWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBwcmVtaXNlU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlVmVyaWZpZXIubWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucyksXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBub25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoUnVsZVN1YnByb29mTm9kZShydWxlU3VicHJvb2ZOb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IHJ1bGVTdWJwcm9vZk5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBydWxlU3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gcnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5KHRoaXMubWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKHJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJ1bGVTdWJwcm9vZlByZW1pc2VNZXRhc3RhdGVtZW50ID0gcnVsZVN1YnByb29mUHJlbWlzZU1ldGFzdGF0ZW1lbnRRdWVyeShydWxlU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgICAgIHJ1bGVTdWJwcm9vZlN1YkRlcml2YXRpb25MYXN0TWV0YXN0YXRlbWVudCA9IHJ1bGVTdWJwcm9vZlN1YkRlcml2YXRpb25MYXN0TWV0YXN0YXRlbWVudFF1ZXJ5KHJ1bGVTdWJwcm9vZk5vZGUpLFxuICAgICAgICAgICAgcnVsZVN1YnByb29mTWV0YXN0YXRlbWVudE5vZGVzID0gW1xuICAgICAgICAgICAgICAuLi5ydWxlU3VicHJvb2ZQcmVtaXNlTWV0YXN0YXRlbWVudCxcbiAgICAgICAgICAgICAgcnVsZVN1YnByb29mU3ViRGVyaXZhdGlvbkxhc3RNZXRhc3RhdGVtZW50XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcnVsZVN1YnByb29mTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoID0gcnVsZVN1YnByb29mTWV0YXN0YXRlbWVudE5vZGVzLmxlbmd0aCxcbiAgICAgICAgICAgIHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlcyA9IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5KHJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgcnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoID0gcnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzLmxlbmd0aDtcblxuICAgICAgaWYgKHJ1bGVTdWJwcm9vZk1ldGFzdGF0ZW1lbnROb2Rlc0xlbmd0aCA9PT0gcnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoKSB7XG4gICAgICAgIHJ1bGVTdWJwcm9vZk5vZGVNYXRjaGVzID0gcnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzLmV2ZXJ5KChydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJ1bGVTdWJwcm9vZk1ldGFzdGF0ZW1lbnROb2RlID0gcnVsZVN1YnByb29mTWV0YXN0YXRlbWVudE5vZGVzW2luZGV4XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUEgPSBydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IHJ1bGVTdWJwcm9vZk1ldGFzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBwcmVtaXNlTWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVZlcmlmaWVyLm1hdGNoTm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9uVGVybWluYWxOb2RlTWF0Y2hlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcnVsZVN1YnByb29mTm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IHRoaXMubWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gbWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gcHJlbWlzZU1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVWZXJpZmllci5tYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBub25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG4gIH1cblxuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLm1ldGFzdGF0ZW1lbnROb2RlLCB0b2tlbnMpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnQgPSBtZXRhc3RhdGVtZW50U3RyaW5nLCAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbWV0YXN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBsZXhlciwgcGFyc2VyKSB7XG4gICAgY29uc3QgeyBtZXRhc3RhdGVtZW50IH0gPSBqc29uLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBtZXRhc3RhdGVtZW50LCAgLy8vXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nKG1ldGFzdGF0ZW1lbnRTdHJpbmcsIGxleGVyLCBwYXJzZXIpLFxuICAgICAgICAgIHByZW1pc2UgPSBuZXcgUHJlbWlzZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gcHJlbWlzZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBwcmVtaXNlID0gbmV3IFByZW1pc2UobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIHByZW1pc2U7XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiUHJlbWlzZSIsInJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInJ1bGVTdWJwcm9vZlByZW1pc2VNZXRhc3RhdGVtZW50UXVlcnkiLCJub2Rlc1F1ZXJ5Iiwic3VicHJvb2ZTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzUXVlcnkiLCJzdWJwcm9vZlN1YkRlcml2YXRpb25MYXN0U3RhdGVtZW50Tm9kZVF1ZXJ5IiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzUXVlcnkiLCJydWxlU3VicHJvb2ZTdWJEZXJpdmF0aW9uTGFzdE1ldGFzdGF0ZW1lbnRRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaFN1YnByb29mTm9kZSIsInN1YnByb29mTm9kZSIsInN1YnN0aXR1dGlvbnMiLCJzdWJwcm9vZk5vZGVNYXRjaGVzIiwic3VicHJvb2ZBc3NlcnRpb25Ob2RlIiwic3VicHJvb2ZTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzIiwic3VicHJvb2ZTdWJEZXJpdmF0aW9uTGFzdFN0YXRlbWVudE5vZGUiLCJzdWJwcm9vZlN0YXRlbWVudE5vZGVzIiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzIiwic3VicHJvb2ZTdGF0ZW1lbnROb2Rlc0xlbmd0aCIsImxlbmd0aCIsInJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2Rlc0xlbmd0aCIsImV2ZXJ5IiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUiLCJpbmRleCIsInN1YnByb29mU3RhdGVtZW50Tm9kZSIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsInByZW1pc2VTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVWZXJpZmllciIsIm1hdGNoTm9uVGVybWluYWxOb2RlIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hSdWxlU3VicHJvb2ZOb2RlIiwicnVsZVN1YnByb29mTm9kZSIsInJ1bGVTdWJwcm9vZk5vZGVNYXRjaGVzIiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSIsInJ1bGVTdWJwcm9vZlByZW1pc2VNZXRhc3RhdGVtZW50IiwicnVsZVN1YnByb29mU3ViRGVyaXZhdGlvbkxhc3RNZXRhc3RhdGVtZW50IiwicnVsZVN1YnByb29mTWV0YXN0YXRlbWVudE5vZGVzIiwicnVsZVN1YnByb29mTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoIiwicnVsZVN1YnByb29mTWV0YXN0YXRlbWVudE5vZGUiLCJwcmVtaXNlTWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVZlcmlmaWVyIiwibWF0Y2hNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsInRvSlNPTiIsInRva2VucyIsIm1ldGFzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJtZXRhc3RhdGVtZW50IiwianNvbiIsImZyb21KU09OIiwibGV4ZXIiLCJwYXJzZXIiLCJtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nIiwicHJlbWlzZSIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFlcUJBOzs7c0JBYlE7cUJBQ1M7dUJBQ2tCO29CQUNDO3dCQUNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUQsSUFBTUMsaUNBQWlDQyxJQUFBQSxnQkFBUyxFQUFDLDBDQUMzQ0Msd0NBQXdDQyxJQUFBQSxpQkFBVSxFQUFDLG1FQUNuREMseUNBQXlDRCxJQUFBQSxpQkFBVSxFQUFDLDJEQUNwREUsOENBQThDSixJQUFBQSxnQkFBUyxFQUFDLG1GQUN4REssK0NBQStDSCxJQUFBQSxpQkFBVSxFQUFDLHlDQUMxREksa0RBQWtETixJQUFBQSxnQkFBUyxFQUFDO0FBRW5ELElBQUEsQUFBTUYsd0JBQU47YUFBTUEsUUFDUFMsaUJBQWlCOzhCQURWVDtRQUVqQixJQUFJLENBQUNTLGlCQUFpQixHQUFHQTs7aUJBRlJUOztZQUtuQlUsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QjtnQkFDckIsT0FBTyxJQUFJLENBQUNELGlCQUFpQjtZQUMvQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxrQkFBa0JDLFlBQVksRUFBRUMsYUFBYSxFQUFFO2dCQUM3QyxJQUFJQyxzQkFBc0IsS0FBSztnQkFFL0IsSUFBTUMsd0JBQXdCZCwrQkFBK0IsSUFBSSxDQUFDUSxpQkFBaUI7Z0JBRW5GLElBQUlNLDBCQUEwQixJQUFJLEVBQUU7b0JBQ2xDLElBQU1DLG9DQUFvQ1gsdUNBQXVDTyxlQUMzRUsseUNBQXlDWCw0Q0FBNENNLGVBQ3JGTSx5QkFBeUIsQUFDdkIsbUJBQUdGLDBDQURvQjt3QkFFdkJDO3FCQUNELEdBQ0RFLDBDQUEwQ1osNkNBQTZDUSx3QkFDdkZLLCtCQUErQkYsdUJBQXVCRyxNQUFN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
package/lib/rule.js CHANGED
@@ -148,24 +148,24 @@ var Rule = /*#__PURE__*/ function() {
148
148
  ], [
149
149
  {
150
150
  key: "fromJSON",
151
- value: function fromJSON(json, releaseContext) {
151
+ value: function fromJSON(json, lexer, parser) {
152
152
  var rule;
153
153
  var labels = json.labels;
154
154
  var labelsJSON = labels; ///
155
155
  labels = labelsJSON.map(function(labelJSON) {
156
- var _$json = labelJSON, label = _label.default.fromJSON(_$json, releaseContext);
156
+ var _$json = labelJSON, label = _label.default.fromJSON(_$json, lexer, parser);
157
157
  return label;
158
158
  });
159
159
  var premises = json.premises;
160
160
  var premisesJSON = premises; ///
161
161
  premises = premisesJSON.map(function(premiseJSON) {
162
- var _$json = premiseJSON, premise = _premise.default.fromJSON(_$json, releaseContext);
162
+ var _$json = premiseJSON, premise = _premise.default.fromJSON(_$json, lexer, parser);
163
163
  return premise;
164
164
  });
165
165
  var conclusion = json.conclusion;
166
166
  var conclusionJSON = conclusion; ///
167
167
  json = conclusionJSON; ///
168
- conclusion = _conclusion.default.fromJSON(json, releaseContext);
168
+ conclusion = _conclusion.default.fromJSON(json, lexer, parser);
169
169
  rule = new Rule(labels, premises, conclusion);
170
170
  return rule;
171
171
  }
@@ -245,4 +245,4 @@ function metaMatchConclusion(conclusion, metastatementNode, substitutions) {
245
245
  return conclusionMatches;
246
246
  }
247
247
 
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTGFiZWwgZnJvbSBcIi4vbGFiZWxcIjtcbmltcG9ydCBQcmVtaXNlIGZyb20gXCIuL3ByZW1pc2VcIjtcbmltcG9ydCBDb25jbHVzaW9uIGZyb20gXCIuL2NvbmNsdXNpb25cIjtcblxuaW1wb3J0IHsgcHJ1bmUgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IFJVTEVfS0lORCB9IGZyb20gXCIuL2tpbmRzXCI7XG5pbXBvcnQgeyBzb21lU3ViQXJyYXkgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUnVsZSB7XG4gIGNvbnN0cnVjdG9yKGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24pIHtcbiAgICB0aGlzLmxhYmVscyA9IGxhYmVscztcbiAgICB0aGlzLnByZW1pc2VzID0gcHJlbWlzZXM7XG4gICAgdGhpcy5jb25jbHVzaW9uID0gY29uY2x1c2lvbjtcbiAgfVxuXG4gIGdldExhYmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbHM7XG4gIH1cblxuICBnZXRQcmVtaXNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wcmVtaXNlcztcbiAgfVxuXG4gIGdldENvbmNsdXNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uY2x1c2lvbjtcbiAgfVxuXG4gIG1hdGNoTGFiZWxOYW1lKGxhYmVsTmFtZSkge1xuICAgIGNvbnN0IG1hdGNoZXNMYWJlbE5hbWUgPSB0aGlzLmxhYmVscy5zb21lKChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbmFtZSA9IGxhYmVsTmFtZSwgLy8vXG4gICAgICAgICAgICBsYWJlbE1hdGNoZXNOYW1lID0gbGFiZWwubWF0Y2hOYW1lKG5hbWUpO1xuXG4gICAgICBpZiAobGFiZWxNYXRjaGVzTmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBtYXRjaGVzTGFiZWxOYW1lO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgcHJvb2ZDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudE5hdGNoZXM7XG5cbiAgICBjb25zdCBwcmVtaXNlc0xlbmd0aCA9IHRoaXMucHJlbWlzZXMubGVuZ3RoO1xuXG4gICAgaWYgKHByZW1pc2VzTGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gW10sXG4gICAgICAgICAgICBjb25jbHVzaW9uTWF0Y2hlcyA9IG1hdGNoQ29uY2x1c2lvbih0aGlzLmNvbmNsdXNpb24sIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBzdGF0ZW1lbnROYXRjaGVzID0gY29uY2x1c2lvbk1hdGNoZXM7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcm9vZlN0ZXBzID0gcHJvb2ZDb250ZXh0LmdldFByb29mU3RlcHMoKTtcblxuICAgICAgc3RhdGVtZW50TmF0Y2hlcyA9IHNvbWVTdWJBcnJheShwcm9vZlN0ZXBzLCBwcmVtaXNlc0xlbmd0aCwgKHByb29mU3RlcHMpID0+IHtcbiAgICAgICAgbGV0IHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgICAgICBwcmVtaXNlc01hdGNoID0gbWF0Y2hQcmVtaXNlcyh0aGlzLnByZW1pc2VzLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgICBpZiAocHJlbWlzZXNNYXRjaCkge1xuICAgICAgICAgIGNvbnN0IGNvbmNsdXNpb25NYXRjaGVzID0gbWF0Y2hDb25jbHVzaW9uKHRoaXMuY29uY2x1c2lvbiwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgICBwcmVtaXNlc01hdGNoQ29uY2x1c2lvbiA9IGNvbmNsdXNpb25NYXRjaGVzOyAgLy8vXG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJlbWlzZXNNYXRjaENvbmNsdXNpb24pIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgICBsZXQgbWV0YXN0YXRlbWVudE5hdGNoZXM7XG5cbiAgICBjb25zdCBwcmVtaXNlc0xlbmd0aCA9IHRoaXMucHJlbWlzZXMubGVuZ3RoO1xuXG4gICAgaWYgKHByZW1pc2VzTGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gW10sXG4gICAgICAgICAgICBjb25jbHVzaW9uTWF0Y2hlcyA9IG1ldGFNYXRjaENvbmNsdXNpb24odGhpcy5jb25jbHVzaW9uLCBtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnROYXRjaGVzID0gY29uY2x1c2lvbk1hdGNoZXM7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtZXRhcHJvb2ZTdGVwcyA9IG1ldGFwcm9vZkNvbnRleHQuZ2V0TWV0YXByb29mU3RlcHMoKTtcblxuICAgICAgbWV0YXN0YXRlbWVudE5hdGNoZXMgPSBzb21lU3ViQXJyYXkobWV0YXByb29mU3RlcHMsIHByZW1pc2VzTGVuZ3RoLCAobWV0YXByb29mU3RlcHMpID0+IHtcbiAgICAgICAgbGV0IHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgICAgICBwcmVtaXNlc01hdGNoID0gbWV0YU1hdGNoUHJlbWlzZXModGhpcy5wcmVtaXNlcywgbWV0YXByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgIGlmIChwcmVtaXNlc01hdGNoKSB7XG4gICAgICAgICAgY29uc3QgY29uY2x1c2lvbk1hdGNoZXMgPSBtZXRhTWF0Y2hDb25jbHVzaW9uKHRoaXMuY29uY2x1c2lvbiwgbWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgICAgcHJlbWlzZXNNYXRjaENvbmNsdXNpb24gPSBjb25jbHVzaW9uTWF0Y2hlczsgIC8vL1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50TmF0Y2hlcztcbiAgfVxuXG4gIHRvSlNPTih0b2tlbnMpIHtcbiAgICBjb25zdCBsYWJlbHNKU09OID0gdGhpcy5sYWJlbHMubWFwKChsYWJlbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGFiZWxKU09OID0gbGFiZWwudG9KU09OKHRva2Vucyk7XG5cbiAgICAgICAgICAgIHJldHVybiBsYWJlbEpTT047XG4gICAgICAgICAgfSksXG4gICAgICAgICAgcHJlbWlzZXNKU09OID0gdGhpcy5wcmVtaXNlcy5tYXAoKHByZW1pc2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByZW1pc2VKU09OID0gcHJlbWlzZS50b0pTT04odG9rZW5zKTtcblxuICAgICAgICAgICAgcmV0dXJuIHByZW1pc2VKU09OO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNvbmNsdXNpb25KU09OID0gdGhpcy5jb25jbHVzaW9uLnRvSlNPTih0b2tlbnMpLFxuICAgICAgICAgIGtpbmQgPSBSVUxFX0tJTkQsXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxzSlNPTiwgIC8vL1xuICAgICAgICAgIHByZW1pc2VzID0gcHJlbWlzZXNKU09OLCAgLy8vXG4gICAgICAgICAgY29uY2x1c2lvbiA9IGNvbmNsdXNpb25KU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgICBwcmVtaXNlcyxcbiAgICAgICAgICAgIGNvbmNsdXNpb25cbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBsZXQgcnVsZTtcblxuICAgIGxldCB7IGxhYmVscyB9ID0ganNvbjtcblxuICAgIGNvbnN0IGxhYmVsc0pTT04gPSBsYWJlbHM7ICAvLy9cblxuICAgIGxhYmVscyA9IGxhYmVsc0pTT04ubWFwKChsYWJlbEpTT04pID0+IHtcbiAgICAgIGNvbnN0IGpzb24gPSBsYWJlbEpTT04sIC8vL1xuICAgICAgICAgICAgbGFiZWwgPSBMYWJlbC5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgIHJldHVybiBsYWJlbDtcbiAgICB9KTtcblxuICAgIGxldCB7IHByZW1pc2VzIH0gPSBqc29uO1xuXG4gICAgY29uc3QgcHJlbWlzZXNKU09OID0gcHJlbWlzZXM7ICAvLy9cblxuICAgIHByZW1pc2VzID0gcHJlbWlzZXNKU09OLm1hcCgocHJlbWlzZUpTT04pID0+IHtcbiAgICAgIGNvbnN0IGpzb24gPSBwcmVtaXNlSlNPTiwgLy8vXG4gICAgICAgICAgICBwcmVtaXNlID0gUHJlbWlzZS5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgIHJldHVybiBwcmVtaXNlO1xuICAgIH0pO1xuXG4gICAgbGV0IHsgY29uY2x1c2lvbiB9ID0ganNvbjtcblxuICAgIGNvbnN0IGNvbmNsdXNpb25KU09OID0gY29uY2x1c2lvbjsgIC8vL1xuXG4gICAganNvbiA9IGNvbmNsdXNpb25KU09OOyAgLy8vXG5cbiAgICBjb25jbHVzaW9uID0gQ29uY2x1c2lvbi5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICBydWxlID0gbmV3IFJ1bGUobGFiZWxzLCBwcmVtaXNlcywgY29uY2x1c2lvbik7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTGFiZWxzUHJlbWlzZXNBbmRDb25jbHVzaW9uKGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24pIHtcbiAgICBjb25zdCBydWxlID0gbmV3IFJ1bGUobGFiZWxzLCBwcmVtaXNlcywgY29uY2x1c2lvbik7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXRjaFByZW1pc2UocHJlbWlzZSwgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucykge1xuICBjb25zdCBwcm9vZlN0ZXAgPSBwcnVuZShwcm9vZlN0ZXBzLCAocHJvb2ZTdGVwKSA9PiB7XG4gICAgY29uc3Qgc3VicHJvb2ZOb2RlID0gcHJvb2ZTdGVwLmdldFN1YnByb29mTm9kZSgpLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBwcm9vZlN0ZXAuZ2V0U3RhdGVtZW50Tm9kZSgpXG5cbiAgICBpZiAoc3VicHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJQcm9vZk5vZGVNYXRjaGVzID0gcHJlbWlzZS5tYXRjaFN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAoIXN1YlByb29mTm9kZU1hdGNoZXMpIHsgIC8vL1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBwcmVtaXNlLm1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgaWYgKCFzdGF0ZW1lbnROb2RlTWF0Y2hlcykgeyAgLy8vXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSkgfHwgbnVsbDtcblxuICBjb25zdCBwcmVtaXNlTWF0Y2hlcyA9IChwcm9vZlN0ZXAgIT09IG51bGwpO1xuXG4gIHJldHVybiBwcmVtaXNlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hQcmVtaXNlcyhwcmVtaXNlLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IHByZW1pc2VzTWF0Y2ggPSBwcmVtaXNlLmV2ZXJ5KChwcmVtaXNlKSA9PiB7XG4gICAgY29uc3QgcHJlbWlzZU1hdGNoZXMgPSBtYXRjaFByZW1pc2UocHJlbWlzZSwgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICBpZiAocHJlbWlzZU1hdGNoZXMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHByZW1pc2VzTWF0Y2g7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQ29uY2x1c2lvbihjb25jbHVzaW9uLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IHN0YXRlbWVudE5vZGVNYXRjaGVzID0gY29uY2x1c2lvbi5tYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucyksXG4gICAgICAgIGNvbmNsdXNpb25NYXRjaGVzID0gc3RhdGVtZW50Tm9kZU1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBjb25jbHVzaW9uTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWV0YU1hdGNoUHJlbWlzZShwcmVtaXNlLCBtZXRhcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucykge1xuICBjb25zdCBtZXRhcHJvb2ZTdGVwID0gcHJ1bmUobWV0YXByb29mU3RlcHMsIChtZXRhcHJvb2ZTdGVwKSA9PiB7XG4gICAgY29uc3QgcnVsZVN1YnByb29mTm9kZSA9IG1ldGFwcm9vZlN0ZXAuZ2V0UnVsZVN1YnByb29mTm9kZSgpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXByb29mU3RlcC5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpXG5cbiAgICBpZiAocnVsZVN1YnByb29mTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcnVsZVN1YlByb29mTm9kZU1hdGNoZXMgPSBwcmVtaXNlLm1hdGNoUnVsZVN1YnByb29mTm9kZShydWxlU3VicHJvb2ZOb2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgaWYgKCFydWxlU3ViUHJvb2ZOb2RlTWF0Y2hlcykgeyAgLy8vXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gcHJlbWlzZS5tYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgaWYgKCFtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMpIHsgIC8vL1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0pIHx8IG51bGw7XG5cbiAgY29uc3QgcHJlbWlzZU1hdGNoZXMgPSAobWV0YXByb29mU3RlcCAhPT0gbnVsbCk7XG5cbiAgcmV0dXJuIHByZW1pc2VNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtZXRhTWF0Y2hQcmVtaXNlcyhwcmVtaXNlLCBtZXRhcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucykge1xuICBjb25zdCBwcmVtaXNlc01hdGNoID0gcHJlbWlzZS5ldmVyeSgocHJlbWlzZSkgPT4ge1xuICAgIGNvbnN0IHByZW1pc2VNYXRjaGVzID0gbWV0YU1hdGNoUHJlbWlzZShwcmVtaXNlLCBtZXRhcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICBpZiAocHJlbWlzZU1hdGNoZXMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHByZW1pc2VzTWF0Y2g7XG59XG5cbmZ1bmN0aW9uIG1ldGFNYXRjaENvbmNsdXNpb24oY29uY2x1c2lvbiwgbWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gY29uY2x1c2lvbi5tYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSxcbiAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBjb25jbHVzaW9uTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJSdWxlIiwibGFiZWxzIiwicHJlbWlzZXMiLCJjb25jbHVzaW9uIiwiZ2V0TGFiZWxzIiwiZ2V0UHJlbWlzZXMiLCJnZXRDb25jbHVzaW9uIiwibWF0Y2hMYWJlbE5hbWUiLCJsYWJlbE5hbWUiLCJtYXRjaGVzTGFiZWxOYW1lIiwic29tZSIsImxhYmVsIiwibmFtZSIsImxhYmVsTWF0Y2hlc05hbWUiLCJtYXRjaE5hbWUiLCJtYXRjaFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJwcm9vZkNvbnRleHQiLCJzdGF0ZW1lbnROYXRjaGVzIiwicHJlbWlzZXNMZW5ndGgiLCJsZW5ndGgiLCJzdWJzdGl0dXRpb25zIiwiY29uY2x1c2lvbk1hdGNoZXMiLCJtYXRjaENvbmNsdXNpb24iLCJwcm9vZlN0ZXBzIiwiZ2V0UHJvb2ZTdGVwcyIsInNvbWVTdWJBcnJheSIsInByZW1pc2VzTWF0Y2hDb25jbHVzaW9uIiwicHJlbWlzZXNNYXRjaCIsIm1hdGNoUHJlbWlzZXMiLCJtYXRjaE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFwcm9vZkNvbnRleHQiLCJtZXRhc3RhdGVtZW50TmF0Y2hlcyIsIm1ldGFNYXRjaENvbmNsdXNpb24iLCJtZXRhcHJvb2ZTdGVwcyIsImdldE1ldGFwcm9vZlN0ZXBzIiwibWV0YU1hdGNoUHJlbWlzZXMiLCJ0b0pTT04iLCJ0b2tlbnMiLCJsYWJlbHNKU09OIiwibWFwIiwibGFiZWxKU09OIiwicHJlbWlzZXNKU09OIiwicHJlbWlzZSIsInByZW1pc2VKU09OIiwiY29uY2x1c2lvbkpTT04iLCJraW5kIiwiUlVMRV9LSU5EIiwianNvbiIsImZyb21KU09OIiwicmVsZWFzZUNvbnRleHQiLCJydWxlIiwiTGFiZWwiLCJQcmVtaXNlIiwiQ29uY2x1c2lvbiIsImZyb21MYWJlbHNQcmVtaXNlc0FuZENvbmNsdXNpb24iLCJtYXRjaFByZW1pc2UiLCJwcm9vZlN0ZXAiLCJwcnVuZSIsInN1YnByb29mTm9kZSIsImdldFN1YnByb29mTm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJzdWJQcm9vZk5vZGVNYXRjaGVzIiwibWF0Y2hTdWJwcm9vZk5vZGUiLCJzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInByZW1pc2VNYXRjaGVzIiwiZXZlcnkiLCJtZXRhTWF0Y2hQcmVtaXNlIiwibWV0YXByb29mU3RlcCIsInJ1bGVTdWJwcm9vZk5vZGUiLCJnZXRSdWxlU3VicHJvb2ZOb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJydWxlU3ViUHJvb2ZOb2RlTWF0Y2hlcyIsIm1hdGNoUnVsZVN1YnByb29mTm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YXN0YXRlbWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBVXFCQTs7OzBEQVJIOzREQUNFOytEQUNHO3FCQUVEO3FCQUNJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR1gsSUFBQSxBQUFNQSxxQkEyS2xCLEFBM0tZO2FBQU1BLEtBQ1BDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxVQUFVOzhCQURyQkg7UUFFakIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTs7aUJBSkRIOztZQU9uQkksS0FBQUE7bUJBQUFBLFNBQUFBLFlBQVk7Z0JBQ1YsT0FBTyxJQUFJLENBQUNILE1BQU07WUFD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
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTGFiZWwgZnJvbSBcIi4vbGFiZWxcIjtcbmltcG9ydCBQcmVtaXNlIGZyb20gXCIuL3ByZW1pc2VcIjtcbmltcG9ydCBDb25jbHVzaW9uIGZyb20gXCIuL2NvbmNsdXNpb25cIjtcblxuaW1wb3J0IHsgcHJ1bmUgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IFJVTEVfS0lORCB9IGZyb20gXCIuL2tpbmRzXCI7XG5pbXBvcnQgeyBzb21lU3ViQXJyYXkgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUnVsZSB7XG4gIGNvbnN0cnVjdG9yKGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24pIHtcbiAgICB0aGlzLmxhYmVscyA9IGxhYmVscztcbiAgICB0aGlzLnByZW1pc2VzID0gcHJlbWlzZXM7XG4gICAgdGhpcy5jb25jbHVzaW9uID0gY29uY2x1c2lvbjtcbiAgfVxuXG4gIGdldExhYmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbHM7XG4gIH1cblxuICBnZXRQcmVtaXNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wcmVtaXNlcztcbiAgfVxuXG4gIGdldENvbmNsdXNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uY2x1c2lvbjtcbiAgfVxuXG4gIG1hdGNoTGFiZWxOYW1lKGxhYmVsTmFtZSkge1xuICAgIGNvbnN0IG1hdGNoZXNMYWJlbE5hbWUgPSB0aGlzLmxhYmVscy5zb21lKChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbmFtZSA9IGxhYmVsTmFtZSwgLy8vXG4gICAgICAgICAgICBsYWJlbE1hdGNoZXNOYW1lID0gbGFiZWwubWF0Y2hOYW1lKG5hbWUpO1xuXG4gICAgICBpZiAobGFiZWxNYXRjaGVzTmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBtYXRjaGVzTGFiZWxOYW1lO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgcHJvb2ZDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudE5hdGNoZXM7XG5cbiAgICBjb25zdCBwcmVtaXNlc0xlbmd0aCA9IHRoaXMucHJlbWlzZXMubGVuZ3RoO1xuXG4gICAgaWYgKHByZW1pc2VzTGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gW10sXG4gICAgICAgICAgICBjb25jbHVzaW9uTWF0Y2hlcyA9IG1hdGNoQ29uY2x1c2lvbih0aGlzLmNvbmNsdXNpb24sIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBzdGF0ZW1lbnROYXRjaGVzID0gY29uY2x1c2lvbk1hdGNoZXM7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcm9vZlN0ZXBzID0gcHJvb2ZDb250ZXh0LmdldFByb29mU3RlcHMoKTtcblxuICAgICAgc3RhdGVtZW50TmF0Y2hlcyA9IHNvbWVTdWJBcnJheShwcm9vZlN0ZXBzLCBwcmVtaXNlc0xlbmd0aCwgKHByb29mU3RlcHMpID0+IHtcbiAgICAgICAgbGV0IHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgICAgICBwcmVtaXNlc01hdGNoID0gbWF0Y2hQcmVtaXNlcyh0aGlzLnByZW1pc2VzLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgICBpZiAocHJlbWlzZXNNYXRjaCkge1xuICAgICAgICAgIGNvbnN0IGNvbmNsdXNpb25NYXRjaGVzID0gbWF0Y2hDb25jbHVzaW9uKHRoaXMuY29uY2x1c2lvbiwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgICBwcmVtaXNlc01hdGNoQ29uY2x1c2lvbiA9IGNvbmNsdXNpb25NYXRjaGVzOyAgLy8vXG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJlbWlzZXNNYXRjaENvbmNsdXNpb24pIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgICBsZXQgbWV0YXN0YXRlbWVudE5hdGNoZXM7XG5cbiAgICBjb25zdCBwcmVtaXNlc0xlbmd0aCA9IHRoaXMucHJlbWlzZXMubGVuZ3RoO1xuXG4gICAgaWYgKHByZW1pc2VzTGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gW10sXG4gICAgICAgICAgICBjb25jbHVzaW9uTWF0Y2hlcyA9IG1ldGFNYXRjaENvbmNsdXNpb24odGhpcy5jb25jbHVzaW9uLCBtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnROYXRjaGVzID0gY29uY2x1c2lvbk1hdGNoZXM7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtZXRhcHJvb2ZTdGVwcyA9IG1ldGFwcm9vZkNvbnRleHQuZ2V0TWV0YXByb29mU3RlcHMoKTtcblxuICAgICAgbWV0YXN0YXRlbWVudE5hdGNoZXMgPSBzb21lU3ViQXJyYXkobWV0YXByb29mU3RlcHMsIHByZW1pc2VzTGVuZ3RoLCAobWV0YXByb29mU3RlcHMpID0+IHtcbiAgICAgICAgbGV0IHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgICAgICBwcmVtaXNlc01hdGNoID0gbWV0YU1hdGNoUHJlbWlzZXModGhpcy5wcmVtaXNlcywgbWV0YXByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgIGlmIChwcmVtaXNlc01hdGNoKSB7XG4gICAgICAgICAgY29uc3QgY29uY2x1c2lvbk1hdGNoZXMgPSBtZXRhTWF0Y2hDb25jbHVzaW9uKHRoaXMuY29uY2x1c2lvbiwgbWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgICAgcHJlbWlzZXNNYXRjaENvbmNsdXNpb24gPSBjb25jbHVzaW9uTWF0Y2hlczsgIC8vL1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50TmF0Y2hlcztcbiAgfVxuXG4gIHRvSlNPTih0b2tlbnMpIHtcbiAgICBjb25zdCBsYWJlbHNKU09OID0gdGhpcy5sYWJlbHMubWFwKChsYWJlbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGFiZWxKU09OID0gbGFiZWwudG9KU09OKHRva2Vucyk7XG5cbiAgICAgICAgICAgIHJldHVybiBsYWJlbEpTT047XG4gICAgICAgICAgfSksXG4gICAgICAgICAgcHJlbWlzZXNKU09OID0gdGhpcy5wcmVtaXNlcy5tYXAoKHByZW1pc2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByZW1pc2VKU09OID0gcHJlbWlzZS50b0pTT04odG9rZW5zKTtcblxuICAgICAgICAgICAgcmV0dXJuIHByZW1pc2VKU09OO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNvbmNsdXNpb25KU09OID0gdGhpcy5jb25jbHVzaW9uLnRvSlNPTih0b2tlbnMpLFxuICAgICAgICAgIGtpbmQgPSBSVUxFX0tJTkQsXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxzSlNPTiwgIC8vL1xuICAgICAgICAgIHByZW1pc2VzID0gcHJlbWlzZXNKU09OLCAgLy8vXG4gICAgICAgICAgY29uY2x1c2lvbiA9IGNvbmNsdXNpb25KU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgICBwcmVtaXNlcyxcbiAgICAgICAgICAgIGNvbmNsdXNpb25cbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgbGV4ZXIsIHBhcnNlcikge1xuICAgIGxldCBydWxlO1xuXG4gICAgbGV0IHsgbGFiZWxzIH0gPSBqc29uO1xuXG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IGxhYmVsczsgIC8vL1xuXG4gICAgbGFiZWxzID0gbGFiZWxzSlNPTi5tYXAoKGxhYmVsSlNPTikgPT4ge1xuICAgICAgY29uc3QganNvbiA9IGxhYmVsSlNPTiwgLy8vXG4gICAgICAgICAgICBsYWJlbCA9IExhYmVsLmZyb21KU09OKGpzb24sIGxleGVyLCBwYXJzZXIpO1xuXG4gICAgICByZXR1cm4gbGFiZWw7XG4gICAgfSk7XG5cbiAgICBsZXQgeyBwcmVtaXNlcyB9ID0ganNvbjtcblxuICAgIGNvbnN0IHByZW1pc2VzSlNPTiA9IHByZW1pc2VzOyAgLy8vXG5cbiAgICBwcmVtaXNlcyA9IHByZW1pc2VzSlNPTi5tYXAoKHByZW1pc2VKU09OKSA9PiB7XG4gICAgICBjb25zdCBqc29uID0gcHJlbWlzZUpTT04sIC8vL1xuICAgICAgICAgICAgcHJlbWlzZSA9IFByZW1pc2UuZnJvbUpTT04oanNvbiwgbGV4ZXIsIHBhcnNlcik7XG5cbiAgICAgIHJldHVybiBwcmVtaXNlO1xuICAgIH0pO1xuXG4gICAgbGV0IHsgY29uY2x1c2lvbiB9ID0ganNvbjtcblxuICAgIGNvbnN0IGNvbmNsdXNpb25KU09OID0gY29uY2x1c2lvbjsgIC8vL1xuXG4gICAganNvbiA9IGNvbmNsdXNpb25KU09OOyAgLy8vXG5cbiAgICBjb25jbHVzaW9uID0gQ29uY2x1c2lvbi5mcm9tSlNPTihqc29uLCBsZXhlciwgcGFyc2VyKTtcblxuICAgIHJ1bGUgPSBuZXcgUnVsZShsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uKTtcblxuICAgIHJldHVybiBydWxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21MYWJlbHNQcmVtaXNlc0FuZENvbmNsdXNpb24obGFiZWxzLCBwcmVtaXNlcywgY29uY2x1c2lvbikge1xuICAgIGNvbnN0IHJ1bGUgPSBuZXcgUnVsZShsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uKTtcblxuICAgIHJldHVybiBydWxlO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZShwcmVtaXNlLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IHByb29mU3RlcCA9IHBydW5lKHByb29mU3RlcHMsIChwcm9vZlN0ZXApID0+IHtcbiAgICBjb25zdCBzdWJwcm9vZk5vZGUgPSBwcm9vZlN0ZXAuZ2V0U3VicHJvb2ZOb2RlKCksXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHByb29mU3RlcC5nZXRTdGF0ZW1lbnROb2RlKClcblxuICAgIGlmIChzdWJwcm9vZk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN1YlByb29mTm9kZU1hdGNoZXMgPSBwcmVtaXNlLm1hdGNoU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGlmICghc3ViUHJvb2ZOb2RlTWF0Y2hlcykgeyAgLy8vXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHByZW1pc2UubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAoIXN0YXRlbWVudE5vZGVNYXRjaGVzKSB7ICAvLy9cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9KSB8fCBudWxsO1xuXG4gIGNvbnN0IHByZW1pc2VNYXRjaGVzID0gKHByb29mU3RlcCAhPT0gbnVsbCk7XG5cbiAgcmV0dXJuIHByZW1pc2VNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaFByZW1pc2VzKHByZW1pc2UsIHByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMpIHtcbiAgY29uc3QgcHJlbWlzZXNNYXRjaCA9IHByZW1pc2UuZXZlcnkoKHByZW1pc2UpID0+IHtcbiAgICBjb25zdCBwcmVtaXNlTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZShwcmVtaXNlLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zKTtcblxuICAgIGlmIChwcmVtaXNlTWF0Y2hlcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcHJlbWlzZXNNYXRjaDtcbn1cblxuZnVuY3Rpb24gbWF0Y2hDb25jbHVzaW9uKGNvbmNsdXNpb24sIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgY29uc3Qgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uLm1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSxcbiAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBzdGF0ZW1lbnROb2RlTWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIGNvbmNsdXNpb25NYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtZXRhTWF0Y2hQcmVtaXNlKHByZW1pc2UsIG1ldGFwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IG1ldGFwcm9vZlN0ZXAgPSBwcnVuZShtZXRhcHJvb2ZTdGVwcywgKG1ldGFwcm9vZlN0ZXApID0+IHtcbiAgICBjb25zdCBydWxlU3VicHJvb2ZOb2RlID0gbWV0YXByb29mU3RlcC5nZXRSdWxlU3VicHJvb2ZOb2RlKCksXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhcHJvb2ZTdGVwLmdldE1ldGFzdGF0ZW1lbnROb2RlKClcblxuICAgIGlmIChydWxlU3VicHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBydWxlU3ViUHJvb2ZOb2RlTWF0Y2hlcyA9IHByZW1pc2UubWF0Y2hSdWxlU3VicHJvb2ZOb2RlKHJ1bGVTdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAoIXJ1bGVTdWJQcm9vZk5vZGVNYXRjaGVzKSB7ICAvLy9cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBwcmVtaXNlLm1hdGNoTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAoIW1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcykgeyAgLy8vXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSkgfHwgbnVsbDtcblxuICBjb25zdCBwcmVtaXNlTWF0Y2hlcyA9IChtZXRhcHJvb2ZTdGVwICE9PSBudWxsKTtcblxuICByZXR1cm4gcHJlbWlzZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1ldGFNYXRjaFByZW1pc2VzKHByZW1pc2UsIG1ldGFwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IHByZW1pc2VzTWF0Y2ggPSBwcmVtaXNlLmV2ZXJ5KChwcmVtaXNlKSA9PiB7XG4gICAgY29uc3QgcHJlbWlzZU1hdGNoZXMgPSBtZXRhTWF0Y2hQcmVtaXNlKHByZW1pc2UsIG1ldGFwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zKTtcblxuICAgIGlmIChwcmVtaXNlTWF0Y2hlcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcHJlbWlzZXNNYXRjaDtcbn1cblxuZnVuY3Rpb24gbWV0YU1hdGNoQ29uY2x1c2lvbihjb25jbHVzaW9uLCBtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uLm1hdGNoTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpLFxuICAgICAgICBjb25jbHVzaW9uTWF0Y2hlcyA9IG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIGNvbmNsdXNpb25NYXRjaGVzO1xufVxuIl0sIm5hbWVzIjpbIlJ1bGUiLCJsYWJlbHMiLCJwcmVtaXNlcyIsImNvbmNsdXNpb24iLCJnZXRMYWJlbHMiLCJnZXRQcmVtaXNlcyIsImdldENvbmNsdXNpb24iLCJtYXRjaExhYmVsTmFtZSIsImxhYmVsTmFtZSIsIm1hdGNoZXNMYWJlbE5hbWUiLCJzb21lIiwibGFiZWwiLCJuYW1lIiwibGFiZWxNYXRjaGVzTmFtZSIsIm1hdGNoTmFtZSIsIm1hdGNoU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZSIsInByb29mQ29udGV4dCIsInN0YXRlbWVudE5hdGNoZXMiLCJwcmVtaXNlc0xlbmd0aCIsImxlbmd0aCIsInN1YnN0aXR1dGlvbnMiLCJjb25jbHVzaW9uTWF0Y2hlcyIsIm1hdGNoQ29uY2x1c2lvbiIsInByb29mU3RlcHMiLCJnZXRQcm9vZlN0ZXBzIiwic29tZVN1YkFycmF5IiwicHJlbWlzZXNNYXRjaENvbmNsdXNpb24iLCJwcmVtaXNlc01hdGNoIiwibWF0Y2hQcmVtaXNlcyIsIm1hdGNoTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXByb29mQ29udGV4dCIsIm1ldGFzdGF0ZW1lbnROYXRjaGVzIiwibWV0YU1hdGNoQ29uY2x1c2lvbiIsIm1ldGFwcm9vZlN0ZXBzIiwiZ2V0TWV0YXByb29mU3RlcHMiLCJtZXRhTWF0Y2hQcmVtaXNlcyIsInRvSlNPTiIsInRva2VucyIsImxhYmVsc0pTT04iLCJtYXAiLCJsYWJlbEpTT04iLCJwcmVtaXNlc0pTT04iLCJwcmVtaXNlIiwicHJlbWlzZUpTT04iLCJjb25jbHVzaW9uSlNPTiIsImtpbmQiLCJSVUxFX0tJTkQiLCJqc29uIiwiZnJvbUpTT04iLCJsZXhlciIsInBhcnNlciIsInJ1bGUiLCJMYWJlbCIsIlByZW1pc2UiLCJDb25jbHVzaW9uIiwiZnJvbUxhYmVsc1ByZW1pc2VzQW5kQ29uY2x1c2lvbiIsIm1hdGNoUHJlbWlzZSIsInByb29mU3RlcCIsInBydW5lIiwic3VicHJvb2ZOb2RlIiwiZ2V0U3VicHJvb2ZOb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN1YlByb29mTm9kZU1hdGNoZXMiLCJtYXRjaFN1YnByb29mTm9kZSIsInN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwicHJlbWlzZU1hdGNoZXMiLCJldmVyeSIsIm1ldGFNYXRjaFByZW1pc2UiLCJtZXRhcHJvb2ZTdGVwIiwicnVsZVN1YnByb29mTm9kZSIsImdldFJ1bGVTdWJwcm9vZk5vZGUiLCJnZXRNZXRhc3RhdGVtZW50Tm9kZSIsInJ1bGVTdWJQcm9vZk5vZGVNYXRjaGVzIiwibWF0Y2hSdWxlU3VicHJvb2ZOb2RlIiwibWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhc3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFVcUJBOzs7MERBUkg7NERBQ0U7K0RBQ0c7cUJBRUQ7cUJBQ0k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHWCxJQUFBLEFBQU1BLHFCQTJLbEIsQUEzS1k7YUFBTUEsS0FDUEMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFVBQVU7OEJBRHJCSDtRQUVqQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBOztpQkFKREg7O1lBT25CSSxLQUFBQTttQkFBQUEsU0FBQUEsWUFBWTtnQkFDVixPQUFPLElBQUksQ0FBQ0gsTUFBTTtZQUNwQjs7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
package/lib/ruleNames.js CHANGED
@@ -24,15 +24,9 @@ _export(exports, {
24
24
  SUBPROOF_RULE_NAME: function() {
25
25
  return SUBPROOF_RULE_NAME;
26
26
  },
27
- VARIABLE_RULE_NAME: function() {
28
- return VARIABLE_RULE_NAME;
29
- },
30
27
  STATEMENT_RULE_NAME: function() {
31
28
  return STATEMENT_RULE_NAME;
32
29
  },
33
- METAVARIABLE_RULE_NAME: function() {
34
- return METAVARIABLE_RULE_NAME;
35
- },
36
30
  METASTATEMENT_RULE_NAME: function() {
37
31
  return METASTATEMENT_RULE_NAME;
38
32
  },
@@ -63,9 +57,7 @@ var TYPE_RULE_NAME = "type";
63
57
  var LABEL_RULE_NAME = "label";
64
58
  var ARGUMENT_RULE_NAME = "argument";
65
59
  var SUBPROOF_RULE_NAME = "subproof";
66
- var VARIABLE_RULE_NAME = "variable";
67
60
  var STATEMENT_RULE_NAME = "statement";
68
- var METAVARIABLE_RULE_NAME = "metavariable";
69
61
  var METASTATEMENT_RULE_NAME = "metastatement";
70
62
  var RULE_SUBPROOF_RULE_NAME = "ruleSubproof";
71
63
  var META_ARGUMENT_RULE_NAME = "metaArgument";
@@ -75,4 +67,4 @@ var CONSTRUCTOR_DECLARATIONRULE_NAME = "constructorDeclaration";
75
67
  var QUALIFIED_METASTATEMENT_RULE_NAME = "qualifiedMetastatement";
76
68
  var UNQUALIFIED_METASTATEMENT_RULE_NAME = "unqualifiedMetastatement";
77
69
 
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBURVJNX1JVTEVfTkFNRSA9IFwidGVybVwiO1xuZXhwb3J0IGNvbnN0IFRZUEVfUlVMRV9OQU1FID0gXCJ0eXBlXCI7XG5leHBvcnQgY29uc3QgTEFCRUxfUlVMRV9OQU1FID0gXCJsYWJlbFwiO1xuZXhwb3J0IGNvbnN0IEFSR1VNRU5UX1JVTEVfTkFNRSA9IFwiYXJndW1lbnRcIjtcbmV4cG9ydCBjb25zdCBTVUJQUk9PRl9SVUxFX05BTUUgPSBcInN1YnByb29mXCI7XG5leHBvcnQgY29uc3QgVkFSSUFCTEVfUlVMRV9OQU1FID0gXCJ2YXJpYWJsZVwiO1xuZXhwb3J0IGNvbnN0IFNUQVRFTUVOVF9SVUxFX05BTUUgPSBcInN0YXRlbWVudFwiO1xuZXhwb3J0IGNvbnN0IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUgPSBcIm1ldGF2YXJpYWJsZVwiO1xuZXhwb3J0IGNvbnN0IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FID0gXCJtZXRhc3RhdGVtZW50XCI7XG5leHBvcnQgY29uc3QgUlVMRV9TVUJQUk9PRl9SVUxFX05BTUUgPSBcInJ1bGVTdWJwcm9vZlwiO1xuZXhwb3J0IGNvbnN0IE1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FID0gXCJtZXRhQXJndW1lbnRcIjtcbmV4cG9ydCBjb25zdCBRVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSA9IFwicXVhbGlmaWVkU3RhdGVtZW50XCI7XG5leHBvcnQgY29uc3QgVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSA9IFwidW5xdWFsaWZpZWRTdGF0ZW1lbnRcIjtcbmV4cG9ydCBjb25zdCBDT05TVFJVQ1RPUl9ERUNMQVJBVElPTlJVTEVfTkFNRSA9IFwiY29uc3RydWN0b3JEZWNsYXJhdGlvblwiO1xuZXhwb3J0IGNvbnN0IFFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSA9IFwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFwiO1xuZXhwb3J0IGNvbnN0IFVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FID0gXCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRcIjtcbiJdLCJuYW1lcyI6WyJURVJNX1JVTEVfTkFNRSIsIlRZUEVfUlVMRV9OQU1FIiwiTEFCRUxfUlVMRV9OQU1FIiwiQVJHVU1FTlRfUlVMRV9OQU1FIiwiU1VCUFJPT0ZfUlVMRV9OQU1FIiwiVkFSSUFCTEVfUlVMRV9OQU1FIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsIk1FVEFWQVJJQUJMRV9SVUxFX05BTUUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlJVTEVfU1VCUFJPT0ZfUlVMRV9OQU1FIiwiTUVUQV9BUkdVTUVOVF9SVUxFX05BTUUiLCJRVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTlJVTEVfTkFNRSIsIlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFYUEsY0FBYztlQUFkQTs7SUFDQUMsY0FBYztlQUFkQTs7SUFDQUMsZUFBZTtlQUFmQTs7SUFDQUMsa0JBQWtCO2VBQWxCQTs7SUFDQUMsa0JBQWtCO2VBQWxCQTs7SUFDQUMsa0JBQWtCO2VBQWxCQTs7SUFDQUMsbUJBQW1CO2VBQW5CQTs7SUFDQUMsc0JBQXNCO2VBQXRCQTs7SUFDQUMsdUJBQXVCO2VBQXZCQTs7SUFDQUMsdUJBQXVCO2VBQXZCQTs7SUFDQUMsdUJBQXVCO2VBQXZCQTs7SUFDQUMsNkJBQTZCO2VBQTdCQTs7SUFDQUMsK0JBQStCO2VBQS9CQTs7SUFDQUMsZ0NBQWdDO2VBQWhDQTs7SUFDQUMsaUNBQWlDO2VBQWpDQTs7SUFDQUMsbUNBQW1DO2VBQW5DQTs7O0FBZk4sSUFBTWYsaUJBQWlCO0FBQ3ZCLElBQU1DLGlCQUFpQjtBQUN2QixJQUFNQyxrQkFBa0I7QUFDeEIsSUFBTUMscUJBQXFCO0FBQzNCLElBQU1DLHFCQUFxQjtBQUMzQixJQUFNQyxxQkFBcUI7QUFDM0IsSUFBTUMsc0JBQXNCO0FBQzVCLElBQU1DLHlCQUF5QjtBQUMvQixJQUFNQywwQkFBMEI7QUFDaEMsSUFBTUMsMEJBQTBCO0FBQ2hDLElBQU1DLDBCQUEwQjtBQUNoQyxJQUFNQyxnQ0FBZ0M7QUFDdEMsSUFBTUMsa0NBQWtDO0FBQ3hDLElBQU1DLG1DQUFtQztBQUN6QyxJQUFNQyxvQ0FBb0M7QUFDMUMsSUFBTUMsc0NBQXNDIn0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBURVJNX1JVTEVfTkFNRSA9IFwidGVybVwiO1xuZXhwb3J0IGNvbnN0IFRZUEVfUlVMRV9OQU1FID0gXCJ0eXBlXCI7XG5leHBvcnQgY29uc3QgTEFCRUxfUlVMRV9OQU1FID0gXCJsYWJlbFwiO1xuZXhwb3J0IGNvbnN0IEFSR1VNRU5UX1JVTEVfTkFNRSA9IFwiYXJndW1lbnRcIjtcbmV4cG9ydCBjb25zdCBTVUJQUk9PRl9SVUxFX05BTUUgPSBcInN1YnByb29mXCI7XG5leHBvcnQgY29uc3QgU1RBVEVNRU5UX1JVTEVfTkFNRSA9IFwic3RhdGVtZW50XCI7XG5leHBvcnQgY29uc3QgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUgPSBcIm1ldGFzdGF0ZW1lbnRcIjtcbmV4cG9ydCBjb25zdCBSVUxFX1NVQlBST09GX1JVTEVfTkFNRSA9IFwicnVsZVN1YnByb29mXCI7XG5leHBvcnQgY29uc3QgTUVUQV9BUkdVTUVOVF9SVUxFX05BTUUgPSBcIm1ldGFBcmd1bWVudFwiO1xuZXhwb3J0IGNvbnN0IFFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FID0gXCJxdWFsaWZpZWRTdGF0ZW1lbnRcIjtcbmV4cG9ydCBjb25zdCBVTlFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FID0gXCJ1bnF1YWxpZmllZFN0YXRlbWVudFwiO1xuZXhwb3J0IGNvbnN0IENPTlNUUlVDVE9SX0RFQ0xBUkFUSU9OUlVMRV9OQU1FID0gXCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uXCI7XG5leHBvcnQgY29uc3QgUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FID0gXCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50XCI7XG5leHBvcnQgY29uc3QgVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUgPSBcInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFwiO1xuIl0sIm5hbWVzIjpbIlRFUk1fUlVMRV9OQU1FIiwiVFlQRV9SVUxFX05BTUUiLCJMQUJFTF9SVUxFX05BTUUiLCJBUkdVTUVOVF9SVUxFX05BTUUiLCJTVUJQUk9PRl9SVUxFX05BTUUiLCJTVEFURU1FTlRfUlVMRV9OQU1FIiwiTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJSVUxFX1NVQlBST09GX1JVTEVfTkFNRSIsIk1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIiwiUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUiLCJVTlFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FIiwiQ09OU1RSVUNUT1JfREVDTEFSQVRJT05SVUxFX05BTUUiLCJRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRWFBLGNBQWM7ZUFBZEE7O0lBQ0FDLGNBQWM7ZUFBZEE7O0lBQ0FDLGVBQWU7ZUFBZkE7O0lBQ0FDLGtCQUFrQjtlQUFsQkE7O0lBQ0FDLGtCQUFrQjtlQUFsQkE7O0lBQ0FDLG1CQUFtQjtlQUFuQkE7O0lBQ0FDLHVCQUF1QjtlQUF2QkE7O0lBQ0FDLHVCQUF1QjtlQUF2QkE7O0lBQ0FDLHVCQUF1QjtlQUF2QkE7O0lBQ0FDLDZCQUE2QjtlQUE3QkE7O0lBQ0FDLCtCQUErQjtlQUEvQkE7O0lBQ0FDLGdDQUFnQztlQUFoQ0E7O0lBQ0FDLGlDQUFpQztlQUFqQ0E7O0lBQ0FDLG1DQUFtQztlQUFuQ0E7OztBQWJOLElBQU1iLGlCQUFpQjtBQUN2QixJQUFNQyxpQkFBaUI7QUFDdkIsSUFBTUMsa0JBQWtCO0FBQ3hCLElBQU1DLHFCQUFxQjtBQUMzQixJQUFNQyxxQkFBcUI7QUFDM0IsSUFBTUMsc0JBQXNCO0FBQzVCLElBQU1DLDBCQUEwQjtBQUNoQyxJQUFNQywwQkFBMEI7QUFDaEMsSUFBTUMsMEJBQTBCO0FBQ2hDLElBQU1DLGdDQUFnQztBQUN0QyxJQUFNQyxrQ0FBa0M7QUFDeEMsSUFBTUMsbUNBQW1DO0FBQ3pDLElBQU1DLG9DQUFvQztBQUMxQyxJQUFNQyxzQ0FBc0MifQ==
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _array = require("../utilities/array");
12
12
  var _query = require("../utilities/query");
13
- var _substitution = require("../utilities/substitution");
13
+ var _metaproof = require("../utilities/metaproof");
14
14
  function _classCallCheck(instance, Constructor) {
15
15
  if (!(instance instanceof Constructor)) {
16
16
  throw new TypeError("Cannot call a class as a function");
@@ -51,45 +51,48 @@ var MetaproofStep = /*#__PURE__*/ function() {
51
51
  }
52
52
  },
53
53
  {
54
- key: "matchMetastatement",
55
- value: function matchMetastatement(metastatementNode) {
56
- var metastatementMatches;
57
- var ruleSubproofAssertionNode = ruleSubproofAssertionNodeQuery(metastatementNode);
58
- if (ruleSubproofAssertionNode !== null) {
59
- var ruleSubproofAssertionMatches = this.matchRuleSubproofAssertion(ruleSubproofAssertionNode);
60
- metastatementMatches = ruleSubproofAssertionMatches; ///
61
- } else {
62
- var metastatementsMatch = this.matchMetastatements(metastatementNode);
63
- metastatementMatches = metastatementsMatch; //
54
+ key: "match",
55
+ value: function match(metastatementNode) {
56
+ var matches = false;
57
+ if (!matches) {
58
+ var ruleSubproofAssertionNode = ruleSubproofAssertionNodeQuery(metastatementNode);
59
+ if (ruleSubproofAssertionNode !== null) {
60
+ var matchesRuleSubproofAssertion = this.matchRuleSubproofAssertion(ruleSubproofAssertionNode);
61
+ matches = matchesRuleSubproofAssertion; ///
62
+ }
64
63
  }
65
- return metastatementMatches;
64
+ if (!matches) {
65
+ var matchesMetastatement = this.matchMetastatement(metastatementNode);
66
+ matches = matchesMetastatement; ///
67
+ }
68
+ return matches;
66
69
  }
67
70
  },
68
71
  {
69
- key: "matchMetastatements",
70
- value: function matchMetastatements(metastatementNode) {
71
- var metastatementsMatch = false;
72
+ key: "matchMetastatement",
73
+ value: function matchMetastatement(metastatementNode) {
74
+ var matchesMetastatement = false;
72
75
  if (this.metastatementNode !== null) {
73
- var nonTerminalNodeA = metastatementNode, nonTerminalNodeB = this.metastatementNode, bracketedNodeMatches = (0, _substitution.matchBracketedNonTerminalNode)(nonTerminalNodeA, nonTerminalNodeB), metastatementNodeMatches = bracketedNodeMatches; ///
74
- return metastatementNodeMatches;
76
+ var metastatementNodeA = metastatementNode, metastatementNodeB = this.metastatementNode, metastatementMatchesModuloBrackets = (0, _metaproof.matchMetastatementModuloBrackets)(metastatementNodeA, metastatementNodeB);
77
+ matchesMetastatement = metastatementMatchesModuloBrackets; ///
75
78
  }
76
- return metastatementsMatch;
79
+ return matchesMetastatement;
77
80
  }
78
81
  },
79
82
  {
80
83
  key: "matchRuleSubproofAssertion",
81
84
  value: function matchRuleSubproofAssertion(ruleSubproofAssertionNode) {
82
- var ruleSubproofAssertionMatches = false;
85
+ var matchesRuleSubproofAssertion = false;
83
86
  if (this.ruleSubproofNode !== null) {
84
87
  var ruleSubproofAssertionMetastatementNodes = metastatementNodesQuery(ruleSubproofAssertionNode), firstRuleSubproofAssertionMetastatementNode = (0, _array.first)(ruleSubproofAssertionMetastatementNodes), qualifiedOrUnqualifiedMetastatementMetastatementNodes = qualifiedOrUnqualifiedMetastatementMetastatementNodesQuery(this.ruleSubproofNode), firstQualifiedOrUnqualifiedMetastatementMetastatementNode = (0, _array.first)(qualifiedOrUnqualifiedMetastatementMetastatementNodes);
85
- var nonTerminalNodeA = firstRuleSubproofAssertionMetastatementNode, nonTerminalNodeB = firstQualifiedOrUnqualifiedMetastatementMetastatementNode, bracketedNodeMatches = (0, _substitution.matchBracketedNonTerminalNode)(nonTerminalNodeA, nonTerminalNodeB);
86
- if (bracketedNodeMatches) {
88
+ var metastatementNodeA = firstRuleSubproofAssertionMetastatementNode, metastatementNodeB = firstQualifiedOrUnqualifiedMetastatementMetastatementNode, metastatementMatchesModuloBrackets = (0, _metaproof.matchMetastatementModuloBrackets)(metastatementNodeA, metastatementNodeB);
89
+ if (metastatementMatchesModuloBrackets) {
87
90
  var secondRuleSubproofAssertionMetastatementNode = (0, _array.second)(ruleSubproofAssertionMetastatementNodes), secondQualifiedOrUnqualifiedMetastatementMetastatementNode = (0, _array.second)(qualifiedOrUnqualifiedMetastatementMetastatementNodes);
88
- var nonTerminalNodeA1 = secondRuleSubproofAssertionMetastatementNode, nonTerminalNodeB1 = secondQualifiedOrUnqualifiedMetastatementMetastatementNode, bracketedNodeMatches1 = (0, _substitution.matchBracketedNonTerminalNode)(nonTerminalNodeA1, nonTerminalNodeB1);
89
- ruleSubproofAssertionMatches = bracketedNodeMatches1; ///
91
+ var metastatementNodeA1 = secondRuleSubproofAssertionMetastatementNode, metastatementNodeB1 = secondQualifiedOrUnqualifiedMetastatementMetastatementNode, metastatementMatchesModuloBrackets1 = (0, _metaproof.matchMetastatementModuloBrackets)(metastatementNodeA1, metastatementNodeB1);
92
+ matchesRuleSubproofAssertion = metastatementMatchesModuloBrackets1; ///
90
93
  }
91
94
  }
92
- return ruleSubproofAssertionMatches;
95
+ return matchesRuleSubproofAssertion;
93
96
  }
94
97
  }
95
98
  ], [
@@ -111,4 +114,4 @@ var MetaproofStep = /*#__PURE__*/ function() {
111
114
  return MetaproofStep;
112
115
  }();
113
116
 
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwL21ldGFwcm9vZi5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QsIHNlY29uZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1hdGNoQnJhY2tldGVkTm9uVGVybWluYWxOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdWJzdGl0dXRpb25cIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3J1bGVTdWJwcm9vZkFzc2VydGlvbi9tZXRhc3RhdGVtZW50XCIpLFxuICAgICAgcnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvcnVsZVN1YnByb29mQXNzZXJ0aW9uXCIpLFxuICAgICAgcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcnVsZVN1YnByb29mL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnR8dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZXRhcHJvb2ZTdGVwIHtcbiAgY29uc3RydWN0b3IocnVsZVN1YnByb29mTm9kZSwgbWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLnJ1bGVTdWJwcm9vZk5vZGUgPSBydWxlU3VicHJvb2ZOb2RlO1xuICAgIHRoaXMubWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldFJ1bGVTdWJwcm9vZk5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZVN1YnByb29mTm9kZTtcbiAgfVxuXG4gIGdldE1ldGFzdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnRNYXRjaGVzO1xuXG4gICAgY29uc3QgcnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSA9IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBpZiAocnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcnVsZVN1YnByb29mQXNzZXJ0aW9uTWF0Y2hlcyA9IHRoaXMubWF0Y2hSdWxlU3VicHJvb2ZBc3NlcnRpb24ocnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnRNYXRjaGVzID0gcnVsZVN1YnByb29mQXNzZXJ0aW9uTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50c01hdGNoID0gdGhpcy5tYXRjaE1ldGFzdGF0ZW1lbnRzKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbWV0YXN0YXRlbWVudE1hdGNoZXMgPSBtZXRhc3RhdGVtZW50c01hdGNoOyAvL1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50TWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoTWV0YXN0YXRlbWVudHMobWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICBsZXQgbWV0YXN0YXRlbWVudHNNYXRjaCA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMubWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBtZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgYnJhY2tldGVkTm9kZU1hdGNoZXMgPSBtYXRjaEJyYWNrZXRlZE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCKSxcbiAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGJyYWNrZXRlZE5vZGVNYXRjaGVzOyAgLy8vXG5cbiAgICAgIHJldHVybiBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRzTWF0Y2g7XG4gIH1cblxuICBtYXRjaFJ1bGVTdWJwcm9vZkFzc2VydGlvbihydWxlU3VicHJvb2ZBc3NlcnRpb25Ob2RlKSB7XG4gICAgbGV0IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLnJ1bGVTdWJwcm9vZk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlcyA9IG1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5KHJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgZmlyc3RSdWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSA9IGZpcnN0KHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlcyksXG4gICAgICAgICAgICBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlcyA9IHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzUXVlcnkodGhpcy5ydWxlU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgICAgIGZpcnN0UXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZSA9IGZpcnN0KHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzKTtcblxuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IGZpcnN0UnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBmaXJzdFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgICAgYnJhY2tldGVkTm9kZU1hdGNoZXMgPSBtYXRjaEJyYWNrZXRlZE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCKTtcblxuICAgICAgaWYgKGJyYWNrZXRlZE5vZGVNYXRjaGVzKSB7XG4gICAgICAgIGNvbnN0IHNlY29uZFJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlID0gc2Vjb25kKHJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlcyksXG4gICAgICAgICAgICAgIHNlY29uZFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGUgPSBzZWNvbmQocXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXMpO1xuXG4gICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBzZWNvbmRSdWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBzZWNvbmRRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgICAgYnJhY2tldGVkTm9kZU1hdGNoZXMgPSBtYXRjaEJyYWNrZXRlZE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCKTtcblxuICAgICAgICBydWxlU3VicHJvb2ZBc3NlcnRpb25NYXRjaGVzID0gYnJhY2tldGVkTm9kZU1hdGNoZXM7IC8vL1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBydWxlU3VicHJvb2ZBc3NlcnRpb25NYXRjaGVzO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlU3VicHJvb2ZOb2RlKHJ1bGVTdWJwcm9vZk5vZGUpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgbWV0YVByb29mU3RlcCA9IG5ldyBNZXRhcHJvb2ZTdGVwKHJ1bGVTdWJwcm9vZk5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBtZXRhUHJvb2ZTdGVwO1xuICB9XG5cbiAgc3RhdGljIGZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHJ1bGVTdWJwcm9vZk5vZGUgPSBudWxsLFxuICAgICAgICAgIG1ldGFQcm9vZlN0ZXAgPSBuZXcgTWV0YXByb29mU3RlcChydWxlU3VicHJvb2ZOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gbWV0YVByb29mU3RlcDtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJNZXRhcHJvb2ZTdGVwIiwibWV0YXN0YXRlbWVudE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsInJ1bGVTdWJwcm9vZk5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImdldFJ1bGVTdWJwcm9vZk5vZGUiLCJnZXRNZXRhc3RhdGVtZW50Tm9kZSIsIm1hdGNoTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnRNYXRjaGVzIiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSIsInJ1bGVTdWJwcm9vZkFzc2VydGlvbk1hdGNoZXMiLCJtYXRjaFJ1bGVTdWJwcm9vZkFzc2VydGlvbiIsIm1ldGFzdGF0ZW1lbnRzTWF0Y2giLCJtYXRjaE1ldGFzdGF0ZW1lbnRzIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJicmFja2V0ZWROb2RlTWF0Y2hlcyIsIm1hdGNoQnJhY2tldGVkTm9uVGVybWluYWxOb2RlIiwibWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwicnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzIiwiZmlyc3RSdWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSIsImZpcnN0IiwicXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXMiLCJmaXJzdFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGUiLCJzZWNvbmRSdWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSIsInNlY29uZCIsInNlY29uZFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGUiLCJmcm9tUnVsZVN1YnByb29mTm9kZSIsIm1ldGFQcm9vZlN0ZXAiLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBVXFCQTs7O3FCQVJTO3FCQUNROzRCQUNROzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU5QyxJQUFNQywwQkFBMEJDLElBQUFBLGlCQUFVLEVBQUMseUNBQ3JDQyxpQ0FBaUNDLElBQUFBLGdCQUFTLEVBQUMseUNBQzNDQyw2REFBNkRILElBQUFBLGlCQUFVLEVBQUM7QUFFL0QsSUFBQSxBQUFNRiw4QkFBTjthQUFNQSxjQUNQTSxnQkFBZ0IsRUFBRUMsaUJBQWlCOzhCQUQ1QlA7UUFFakIsSUFBSSxDQUFDTSxnQkFBZ0IsR0FBR0E7UUFDeEIsSUFBSSxDQUFDQyxp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
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwL21ldGFwcm9vZi5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QsIHNlY29uZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1hdGNoTWV0YXN0YXRlbWVudE1vZHVsb0JyYWNrZXRzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9tZXRhcHJvb2ZcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3J1bGVTdWJwcm9vZkFzc2VydGlvbi9tZXRhc3RhdGVtZW50XCIpLFxuICAgICAgcnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvcnVsZVN1YnByb29mQXNzZXJ0aW9uXCIpLFxuICAgICAgcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcnVsZVN1YnByb29mL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnR8dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZXRhcHJvb2ZTdGVwIHtcbiAgY29uc3RydWN0b3IocnVsZVN1YnByb29mTm9kZSwgbWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLnJ1bGVTdWJwcm9vZk5vZGUgPSBydWxlU3VicHJvb2ZOb2RlO1xuICAgIHRoaXMubWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldFJ1bGVTdWJwcm9vZk5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZVN1YnByb29mTm9kZTtcbiAgfVxuXG4gIGdldE1ldGFzdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2gobWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICBsZXQgbWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgaWYgKCFtYXRjaGVzKSB7XG4gICAgICBjb25zdCBydWxlU3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gcnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgaWYgKHJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlc1J1bGVTdWJwcm9vZkFzc2VydGlvbiA9IHRoaXMubWF0Y2hSdWxlU3VicHJvb2ZBc3NlcnRpb24ocnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICAgICAgbWF0Y2hlcyA9IG1hdGNoZXNSdWxlU3VicHJvb2ZBc3NlcnRpb247ICAvLy9cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIW1hdGNoZXMpIHtcbiAgICAgIGNvbnN0IG1hdGNoZXNNZXRhc3RhdGVtZW50ID0gdGhpcy5tYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBtYXRjaGVzID0gbWF0Y2hlc01ldGFzdGF0ZW1lbnQ7IC8vL1xuICAgIH1cblxuICAgIHJldHVybiBtYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgbGV0IG1hdGNoZXNNZXRhc3RhdGVtZW50ID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5tZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGVBID0gbWV0YXN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGVCID0gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgbWV0YXN0YXRlbWVudE1hdGNoZXNNb2R1bG9CcmFja2V0cyA9IG1hdGNoTWV0YXN0YXRlbWVudE1vZHVsb0JyYWNrZXRzKG1ldGFzdGF0ZW1lbnROb2RlQSwgbWV0YXN0YXRlbWVudE5vZGVCKTtcblxuICAgICAgbWF0Y2hlc01ldGFzdGF0ZW1lbnQgPSBtZXRhc3RhdGVtZW50TWF0Y2hlc01vZHVsb0JyYWNrZXRzOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoZXNNZXRhc3RhdGVtZW50O1xuICB9XG5cbiAgbWF0Y2hSdWxlU3VicHJvb2ZBc3NlcnRpb24ocnVsZVN1YnByb29mQXNzZXJ0aW9uTm9kZSkge1xuICAgIGxldCBtYXRjaGVzUnVsZVN1YnByb29mQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5ydWxlU3VicHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMgPSBtZXRhc3RhdGVtZW50Tm9kZXNRdWVyeShydWxlU3VicHJvb2ZBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICAgIGZpcnN0UnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUgPSBmaXJzdChydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMpLFxuICAgICAgICAgICAgcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXMgPSBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5KHRoaXMucnVsZVN1YnByb29mTm9kZSksXG4gICAgICAgICAgICBmaXJzdFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGUgPSBmaXJzdChxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlcyk7XG5cbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlQSA9IGZpcnN0UnVsZVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlQiA9IGZpcnN0UXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBtZXRhc3RhdGVtZW50TWF0Y2hlc01vZHVsb0JyYWNrZXRzID0gbWF0Y2hNZXRhc3RhdGVtZW50TW9kdWxvQnJhY2tldHMobWV0YXN0YXRlbWVudE5vZGVBLCBtZXRhc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICBpZiAobWV0YXN0YXRlbWVudE1hdGNoZXNNb2R1bG9CcmFja2V0cykge1xuICAgICAgICBjb25zdCBzZWNvbmRSdWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSA9IHNlY29uZChydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMpLFxuICAgICAgICAgICAgICBzZWNvbmRRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlID0gc2Vjb25kKHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzKTtcblxuICAgICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZUEgPSBzZWNvbmRSdWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlQiA9IHNlY29uZFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50TWF0Y2hlc01vZHVsb0JyYWNrZXRzID0gbWF0Y2hNZXRhc3RhdGVtZW50TW9kdWxvQnJhY2tldHMobWV0YXN0YXRlbWVudE5vZGVBLCBtZXRhc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgICAgIG1hdGNoZXNSdWxlU3VicHJvb2ZBc3NlcnRpb24gPSBtZXRhc3RhdGVtZW50TWF0Y2hlc01vZHVsb0JyYWNrZXRzOyAvLy9cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWF0Y2hlc1J1bGVTdWJwcm9vZkFzc2VydGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZVN1YnByb29mTm9kZShydWxlU3VicHJvb2ZOb2RlKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIG1ldGFQcm9vZlN0ZXAgPSBuZXcgTWV0YXByb29mU3RlcChydWxlU3VicHJvb2ZOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gbWV0YVByb29mU3RlcDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBydWxlU3VicHJvb2ZOb2RlID0gbnVsbCxcbiAgICAgICAgICBtZXRhUHJvb2ZTdGVwID0gbmV3IE1ldGFwcm9vZlN0ZXAocnVsZVN1YnByb29mTm9kZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIG1ldGFQcm9vZlN0ZXA7XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiTWV0YXByb29mU3RlcCIsIm1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInJ1bGVTdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzUXVlcnkiLCJydWxlU3VicHJvb2ZOb2RlIiwibWV0YXN0YXRlbWVudE5vZGUiLCJnZXRSdWxlU3VicHJvb2ZOb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaCIsIm1hdGNoZXMiLCJydWxlU3VicHJvb2ZBc3NlcnRpb25Ob2RlIiwibWF0Y2hlc1J1bGVTdWJwcm9vZkFzc2VydGlvbiIsIm1hdGNoUnVsZVN1YnByb29mQXNzZXJ0aW9uIiwibWF0Y2hlc01ldGFzdGF0ZW1lbnQiLCJtYXRjaE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZUEiLCJtZXRhc3RhdGVtZW50Tm9kZUIiLCJtZXRhc3RhdGVtZW50TWF0Y2hlc01vZHVsb0JyYWNrZXRzIiwibWF0Y2hNZXRhc3RhdGVtZW50TW9kdWxvQnJhY2tldHMiLCJydWxlU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMiLCJmaXJzdFJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlIiwiZmlyc3QiLCJxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlcyIsImZpcnN0UXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZSIsInNlY29uZFJ1bGVTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlIiwic2Vjb25kIiwic2Vjb25kUXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZSIsImZyb21SdWxlU3VicHJvb2ZOb2RlIiwibWV0YVByb29mU3RlcCIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFVcUJBOzs7cUJBUlM7cUJBQ1E7eUJBQ1c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpELElBQU1DLDBCQUEwQkMsSUFBQUEsaUJBQVUsRUFBQyx5Q0FDckNDLGlDQUFpQ0MsSUFBQUEsZ0JBQVMsRUFBQyx5Q0FDM0NDLDZEQUE2REgsSUFBQUEsaUJBQVUsRUFBQztBQUUvRCxJQUFBLEFBQU1GLDhCQUFOO2FBQU1BLGNBQ1BNLGdCQUFnQixFQUFFQyxpQkFBaUI7OEJBRDVCUDtRQUVqQixJQUFJLENB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
package/lib/step/proof.js CHANGED
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "default", {
8
8
  return ProofStep;
9
9
  }
10
10
  });
11
+ var _ruleNames = require("../ruleNames");
12
+ var _proof = require("../utilities/proof");
11
13
  function _classCallCheck(instance, Constructor) {
12
14
  if (!(instance instanceof Constructor)) {
13
15
  throw new TypeError("Cannot call a class as a function");
@@ -45,6 +47,26 @@ var ProofStep = /*#__PURE__*/ function() {
45
47
  value: function getStatementNode() {
46
48
  return this.statementNode;
47
49
  }
50
+ },
51
+ {
52
+ key: "match",
53
+ value: function match(statementNode) {
54
+ var matches;
55
+ var matchesStatement = this.matchStatement(statementNode);
56
+ matches = matchesStatement; //
57
+ return matches;
58
+ }
59
+ },
60
+ {
61
+ key: "matchStatement",
62
+ value: function matchStatement(statementNode) {
63
+ var matchesStatement = false;
64
+ if (this.statementNode !== null) {
65
+ var ruleName = _ruleNames.META_ARGUMENT_RULE_NAME, statementNodeA = statementNode, statementNodeB = this.statementNode, statementMatchesModuloBrackets = (0, _proof.matchStatementModuloBrackets)(statementNodeA, statementNodeB, ruleName);
66
+ matchesStatement = statementMatchesModuloBrackets; ///
67
+ }
68
+ return matchesStatement;
69
+ }
48
70
  }
49
71
  ], [
50
72
  {
@@ -65,4 +87,4 @@ var ProofStep = /*#__PURE__*/ function() {
65
87
  return ProofStep;
66
88
  }();
67
89
 
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwL3Byb29mLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQcm9vZlN0ZXAge1xuICBjb25zdHJ1Y3RvcihzdWJwcm9vZk5vZGUsIHN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLnN1YnByb29mTm9kZSA9IHN1YnByb29mTm9kZTtcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0U3VicHJvb2ZOb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnN1YnByb29mTm9kZTtcbiAgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIG1ldGFQcm9vZlN0ZXAgPSBuZXcgUHJvb2ZTdGVwKHN1YnByb29mTm9kZSwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gbWV0YVByb29mU3RlcDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3Qgc3VicHJvb2ZOb2RlID0gbnVsbCxcbiAgICAgICAgICBtZXRhUHJvb2ZTdGVwID0gbmV3IFByb29mU3RlcChzdWJwcm9vZk5vZGUsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIG1ldGFQcm9vZlN0ZXA7XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiUHJvb2ZTdGVwIiwic3VicHJvb2ZOb2RlIiwic3RhdGVtZW50Tm9kZSIsImdldFN1YnByb29mTm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJmcm9tU3VicHJvb2ZOb2RlIiwibWV0YVByb29mU3RlcCIsImZyb21TdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUVxQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLDBCQUFOO2FBQU1BLFVBQ1BDLFlBQVksRUFBRUMsYUFBYTs4QkFEcEJGO1FBRWpCLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTtRQUNwQixJQUFJLENBQUNDLGFBQWEsR0FBR0E7O2lCQUhKRjs7WUFNbkJHLEtBQUFBO21CQUFBQSxTQUFBQSxrQkFBa0I7Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDRixZQUFZO1lBQzFCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQjtnQkFDakIsT0FBTyxJQUFJLENBQUNGLGFBQWE7WUFDM0I7Ozs7WUFFT0csS0FBQUE7bUJBQVAsU0FBT0EsaUJBQWlCSixZQUFZLEVBQUU7Z0JBQ3BDLElBQU1DLGdCQUFnQixJQUFJLEVBQ3BCSSxnQkFBZ0IsSUFoQkxOLFVBZ0JtQkMsY0FBY0M7Z0JBRWxELE9BQU9JO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxrQkFBa0JMLGFBQWEsRUFBRTtnQkFDdEMsSUFBTUQsZUFBZSxJQUFJLEVBQ25CSyxnQkFBZ0IsSUF2QkxOLFVBdUJtQkMsY0FBY0M7Z0JBRWxELE9BQU9JO1lBQ1Q7OztXQTFCbUJOIn0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwL3Byb29mLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IG1hdGNoU3RhdGVtZW50TW9kdWxvQnJhY2tldHMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Byb29mXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFByb29mU3RlcCB7XG4gIGNvbnN0cnVjdG9yKHN1YnByb29mTm9kZSwgc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMuc3VicHJvb2ZOb2RlID0gc3VicHJvb2ZOb2RlO1xuICAgIHRoaXMuc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRTdWJwcm9vZk5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VicHJvb2ZOb2RlO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2goc3RhdGVtZW50Tm9kZSkge1xuICAgIGxldCBtYXRjaGVzO1xuXG4gICAgY29uc3QgbWF0Y2hlc1N0YXRlbWVudCA9IHRoaXMubWF0Y2hTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBtYXRjaGVzID0gbWF0Y2hlc1N0YXRlbWVudDsgLy9cblxuICAgIHJldHVybiBtYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSkge1xuICAgIGxldCBtYXRjaGVzU3RhdGVtZW50ID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5zdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBydWxlTmFtZSA9IE1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICAgICAgc3RhdGVtZW50Tm9kZUEgPSBzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGVCID0gdGhpcy5zdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnRNYXRjaGVzTW9kdWxvQnJhY2tldHMgPSBtYXRjaFN0YXRlbWVudE1vZHVsb0JyYWNrZXRzKHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgcnVsZU5hbWUpO1xuXG4gICAgICBtYXRjaGVzU3RhdGVtZW50ID0gc3RhdGVtZW50TWF0Y2hlc01vZHVsb0JyYWNrZXRzOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoZXNTdGF0ZW1lbnQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gbnVsbCxcbiAgICAgICAgICBtZXRhUHJvb2ZTdGVwID0gbmV3IFByb29mU3RlcChzdWJwcm9vZk5vZGUsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIG1ldGFQcm9vZlN0ZXA7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHN1YnByb29mTm9kZSA9IG51bGwsXG4gICAgICAgICAgbWV0YVByb29mU3RlcCA9IG5ldyBQcm9vZlN0ZXAoc3VicHJvb2ZOb2RlLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBtZXRhUHJvb2ZTdGVwO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIlByb29mU3RlcCIsInN1YnByb29mTm9kZSIsInN0YXRlbWVudE5vZGUiLCJnZXRTdWJwcm9vZk5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwibWF0Y2giLCJtYXRjaGVzIiwibWF0Y2hlc1N0YXRlbWVudCIsIm1hdGNoU3RhdGVtZW50IiwicnVsZU5hbWUiLCJNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRSIsInN0YXRlbWVudE5vZGVBIiwic3RhdGVtZW50Tm9kZUIiLCJzdGF0ZW1lbnRNYXRjaGVzTW9kdWxvQnJhY2tldHMiLCJtYXRjaFN0YXRlbWVudE1vZHVsb0JyYWNrZXRzIiwiZnJvbVN1YnByb29mTm9kZSIsIm1ldGFQcm9vZlN0ZXAiLCJmcm9tU3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFLcUJBOzs7eUJBSG1CO3FCQUNLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU5QixJQUFBLEFBQU1BLDBCQUFOO2FBQU1BLFVBQ1BDLFlBQVksRUFBRUMsYUFBYTs4QkFEcEJGO1FBRWpCLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTtRQUNwQixJQUFJLENBQUNDLGFBQWEsR0FBR0E7O2lCQUhKRjs7WUFNbkJHLEtBQUFBO21CQUFBQSxTQUFBQSxrQkFBa0I7Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDRixZQUFZO1lBQzFCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQjtnQkFDakIsT0FBTyxJQUFJLENBQUNGLGFBQWE7WUFDM0I7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUgsYUFBYSxFQUFFO2dCQUNuQixJQUFJSTtnQkFFSixJQUFNQyxtQkFBbUIsSUFBSSxDQUFDQyxjQUFjLENBQUNOO2dCQUU3Q0ksVUFBVUMsa0JBQWtCLEVBQUU7Z0JBRTlCLE9BQU9EO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsZUFBZU4sYUFBYSxFQUFFO2dCQUM1QixJQUFJSyxtQkFBbUIsS0FBSztnQkFFNUIsSUFBSSxJQUFJLENBQUNMLGFBQWEsS0FBSyxJQUFJLEVBQUU7b0JBQy9CLElBQU1PLFdBQVdDLGtDQUF1QixFQUNsQ0MsaUJBQWlCVCxlQUNqQlUsaUJBQWlCLElBQUksQ0FBQ1YsYUFBYSxFQUNuQ1csaUNBQWlDQyxJQUFBQSxtQ0FBNEIsRUFBQ0gsZ0JBQWdCQyxnQkFBZ0JIO29CQUVwR0YsbUJBQW1CTSxnQ0FBaUMsR0FBRztnQkFDekQsQ0FBQztnQkFFRCxPQUFPTjtZQUNUOzs7O1lBRU9RLEtBQUFBO21CQUFQLFNBQU9BLGlCQUFpQmQsWUFBWSxFQUFFO2dCQUNwQyxJQUFNQyxnQkFBZ0IsSUFBSSxFQUNwQmMsZ0JBQWdCLElBekNMaEIsVUF5Q21CQyxjQUFjQztnQkFFbEQsT0FBT2M7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLGtCQUFrQmYsYUFBYSxFQUFFO2dCQUN0QyxJQUFNRCxlQUFlLElBQUksRUFDbkJlLGdCQUFnQixJQWhETGhCLFVBZ0RtQkMsY0FBY0M7Z0JBRWxELE9BQU9jO1lBQ1Q7OztXQW5EbUJoQiJ9
@@ -8,9 +8,8 @@ Object.defineProperty(exports, "default", {
8
8
  return MetastatementForMetavariableSubstitution;
9
9
  }
10
10
  });
11
- var _matcher = require("../matcher");
12
- var _ruleNames = require("../ruleNames");
13
- var _substitution = require("../utilities/substitution");
11
+ var _matcher = /*#__PURE__*/ _interopRequireDefault(require("../matcher"));
12
+ var _metaproof = require("../utilities/metaproof");
14
13
  function _classCallCheck(instance, Constructor) {
15
14
  if (!(instance instanceof Constructor)) {
16
15
  throw new TypeError("Cannot call a class as a function");
@@ -30,6 +29,11 @@ function _createClass(Constructor, protoProps, staticProps) {
30
29
  if (staticProps) _defineProperties(Constructor, staticProps);
31
30
  return Constructor;
32
31
  }
32
+ function _interopRequireDefault(obj) {
33
+ return obj && obj.__esModule ? obj : {
34
+ default: obj
35
+ };
36
+ }
33
37
  var MetastatementForMetavariableSubstitution = /*#__PURE__*/ function() {
34
38
  function MetastatementForMetavariableSubstitution(metavariableName, metastatementNode) {
35
39
  _classCallCheck(this, MetastatementForMetavariableSubstitution);
@@ -53,13 +57,12 @@ var MetastatementForMetavariableSubstitution = /*#__PURE__*/ function() {
53
57
  key: "matchMetastatementNode",
54
58
  value: function matchMetastatementNode(metastatementNode) {
55
59
  var matchesMetastatementNode;
56
- var nodeA = this.metastatementNode, nodeB = metastatementNode, nodeMatches = _matcher.matcher.matchNode(nodeA, nodeB);
60
+ var nodeA = this.metastatementNode, nodeB = metastatementNode, nodeMatches = _matcher.default.matchNode(nodeA, nodeB);
57
61
  matchesMetastatementNode = nodeMatches; ///
58
62
  if (!matchesMetastatementNode) {
59
- var nonTerminalNode = metastatementNode, childNodes = nonTerminalNode.getChildNodes(), ruleName = _ruleNames.METASTATEMENT_RULE_NAME;
60
- metastatementNode = (0, _substitution.bracketedNonTerminalChildNodeFromChildNodes)(childNodes, ruleName); ///
61
- if (metastatementNode !== null) {
62
- var nodeA1 = this.metastatementNode, nodeB1 = metastatementNode, nodeMatches1 = _matcher.matcher.matchNode(nodeA1, nodeB1);
63
+ var bracketedMetastatementChildNode = (0, _metaproof.bracketedMetastatementChildNodeFromMetastatementNode)(metastatementNode);
64
+ if (bracketedMetastatementChildNode !== null) {
65
+ var _$metastatementNode = bracketedMetastatementChildNode, nodeA1 = this.metastatementNode, nodeB1 = _$metastatementNode, nodeMatches1 = _matcher.default.matchNode(nodeA1, nodeB1);
63
66
  matchesMetastatementNode = nodeMatches1; ///
64
67
  }
65
68
  }
@@ -71,10 +74,10 @@ var MetastatementForMetavariableSubstitution = /*#__PURE__*/ function() {
71
74
  key: "fromMetavariableNameAndMetastatementNode",
72
75
  value: function fromMetavariableNameAndMetastatementNode(metavariableName, metastatementNode) {
73
76
  var metastatementForMetavariableSubstitution = new MetastatementForMetavariableSubstitution(metavariableName, metastatementNode);
74
- var nonTerminalNode = metastatementNode, childNodes = nonTerminalNode.getChildNodes(), ruleName = _ruleNames.METASTATEMENT_RULE_NAME;
75
- metastatementNode = (0, _substitution.bracketedNonTerminalChildNodeFromChildNodes)(childNodes, ruleName); ///
76
- if (metastatementNode !== null) {
77
- metastatementForMetavariableSubstitution = new MetastatementForMetavariableSubstitution(metavariableName, metastatementNode);
77
+ var bracketedMetastatementChildNode = (0, _metaproof.bracketedMetastatementChildNodeFromMetastatementNode)(metastatementNode);
78
+ if (bracketedMetastatementChildNode !== null) {
79
+ var _$metastatementNode = bracketedMetastatementChildNode; ///
80
+ metastatementForMetavariableSubstitution = new MetastatementForMetavariableSubstitution(metavariableName, _$metastatementNode);
78
81
  }
79
82
  return metastatementForMetavariableSubstitution;
80
83
  }
@@ -83,4 +86,4 @@ var MetastatementForMetavariableSubstitution = /*#__PURE__*/ function() {
83
86
  return MetastatementForMetavariableSubstitution;
84
87
  }();
85
88
 
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbWF0Y2hlciB9IGZyb20gXCIuLi9tYXRjaGVyXCI7XG5pbXBvcnQgeyBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IGJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlRnJvbUNoaWxkTm9kZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N1YnN0aXR1dGlvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIHtcbiAgY29uc3RydWN0b3IobWV0YXZhcmlhYmxlTmFtZSwgbWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLm1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhdmFyaWFibGVOYW1lO1xuICAgIHRoaXMubWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldE1ldGF2YXJpYWJsZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0YXZhcmlhYmxlTmFtZTtcbiAgfVxuXG4gIGdldE1ldGFzdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIGxldCBtYXRjaGVzTWV0YXN0YXRlbWVudE5vZGU7XG5cbiAgICBjb25zdCBub2RlQSA9IHRoaXMubWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBub2RlQiA9IG1ldGFzdGF0ZW1lbnROb2RlLFxuICAgICAgICAgIG5vZGVNYXRjaGVzID0gbWF0Y2hlci5tYXRjaE5vZGUobm9kZUEsIG5vZGVCKTtcblxuICAgIG1hdGNoZXNNZXRhc3RhdGVtZW50Tm9kZSA9IG5vZGVNYXRjaGVzOyAgLy8vXG5cbiAgICBpZiAoIW1hdGNoZXNNZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgIGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLCAvLy9cbiAgICAgICAgICAgIHJ1bGVOYW1lID0gTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzLCBydWxlTmFtZSk7ICAvLy9cblxuICAgICAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IG5vZGVBID0gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICBub2RlQiA9IG1ldGFzdGF0ZW1lbnROb2RlLFxuICAgICAgICAgICAgICBub2RlTWF0Y2hlcyA9IG1hdGNoZXIubWF0Y2hOb2RlKG5vZGVBLCBub2RlQik7XG5cbiAgICAgICAgbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlID0gbm9kZU1hdGNoZXM7ICAvLy9cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21NZXRhdmFyaWFibGVOYW1lQW5kTWV0YXN0YXRlbWVudE5vZGUobWV0YXZhcmlhYmxlTmFtZSwgbWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICBsZXQgbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5hbWUsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgcnVsZU5hbWUgPSBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRTtcblxuICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzLCBydWxlTmFtZSk7ICAvLy9cblxuICAgIGlmIChtZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5hbWUsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIiwibWV0YXZhcmlhYmxlTmFtZSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXZhcmlhYmxlTmFtZSIsImdldE1ldGFzdGF0ZW1lbnROb2RlIiwibWF0Y2hNZXRhc3RhdGVtZW50Tm9kZSIsIm1hdGNoZXNNZXRhc3RhdGVtZW50Tm9kZSIsIm5vZGVBIiwibm9kZUIiLCJub2RlTWF0Y2hlcyIsIm1hdGNoZXIiLCJtYXRjaE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsInJ1bGVOYW1lIiwiTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzIiwiZnJvbU1ldGF2YXJpYWJsZU5hbWVBbmRNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBTXFCQTs7O3VCQUpHO3lCQUNnQjs0QkFDb0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdDLElBQUEsQUFBTUEseURBQU47YUFBTUEseUNBQ1BDLGdCQUFnQixFQUFFQyxpQkFBaUI7OEJBRDVCRjtRQUVqQixJQUFJLENBQUNDLGdCQUFnQixHQUFHQTtRQUN4QixJQUFJLENBQUNDLGlCQUFpQixHQUFHQTs7aUJBSFJGOztZQU1uQkcsS0FBQUE7bUJBQUFBLFNBQUFBLHNCQUFzQjtnQkFDcEIsT0FBTyxJQUFJLENBQUNGLGdCQUFnQjtZQUM5Qjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSx1QkFBdUI7Z0JBQ3JCLE9BQU8sSUFBSSxDQUFDRixpQkFBaUI7WUFDL0I7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCSCxpQkFBaUIsRUFBRTtnQkFDeEMsSUFBSUk7Z0JBRUosSUFBTUMsUUFBUSxJQUFJLENBQUNMLGlCQUFpQixFQUM5Qk0sUUFBUU4sbUJBQ1JPLGNBQWNDLGdCQUFPLENBQUNDLFNBQVMsQ0FBQ0osT0FBT0M7Z0JBRTdDRiwyQkFBMkJHLGFBQWMsR0FBRztnQkFFNUMsSUFBSSxDQUFDSCwwQkFBMEI7b0JBQzdCLElBQU1NLGtCQUFrQlYsbUJBQ2xCVyxhQUFhRCxnQkFBZ0JFLGFBQWEsSUFDMUNDLFdBQVdDLGtDQUF1QjtvQkFFeENkLG9CQUFvQmUsSUFBQUEseURBQTJDLEVBQUNKLFlBQVlFLFdBQVksR0FBRztvQkFFM0YsSUFBSWIsc0JBQXNCLElBQUksRUFBRTt3QkFDOUIsSUFBTUssU0FBUSxJQUFJLENBQUNMLGlCQUFpQixFQUM5Qk0sU0FBUU4sbUJBQ1JPLGVBQWNDLGdCQUFPLENBQUNDLFNBQVMsQ0FBQ0osUUFBT0M7d0JBRTdDRiwyQkFBMkJHLGNBQWMsR0FBRztvQkFDOUMsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE9BQU9IO1lBQ1Q7Ozs7WUFFT1ksS0FBQUE7bUJBQVAsU0FBT0EseUNBQXlDakIsZ0JBQWdCLEVBQUVDLGlCQUFpQixFQUFFO2dCQUNuRixJQUFJaUIsMkNBQTJDLElBM0M5Qm5CLHlDQTJDMkVDLGtCQUFrQkM7Z0JBRTlHLElBQU1VLGtCQUFrQlYsbUJBQ2xCVyxhQUFhRCxnQkFBZ0JFLGFBQWEsSUFDMUNDLFdBQVdDLGtDQUF1QjtnQkFFeENkLG9CQUFvQmUsSUFBQUEseURBQTJDLEVBQUNKLFlBQVlFLFdBQVksR0FBRztnQkFFM0YsSUFBSWIsc0JBQXNCLElBQUksRUFBRTtvQkFDOUJpQiwyQ0FBMkMsSUFwRDVCbkIseUNBb0R5RUMsa0JBQWtCQztnQkFDNUcsQ0FBQztnQkFFRCxPQUFPaUI7WUFDVDs7O1dBeERtQm5CIn0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG1hdGNoZXIgZnJvbSBcIi4uL21hdGNoZXJcIjtcblxuaW1wb3J0IHsgYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUZyb21NZXRhc3RhdGVtZW50Tm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbWV0YXByb29mXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXRhdmFyaWFibGVOYW1lLCBtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMubWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWU7XG4gICAgdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhdmFyaWFibGVOYW1lO1xuICB9XG5cbiAgZ2V0TWV0YXN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0YXN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgbGV0IG1hdGNoZXNNZXRhc3RhdGVtZW50Tm9kZTtcblxuICAgIGNvbnN0IG5vZGVBID0gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG5vZGVCID0gbWV0YXN0YXRlbWVudE5vZGUsXG4gICAgICAgICAgbm9kZU1hdGNoZXMgPSBtYXRjaGVyLm1hdGNoTm9kZShub2RlQSwgbm9kZUIpO1xuXG4gICAgbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlID0gbm9kZU1hdGNoZXM7ICAvLy9cblxuICAgIGlmICghbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgICBjb25zdCBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlID0gYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGlmIChicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICAgIG5vZGVBID0gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICBub2RlQiA9IG1ldGFzdGF0ZW1lbnROb2RlLFxuICAgICAgICAgICAgICBub2RlTWF0Y2hlcyA9IG1hdGNoZXIubWF0Y2hOb2RlKG5vZGVBLCBub2RlQik7XG5cbiAgICAgICAgbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlID0gbm9kZU1hdGNoZXM7ICAvLy9cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21NZXRhdmFyaWFibGVOYW1lQW5kTWV0YXN0YXRlbWVudE5vZGUobWV0YXZhcmlhYmxlTmFtZSwgbWV0YXN0YXRlbWVudE5vZGUpIHtcbiAgICBsZXQgbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5hbWUsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGUgPSBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlRnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGU7IC8vL1xuXG4gICAgICBtZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IE1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTmFtZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIk1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iLCJtZXRhdmFyaWFibGVOYW1lIiwibWV0YXN0YXRlbWVudE5vZGUiLCJnZXRNZXRhdmFyaWFibGVOYW1lIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGFzdGF0ZW1lbnROb2RlIiwibWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlIiwibm9kZUEiLCJub2RlQiIsIm5vZGVNYXRjaGVzIiwibWF0Y2hlciIsIm1hdGNoTm9kZSIsImJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGUiLCJicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlRnJvbU1ldGFzdGF0ZW1lbnROb2RlIiwiZnJvbU1ldGF2YXJpYWJsZU5hbWVBbmRNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBTXFCQTs7OzREQUpEO3lCQUVpRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV0RCxJQUFBLEFBQU1BLHlEQUFOO2FBQU1BLHlDQUNQQyxnQkFBZ0IsRUFBRUMsaUJBQWlCOzhCQUQ1QkY7UUFFakIsSUFBSSxDQUFDQyxnQkFBZ0IsR0FBR0E7UUFDeEIsSUFBSSxDQUFDQyxpQkFBaUIsR0FBR0E7O2lCQUhSRjs7WUFNbkJHLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0I7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDRixnQkFBZ0I7WUFDOUI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCO2dCQUNyQixPQUFPLElBQUksQ0FBQ0YsaUJBQWlCO1lBQy9COzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QkgsaUJBQWlCLEVBQUU7Z0JBQ3hDLElBQUlJO2dCQUVKLElBQU1DLFFBQVEsSUFBSSxDQUFDTCxpQkFBaUIsRUFDOUJNLFFBQVFOLG1CQUNSTyxjQUFjQyxnQkFBTyxDQUFDQyxTQUFTLENBQUNKLE9BQU9DO2dCQUU3Q0YsMkJBQTJCRyxhQUFjLEdBQUc7Z0JBRTVDLElBQUksQ0FBQ0gsMEJBQTBCO29CQUM3QixJQUFNTSxrQ0FBa0NDLElBQUFBLCtEQUFvRCxFQUFDWDtvQkFFN0YsSUFBSVUsb0NBQW9DLElBQUksRUFBRTt3QkFDNUMsSUFBTVYsc0JBQW9CVSxpQ0FDcEJMLFNBQVEsSUFBSSxDQUFDTCxpQkFBaUIsRUFDOUJNLFNBQVFOLHFCQUNSTyxlQUFjQyxnQkFBTyxDQUFDQyxTQUFTLENBQUNKLFFBQU9DO3dCQUU3Q0YsMkJBQTJCRyxjQUFjLEdBQUc7b0JBQzlDLENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxPQUFPSDtZQUNUOzs7O1lBRU9RLEtBQUFBO21CQUFQLFNBQU9BLHlDQUF5Q2IsZ0JBQWdCLEVBQUVDLGlCQUFpQixFQUFFO2dCQUNuRixJQUFJYSwyQ0FBMkMsSUF4QzlCZix5Q0F3QzJFQyxrQkFBa0JDO2dCQUU5RyxJQUFNVSxrQ0FBa0NDLElBQUFBLCtEQUFvRCxFQUFDWDtnQkFFN0YsSUFBSVUsb0NBQW9DLElBQUksRUFBRTtvQkFDNUMsSUFBTVYsc0JBQW9CVSxpQ0FBaUMsR0FBRztvQkFFOURHLDJDQUEyQyxJQS9DNUJmLHlDQStDeUVDLGtCQUFrQkM7Z0JBQzVHLENBQUM7Z0JBRUQsT0FBT2E7WUFDVDs7O1dBbkRtQmYifQ==