occam-verify-cli 0.0.909 → 0.0.911

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 (88) hide show
  1. package/lib/axiomLemmaTheoremConjecture.js +6 -6
  2. package/lib/conclusion.js +7 -7
  3. package/lib/consequent.js +3 -3
  4. package/lib/context/file.js +7 -35
  5. package/lib/context/local.js +14 -19
  6. package/lib/context/localMeta.js +16 -21
  7. package/lib/declaration.js +10 -10
  8. package/lib/equivalence.js +15 -15
  9. package/lib/frame.js +5 -5
  10. package/lib/frameAssertion.js +3 -3
  11. package/lib/metaConsequent.js +4 -4
  12. package/lib/metaLemmaMetatheorem.js +10 -10
  13. package/lib/metaSupposition.js +10 -10
  14. package/lib/metaType.js +7 -7
  15. package/lib/metavariable.js +7 -7
  16. package/lib/mixins/nodesVerifier/intrinsiclevel.js +3 -3
  17. package/lib/mixins/nodesVerifier/metaLevel.js +3 -3
  18. package/lib/premise.js +19 -19
  19. package/lib/rule.js +21 -21
  20. package/lib/step/metaproof.js +14 -53
  21. package/lib/step/proof.js +10 -22
  22. package/lib/substitution/metastatementForMetavariable.js +11 -11
  23. package/lib/substitution/statementForMetavariable.js +9 -8
  24. package/lib/substitution/termForVariable.js +9 -9
  25. package/lib/substitution.js +11 -11
  26. package/lib/supposition.js +3 -3
  27. package/lib/type.js +7 -7
  28. package/lib/utilities/match.js +96 -0
  29. package/lib/variable.js +8 -8
  30. package/lib/verify/containedAssertion.js +54 -20
  31. package/lib/verify/definedAssertion.js +67 -33
  32. package/lib/verify/frame.js +2 -2
  33. package/lib/verify/frameAssertion.js +3 -3
  34. package/lib/verify/metaDerivation.js +7 -7
  35. package/lib/verify/metaSubDerivation.js +6 -6
  36. package/lib/verify/metaproofStep.js +98 -0
  37. package/lib/verify/metastatement/unqualified.js +4 -7
  38. package/lib/verify/metastatement.js +35 -6
  39. package/lib/verify/ruleProofStep.js +25 -14
  40. package/lib/verify/statement/unqualified.js +3 -3
  41. package/lib/verify/statement.js +4 -7
  42. package/package.json +2 -2
  43. package/src/axiomLemmaTheoremConjecture.js +6 -6
  44. package/src/conclusion.js +6 -6
  45. package/src/consequent.js +2 -2
  46. package/src/context/file.js +6 -30
  47. package/src/context/local.js +13 -19
  48. package/src/context/localMeta.js +15 -21
  49. package/src/declaration.js +12 -12
  50. package/src/equivalence.js +14 -14
  51. package/src/frame.js +4 -4
  52. package/src/frameAssertion.js +2 -2
  53. package/src/metaConsequent.js +3 -3
  54. package/src/metaLemmaMetatheorem.js +10 -10
  55. package/src/metaSupposition.js +9 -9
  56. package/src/metaType.js +7 -7
  57. package/src/metavariable.js +6 -6
  58. package/src/mixins/nodesVerifier/intrinsiclevel.js +2 -2
  59. package/src/mixins/nodesVerifier/metaLevel.js +2 -2
  60. package/src/premise.js +18 -18
  61. package/src/rule.js +22 -22
  62. package/src/step/metaproof.js +12 -73
  63. package/src/step/proof.js +8 -26
  64. package/src/substitution/metastatementForMetavariable.js +10 -10
  65. package/src/substitution/statementForMetavariable.js +6 -4
  66. package/src/substitution/termForVariable.js +8 -8
  67. package/src/substitution.js +10 -10
  68. package/src/supposition.js +2 -2
  69. package/src/type.js +7 -7
  70. package/src/utilities/match.js +100 -0
  71. package/src/variable.js +11 -11
  72. package/src/verify/containedAssertion.js +76 -27
  73. package/src/verify/definedAssertion.js +90 -41
  74. package/src/verify/frame.js +1 -1
  75. package/src/verify/frameAssertion.js +2 -2
  76. package/src/verify/metaDerivation.js +6 -6
  77. package/src/verify/metaSubDerivation.js +6 -6
  78. package/src/verify/{metaProofStep.js → metaproofStep.js} +60 -19
  79. package/src/verify/metastatement/unqualified.js +3 -7
  80. package/src/verify/metastatement.js +46 -5
  81. package/src/verify/ruleProofStep.js +22 -1
  82. package/src/verify/statement/unqualified.js +2 -2
  83. package/src/verify/statement.js +2 -6
  84. package/lib/utilities/metaproof.js +0 -59
  85. package/lib/utilities/proof.js +0 -59
  86. package/lib/verify/metaProofStep.js +0 -76
  87. package/src/utilities/metaproof.js +0 -53
  88. package/src/utilities/proof.js +0 -53
@@ -8,24 +8,24 @@ Object.defineProperty(exports, "default", {
8
8
  return verifyMetaDerivation;
9
9
  }
10
10
  });
11
- var _metaProofStep = /*#__PURE__*/ _interop_require_default(require("../verify/metaProofStep"));
11
+ var _metaproofStep = /*#__PURE__*/ _interop_require_default(require("../verify/metaproofStep"));
12
12
  var _query = require("../utilities/query");
13
13
  function _interop_require_default(obj) {
14
14
  return obj && obj.__esModule ? obj : {
15
15
  default: obj
16
16
  };
17
17
  }
18
- var metaProofStepNodesQuery = (0, _query.nodesQuery)("/metaDerivation/metaProofStep|lastMetaProofStep");
18
+ var metaproofStepNodesQuery = (0, _query.nodesQuery)("/metaDerivation/metaproofStep|lastMetaproofStep");
19
19
  function verifyMetaDerivation(metaDerivationNode, substitutions, localMetaContext) {
20
20
  var metaDerivationVerified;
21
- var metaProofStepNodes = metaProofStepNodesQuery(metaDerivationNode);
22
- metaDerivationVerified = metaProofStepNodes.every(function(metaProofStepNode) {
23
- var metaProofStepVerified = (0, _metaProofStep.default)(metaProofStepNode, substitutions, localMetaContext);
24
- if (metaProofStepVerified) {
21
+ var metaproofStepNodes = metaproofStepNodesQuery(metaDerivationNode);
22
+ metaDerivationVerified = metaproofStepNodes.every(function(metaproofStepNode) {
23
+ var metaproofStepVerified = (0, _metaproofStep.default)(metaproofStepNode, substitutions, localMetaContext);
24
+ if (metaproofStepVerified) {
25
25
  return true;
26
26
  }
27
27
  });
28
28
  return metaDerivationVerified;
29
29
  }
30
30
 
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YURlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlNZXRhUHJvb2ZTdGVwIGZyb20gXCIuLi92ZXJpZnkvbWV0YVByb29mU3RlcFwiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBtZXRhUHJvb2ZTdGVwTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YURlcml2YXRpb24vbWV0YVByb29mU3RlcHxsYXN0TWV0YVByb29mU3RlcFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YURlcml2YXRpb24obWV0YURlcml2YXRpb25Ob2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhRGVyaXZhdGlvblZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFQcm9vZlN0ZXBOb2RlcyA9IG1ldGFQcm9vZlN0ZXBOb2Rlc1F1ZXJ5KG1ldGFEZXJpdmF0aW9uTm9kZSk7XG5cbiAgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IG1ldGFQcm9vZlN0ZXBOb2Rlcy5ldmVyeSgobWV0YVByb29mU3RlcE5vZGUpID0+IHtcbiAgICBjb25zdCBtZXRhUHJvb2ZTdGVwVmVyaWZpZWQgPSB2ZXJpZnlNZXRhUHJvb2ZTdGVwKG1ldGFQcm9vZlN0ZXBOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChtZXRhUHJvb2ZTdGVwVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YURlcml2YXRpb24iLCJtZXRhUHJvb2ZTdGVwTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhRGVyaXZhdGlvbk5vZGUiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFEZXJpdmF0aW9uVmVyaWZpZWQiLCJtZXRhUHJvb2ZTdGVwTm9kZXMiLCJldmVyeSIsIm1ldGFQcm9vZlN0ZXBOb2RlIiwibWV0YVByb29mU3RlcFZlcmlmaWVkIiwidmVyaWZ5TWV0YVByb29mU3RlcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUF3QkE7OztvRUFOUTtxQkFFTDs7Ozs7O0FBRTNCLElBQU1DLDBCQUEwQkMsSUFBQUEsaUJBQVUsRUFBQztBQUU1QixTQUFTRixxQkFBcUJHLGtCQUFrQixFQUFFQyxhQUFhLEVBQUVDLGdCQUFnQjtJQUM5RixJQUFJQztJQUVKLElBQU1DLHFCQUFxQk4sd0JBQXdCRTtJQUVuREcseUJBQXlCQyxtQkFBbUJDLEtBQUssQ0FBQyxTQUFDQztRQUNqRCxJQUFNQyx3QkFBd0JDLElBQUFBLHNCQUFtQixFQUFDRixtQkFBbUJMLGVBQWVDO1FBRXBGLElBQUlLLHVCQUF1QjtZQUN6QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9KO0FBQ1QifQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YURlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlNZXRhcHJvb2ZTdGVwIGZyb20gXCIuLi92ZXJpZnkvbWV0YXByb29mU3RlcFwiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBtZXRhcHJvb2ZTdGVwTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YURlcml2YXRpb24vbWV0YXByb29mU3RlcHxsYXN0TWV0YXByb29mU3RlcFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YURlcml2YXRpb24obWV0YURlcml2YXRpb25Ob2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhRGVyaXZhdGlvblZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFwcm9vZlN0ZXBOb2RlcyA9IG1ldGFwcm9vZlN0ZXBOb2Rlc1F1ZXJ5KG1ldGFEZXJpdmF0aW9uTm9kZSk7XG5cbiAgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IG1ldGFwcm9vZlN0ZXBOb2Rlcy5ldmVyeSgobWV0YXByb29mU3RlcE5vZGUpID0+IHtcbiAgICBjb25zdCBtZXRhcHJvb2ZTdGVwVmVyaWZpZWQgPSB2ZXJpZnlNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXBOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChtZXRhcHJvb2ZTdGVwVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YURlcml2YXRpb24iLCJtZXRhcHJvb2ZTdGVwTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhRGVyaXZhdGlvbk5vZGUiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFEZXJpdmF0aW9uVmVyaWZpZWQiLCJtZXRhcHJvb2ZTdGVwTm9kZXMiLCJldmVyeSIsIm1ldGFwcm9vZlN0ZXBOb2RlIiwibWV0YXByb29mU3RlcFZlcmlmaWVkIiwidmVyaWZ5TWV0YXByb29mU3RlcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUF3QkE7OztvRUFOUTtxQkFFTDs7Ozs7O0FBRTNCLElBQU1DLDBCQUEwQkMsSUFBQUEsaUJBQVUsRUFBQztBQUU1QixTQUFTRixxQkFBcUJHLGtCQUFrQixFQUFFQyxhQUFhLEVBQUVDLGdCQUFnQjtJQUM5RixJQUFJQztJQUVKLElBQU1DLHFCQUFxQk4sd0JBQXdCRTtJQUVuREcseUJBQXlCQyxtQkFBbUJDLEtBQUssQ0FBQyxTQUFDQztRQUNqRCxJQUFNQyx3QkFBd0JDLElBQUFBLHNCQUFtQixFQUFDRixtQkFBbUJMLGVBQWVDO1FBRXBGLElBQUlLLHVCQUF1QjtZQUN6QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9KO0FBQ1QifQ==
@@ -9,17 +9,17 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _query = require("../utilities/query");
12
- var metaProofStepNodesQuery = (0, _query.nodesQuery)("/metaSubDerivation/metaProofStep|lastMetaProofStep");
12
+ var metaproofStepNodesQuery = (0, _query.nodesQuery)("/metaSubDerivation/metaproofStep|lastMetaproofStep");
13
13
  function verifyMetaSubDerivation(metaSubDerivationNode, substitutions, localMetaContext) {
14
14
  var metaSubDerivationVerified;
15
- var metaProofStepNodes = metaProofStepNodesQuery(metaSubDerivationNode);
16
- metaSubDerivationVerified = metaProofStepNodes.every(function(metaProofStepNode) {
17
- var verifyMetaProofStep = verifyMetaSubDerivation.verifyMetaProofStep, metaProofStepVerified = verifyMetaProofStep(metaProofStepNode, substitutions, localMetaContext);
18
- if (metaProofStepVerified) {
15
+ var metaproofStepNodes = metaproofStepNodesQuery(metaSubDerivationNode);
16
+ metaSubDerivationVerified = metaproofStepNodes.every(function(metaproofStepNode) {
17
+ var verifyMetaproofStep = verifyMetaSubDerivation.verifyMetaproofStep, metaproofStepVerified = verifyMetaproofStep(metaproofStepNode, substitutions, localMetaContext);
18
+ if (metaproofStepVerified) {
19
19
  return true;
20
20
  }
21
21
  });
22
22
  return metaSubDerivationVerified;
23
23
  }
24
24
 
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YVN1YkRlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGFQcm9vZlN0ZXBOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhU3ViRGVyaXZhdGlvbi9tZXRhUHJvb2ZTdGVwfGxhc3RNZXRhUHJvb2ZTdGVwXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhU3ViRGVyaXZhdGlvbihtZXRhU3ViRGVyaXZhdGlvbk5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFTdWJEZXJpdmF0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgbWV0YVByb29mU3RlcE5vZGVzID0gbWV0YVByb29mU3RlcE5vZGVzUXVlcnkobWV0YVN1YkRlcml2YXRpb25Ob2RlKTtcblxuICBtZXRhU3ViRGVyaXZhdGlvblZlcmlmaWVkID0gbWV0YVByb29mU3RlcE5vZGVzLmV2ZXJ5KChtZXRhUHJvb2ZTdGVwTm9kZSkgPT4ge1xuICAgIGNvbnN0IHsgdmVyaWZ5TWV0YVByb29mU3RlcCB9ID0gdmVyaWZ5TWV0YVN1YkRlcml2YXRpb24sXG4gICAgICAgICAgbWV0YVByb29mU3RlcFZlcmlmaWVkID0gdmVyaWZ5TWV0YVByb29mU3RlcChtZXRhUHJvb2ZTdGVwTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YVByb29mU3RlcFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBtZXRhU3ViRGVyaXZhdGlvblZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFTdWJEZXJpdmF0aW9uIiwibWV0YVByb29mU3RlcE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwibWV0YVN1YkRlcml2YXRpb25Ob2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsTWV0YUNvbnRleHQiLCJtZXRhU3ViRGVyaXZhdGlvblZlcmlmaWVkIiwibWV0YVByb29mU3RlcE5vZGVzIiwiZXZlcnkiLCJtZXRhUHJvb2ZTdGVwTm9kZSIsInZlcmlmeU1ldGFQcm9vZlN0ZXAiLCJtZXRhUHJvb2ZTdGVwVmVyaWZpZWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBd0JBOzs7cUJBSkc7QUFFM0IsSUFBTUMsMEJBQTBCQyxJQUFBQSxpQkFBVSxFQUFDO0FBRTVCLFNBQVNGLHdCQUF3QkcscUJBQXFCLEVBQUVDLGFBQWEsRUFBRUMsZ0JBQWdCO0lBQ3BHLElBQUlDO0lBRUosSUFBTUMscUJBQXFCTix3QkFBd0JFO0lBRW5ERyw0QkFBNEJDLG1CQUFtQkMsS0FBSyxDQUFDLFNBQUNDO1FBQ3BELElBQU0sQUFBRUMsc0JBQXdCVix3QkFBeEJVLHFCQUNGQyx3QkFBd0JELG9CQUFvQkQsbUJBQW1CTCxlQUFlQztRQUVwRixJQUFJTSx1QkFBdUI7WUFDekIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPTDtBQUNUIn0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YVN1YkRlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGFwcm9vZlN0ZXBOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhU3ViRGVyaXZhdGlvbi9tZXRhcHJvb2ZTdGVwfGxhc3RNZXRhcHJvb2ZTdGVwXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhU3ViRGVyaXZhdGlvbihtZXRhU3ViRGVyaXZhdGlvbk5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFTdWJEZXJpdmF0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgbWV0YXByb29mU3RlcE5vZGVzID0gbWV0YXByb29mU3RlcE5vZGVzUXVlcnkobWV0YVN1YkRlcml2YXRpb25Ob2RlKTtcblxuICBtZXRhU3ViRGVyaXZhdGlvblZlcmlmaWVkID0gbWV0YXByb29mU3RlcE5vZGVzLmV2ZXJ5KChtZXRhcHJvb2ZTdGVwTm9kZSkgPT4ge1xuICAgIGNvbnN0IHsgdmVyaWZ5TWV0YXByb29mU3RlcCB9ID0gdmVyaWZ5TWV0YVN1YkRlcml2YXRpb24sXG4gICAgICAgICAgbWV0YXByb29mU3RlcFZlcmlmaWVkID0gdmVyaWZ5TWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXByb29mU3RlcFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBtZXRhU3ViRGVyaXZhdGlvblZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFTdWJEZXJpdmF0aW9uIiwibWV0YXByb29mU3RlcE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwibWV0YVN1YkRlcml2YXRpb25Ob2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsTWV0YUNvbnRleHQiLCJtZXRhU3ViRGVyaXZhdGlvblZlcmlmaWVkIiwibWV0YXByb29mU3RlcE5vZGVzIiwiZXZlcnkiLCJtZXRhcHJvb2ZTdGVwTm9kZSIsInZlcmlmeU1ldGFwcm9vZlN0ZXAiLCJtZXRhcHJvb2ZTdGVwVmVyaWZpZWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBd0JBOzs7cUJBSkc7QUFFM0IsSUFBTUMsMEJBQTBCQyxJQUFBQSxpQkFBVSxFQUFDO0FBRTVCLFNBQVNGLHdCQUF3QkcscUJBQXFCLEVBQUVDLGFBQWEsRUFBRUMsZ0JBQWdCO0lBQ3BHLElBQUlDO0lBRUosSUFBTUMscUJBQXFCTix3QkFBd0JFO0lBRW5ERyw0QkFBNEJDLG1CQUFtQkMsS0FBSyxDQUFDLFNBQUNDO1FBQ3BELElBQU0sQUFBRUMsc0JBQXdCVix3QkFBeEJVLHFCQUNGQyx3QkFBd0JELG9CQUFvQkQsbUJBQW1CTCxlQUFlQztRQUVwRixJQUFJTSx1QkFBdUI7WUFDekIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPTDtBQUNUIn0=
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return verifyMetaproofStep;
9
+ }
10
+ });
11
+ var _metaproof = /*#__PURE__*/ _interop_require_default(require("../step/metaproof"));
12
+ var _metaSubproof = /*#__PURE__*/ _interop_require_default(require("../verify/metaSubproof"));
13
+ var _metaSubDerivation = /*#__PURE__*/ _interop_require_default(require("../verify/metaSubDerivation"));
14
+ var _qualified = /*#__PURE__*/ _interop_require_default(require("../verify/statement/qualified"));
15
+ var _unqualified = /*#__PURE__*/ _interop_require_default(require("../verify/statement/unqualified"));
16
+ var _qualified1 = /*#__PURE__*/ _interop_require_default(require("../verify/metastatement/qualified"));
17
+ var _unqualified1 = /*#__PURE__*/ _interop_require_default(require("../verify/metastatement/unqualified"));
18
+ var _query = require("../utilities/query");
19
+ var _assignments = require("../utilities/assignments");
20
+ function _interop_require_default(obj) {
21
+ return obj && obj.__esModule ? obj : {
22
+ default: obj
23
+ };
24
+ }
25
+ var metaSubproofNodeQuery = (0, _query.nodeQuery)("/metaproofStep|lastMetaproofStep/metaSubproof!"), metastatementNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement|unqualifiedMetastatement/metastatement!"), qualifiedStatementNodeQuery = (0, _query.nodeQuery)("/metaproofStep|lastMetaproofStep/qualifiedStatement!"), unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/metaproofStep|lastMetaproofStep/unqualifiedStatement!"), qualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/metaproofStep|lastMetaproofStep/qualifiedMetastatement!"), unqualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/metaproofStep|lastMetaproofStep/unqualifiedMetastatement!");
26
+ function verifyMetaproofStep(metaproofStepNode, substitutions, localMetaContext) {
27
+ var metaproofStepVerified = false;
28
+ var metaSubproofNode = metaSubproofNodeQuery(metaproofStepNode), qualifiedStatementNode = qualifiedStatementNodeQuery(metaproofStepNode), unqualifiedStatementNode = unqualifiedStatementNodeQuery(metaproofStepNode), qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(metaproofStepNode), unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaproofStepNode);
29
+ if (false) {
30
+ ///
31
+ } else if (metaSubproofNode !== null) {
32
+ var metaSubproofVerified;
33
+ metaSubproofVerified = (0, _metaSubproof.default)(metaSubproofNode, substitutions, localMetaContext);
34
+ if (metaSubproofVerified) {
35
+ var metaproofStep = _metaproof.default.fromMetaSubproofNode(metaSubproofNode);
36
+ localMetaContext.addMetaproofStep(metaproofStep);
37
+ metaproofStepVerified = true;
38
+ }
39
+ } else if (qualifiedStatementNode !== null) {
40
+ var qualifiedStatementVerified;
41
+ var assignments = [], localContext = localMetaContext; ///
42
+ qualifiedStatementVerified = (0, _qualified.default)(qualifiedStatementNode, assignments, localContext);
43
+ if (qualifiedStatementVerified) {
44
+ var assignmentAssigned = (0, _assignments.assignAssignment)(assignments, localContext);
45
+ qualifiedStatementVerified = assignmentAssigned; ///
46
+ }
47
+ if (qualifiedStatementVerified) {
48
+ var statementNode = statementNodeQuery(qualifiedStatementNode), metaproofStep1 = _metaproof.default.fromStatementNode(statementNode);
49
+ localMetaContext.addMetaproofStep(metaproofStep1);
50
+ metaproofStepVerified = true;
51
+ }
52
+ } else if (unqualifiedStatementNode !== null) {
53
+ var qualifiedStatementVerified1;
54
+ var assignments1 = [], localContext1 = localMetaContext, _$substitutions = null;
55
+ qualifiedStatementVerified1 = (0, _qualified.default)(qualifiedStatementNode, _$substitutions, assignments1, localContext1);
56
+ if (qualifiedStatementVerified1) {
57
+ var assignmentAssigned1 = (0, _assignments.assignAssignment)(assignments1, localContext1);
58
+ qualifiedStatementVerified1 = assignmentAssigned1; ///
59
+ }
60
+ if (qualifiedStatementVerified1) {
61
+ var statementNode1 = statementNodeQuery(qualifiedStatementNode), metaproofStep2 = _metaproof.default.fromStatementNode(statementNode1);
62
+ localMetaContext.addMetaproofStep(metaproofStep2);
63
+ metaproofStepVerified = qualifiedStatementVerified1; ///
64
+ }
65
+ } else if (qualifiedMetastatementNode !== null) {
66
+ var qualifiedMetastatementVerified;
67
+ var assignments2 = [];
68
+ qualifiedMetastatementVerified = (0, _qualified1.default)(qualifiedMetastatementNode, substitutions, assignments2, localMetaContext);
69
+ if (qualifiedMetastatementVerified) {
70
+ var localContext2 = localMetaContext, assignmentAssigned2 = (0, _assignments.assignAssignment)(assignments2, localContext2);
71
+ qualifiedMetastatementVerified = assignmentAssigned2; ///
72
+ }
73
+ if (qualifiedMetastatementVerified) {
74
+ var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metaproofStep3 = _metaproof.default.fromMetastatementNode(metastatementNode);
75
+ localMetaContext.addMetaproofStep(metaproofStep3);
76
+ metaproofStepVerified = qualifiedMetastatementVerified; ///
77
+ }
78
+ } else if (unqualifiedMetastatementNode !== null) {
79
+ var unqualifiedMetastatementVerified;
80
+ var derived = true, assignments3 = [];
81
+ unqualifiedMetastatementVerified = (0, _unqualified1.default)(unqualifiedMetastatementNode, assignments3, derived, localMetaContext);
82
+ if (unqualifiedMetastatementVerified) {
83
+ var localContext3 = localMetaContext, assignmentAssigned3 = (0, _assignments.assignAssignment)(assignments3, localContext3);
84
+ unqualifiedMetastatementVerified = assignmentAssigned3; ///
85
+ }
86
+ if (unqualifiedMetastatementVerified) {
87
+ var metastatementNode1 = metastatementNodeQuery(unqualifiedMetastatementNode), metaproofStep4 = _metaproof.default.fromMetastatementNode(metastatementNode1);
88
+ localMetaContext.addMetaproofStep(metaproofStep4);
89
+ metaproofStepVerified = true;
90
+ }
91
+ }
92
+ return metaproofStepVerified;
93
+ }
94
+ Object.assign(_metaSubDerivation.default, {
95
+ verifyMetaproofStep: verifyMetaproofStep
96
+ });
97
+
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mU3RlcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFwcm9vZlN0ZXAgZnJvbSBcIi4uL3N0ZXAvbWV0YXByb29mXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YVN1YnByb29mIGZyb20gXCIuLi92ZXJpZnkvbWV0YVN1YnByb29mXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YVN1YkRlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhU3ViRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L21ldGFzdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgYXNzaWduQXNzaWdubWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcblxuY29uc3QgbWV0YVN1YnByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFwcm9vZlN0ZXB8bGFzdE1ldGFwcm9vZlN0ZXAvbWV0YVN1YnByb29mIVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkTWV0YXN0YXRlbWVudHx1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mU3RlcHxsYXN0TWV0YXByb29mU3RlcC9xdWFsaWZpZWRTdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mU3RlcHxsYXN0TWV0YXByb29mU3RlcC91bnF1YWxpZmllZFN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFwcm9vZlN0ZXB8bGFzdE1ldGFwcm9vZlN0ZXAvcXVhbGlmaWVkTWV0YXN0YXRlbWVudCFcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mU3RlcHxsYXN0TWV0YXByb29mU3RlcC91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXBOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhcHJvb2ZTdGVwVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhU3VicHJvb2ZOb2RlID0gbWV0YVN1YnByb29mTm9kZVF1ZXJ5KG1ldGFwcm9vZlN0ZXBOb2RlKSxcbiAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShtZXRhcHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFwcm9vZlN0ZXBOb2RlKSxcbiAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFwcm9vZlN0ZXBOb2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeShtZXRhcHJvb2ZTdGVwTm9kZSk7XG5cbiAgaWYgKGZhbHNlKSB7XG4gICAgLy8vXG4gIH0gZWxzZSBpZiAobWV0YVN1YnByb29mTm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBtZXRhU3VicHJvb2ZWZXJpZmllZDtcblxuICAgIG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gdmVyaWZ5TWV0YVN1YnByb29mKG1ldGFTdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFTdWJwcm9vZlZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YVN1YnByb29mTm9kZShtZXRhU3VicHJvb2ZOb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBtZXRhcHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xuXG4gICAgY29uc3QgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICBsb2NhbENvbnRleHQgPSBsb2NhbE1ldGFDb250ZXh0OyAgLy8vXG5cbiAgICBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgYXNzaWdubWVudEFzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgIG1ldGFwcm9vZlN0ZXAgPSBNZXRhcHJvb2ZTdGVwLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9IGVsc2UgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gbG9jYWxNZXRhQ29udGV4dCwgIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBudWxsO1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBtZXRhcHJvb2ZTdGVwVmVyaWZpZWQgPSBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgfVxuICB9IGVsc2UgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGFzc2lnbm1lbnRzID0gW107XG5cbiAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBhc3NpZ25tZW50cywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHQgPSBsb2NhbE1ldGFDb250ZXh0LCAgLy8vXG4gICAgICAgICAgICBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgfVxuICB9IGVsc2UgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBsZXQgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICBjb25zdCBkZXJpdmVkID0gdHJ1ZSxcbiAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdO1xuXG4gICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHQgPSBsb2NhbE1ldGFDb250ZXh0LCAgLy8vXG4gICAgICAgICAgICBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFwcm9vZlN0ZXBWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbih2ZXJpZnlNZXRhU3ViRGVyaXZhdGlvbiwge1xuICB2ZXJpZnlNZXRhcHJvb2ZTdGVwXG59KTtcbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhcHJvb2ZTdGVwIiwibWV0YVN1YnByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGFwcm9vZlN0ZXBOb2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsTWV0YUNvbnRleHQiLCJtZXRhcHJvb2ZTdGVwVmVyaWZpZWQiLCJtZXRhU3VicHJvb2ZOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFTdWJwcm9vZlZlcmlmaWVkIiwidmVyaWZ5TWV0YVN1YnByb29mIiwibWV0YXByb29mU3RlcCIsIk1ldGFwcm9vZlN0ZXAiLCJmcm9tTWV0YVN1YnByb29mTm9kZSIsImFkZE1ldGFwcm9vZlN0ZXAiLCJxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsImFzc2lnbm1lbnRzIiwibG9jYWxDb250ZXh0IiwidmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50IiwiYXNzaWdubWVudEFzc2lnbmVkIiwiYXNzaWduQXNzaWdubWVudCIsInN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJmcm9tU3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwiZGVyaXZlZCIsInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInZlcmlmeU1ldGFTdWJEZXJpdmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvQkE7OztlQUF3QkE7OztnRUFsQkU7bUVBQ0s7d0VBQ0s7Z0VBQ0M7a0VBQ0U7aUVBQ0U7bUVBQ0U7cUJBRWpCOzJCQUNPOzs7Ozs7QUFFakMsSUFBTUMsd0JBQXdCQyxJQUFBQSxnQkFBUyxFQUFDLG1EQUNsQ0MseUJBQXlCRCxJQUFBQSxnQkFBUyxFQUFDLG9FQUNuQ0UsOEJBQThCRixJQUFBQSxnQkFBUyxFQUFDLHlEQUN4Q0csZ0NBQWdDSCxJQUFBQSxnQkFBUyxFQUFDLDJEQUMxQ0ksa0NBQWtDSixJQUFBQSxnQkFBUyxFQUFDLDZEQUM1Q0ssb0NBQW9DTCxJQUFBQSxnQkFBUyxFQUFDO0FBRXJDLFNBQVNGLG9CQUFvQlEsaUJBQWlCLEVBQUVDLGFBQWEsRUFBRUMsZ0JBQWdCO0lBQzVGLElBQUlDLHdCQUF3QjtJQUU1QixJQUFNQyxtQkFBbUJYLHNCQUFzQk8sb0JBQ3pDSyx5QkFBeUJU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
@@ -21,14 +21,11 @@ function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignment
21
21
  var metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode), unqualifiedMetastatementString = localMetaContext.nodeAsString(unqualifiedMetastatementNode);
22
22
  localMetaContext.trace("Verifying the '".concat(unqualifiedMetastatementString, "' unqualified metastatement..."), unqualifiedMetastatementNode);
23
23
  if (derived) {
24
- var metastatementMatches = localMetaContext.matchMetastatement(metastatementNode);
25
- unqualifiedMetastatementVerified = metastatementMatches; ///
24
+ var matchesMetastatementNode = localMetaContext.matchMetastatementNode(metastatementNode);
25
+ unqualifiedMetastatementVerified = matchesMetastatementNode; ///
26
26
  }
27
27
  if (!unqualifiedMetastatementVerified) {
28
- var metastatementVerified = (0, _metastatement.default)(metastatementNode, assignments, derived, localMetaContext, function() {
29
- var verifiedAhead = true;
30
- return verifiedAhead;
31
- });
28
+ var metastatementVerified = (0, _metastatement.default)(metastatementNode, assignments, derived, localMetaContext);
32
29
  unqualifiedMetastatementVerified = metastatementVerified; ///
33
30
  }
34
31
  if (unqualifiedMetastatementVerified) {
@@ -37,4 +34,4 @@ function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignment
37
34
  return unqualifiedMetastatementVerified;
38
35
  }
39
36
 
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeU1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uLy4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgbWV0YXN0YXRlbWVudC4uLmAsIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChkZXJpdmVkKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudE1hdGNoZXMgPSBsb2NhbE1ldGFDb250ZXh0Lm1hdGNoTWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IG1ldGFzdGF0ZW1lbnRNYXRjaGVzOyAgLy8vXG4gIH1cblxuICBpZiAoIXVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICB9KTtcblxuICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gbWV0YXN0YXRlbWVudFZlcmlmaWVkOyAvLy9cbiAgfVxuXG4gIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBtZXRhc3RhdGVtZW50LmAsIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxNZXRhQ29udGV4dCIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwibWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsIm1ldGFzdGF0ZW1lbnRNYXRjaGVzIiwibWF0Y2hNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsInZlcmlmaWVkQWhlYWQiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUF3QkE7OztvRUFOUTtxQkFFTjs7Ozs7O0FBRTFCLElBQU1DLHlCQUF5QkMsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTRiwrQkFBK0JHLDRCQUE0QixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQ3pILElBQUlDLG1DQUFtQztJQUV2QyxJQUFNQyxvQkFBb0JQLHVCQUF1QkUsK0JBQzNDTSxpQ0FBaUNILGlCQUFpQkksWUFBWSxDQUFDUDtJQUVyRUcsaUJBQWlCSyxLQUFLLENBQUMsQUFBQyxrQkFBZ0QsT0FBL0JGLGdDQUErQixtQ0FBaUNOO0lBRXpHLElBQUlFLFNBQVM7UUFDWCxJQUFNTyx1QkFBdUJOLGlCQUFpQk8sa0JBQWtCLENBQUNMO1FBRWpFRCxtQ0FBbUNLLHNCQUF1QixHQUFHO0lBQy9EO0lBRUEsSUFBSSxDQUFDTCxrQ0FBa0M7UUFDckMsSUFBTU8sd0JBQXdCQyxJQUFBQSxzQkFBbUIsRUFBQ1AsbUJBQW1CSixhQUFhQyxTQUFTQyxrQkFBa0I7WUFDckcsSUFBTVUsZ0JBQWdCO1lBRXRCLE9BQU9BO1FBQ1Q7UUFFTlQsbUNBQW1DTyx1QkFBdUIsR0FBRztJQUMvRDtJQUVBLElBQUlQLGtDQUFrQztRQUNwQ0QsaUJBQWlCVyxLQUFLLENBQUMsQUFBQyxvQkFBa0QsT0FBL0JSLGdDQUErQixpQ0FBK0JOO0lBQzNHO0lBRUEsT0FBT0k7QUFDVCJ9
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeU1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uLy4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgbWV0YXN0YXRlbWVudC4uLmAsIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChkZXJpdmVkKSB7XG4gICAgY29uc3QgbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlID0gbG9jYWxNZXRhQ29udGV4dC5tYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlOyAgLy8vXG4gIH1cblxuICBpZiAoIXVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICB9XG5cbiAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuYCwgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbE1ldGFDb250ZXh0IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwibWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlIiwibWF0Y2hNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeU1ldGFzdGF0ZW1lbnQiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUF3QkE7OztvRUFOUTtxQkFFTjs7Ozs7O0FBRTFCLElBQU1DLHlCQUF5QkMsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTRiwrQkFBK0JHLDRCQUE0QixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQ3pILElBQUlDLG1DQUFtQztJQUV2QyxJQUFNQyxvQkFBb0JQLHVCQUF1QkUsK0JBQzNDTSxpQ0FBaUNILGlCQUFpQkksWUFBWSxDQUFDUDtJQUVyRUcsaUJBQWlCSyxLQUFLLENBQUMsQUFBQyxrQkFBZ0QsT0FBL0JGLGdDQUErQixtQ0FBaUNOO0lBRXpHLElBQUlFLFNBQVM7UUFDWCxJQUFNTywyQkFBMkJOLGlCQUFpQk8sc0JBQXNCLENBQUNMO1FBRXpFRCxtQ0FBbUNLLDBCQUEyQixHQUFHO0lBQ25FO0lBRUEsSUFBSSxDQUFDTCxrQ0FBa0M7UUFDckMsSUFBTU8sd0JBQXdCQyxJQUFBQSxzQkFBbUIsRUFBQ1AsbUJBQW1CSixhQUFhQyxTQUFTQztRQUUzRkMsbUNBQW1DTyx1QkFBdUIsR0FBRztJQUMvRDtJQUVBLElBQUlQLGtDQUFrQztRQUNwQ0QsaUJBQWlCVSxLQUFLLENBQUMsQUFBQyxvQkFBa0QsT0FBL0JQLGdDQUErQixpQ0FBK0JOO0lBQzNHO0lBRUEsT0FBT0k7QUFDVCJ9
@@ -55,21 +55,50 @@ function verifyMetastatementAsFrameAssertion(metastatementNode, assignments, der
55
55
  return metastatementVerifiedAsFrameAssertion;
56
56
  }
57
57
  function verifyMetastatementAsIs(metastatementNode, assignments, derived, localMetaContext) {
58
- var metastatementVerifiedAsIs = false;
58
+ var metastatementVerifiedAsIs;
59
59
  var frameAssertionNode = frameAssertionNodeQuery(metastatementNode);
60
60
  if (frameAssertionNode === null) {
61
61
  var metastatementString = localMetaContext.nodeAsString(metastatementNode);
62
62
  localMetaContext.trace("Verifying the '".concat(metastatementString, "' metastatement as is..."), metastatementNode);
63
- var nonTerminalNode = metastatementNode, nonTerminalNodeVerified = _metastatement.default.verifyNonTerminalNode(nonTerminalNode, localMetaContext, function() {
64
- var verifiedAhead = true;
65
- return verifiedAhead;
63
+ var verifyMetastatementAsIsFunctions = [
64
+ verifyDerivedMetastatementAsIs,
65
+ verifyStatedMetastatementAsIs
66
+ ];
67
+ metastatementVerifiedAsIs = verifyMetastatementAsIsFunctions.some(function(verifyMetastatementAsIsFunction) {
68
+ var metastatementVerifiedAsIs = verifyMetastatementAsIsFunction(metastatementNode, assignments, derived, localMetaContext);
69
+ if (metastatementVerifiedAsIs) {
70
+ return true;
71
+ }
66
72
  });
67
- metastatementVerifiedAsIs = nonTerminalNodeVerified; ///
68
73
  if (metastatementVerifiedAsIs) {
69
74
  localMetaContext.debug("...verified the '".concat(metastatementString, "' metastatement as is."), metastatementNode);
70
75
  }
71
76
  }
72
77
  return metastatementVerifiedAsIs;
73
78
  }
79
+ function verifyDerivedMetastatementAsIs(metastatementNode, assignments, derived, localMetaContext) {
80
+ var derivedMetastatementVerifiedAsIs = false;
81
+ if (derived) {
82
+ var metastatementString = localMetaContext.nodeAsString(metastatementNode);
83
+ localMetaContext.debug("Cannot verify the derived '".concat(metastatementString, "' metastatement as is."), metastatementNode);
84
+ }
85
+ return derivedMetastatementVerifiedAsIs;
86
+ }
87
+ function verifyStatedMetastatementAsIs(metastatementNode, assignments, derived, localMetaContext) {
88
+ var statedMetastatementVerifiedAsIs = false;
89
+ if (!derived) {
90
+ var metastatementString = localMetaContext.nodeAsString(metastatementNode);
91
+ localMetaContext.trace("Verifying the stated '".concat(metastatementString, "' metastatement as is..."), metastatementNode);
92
+ var nonTerminalNode = metastatementNode, nonTerminalNodeVerified = _metastatement.default.verifyNonTerminalNode(nonTerminalNode, localMetaContext, function() {
93
+ var verifiedAhead = true;
94
+ return verifiedAhead;
95
+ });
96
+ statedMetastatementVerifiedAsIs = nonTerminalNodeVerified; ///
97
+ if (statedMetastatementVerifiedAsIs) {
98
+ localMetaContext.debug("...verified the stated '".concat(metastatementString, "' metastatement as is."), metastatementNode);
99
+ }
100
+ }
101
+ return statedMetastatementVerifiedAsIs;
102
+ }
74
103
 
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUZyYW1lQXNzZXJ0aW9uIGZyb20gXCIuLi92ZXJpZnkvZnJhbWVBc3NlcnRpb25cIjtcbmltcG9ydCBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllci9ub2RlL21ldGFzdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBmcmFtZUFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L2ZyYW1lQXNzZXJ0aW9uIVwiKTtcblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgdmVyaWZ5TWV0YVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlNZXRhc3RhdGVtZW50QXNGcmFtZUFzc2VydGlvbixcbiAgICB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc1xuICBdO1xuXG4gIG1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeU1ldGFTdGF0ZW1lbnRGdW5jdGlvbnMuc29tZSgodmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbihtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50LmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG5cbk9iamVjdC5hc3NpZ24obWV0YXN0YXRlbWVudE5vZGVWZXJpZmllciwge1xuICB2ZXJpZnlNZXRhc3RhdGVtZW50XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgdmVyaWZ5TWV0YXN0YXRlbWVudDtcblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudEFzRnJhbWVBc3NlcnRpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0ZyYW1lQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgZnJhbWVBc3NlcnRpb25Ob2RlID0gZnJhbWVBc3NlcnRpb25Ob2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChmcmFtZUFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGZyYW1lIGFzc2VydGlvbi4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlGcmFtZUFzc2VydGlvbihmcmFtZUFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRnJhbWVBc3NlcnRpb24gPSBmcmFtZUFzc2VydGlvblZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZUFzc2VydGlvbikge1xuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZnJhbWUgYXNzZXJ0aW9uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZUFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudEFzSXMobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzID0gZmFsc2U7XG5cbiAgY29uc3QgZnJhbWVBc3NlcnRpb25Ob2RlID0gZnJhbWVBc3NlcnRpb25Ob2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChmcmFtZUFzc2VydGlvbk5vZGUgPT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBpcy4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgbG9jYWxNZXRhQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgIH0pO1xuXG4gICAgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcykge1xuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGlzLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcztcbn1cbiJdLCJuYW1lcyI6WyJmcmFtZUFzc2VydGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInZlcmlmeU1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsTWV0YUNvbnRleHQiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzRnJhbWVBc3NlcnRpb24iLCJ2ZXJpZnlNZXRhc3RhdGVtZW50QXNJcyIsInNvbWUiLCJ2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbiIsImRlYnVnIiwiT2JqZWN0IiwiYXNzaWduIiwibWV0YXN0YXRlbWVudE5vZGVWZXJpZmllciIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRnJhbWVBc3NlcnRpb24iLCJmcmFtZUFzc2VydGlvbk5vZGUiLCJmcmFtZUFzc2VydGlvblZlcmlmaWVkIiwidmVyaWZ5RnJhbWVBc3NlcnRpb24iLCJtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzIiwibm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJ2ZXJpZmllZEFoZWFkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF3Q0E7OztlQUFBOzs7cUVBdENpQztvRUFDSztxQkFFWjs7Ozs7O0FBRTFCLElBQU1BLDBCQUEwQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQyxTQUFTQyxvQkFBb0JDLGlCQUFpQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQ3BGLElBQUlDO0lBRUosSUFBTUMsc0JBQXNCRixpQkFBaUJHLFlBQVksQ0FBQ047SUFFMURHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQXFDLE9BQXBCRixxQkFBb0IsdUJBQXFCTDtJQUVsRixJQUFNUSwrQkFBK0I7UUFDbkNDO1FBQ0FDO0tBQ0Q7SUFFRE4sd0JBQXdCSSw2QkFBNkJHLElBQUksQ0FBQyxTQUFDQztRQUN6RCxJQUFNUix3QkFBd0JRLHdCQUF3QlosbUJBQW1CQyxhQUFhQyxTQUFTQztRQUUvRixJQUFJQyx1QkFBdUI7WUFDekIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJQSx1QkFBdUI7UUFDekJELGlCQUFpQlUsS0FBSyxDQUFDLEFBQUMsb0JBQXVDLE9BQXBCUixxQkFBb0IscUJBQW1CTDtJQUNwRjtJQUVBLE9BQU9JO0FBQ1Q7QUFFQVUsT0FBT0MsTUFBTSxDQUFDQyxzQkFBeUIsRUFBRTtJQUN2Q2pCLHFCQUFBQTtBQUNGO0lBRUEsV0FBZUE7QUFFZixTQUFTVSxvQ0FBb0NULGlCQUFpQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQ3BHLElBQUljLHdDQUF3QztJQUU1QyxJQUFNQyxxQkFBcUJyQix3QkFBd0JHO0lBRW5ELElBQUlrQix1QkFBdUIsTUFBTTtRQUMvQixJQUFNYixzQkFBc0JGLGlCQUFpQkcsWUFBWSxDQUFDTjtRQUUxREcsaUJBQWlCSSxLQUFLLENBQUMsQUFBQyxrQkFBcUMsT0FBcEJGLHFCQUFvQiw0Q0FBMENMO1FBRXZHLElBQU1tQix5QkFBeUJDLElBQUFBLHVCQUFvQixFQUFDRixvQkFBb0JqQixhQUFhQyxTQUFTQztRQUU5RmMsd0NBQXdDRSx3QkFBeUIsR0FBRztRQUVwRSxJQUFJRix1Q0FBdUM7WUFDekNkLGlCQUFpQlUsS0FBSyxDQUFDLEFBQUMsb0JBQXVDLE9BQXBCUixxQkFBb0IsMENBQXdDTDtRQUN6RztJQUNGO0lBRUEsT0FBT2lCO0FBQ1Q7QUFFQSxTQUFTUCx3QkFBd0JWLGlCQUFpQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQ3hGLElBQUlrQiw0QkFBNEI7SUFFaEMsSUFBTUgscUJBQXFCckIsd0JBQXdCRztJQUVuRCxJQUFJa0IsdUJBQXVCLE1BQU07UUFDL0IsSUFBTWIsc0JBQXNCRixpQkFBaUJHLFlBQVksQ0FBQ047UUFFMURHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQXFDLE9BQXBCRixxQkFBb0IsNkJBQTJCTDtRQUV4RixJQUFNc0Isa0JBQWtCdEIsbUJBQ2xCdUIsMEJBQTBCUCxzQkFBeUIsQ0FBQ1EscUJBQXFCLENBQUNGLGlCQUFpQm5CLGtCQUFrQjtZQUMzRyxJQUFNc0IsZ0JBQWdCO1lBRXRCLE9BQU9BO1FBQ1Q7UUFFTkosNEJBQTRCRSx5QkFBMEIsR0FBRztRQUV6RCxJQUFJRiwyQkFBMkI7WUFDN0JsQixpQkFBaUJVLEtBQUssQ0FBQyxBQUFDLG9CQUF1QyxPQUFwQlIscUJBQW9CLDJCQUF5Qkw7UUFDMUY7SUFDRjtJQUVBLE9BQU9xQjtBQUNUIn0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUZyYW1lQXNzZXJ0aW9uIGZyb20gXCIuLi92ZXJpZnkvZnJhbWVBc3NlcnRpb25cIjtcbmltcG9ydCBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllci9ub2RlL21ldGFzdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBmcmFtZUFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L2ZyYW1lQXNzZXJ0aW9uIVwiKTtcblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgdmVyaWZ5TWV0YVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlNZXRhc3RhdGVtZW50QXNGcmFtZUFzc2VydGlvbixcbiAgICB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc1xuICBdO1xuXG4gIG1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeU1ldGFTdGF0ZW1lbnRGdW5jdGlvbnMuc29tZSgodmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbihtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50LmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG5cbk9iamVjdC5hc3NpZ24obWV0YXN0YXRlbWVudE5vZGVWZXJpZmllciwge1xuICB2ZXJpZnlNZXRhc3RhdGVtZW50XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgdmVyaWZ5TWV0YXN0YXRlbWVudDtcblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudEFzRnJhbWVBc3NlcnRpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0ZyYW1lQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgZnJhbWVBc3NlcnRpb25Ob2RlID0gZnJhbWVBc3NlcnRpb25Ob2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChmcmFtZUFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGZyYW1lIGFzc2VydGlvbi4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlGcmFtZUFzc2VydGlvbihmcmFtZUFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRnJhbWVBc3NlcnRpb24gPSBmcmFtZUFzc2VydGlvblZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZUFzc2VydGlvbikge1xuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZnJhbWUgYXNzZXJ0aW9uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZUFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudEFzSXMobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xuXG4gIGNvbnN0IGZyYW1lQXNzZXJ0aW9uTm9kZSA9IGZyYW1lQXNzZXJ0aW9uTm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZnJhbWVBc3NlcnRpb25Ob2RlID09PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9ucyA9IFtcbiAgICAgIHZlcmlmeURlcml2ZWRNZXRhc3RhdGVtZW50QXNJcyxcbiAgICAgIHZlcmlmeVN0YXRlZE1ldGFzdGF0ZW1lbnRBc0lzXG4gICAgXTtcblxuICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9ucy5zb21lKCh2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9uKSA9PiB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzID0gdmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNGdW5jdGlvbihtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzKSB7XG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlEZXJpdmVkTWV0YXN0YXRlbWVudEFzSXMobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IGZhbHNlO1xuXG4gIGlmIChkZXJpdmVkKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYENhbm5vdCB2ZXJpZnkgdGhlIGRlcml2ZWQgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNJcyhtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IHN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSBmYWxzZTtcblxuICBpZiAoIWRlcml2ZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSBzdGF0ZWQgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGxvY2FsTWV0YUNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICB9KTtcblxuICAgIHN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuXG4gICAgaWYgKHN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMpIHtcbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBzdGF0ZWQgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuIl0sIm5hbWVzIjpbImZyYW1lQXNzZXJ0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsIm1ldGFzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInZlcmlmeU1ldGFTdGF0ZW1lbnRGdW5jdGlvbnMiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50QXNGcmFtZUFzc2VydGlvbiIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzIiwic29tZSIsInZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uIiwiZGVidWciLCJPYmplY3QiLCJhc3NpZ24iLCJtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyIiwibWV0YXN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZUFzc2VydGlvbiIsImZyYW1lQXNzZXJ0aW9uTm9kZSIsImZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlGcmFtZUFzc2VydGlvbiIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9ucyIsInZlcmlmeURlcml2ZWRNZXRhc3RhdGVtZW50QXNJcyIsInZlcmlmeVN0YXRlZE1ldGFzdGF0ZW1lbnRBc0lzIiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNGdW5jdGlvbiIsImRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzIiwic3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwidmVyaWZpZWRBaGVhZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBd0NBOzs7ZUFBQTs7O3FFQXRDaUM7b0VBQ0s7cUJBRVo7Ozs7OztBQUUxQixJQUFNQSwwQkFBMEJDLElBQUFBLGdCQUFTLEVBQUM7QUFFMUMsU0FBU0Msb0JBQW9CQyxpQkFBaUIsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLGdCQUFnQjtJQUNwRixJQUFJQztJQUVKLElBQU1DLHNCQUFzQkYsaUJBQWlCRyxZQUFZLENBQUNOO0lBRTFERyxpQkFBaUJJLEtBQUssQ0FBQyxBQUFDLGtCQUFxQyxPQUFwQkYscUJBQW9CLHVCQUFxQkw7SUFFbEYsSUFBTVEsK0JBQStCO1FBQ25DQztRQUNBQztLQUNEO0lBRUROLHdCQUF3QkksNkJBQTZCRyxJQUFJLENBQUMsU0FBQ0M7UUFDekQsSUFBTVIsd0JBQXdCUSx3QkFBd0JaLG1CQUFtQkMsYUFBYUMsU0FBU0M7UUFFL0YsSUFBSUMsdUJBQXVCO1lBQ3pCLE9BQU87UUFDVDtJQUNGO0lBRUEsSUFBSUEsdUJBQXVCO1FBQ3pCRCxpQkFBaUJVLEtBQUssQ0FBQyxBQUFDLG9CQUF1QyxPQUFwQlIscUJBQW9CLHFCQUFtQkw7SUFDcEY7SUFFQSxPQUFPSTtBQUNUO0FBRUFVLE9BQU9DLE1BQU0sQ0FBQ0Msc0JBQXlCLEVBQUU7SUFDdkNqQixxQkFBQUE7QUFDRjtJQUVBLFdBQWVBO0FBRWYsU0FBU1Usb0NBQW9DVCxpQkFBaUIsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLGdCQUFnQjtJQUNwRyxJ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
@@ -49,31 +49,42 @@ function verifyRuleProofStep(ruleProofStepNode, localMetaContext) {
49
49
  ruleProofStepVerified = true;
50
50
  }
51
51
  } else if (unqualifiedStatementNode !== null) {
52
- debugger;
52
+ var qualifiedStatementVerified1;
53
+ var assignments1 = [], localContext1 = localMetaContext, substitutions = null;
54
+ qualifiedStatementVerified1 = (0, _qualified.default)(qualifiedStatementNode, substitutions, assignments1, localContext1);
55
+ if (qualifiedStatementVerified1) {
56
+ var assignmentAssigned1 = (0, _assignments.assignAssignment)(assignments1, localContext1);
57
+ qualifiedStatementVerified1 = assignmentAssigned1; ///
58
+ }
59
+ if (qualifiedStatementVerified1) {
60
+ var statementNode1 = statementNodeQuery(qualifiedStatementNode), metaproofStep2 = _metaproof.default.fromStatementNode(statementNode1);
61
+ localMetaContext.addMetaproofStep(metaproofStep2);
62
+ ruleProofStepVerified = qualifiedStatementVerified1; ///
63
+ }
53
64
  } else if (qualifiedMetastatementNode !== null) {
54
65
  var qualifiedMetastatementVerified;
55
- var assignments1 = [], substitutions = null;
56
- qualifiedMetastatementVerified = (0, _qualified1.default)(qualifiedMetastatementNode, substitutions, assignments1, localMetaContext);
66
+ var assignments2 = [], substitutions1 = null;
67
+ qualifiedMetastatementVerified = (0, _qualified1.default)(qualifiedMetastatementNode, substitutions1, assignments2, localMetaContext);
57
68
  if (qualifiedMetastatementVerified) {
58
- var localContext1 = localMetaContext, assignmentAssigned1 = (0, _assignments.assignAssignment)(assignments1, localContext1);
59
- qualifiedMetastatementVerified = assignmentAssigned1; ///
69
+ var localContext2 = localMetaContext, assignmentAssigned2 = (0, _assignments.assignAssignment)(assignments2, localContext2);
70
+ qualifiedMetastatementVerified = assignmentAssigned2; ///
60
71
  }
61
72
  if (qualifiedMetastatementVerified) {
62
- var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metaproofStep2 = _metaproof.default.fromMetastatementNode(metastatementNode);
63
- localMetaContext.addMetaproofStep(metaproofStep2);
73
+ var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metaproofStep3 = _metaproof.default.fromMetastatementNode(metastatementNode);
74
+ localMetaContext.addMetaproofStep(metaproofStep3);
64
75
  ruleProofStepVerified = qualifiedMetastatementVerified; ///
65
76
  }
66
77
  } else if (unqualifiedMetastatementNode !== null) {
67
78
  var unqualifiedMetastatementVerified;
68
- var derived = true, assignments2 = [];
69
- unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, assignments2, derived, localMetaContext);
79
+ var derived = true, assignments3 = [];
80
+ unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, assignments3, derived, localMetaContext);
70
81
  if (unqualifiedMetastatementVerified) {
71
- var localContext2 = localMetaContext, assignmentAssigned2 = (0, _assignments.assignAssignment)(assignments2, localContext2);
72
- unqualifiedMetastatementVerified = assignmentAssigned2; ///
82
+ var localContext3 = localMetaContext, assignmentAssigned3 = (0, _assignments.assignAssignment)(assignments3, localContext3);
83
+ unqualifiedMetastatementVerified = assignmentAssigned3; ///
73
84
  }
74
85
  if (unqualifiedMetastatementVerified) {
75
- var metastatementNode1 = metastatementNodeQuery(unqualifiedMetastatementNode), metaproofStep3 = _metaproof.default.fromMetastatementNode(metastatementNode1);
76
- localMetaContext.addMetaproofStep(metaproofStep3);
86
+ var metastatementNode1 = metastatementNodeQuery(unqualifiedMetastatementNode), metaproofStep4 = _metaproof.default.fromMetastatementNode(metastatementNode1);
87
+ localMetaContext.addMetaproofStep(metaproofStep4);
77
88
  ruleProofStepVerified = true;
78
89
  }
79
90
  }
@@ -83,4 +94,4 @@ Object.assign(_ruleSubDerivation.default, {
83
94
  verifyRuleProofStep: verifyRuleProofStep
84
95
  });
85
96
 
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZVByb29mU3RlcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFwcm9vZlN0ZXAgZnJvbSBcIi4uL3N0ZXAvbWV0YXByb29mXCI7XG5pbXBvcnQgdmVyaWZ5UnVsZVN1YnByb29mIGZyb20gXCIuLi92ZXJpZnkvcnVsZVN1YnByb29mXCI7XG5pbXBvcnQgdmVyaWZ5UnVsZVN1YkRlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9ydWxlU3ViRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGFzc2lnbkFzc2lnbm1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2Fzc2lnbm1lbnRzXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRTdGF0ZW1lbnR8dW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIHJ1bGVTdWJwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlUHJvb2ZTdGVwfGxhc3RSdWxlUHJvb2ZTdGVwL3J1bGVTdWJwcm9vZiFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnR8dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvcXVhbGlmaWVkU3RhdGVtZW50IVwiKSxcbiAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvdW5xdWFsaWZpZWRTdGF0ZW1lbnQhXCIpLFxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlUHJvb2ZTdGVwfGxhc3RSdWxlUHJvb2ZTdGVwL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UnVsZVByb29mU3RlcChydWxlUHJvb2ZTdGVwTm9kZSwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgcnVsZVByb29mU3RlcFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgcnVsZVN1YnByb29mTm9kZSA9IHJ1bGVTdWJwcm9vZk5vZGVRdWVyeShydWxlUHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkocnVsZVByb29mU3RlcE5vZGUpLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShydWxlUHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeShydWxlUHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocnVsZVByb29mU3RlcE5vZGUpO1xuXG4gIGlmIChmYWxzZSkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKHJ1bGVTdWJwcm9vZk5vZGUgIT09IG51bGwpIHtcbiAgICBsZXQgcnVsZVN1YnByb29mVmVyaWZpZWQ7XG5cbiAgICBydWxlU3VicHJvb2ZWZXJpZmllZCA9IHZlcmlmeVJ1bGVTdWJwcm9vZihydWxlU3VicHJvb2ZOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChydWxlU3VicHJvb2ZWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbVJ1bGVTdWJwcm9vZk5vZGUocnVsZVN1YnByb29mTm9kZSk7XG5cbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgICAgcnVsZVByb29mU3RlcFZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gbG9jYWxNZXRhQ29udGV4dDsgIC8vL1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBydWxlUHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBkZWJ1Z2dlclxuICB9IGVsc2UgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IG51bGw7XG5cbiAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBhc3NpZ25tZW50cywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHQgPSBsb2NhbE1ldGFDb250ZXh0LCAgLy8vXG4gICAgICAgICAgICBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIHJ1bGVQcm9vZlN0ZXBWZXJpZmllZCA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgfVxuICB9IGVsc2UgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBsZXQgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICBjb25zdCBkZXJpdmVkID0gdHJ1ZSxcbiAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdO1xuXG4gICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHQgPSBsb2NhbE1ldGFDb250ZXh0LCAgLy8vXG4gICAgICAgICAgICBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIHJ1bGVQcm9vZlN0ZXBWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJ1bGVQcm9vZlN0ZXBWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbih2ZXJpZnlSdWxlU3ViRGVyaXZhdGlvbiwge1xuICB2ZXJpZnlSdWxlUHJvb2ZTdGVwXG59KTtcbiJdLCJuYW1lcyI6WyJ2ZXJpZnlSdWxlUHJvb2ZTdGVwIiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicnVsZVN1YnByb29mTm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInJ1bGVQcm9vZlN0ZXBOb2RlIiwibG9jYWxNZXRhQ29udGV4dCIsInJ1bGVQcm9vZlN0ZXBWZXJpZmllZCIsInJ1bGVTdWJwcm9vZk5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwicnVsZVN1YnByb29mVmVyaWZpZWQiLCJ2ZXJpZnlSdWxlU3VicHJvb2YiLCJtZXRhcHJvb2ZTdGVwIiwiTWV0YXByb29mU3RlcCIsImZyb21SdWxlU3VicHJvb2ZOb2RlIiwiYWRkTWV0YXByb29mU3RlcCIsInF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwiYXNzaWdubWVudHMiLCJsb2NhbENvbnRleHQiLCJ2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQiLCJhc3NpZ25tZW50QXNzaWduZWQiLCJhc3NpZ25Bc3NpZ25tZW50Iiwic3RhdGVtZW50Tm9kZSIsImZyb21TdGF0ZW1lbnROb2RlIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwic3Vic3RpdHV0aW9ucyIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwiZGVyaXZlZCIsInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInZlcmlmeVJ1bGVTdWJEZXJpdmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvQkE7OztlQUF3QkE7OztnRUFsQkU7bUVBQ0s7d0VBQ0s7Z0VBQ0M7aUVBQ0k7a0VBQ0U7cUJBRWpCOzJCQUNPOzs7Ozs7QUFFakMsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHdEQUMvQkMsd0JBQXdCRCxJQUFBQSxnQkFBUyxFQUFDLG1EQUNsQ0UseUJBQXlCRixJQUFBQSxnQkFBUyxFQUFDLG9FQUNuQ0csOEJBQThCSCxJQUFBQSxnQkFBUyxFQUFDLHlEQUN4Q0ksZ0NBQWdDSixJQUFBQSxnQkFBUyxFQUFDLDJEQUMxQ0ssa0NBQWtDTCxJQUFBQSxnQkFBUyxFQUFDLDZEQUM1Q00sb0NBQW9DTixJQUFBQSxnQkFBUyxFQUFDO0FBRXJDLFNBQVNGLG9CQUFvQlMsaUJBQWlCLEVBQUVDLGdCQUFnQjtJQUM3RSxJQUFJQyx3QkFBd0I7SUFFNUIsSUFBTUMsbUJBQW1CVCxzQkFBc0JNLG9CQUN6Q0kseUJBQXlCUiw0QkFBNEJJLG9CQUNyREssMkJBQTJCUiw4QkFBOEJHLG9CQUN6RE0sNkJBQTZCUixnQ0FBZ0NFLG9CQUM3RE8sK0JBQStCUixrQ0FBa0NDO0lBRXZFLElBQUksT0FBTztJQUNULEdBQUc7SUFDTCxPQUFPLElBQUlHLHFCQUFxQixNQUFNO1FBQ3BDLElBQUlLO1FBRUpBLHVCQUF1QkMsSUFBQUEscUJBQWtCLEVBQUNOLGtCQUFrQkY7UUFFNUQsSUFBSU8sc0JBQXNCO1lBQ3hCLElBQU1FLGdCQUFnQkMsa0JBQWEsQ0FBQ0Msb0JBQW9CLENBQUNUO1lBRXpERixpQkFBaUJZLGdCQUFnQixDQUFDSDtZQUVsQ1Isd0JBQXdCO1FBQzFCO0lBQ0YsT0FBTyxJQUFJRSwyQkFBMkIsTUFBTTtRQUMxQyxJQUFJVTtRQUVKLElBQU1DLGNBQWMsRUFBRSxFQUNoQkMsZUFBZWYsa0JBQW1CLEdBQUc7UUFFM0NhLDZCQUE2QkcsSUFBQUEsa0JBQXdCLEVBQUNiLHdCQUF3QlcsYUFBYUM7UUFFM0YsSUFBSUYsNEJBQTRCO1lBQzlCLElBQU1JLHFCQUFxQkMsSUFBQUEsNkJBQWdCLEVBQUNKLGFBQWFDO1lBRXpERiw2QkFBNkJJLG9CQUFvQixHQUFHO1FBQ3REO1FBRUEsSUFBSUosNEJBQTRCO1lBQzlCLElBQU1NLGdCQUFnQjVCLG1CQUFtQlkseUJBQ25DTSxpQkFBZ0JDLGtCQUFhLENBQUNVLGlCQUFpQixDQUFDRDtZQUV0RG5CLGlCQUFpQlksZ0JBQWdCLENBQUNIO1lBRWxDUix3QkFBd0I7UUFDMUI7SUFDRixPQUFPLElBQUlHLDZCQUE2QixNQUFNO1FBQzVDLFFBQVE7SUFDVixPQUFPLElBQUlDLCtCQUErQixNQUFNO1FBQzlDLElBQUlnQjtRQUVKLElBQU1QLGVBQWMsRUFBRSxFQUNoQlEsZ0JBQWdCO1FBRXRCRCxpQ0FBaUNFLElBQUFBLG1CQUE0QixFQUFDbEIsNEJBQTRCaUIsZUFBZVIsY0FBYWQ7UUFFdEgsSUFBSXFCLGdDQUFnQztZQUNsQyxJQUFNTixnQkFBZWYsa0JBQ2ZpQixzQkFBcUJDLElBQUFBLDZCQUFnQixFQUFDSixjQUFhQztZQUV6RE0saUNBQWlDSixxQkFBb0IsR0FBRztRQUMxRDtRQUVBLElBQUlJLGdDQUFnQztZQUNsQyxJQUFNRyxvQkFBb0I5Qix1QkFBdUJXLDZCQUMzQ0ksaUJBQWdCQyxrQkFBYSxDQUFDZSxxQkFBcUIsQ0FBQ0Q7WUFFMUR4QixpQkFBaUJZLGdCQUFnQixDQUFDSDtZQUVsQ1Isd0JBQXdCb0IsZ0NBQWdDLEdBQUc7UUFDN0Q7SUFDRixPQUFPLElBQUlmLGlDQUFpQyxNQUFNO1FBQ2hELElBQUlvQjtRQUVKLElBQU1DLFVBQVUsTUFDVmIsZUFBYyxFQUFFO1FBRXRCWSxtQ0FBbUNFLElBQUFBLG9CQUE4QixFQUFDdEIsOEJBQThCUSxjQUFhYSxTQUFTM0I7UUFFdEgsSUFBSTBCLGtDQUFrQztZQUNwQyxJQUFNWCxnQkFBZWYsa0JBQ2ZpQixzQkFBcUJDLElBQUFBLDZCQUFnQixFQUFDSixjQUFhQztZQUV6RFcsbUNBQW1DVCxxQkFBb0IsR0FBRztRQUM1RDtRQUVBLElBQUlTLGtDQUFrQztZQUNwQyxJQUFNRixxQkFBb0I5Qix1QkFBdUJZLCtCQUMzQ0csaUJBQWdCQyxrQkFBYSxDQUFDZSxxQkFBcUIsQ0FBQ0Q7WUFFMUR4QixpQkFBaUJZLGdCQUFnQixDQUFDSDtZQUVsQ1Isd0JBQXdCO1FBQzFCO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUO0FBRUE0QixPQUFPQyxNQUFNLENBQUNDLDBCQUF1QixFQUFFO0lBQ3JDekMscUJBQUFBO0FBQ0YifQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZVByb29mU3RlcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFwcm9vZlN0ZXAgZnJvbSBcIi4uL3N0ZXAvbWV0YXByb29mXCI7XG5pbXBvcnQgdmVyaWZ5UnVsZVN1YnByb29mIGZyb20gXCIuLi92ZXJpZnkvcnVsZVN1YnByb29mXCI7XG5pbXBvcnQgdmVyaWZ5UnVsZVN1YkRlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9ydWxlU3ViRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGFzc2lnbkFzc2lnbm1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2Fzc2lnbm1lbnRzXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRTdGF0ZW1lbnR8dW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIHJ1bGVTdWJwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlUHJvb2ZTdGVwfGxhc3RSdWxlUHJvb2ZTdGVwL3J1bGVTdWJwcm9vZiFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnR8dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvcXVhbGlmaWVkU3RhdGVtZW50IVwiKSxcbiAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvdW5xdWFsaWZpZWRTdGF0ZW1lbnQhXCIpLFxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlUHJvb2ZTdGVwfGxhc3RSdWxlUHJvb2ZTdGVwL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3J1bGVQcm9vZlN0ZXB8bGFzdFJ1bGVQcm9vZlN0ZXAvdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UnVsZVByb29mU3RlcChydWxlUHJvb2ZTdGVwTm9kZSwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgcnVsZVByb29mU3RlcFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgcnVsZVN1YnByb29mTm9kZSA9IHJ1bGVTdWJwcm9vZk5vZGVRdWVyeShydWxlUHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkocnVsZVByb29mU3RlcE5vZGUpLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShydWxlUHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeShydWxlUHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocnVsZVByb29mU3RlcE5vZGUpO1xuXG4gIGlmIChmYWxzZSkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKHJ1bGVTdWJwcm9vZk5vZGUgIT09IG51bGwpIHtcbiAgICBsZXQgcnVsZVN1YnByb29mVmVyaWZpZWQ7XG5cbiAgICBydWxlU3VicHJvb2ZWZXJpZmllZCA9IHZlcmlmeVJ1bGVTdWJwcm9vZihydWxlU3VicHJvb2ZOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChydWxlU3VicHJvb2ZWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbVJ1bGVTdWJwcm9vZk5vZGUocnVsZVN1YnByb29mTm9kZSk7XG5cbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgICAgcnVsZVByb29mU3RlcFZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gbG9jYWxNZXRhQ29udGV4dDsgIC8vL1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBydWxlUHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICBjb25zdCBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgIGxvY2FsQ29udGV4dCA9IGxvY2FsTWV0YUNvbnRleHQsICAvLy9cbiAgICAgICAgICBzdWJzdGl0dXRpb25zID0gbnVsbDtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50KHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgICAgcnVsZVByb29mU3RlcFZlcmlmaWVkID0gcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICAgIH1cbiAgfSBlbHNlIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICBjb25zdCBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBudWxsO1xuXG4gICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgYXNzaWdubWVudHMsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgbG9jYWxDb250ZXh0ID0gbG9jYWxNZXRhQ29udGV4dCwgIC8vL1xuICAgICAgICAgICAgYXNzaWdubWVudEFzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBydWxlUHJvb2ZTdGVwVmVyaWZpZWQgPSBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICAgIH1cbiAgfSBlbHNlIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xuXG4gICAgY29uc3QgZGVyaXZlZCA9IHRydWUsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXTtcblxuICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgbG9jYWxDb250ZXh0ID0gbG9jYWxNZXRhQ29udGV4dCwgIC8vL1xuICAgICAgICAgICAgYXNzaWdubWVudEFzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBydWxlUHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBydWxlUHJvb2ZTdGVwVmVyaWZpZWQ7XG59XG5cbk9iamVjdC5hc3NpZ24odmVyaWZ5UnVsZVN1YkRlcml2YXRpb24sIHtcbiAgdmVyaWZ5UnVsZVByb29mU3RlcFxufSk7XG4iXSwibmFtZXMiOlsidmVyaWZ5UnVsZVByb29mU3RlcCIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInJ1bGVTdWJwcm9vZk5vZGVRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJydWxlUHJvb2ZTdGVwTm9kZSIsImxvY2FsTWV0YUNvbnRleHQiLCJydWxlUHJvb2ZTdGVwVmVyaWZpZWQiLCJydWxlU3VicHJvb2ZOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInJ1bGVTdWJwcm9vZlZlcmlmaWVkIiwidmVyaWZ5UnVsZVN1YnByb29mIiwibWV0YXByb29mU3RlcCIsIk1ldGFwcm9vZlN0ZXAiLCJmcm9tUnVsZVN1YnByb29mTm9kZSIsImFkZE1ldGFwcm9vZlN0ZXAiLCJxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsImFzc2lnbm1lbnRzIiwibG9jYWxDb250ZXh0IiwidmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50IiwiYXNzaWdubWVudEFzc2lnbmVkIiwiYXNzaWduQXNzaWdubWVudCIsInN0YXRlbWVudE5vZGUiLCJmcm9tU3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGUiLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsImRlcml2ZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJ2ZXJpZnlSdWxlU3ViRGVyaXZhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBb0JBOzs7ZUFBd0JBOzs7Z0VBbEJFO21FQUNLO3dFQUNLO2dFQUNDO2lFQUNJO2tFQUNFO3FCQUVqQjsyQkFDTzs7Ozs7O0FBRWpDLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyx3REFDL0JDLHdCQUF3QkQsSUFBQUEsZ0JBQVMsRUFBQyxtREFDbENFLHlCQUF5QkYsSUFBQUEsZ0JBQVMsRUFBQyxvRUFDbkNHLDhCQUE4QkgsSUFBQUEsZ0JBQVMsRUFBQyx5REFDeENJLGdDQUFnQ0osSUFBQUEsZ0JBQVMsRUFBQywyREFDMUNLLGtDQUFrQ0wsSUFBQUEsZ0JBQVMsRUFBQyw2REFDNUNNLG9DQUFvQ04sSUFBQUEsZ0JBQVMsRUFBQztBQUVyQyxTQUFTRixvQkFBb0JTLGlCQUFpQixFQUFFQyxnQkFBZ0I7SUFDN0UsSUFBSUMsd0JBQXdCO0lBRTVCLElBQU1DLG1CQUFtQlQsc0JBQXNCTSxvQkFDekNJLHlCQUF5QlIsNEJBQTRCSSxvQkFDckRLLDJCQUEyQlIsOEJBQThCRyxvQkFDekRNLDZCQUE2QlIsZ0NBQWdDRSxvQkFDN0RPLCtCQUErQlIsa0NBQWtDQztJQUV2RSxJQUFJLE9BQU87SUFDVCxHQUFHO0lBQ0wsT0FBTyxJQUFJRyxxQkFBcUIsTUFBTTtRQUNwQyxJQUFJSztRQUVKQSx1QkFBdUJDLElBQUFBLHFCQUFrQixFQUFDTixrQkFBa0JGO1FBRTVELElBQUlPLHNCQUFzQjtZQUN4QixJQUFNRSxnQkFBZ0JDLGtCQUFhLENBQUNDLG9CQUFvQixDQUFDVDtZQUV6REYsaUJBQWlCWSxnQkFBZ0IsQ0FBQ0g7WUFFbENSLHdCQUF3QjtRQUMxQjtJQUNGLE9BQU8sSUFBSUUsMkJBQTJCLE1BQU07UUFDMUMsSUFBSVU7UUFFSixJQUFNQyxjQUFjLEVBQUUsRUFDaEJDLGVBQWVmLGtCQUFtQixHQUFHO1FBRTNDYSw2QkFBNkJHLElBQUFBLGtCQUF3QixFQUFDYix3QkFBd0JXLGFBQWFDO1FBRTNGLElBQUlGLDRCQUE0QjtZQUM5QixJQUFNSSxxQkFBcUJDLElBQUFBLDZCQUFnQixFQUFDSixhQUFhQztZQUV6REYsNkJBQTZCSSxvQkFBb0IsR0FBRztRQUN0RDtRQUVBLElBQUlKLDRCQUE0QjtZQUM5QixJQUFNTSxnQkFBZ0I1QixtQkFBbUJZLHlCQUNuQ00saUJBQWdCQyxrQkFBYSxDQUFDVSxpQkFBaUIsQ0FBQ0Q7WUFFdERuQixpQkFBaUJZLGdCQUFnQixDQUFDSDtZQUVsQ1Isd0JBQXdCO1FBQzFCO0lBQ0YsT0FBTyxJQUFJRyw2QkFBNkIsTUFBTTtRQUM1QyxJQUFJUztRQUVKLElBQU1DLGVBQWMsRUFBRSxFQUNoQkMsZ0JBQWVmLGtCQUNmcUIsZ0JBQWdCO1FBRXRCUiw4QkFBNkJHLElBQUFBLGtCQUF3QixFQUFDYix3QkFBd0JrQixlQUFlUCxjQUFhQztRQUUxRyxJQUFJRiw2QkFBNEI7WUFDOUIsSUFBTUksc0JBQXFCQyxJQUFBQSw2QkFBZ0IsRUFBQ0osY0FBYUM7WUFFekRGLDhCQUE2QkkscUJBQW9CLEdBQUc7UUFDdEQ7UUFFQSxJQUFJSiw2QkFBNEI7WUFDOUIsSUFBTU0saUJBQWdCNUIsbUJBQW1CWSx5QkFDbkNNLGlCQUFnQkMsa0JBQWEsQ0FBQ1UsaUJBQWlCLENBQUNEO1lBRXREbkIsaUJBQWlCWSxnQkFBZ0IsQ0FBQ0g7WUFFbENSLHdCQUF3QlksNkJBQTRCLEdBQUc7UUFDekQ7SUFDRixPQUFPLElBQUlSLCtCQUErQixNQUFNO1FBQzlDLElBQUlpQjtRQUVKLElBQU1SLGVBQWMsRUFBRSxFQUNoQk8saUJBQWdCO1FBRXRCQyxpQ0FBaUNDLElBQUFBLG1CQUE0QixFQUFDbEIsNEJBQTRCZ0IsZ0JBQWVQLGNBQWFkO1FBRXRILElBQUlzQixnQ0FBZ0M7WUFDbEMsSUFBTVAsZ0JBQWVmLGtCQUNmaUIsc0JBQXFCQyxJQUFBQSw2QkFBZ0IsRUFBQ0osY0FBYUM7WUFFekRPLGlDQUFpQ0wscUJBQW9CLEdBQUc7UUFDMUQ7UUFFQSxJQUFJSyxnQ0FBZ0M7WUFDbEMsSUFBTUUsb0JBQW9COUIsdUJBQXVCVyw2QkFDM0NJLGlCQUFnQkMsa0JBQWEsQ0FBQ2UscUJBQXFCLENBQUNEO1lBRTFEeEIsaUJBQWlCWSxnQkFBZ0IsQ0FBQ0g7WUFFbENSLHdCQUF3QnFCLGdDQUFnQyxHQUFHO1FBQzdEO0lBQ0YsT0FBTyxJQUFJaEIsaUNBQWlDLE1BQU07UUFDaEQsSUFBSW9CO1FBRUosSUFBTUMsVUFBVSxNQUNWYixlQUFjLEVBQUU7UUFFdEJZLG1DQUFtQ0UsSUFBQUEsb0JBQThCLEVBQUN0Qiw4QkFBOEJRLGNBQWFhLFNBQVMzQjtRQUV0SCxJQUFJMEIsa0NBQWtDO1lBQ3BDLElBQU1YLGdCQUFlZixrQkFDZmlCLHNCQUFxQkMsSUFBQUEsNkJBQWdCLEVBQUNKLGNBQWFDO1lBRXpEVyxtQ0FBbUNULHFCQUFvQixHQUFHO1FBQzVEO1FBRUEsSUFBSVMsa0NBQWtDO1lBQ3BDLElBQU1GLHFCQUFvQjlCLHVCQUF1QlksK0JBQzNDRyxpQkFBZ0JDLGtCQUFhLENBQUNlLHFCQUFxQixDQUFDRDtZQUUxRHhCLGlCQUFpQlksZ0JBQWdCLENBQUNIO1lBRWxDUix3QkFBd0I7UUFDMUI7SUFDRjtJQUVBLE9BQU9BO0FBQ1Q7QUFFQTRCLE9BQU9DLE1BQU0sQ0FBQ0MsMEJBQXVCLEVBQUU7SUFDckN6QyxxQkFBQUE7QUFDRiJ9
@@ -21,8 +21,8 @@ function verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, deriv
21
21
  var statementNode = statementNodeQuery(unqualifiedStatementNode), unqualifiedStatementString = localContext.nodeAsString(unqualifiedStatementNode);
22
22
  localContext.trace("Verifying the '".concat(unqualifiedStatementString, "' unqualified statement..."), unqualifiedStatementNode);
23
23
  if (derived) {
24
- var statementMatches = localContext.matchStatement(statementNode);
25
- unqualifiedStatementVerified = statementMatches; ///
24
+ var matchesStatementNode = localContext.matchStatementNode(statementNode);
25
+ unqualifiedStatementVerified = matchesStatementNode; ///
26
26
  }
27
27
  if (!unqualifiedStatementVerified) {
28
28
  var statementVerified = (0, _statement.default)(statementNode, assignments, derived, localContext);
@@ -34,4 +34,4 @@ function verifyUnqualifiedStatement(unqualifiedStatementNode, assignments, deriv
34
34
  return unqualifiedStatementVerified;
35
35
  }
36
36
 
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5U3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3VucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgc3RhdGVtZW50Li4uYCwgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE1hdGNoZXMgPSBsb2NhbENvbnRleHQubWF0Y2hTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gc3RhdGVtZW50TWF0Y2hlczsgIC8vL1xuICB9XG5cbiAgaWYgKCF1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gc3RhdGVtZW50VmVyaWZpZWQ7ICAvLy9cbiAgfVxuXG4gIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQuYCwgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxDb250ZXh0IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsInN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwic3RhdGVtZW50TWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Iiwic3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUF3QkE7OztnRUFOSTtxQkFFRjs7Ozs7O0FBRTFCLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUV0QixTQUFTRiwyQkFBMkJHLHdCQUF3QixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUM3RyxJQUFJQywrQkFBK0I7SUFFbkMsSUFBTUMsZ0JBQWdCUCxtQkFBbUJFLDJCQUNuQ00sNkJBQTZCSCxhQUFhSSxZQUFZLENBQUNQO0lBRTdERyxhQUFhSyxLQUFLLENBQUMsQUFBQyxrQkFBNEMsT0FBM0JGLDRCQUEyQiwrQkFBNkJOO0lBRTdGLElBQUlFLFNBQVM7UUFDWCxJQUFNTyxtQkFBbUJOLGFBQWFPLGNBQWMsQ0FBQ0w7UUFFckRELCtCQUErQkssa0JBQW1CLEdBQUc7SUFDdkQ7SUFFQSxJQUFJLENBQUNMLDhCQUE4QjtRQUNqQyxJQUFNTyxvQkFBb0JDLElBQUFBLGtCQUFlLEVBQUNQLGVBQWVKLGFBQWFDLFNBQVNDO1FBRS9FQywrQkFBK0JPLG1CQUFvQixHQUFHO0lBQ3hEO0lBRUEsSUFBSVAsOEJBQThCO1FBQ2hDRCxhQUFhVSxLQUFLLENBQUMsQUFBQyxvQkFBOEMsT0FBM0JQLDRCQUEyQiw2QkFBMkJOO0lBQy9GO0lBRUEsT0FBT0k7QUFDVCJ9
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5U3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3VucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgc3RhdGVtZW50Li4uYCwgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IG1hdGNoZXNTdGF0ZW1lbnROb2RlID0gbG9jYWxDb250ZXh0Lm1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBtYXRjaGVzU3RhdGVtZW50Tm9kZTsgIC8vL1xuICB9XG5cbiAgaWYgKCF1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gc3RhdGVtZW50VmVyaWZpZWQ7ICAvLy9cbiAgfVxuXG4gIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBzdGF0ZW1lbnQuYCwgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxDb250ZXh0IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsInN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwibWF0Y2hlc1N0YXRlbWVudE5vZGUiLCJtYXRjaFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVN0YXRlbWVudCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7O2dFQU5JO3FCQUVGOzs7Ozs7QUFFMUIsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXRCLFNBQVNGLDJCQUEyQkcsd0JBQXdCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQzdHLElBQUlDLCtCQUErQjtJQUVuQyxJQUFNQyxnQkFBZ0JQLG1CQUFtQkUsMkJBQ25DTSw2QkFBNkJILGFBQWFJLFlBQVksQ0FBQ1A7SUFFN0RHLGFBQWFLLEtBQUssQ0FBQyxBQUFDLGtCQUE0QyxPQUEzQkYsNEJBQTJCLCtCQUE2Qk47SUFFN0YsSUFBSUUsU0FBUztRQUNYLElBQU1PLHVCQUF1Qk4sYUFBYU8sa0JBQWtCLENBQUNMO1FBRTdERCwrQkFBK0JLLHNCQUF1QixHQUFHO0lBQzNEO0lBRUEsSUFBSSxDQUFDTCw4QkFBOEI7UUFDakMsSUFBTU8sb0JBQW9CQyxJQUFBQSxrQkFBZSxFQUFDUCxlQUFlSixhQUFhQyxTQUFTQztRQUUvRUMsK0JBQStCTyxtQkFBb0IsR0FBRztJQUN4RDtJQUVBLElBQUlQLDhCQUE4QjtRQUNoQ0QsYUFBYVUsS0FBSyxDQUFDLEFBQUMsb0JBQThDLE9BQTNCUCw0QkFBMkIsNkJBQTJCTjtJQUMvRjtJQUVBLE9BQU9JO0FBQ1QifQ==
@@ -140,10 +140,7 @@ function verifyStatementAsDefinedAssertion(statementNode, assignments, derived,
140
140
  if (definedAssertionNode !== null) {
141
141
  var statementString = localContext.nodeAsString(statementNode);
142
142
  localContext.trace("Verifying the '".concat(statementString, "' statement as a defined assertion..."), definedAssertionNode);
143
- var definedAssertionVerified = (0, _definedAssertion.default)(definedAssertionNode, localContext, function() {
144
- var verifiedAhead = true;
145
- return verifiedAhead;
146
- });
143
+ var definedAssertionVerified = (0, _definedAssertion.default)(definedAssertionNode, assignments, derived, localContext);
147
144
  statementVerifiedAsDefinedAssertion = definedAssertionVerified; ///
148
145
  if (statementVerifiedAsDefinedAssertion) {
149
146
  localContext.debug("...verified the '".concat(statementString, "' statement as a defined assertion."), definedAssertionNode);
@@ -157,7 +154,7 @@ function verifyStatementAsContainedAssertion(statementNode, assignments, derived
157
154
  if (containedAssertionNode !== null) {
158
155
  var statementString = localContext.nodeAsString(statementNode);
159
156
  localContext.trace("Verifying the '".concat(statementString, "' statement as a contained assertion..."), containedAssertionNode);
160
- var containedVerified = (0, _containedAssertion.default)(containedAssertionNode);
157
+ var containedVerified = (0, _containedAssertion.default)(containedAssertionNode, assignments, derived, localContext);
161
158
  if (containedVerified) {
162
159
  statementNode = statementNodeQuery(containedAssertionNode); ///
163
160
  var verifyStatementFunctions = [
@@ -165,7 +162,7 @@ function verifyStatementAsContainedAssertion(statementNode, assignments, derived
165
162
  verifyStatementAgainstCombinators
166
163
  ];
167
164
  var statementVerified = verifyStatementFunctions.some(function(verifyStatementFunction) {
168
- var derived = false, assignments = [], statementVerified = verifyStatementFunction(statementNode, assignments, derived, localContext);
165
+ var _$derived = false, _$assignments = [], statementVerified = verifyStatementFunction(statementNode, _$assignments, _$derived, localContext);
169
166
  if (statementVerified) {
170
167
  return true;
171
168
  }
@@ -210,4 +207,4 @@ function verifyStatementAgainstCombinator(statementNode, combinator, localContex
210
207
  return statementVerifiedAgainstCombinator;
211
208
  }
212
209
 
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5RXF1YWxpdHkgZnJvbSBcIi4uL3ZlcmlmeS9lcXVhbGl0eVwiO1xuaW1wb3J0IGJyYWNrZXRlZENvbWJpbmF0b3IgZnJvbSBcIi4uL29jbWJpbmF0b3IvYnJhY2tldGVkXCI7XG5pbXBvcnQgdmVyaWZ5VHlwZUFzc2VydGlvbiBmcm9tIFwiLi4vdmVyaWZ5L3R5cGVBc3NlcnRpb25cIjtcbmltcG9ydCB2ZXJpZnlEZWZpbmVkQXNzZXJ0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVmaW5lZEFzc2VydGlvblwiO1xuaW1wb3J0IHZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbiBmcm9tIFwiLi4vdmVyaWZ5L2NvbnRhaW5lZEFzc2VydGlvblwiO1xuaW1wb3J0IHN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9yTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZXMvc3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBlcXVhbGl0eU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvZXF1YWxpdHkhXCIpLFxuICAgICAgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnRhaW5lZEFzc2VydGlvbi9zdGF0ZW1lbnQhXCIpLFxuICAgICAgdHlwZUFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvdHlwZUFzc2VydGlvbiFcIiksXG4gICAgICBkZWZpbmVkQXNzZXJ0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC9kZWZpbmVkQXNzZXJ0aW9uIVwiKSxcbiAgICAgIGNvbnRhaW5lZEFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvY29udGFpbmVkQXNzZXJ0aW9uIVwiKTtcblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlTdGF0ZW1lbnRBc0VxdWFsaXR5LFxuICAgIHZlcmlmeVN0YXRlbWVudEFzVHlwZUFzc2VydGlvbixcbiAgICB2ZXJpZnlTdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24sXG4gICAgdmVyaWZ5U3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24sXG4gICAgdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JzXG4gIF07XG5cbiAgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbnMuc29tZSgodmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVN0YW5kYWxvbmVTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgc3RhbmRhbG9uZVN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhbmRhbG9uZSBzdGF0ZW1lbnQuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkKTtcblxuICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgIHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmaWVkQWhlYWQ7IC8vL1xuICB9XG5cbiAgaWYgKHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YW5kYWxvbmUgc3RhdGVtZW50LmAsIHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbihzdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvck5vZGVzVmVyaWZpZXIsIHtcbiAgdmVyaWZ5U3RhdGVtZW50XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgdmVyaWZ5U3RhdGVtZW50O1xuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eShzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzRXF1YWxpdHkgPSBmYWxzZTtcblxuICBjb25zdCBlcXVhbGl0eU5vZGUgPSBlcXVhbGl0eU5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZXF1YWxpdHlOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYW4gZXF1YWxpdHkuLi5gLCBlcXVhbGl0eU5vZGUpO1xuXG4gICAgY29uc3QgZXF1YWxpdHlWZXJpZmllZCA9IHZlcmlmeUVxdWFsaXR5KGVxdWFsaXR5Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgIH0pO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5ID0gZXF1YWxpdHlWZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5KSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYW4gZXF1YWxpdHkuYCwgZXF1YWxpdHlOb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNUeXBlQXNzZXJ0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNUeXBlQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZUFzc2VydGlvbk5vZGUgPSB0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gIGlmICh0eXBlQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgdHlwZSBhc3NlcnRpb24uLi5gLCB0eXBlQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlUeXBlQXNzZXJ0aW9uKHR5cGVBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgfSk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzVHlwZUFzc2VydGlvbiA9IHR5cGVBc3NlcnRpb25WZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc1R5cGVBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIHR5cGUgYXNzZXJ0aW9uLmAsIHR5cGVBc3NlcnRpb25Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc1R5cGVBc3NlcnRpb247XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbihzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0IGRlZmluZWRBc3NlcnRpb25Ob2RlID0gZGVmaW5lZEFzc2VydGlvbk5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZGVmaW5lZEFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uLi4uYCwgZGVmaW5lZEFzc2VydGlvbk5vZGUpO1xuXG4gICAgY29uc3QgZGVmaW5lZEFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5RGVmaW5lZEFzc2VydGlvbihkZWZpbmVkQXNzZXJ0aW9uTm9kZSwgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgfSk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGRlZmluZWRBc3NlcnRpb25WZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uLmAsIGRlZmluZWRBc3NlcnRpb25Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb247XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzQ29udGFpbmVkQXNzZXJ0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBjb25zdCBjb250YWluZWRBc3NlcnRpb25Ob2RlID0gY29udGFpbmVkQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChjb250YWluZWRBc3NlcnRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCwgY29udGFpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCBjb250YWluZWRWZXJpZmllZCA9IHZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbihjb250YWluZWRBc3NlcnRpb25Ob2RlKTtcblxuICAgIGlmIChjb250YWluZWRWZXJpZmllZCkge1xuICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShjb250YWluZWRBc3NlcnRpb25Ob2RlKTsgLy8vXG5cbiAgICAgIGNvbnN0IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICAgICAgdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eSxcbiAgICAgICAgdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JzXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24oc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uID0gc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLmAsIGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcnMoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcnMgPSBmYWxzZTtcblxuICBjb25zdCBlcXVhbGl0eU5vZGUgPSBlcXVhbGl0eU5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgdHlwZUFzc2VydGlvbk5vZGUgPSB0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpLFxuICAgICAgICBkZWZpbmVkQXNzZXJ0aW9uTm9kZSA9IGRlZmluZWRBc3NlcnRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbnRhaW5lZEFzc2VydGlvbk5vZGUgPSBjb250YWluZWRBc3NlcnRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKChlcXVhbGl0eU5vZGUgPT09IG51bGwpICYmICh0eXBlQXNzZXJ0aW9uTm9kZSA9PT0gbnVsbCkgJiYgKGRlZmluZWRBc3NlcnRpb25Ob2RlID09PSBudWxsKSAmJiAoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSA9PT0gbnVsbCkpIHtcbiAgICBsZXQgY29tYmluYXRvcnMgPSBsb2NhbENvbnRleHQuZ2V0Q29tYmluYXRvcnMoKTtcblxuICAgIGNvbWJpbmF0b3JzID0gWyAvLy9cbiAgICAgIGJyYWNrZXRlZENvbWJpbmF0b3IsXG4gICAgICAuLi5jb21iaW5hdG9yc1xuICAgIF07XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9ycyA9IGNvbWJpbmF0b3JzLnNvbWUoKGNvbWJpbmF0b3IpID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3IgPSB2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcihzdGF0ZW1lbnROb2RlLCBjb21iaW5hdG9yLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9ycztcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSwgY29tYmluYXRvciwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbWJpbmF0b3JTdHJpbmcgPSBjb21iaW5hdG9yLmdldFN0cmluZygpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3IuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSA9IGNvbWJpbmF0b3IuZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICBub25UZXJtaW5hbE5vZGVBID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JOb2Rlc1ZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICB9KTtcblxuICBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7ICAvLy9cblxuICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcikge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhZ2FpbnN0IHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVN0YW5kYWxvbmVTdGF0ZW1lbnQiLCJ2ZXJpZnlTdGF0ZW1lbnRBc0VxdWFsaXR5IiwidmVyaWZ5U3RhdGVtZW50QXNUeXBlQXNzZXJ0aW9uIiwiZXF1YWxpdHlOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJ0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5IiwiZGVmaW5lZEFzc2VydGlvbk5vZGVRdWVyeSIsImNvbnRhaW5lZEFzc2VydGlvbk5vZGVRdWVyeSIsInZlcmlmeVN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5U3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uIiwidmVyaWZ5U3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24iLCJ2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcnMiLCJzb21lIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24iLCJkZWJ1ZyIsInZlcmlmeUFoZWFkIiwic3RhbmRhbG9uZVN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZpZWRBaGVhZCIsIk9iamVjdCIsImFzc2lnbiIsInN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9yTm9kZXNWZXJpZmllciIsInN0YXRlbWVudFZlcmlmaWVkQXNFcXVhbGl0eSIsImVxdWFsaXR5Tm9kZSIsImVxdWFsaXR5VmVyaWZpZWQiLCJ2ZXJpZnlFcXVhbGl0eSIsInN0YXRlbWVudFZlcmlmaWVkQXNUeXBlQXNzZXJ0aW9uIiwidHlwZUFzc2VydGlvbk5vZGUiLCJ0eXBlQXNzZXJ0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlUeXBlQXNzZXJ0aW9uIiwic3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24iLCJkZWZpbmVkQXNzZXJ0aW9uTm9kZSIsImRlZmluZWRBc3NlcnRpb25WZXJpZmllZCIsInZlcmlmeURlZmluZWRBc3NlcnRpb24iLCJzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uIiwiY29udGFpbmVkQXNzZXJ0aW9uTm9kZSIsImNvbnRhaW5lZFZlcmlmaWVkIiwidmVyaWZ5Q29udGFpbmVkQXNzZXJ0aW9uIiwic3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcnMiLCJjb21iaW5hdG9ycyIsImdldENvbWJpbmF0b3JzIiwiYnJhY2tldGVkQ29tYmluYXRvciIsImNvbWJpbmF0b3IiLCJzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yIiwidmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3IiLCJjb21iaW5hdG9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwiY29tYmluYXRvclN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBMkVBLE9BQStCO2VBQS9COztJQTVCZ0JBLHlCQUF5QjtlQUF6QkE7O0lBOEJBQyx5QkFBeUI7ZUFBekJBOztJQTBCQUMsOEJBQThCO2VBQTlCQTs7OytEQXJHVztnRUFDSztvRUFDQTt1RUFDRzt5RUFDRTtpRkFDZTtxQkFFMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxnQkFBUyxF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
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5RXF1YWxpdHkgZnJvbSBcIi4uL3ZlcmlmeS9lcXVhbGl0eVwiO1xuaW1wb3J0IGJyYWNrZXRlZENvbWJpbmF0b3IgZnJvbSBcIi4uL29jbWJpbmF0b3IvYnJhY2tldGVkXCI7XG5pbXBvcnQgdmVyaWZ5VHlwZUFzc2VydGlvbiBmcm9tIFwiLi4vdmVyaWZ5L3R5cGVBc3NlcnRpb25cIjtcbmltcG9ydCB2ZXJpZnlEZWZpbmVkQXNzZXJ0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVmaW5lZEFzc2VydGlvblwiO1xuaW1wb3J0IHZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbiBmcm9tIFwiLi4vdmVyaWZ5L2NvbnRhaW5lZEFzc2VydGlvblwiO1xuaW1wb3J0IHN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9yTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZXMvc3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBlcXVhbGl0eU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvZXF1YWxpdHkhXCIpLFxuICAgICAgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnRhaW5lZEFzc2VydGlvbi9zdGF0ZW1lbnQhXCIpLFxuICAgICAgdHlwZUFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvdHlwZUFzc2VydGlvbiFcIiksXG4gICAgICBkZWZpbmVkQXNzZXJ0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC9kZWZpbmVkQXNzZXJ0aW9uIVwiKSxcbiAgICAgIGNvbnRhaW5lZEFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvY29udGFpbmVkQXNzZXJ0aW9uIVwiKTtcblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlTdGF0ZW1lbnRBc0VxdWFsaXR5LFxuICAgIHZlcmlmeVN0YXRlbWVudEFzVHlwZUFzc2VydGlvbixcbiAgICB2ZXJpZnlTdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24sXG4gICAgdmVyaWZ5U3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24sXG4gICAgdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JzXG4gIF07XG5cbiAgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbnMuc29tZSgodmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVN0YW5kYWxvbmVTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgc3RhbmRhbG9uZVN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhbmRhbG9uZSBzdGF0ZW1lbnQuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkKTtcblxuICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgIHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmaWVkQWhlYWQ7IC8vL1xuICB9XG5cbiAgaWYgKHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YW5kYWxvbmUgc3RhdGVtZW50LmAsIHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbihzdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvck5vZGVzVmVyaWZpZXIsIHtcbiAgdmVyaWZ5U3RhdGVtZW50XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgdmVyaWZ5U3RhdGVtZW50O1xuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eShzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzRXF1YWxpdHkgPSBmYWxzZTtcblxuICBjb25zdCBlcXVhbGl0eU5vZGUgPSBlcXVhbGl0eU5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZXF1YWxpdHlOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYW4gZXF1YWxpdHkuLi5gLCBlcXVhbGl0eU5vZGUpO1xuXG4gICAgY29uc3QgZXF1YWxpdHlWZXJpZmllZCA9IHZlcmlmeUVxdWFsaXR5KGVxdWFsaXR5Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgIH0pO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5ID0gZXF1YWxpdHlWZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5KSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYW4gZXF1YWxpdHkuYCwgZXF1YWxpdHlOb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNUeXBlQXNzZXJ0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNUeXBlQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZUFzc2VydGlvbk5vZGUgPSB0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gIGlmICh0eXBlQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgdHlwZSBhc3NlcnRpb24uLi5gLCB0eXBlQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlUeXBlQXNzZXJ0aW9uKHR5cGVBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgfSk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzVHlwZUFzc2VydGlvbiA9IHR5cGVBc3NlcnRpb25WZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc1R5cGVBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIHR5cGUgYXNzZXJ0aW9uLmAsIHR5cGVBc3NlcnRpb25Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc1R5cGVBc3NlcnRpb247XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbihzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0IGRlZmluZWRBc3NlcnRpb25Ob2RlID0gZGVmaW5lZEFzc2VydGlvbk5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZGVmaW5lZEFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uLi4uYCwgZGVmaW5lZEFzc2VydGlvbk5vZGUpO1xuXG4gICAgY29uc3QgZGVmaW5lZEFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5RGVmaW5lZEFzc2VydGlvbihkZWZpbmVkQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGRlZmluZWRBc3NlcnRpb25WZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uLmAsIGRlZmluZWRBc3NlcnRpb25Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb247XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzQ29udGFpbmVkQXNzZXJ0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBjb25zdCBjb250YWluZWRBc3NlcnRpb25Ob2RlID0gY29udGFpbmVkQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChjb250YWluZWRBc3NlcnRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCwgY29udGFpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCBjb250YWluZWRWZXJpZmllZCA9IHZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbihjb250YWluZWRBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChjb250YWluZWRWZXJpZmllZCkge1xuICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShjb250YWluZWRBc3NlcnRpb25Ob2RlKTsgLy8vXG5cbiAgICAgIGNvbnN0IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICAgICAgdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eSxcbiAgICAgICAgdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JzXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24oc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uID0gc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLmAsIGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcnMoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcnMgPSBmYWxzZTtcblxuICBjb25zdCBlcXVhbGl0eU5vZGUgPSBlcXVhbGl0eU5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgdHlwZUFzc2VydGlvbk5vZGUgPSB0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpLFxuICAgICAgICBkZWZpbmVkQXNzZXJ0aW9uTm9kZSA9IGRlZmluZWRBc3NlcnRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbnRhaW5lZEFzc2VydGlvbk5vZGUgPSBjb250YWluZWRBc3NlcnRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKChlcXVhbGl0eU5vZGUgPT09IG51bGwpICYmICh0eXBlQXNzZXJ0aW9uTm9kZSA9PT0gbnVsbCkgJiYgKGRlZmluZWRBc3NlcnRpb25Ob2RlID09PSBudWxsKSAmJiAoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSA9PT0gbnVsbCkpIHtcbiAgICBsZXQgY29tYmluYXRvcnMgPSBsb2NhbENvbnRleHQuZ2V0Q29tYmluYXRvcnMoKTtcblxuICAgIGNvbWJpbmF0b3JzID0gWyAvLy9cbiAgICAgIGJyYWNrZXRlZENvbWJpbmF0b3IsXG4gICAgICAuLi5jb21iaW5hdG9yc1xuICAgIF07XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9ycyA9IGNvbWJpbmF0b3JzLnNvbWUoKGNvbWJpbmF0b3IpID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3IgPSB2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcihzdGF0ZW1lbnROb2RlLCBjb21iaW5hdG9yLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9ycztcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSwgY29tYmluYXRvciwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbWJpbmF0b3JTdHJpbmcgPSBjb21iaW5hdG9yLmdldFN0cmluZygpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3IuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSA9IGNvbWJpbmF0b3IuZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICBub25UZXJtaW5hbE5vZGVBID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JOb2Rlc1ZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICB9KTtcblxuICBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7ICAvLy9cblxuICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcikge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhZ2FpbnN0IHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVN0YW5kYWxvbmVTdGF0ZW1lbnQiLCJ2ZXJpZnlTdGF0ZW1lbnRBc0VxdWFsaXR5IiwidmVyaWZ5U3RhdGVtZW50QXNUeXBlQXNzZXJ0aW9uIiwiZXF1YWxpdHlOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJ0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5IiwiZGVmaW5lZEFzc2VydGlvbk5vZGVRdWVyeSIsImNvbnRhaW5lZEFzc2VydGlvbk5vZGVRdWVyeSIsInZlcmlmeVN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5U3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uIiwidmVyaWZ5U3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24iLCJ2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcnMiLCJzb21lIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24iLCJkZWJ1ZyIsInZlcmlmeUFoZWFkIiwic3RhbmRhbG9uZVN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZpZWRBaGVhZCIsIk9iamVjdCIsImFzc2lnbiIsInN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9yTm9kZXNWZXJpZmllciIsInN0YXRlbWVudFZlcmlmaWVkQXNFcXVhbGl0eSIsImVxdWFsaXR5Tm9kZSIsImVxdWFsaXR5VmVyaWZpZWQiLCJ2ZXJpZnlFcXVhbGl0eSIsInN0YXRlbWVudFZlcmlmaWVkQXNUeXBlQXNzZXJ0aW9uIiwidHlwZUFzc2VydGlvbk5vZGUiLCJ0eXBlQXNzZXJ0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlUeXBlQXNzZXJ0aW9uIiwic3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24iLCJkZWZpbmVkQXNzZXJ0aW9uTm9kZSIsImRlZmluZWRBc3NlcnRpb25WZXJpZmllZCIsInZlcmlmeURlZmluZWRBc3NlcnRpb24iLCJzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uIiwiY29udGFpbmVkQXNzZXJ0aW9uTm9kZSIsImNvbnRhaW5lZFZlcmlmaWVkIiwidmVyaWZ5Q29udGFpbmVkQXNzZXJ0aW9uIiwic3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcnMiLCJjb21iaW5hdG9ycyIsImdldENvbWJpbmF0b3JzIiwiYnJhY2tldGVkQ29tYmluYXRvciIsImNvbWJpbmF0b3IiLCJzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yIiwidmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3IiLCJjb21iaW5hdG9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwiY29tYmluYXRvclN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBMkVBLE9BQStCO2VBQS9COztJQTVCZ0JBLHlCQUF5QjtlQUF6QkE7O0lBOEJBQyx5QkFBeUI7ZUFBekJBOztJQTBCQUMsOEJBQThCO2VBQTlCQTs7OytEQXJHVztnRUFDSztvRUFDQTt1RUFDRzt5RUFDRTtpRkFDZTtxQkFFMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDLHlCQUM5QkMscUJBQXFCRCxJQUFB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