occam-verify-cli 0.0.913 → 0.0.915

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 (110) hide show
  1. package/lib/assignment/frameAssertion.js +4 -4
  2. package/lib/axiomLemmaTheoremConjecture.js +4 -3
  3. package/lib/conclusion.js +5 -5
  4. package/lib/context/file.js +3 -3
  5. package/lib/context/local/intrinsicLevel.js +326 -0
  6. package/lib/context/local/metaLevel.js +290 -0
  7. package/lib/metaConsequent.js +4 -4
  8. package/lib/metaLemmaMetatheorem.js +11 -11
  9. package/lib/metaSupposition.js +7 -7
  10. package/lib/metavariable.js +5 -5
  11. package/lib/premise.js +12 -12
  12. package/lib/rule.js +12 -12
  13. package/lib/verifier/node/metaLevel.js +214 -0
  14. package/lib/verifier/node/statementAsCombinator.js +9 -9
  15. package/lib/verifier/node/termAsConstructor.js +7 -7
  16. package/lib/verify/axiom.js +3 -3
  17. package/lib/verify/conclusion.js +7 -7
  18. package/lib/verify/conjecture.js +3 -3
  19. package/lib/verify/containedAssertion.js +23 -4
  20. package/lib/verify/declaration.js +15 -15
  21. package/lib/verify/definedAssertion.js +18 -4
  22. package/lib/verify/derivation.js +3 -3
  23. package/lib/verify/frame.js +16 -16
  24. package/lib/verify/frameAssertion.js +33 -33
  25. package/lib/verify/lemma.js +3 -3
  26. package/lib/verify/metaConsequent.js +7 -7
  27. package/lib/verify/metaDerivation.js +3 -3
  28. package/lib/verify/metaLemma.js +6 -6
  29. package/lib/verify/metaSubDerivation.js +3 -3
  30. package/lib/verify/metaSubproof.js +7 -6
  31. package/lib/verify/metaSupposition.js +9 -9
  32. package/lib/verify/metaSuppositions.js +3 -3
  33. package/lib/verify/metaproof.js +7 -6
  34. package/lib/verify/metaproofStep.js +23 -23
  35. package/lib/verify/metastatement/qualified.js +22 -22
  36. package/lib/verify/metastatement/unqualified.js +7 -7
  37. package/lib/verify/metastatement.js +26 -26
  38. package/lib/verify/metatheorem.js +6 -6
  39. package/lib/verify/metavariable.js +6 -6
  40. package/lib/verify/premise.js +9 -9
  41. package/lib/verify/premises.js +3 -3
  42. package/lib/verify/proof.js +4 -3
  43. package/lib/verify/rule.js +6 -6
  44. package/lib/verify/ruleDerivation.js +3 -3
  45. package/lib/verify/ruleProof.js +7 -6
  46. package/lib/verify/ruleProofStep.js +26 -25
  47. package/lib/verify/ruleSubDerivation.js +3 -3
  48. package/lib/verify/ruleSubproof.js +7 -6
  49. package/lib/verify/statement.js +4 -17
  50. package/lib/verify/subDerivation.js +3 -3
  51. package/lib/verify/subproof.js +4 -3
  52. package/lib/verify/termAsConstructor.js +3 -3
  53. package/lib/verify/theorem.js +4 -4
  54. package/package.json +2 -2
  55. package/src/assignment/frameAssertion.js +5 -5
  56. package/src/axiomLemmaTheoremConjecture.js +4 -2
  57. package/src/conclusion.js +7 -7
  58. package/src/context/file.js +2 -2
  59. package/src/context/{local.js → local/intrinsicLevel.js} +25 -20
  60. package/src/context/{localMeta.js → local/metaLevel.js} +21 -16
  61. package/src/metaConsequent.js +7 -7
  62. package/src/metaLemmaMetatheorem.js +11 -11
  63. package/src/metaSupposition.js +13 -13
  64. package/src/metavariable.js +6 -7
  65. package/src/premise.js +26 -26
  66. package/src/rule.js +12 -12
  67. package/src/verifier/node/{metastatement.js → metaLevel.js} +19 -21
  68. package/src/verifier/node/statementAsCombinator.js +8 -8
  69. package/src/verifier/node/termAsConstructor.js +6 -6
  70. package/src/verify/axiom.js +4 -3
  71. package/src/verify/conclusion.js +5 -6
  72. package/src/verify/conjecture.js +4 -3
  73. package/src/verify/containedAssertion.js +24 -3
  74. package/src/verify/declaration.js +15 -15
  75. package/src/verify/definedAssertion.js +23 -3
  76. package/src/verify/derivation.js +2 -2
  77. package/src/verify/frame.js +15 -15
  78. package/src/verify/frameAssertion.js +33 -33
  79. package/src/verify/lemma.js +4 -3
  80. package/src/verify/metaConsequent.js +5 -6
  81. package/src/verify/metaDerivation.js +2 -2
  82. package/src/verify/metaLemma.js +8 -7
  83. package/src/verify/metaSubDerivation.js +2 -2
  84. package/src/verify/metaSubproof.js +7 -5
  85. package/src/verify/metaSupposition.js +7 -8
  86. package/src/verify/metaSuppositions.js +2 -2
  87. package/src/verify/metaproof.js +7 -5
  88. package/src/verify/metaproofStep.js +21 -25
  89. package/src/verify/metastatement/qualified.js +24 -24
  90. package/src/verify/metastatement/unqualified.js +6 -6
  91. package/src/verify/metastatement.js +25 -25
  92. package/src/verify/metatheorem.js +8 -7
  93. package/src/verify/metavariable.js +5 -5
  94. package/src/verify/premise.js +7 -8
  95. package/src/verify/premises.js +2 -2
  96. package/src/verify/proof.js +4 -2
  97. package/src/verify/rule.js +8 -7
  98. package/src/verify/ruleDerivation.js +2 -2
  99. package/src/verify/ruleProof.js +7 -5
  100. package/src/verify/ruleProofStep.js +22 -25
  101. package/src/verify/ruleSubDerivation.js +2 -2
  102. package/src/verify/ruleSubproof.js +7 -5
  103. package/src/verify/statement.js +2 -22
  104. package/src/verify/subDerivation.js +2 -2
  105. package/src/verify/subproof.js +4 -2
  106. package/src/verify/termAsConstructor.js +4 -3
  107. package/src/verify/theorem.js +5 -4
  108. package/lib/context/local.js +0 -320
  109. package/lib/context/localMeta.js +0 -284
  110. package/lib/verifier/node/metastatement.js +0 -214
@@ -14,10 +14,10 @@ function _interop_require_default(obj) {
14
14
  default: obj
15
15
  };
16
16
  }
17
- function verifyMetaSuppositions(metaSuppositionNodes, metaSuppositions, substitutions, localMetaContext) {
17
+ function verifyMetaSuppositions(metaSuppositionNodes, metaSuppositions, substitutions, localContext) {
18
18
  var metaSuppositionsVerified;
19
19
  metaSuppositionsVerified = metaSuppositionNodes.every(function(metaSuppositionNode) {
20
- var metaSuppositionVerified = (0, _metaSupposition.default)(metaSuppositionNode, metaSuppositions, localMetaContext);
20
+ var metaSuppositionVerified = (0, _metaSupposition.default)(metaSuppositionNode, metaSuppositions, localContext);
21
21
  if (metaSuppositionVerified) {
22
22
  return true;
23
23
  }
@@ -25,4 +25,4 @@ function verifyMetaSuppositions(metaSuppositionNodes, metaSuppositions, substitu
25
25
  return metaSuppositionsVerified;
26
26
  }
27
27
 
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YVN1cHBvc2l0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeU1ldGFTdXBwb3NpdGlvbiBmcm9tIFwiLi4vdmVyaWZ5L21ldGFTdXBwb3NpdGlvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhU3VwcG9zaXRpb25zKG1ldGFTdXBwb3NpdGlvbk5vZGVzLCBtZXRhU3VwcG9zaXRpb25zLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhU3VwcG9zaXRpb25zVmVyaWZpZWQ7XG5cbiAgbWV0YVN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gbWV0YVN1cHBvc2l0aW9uTm9kZXMuZXZlcnkoKG1ldGFTdXBwb3NpdGlvbk5vZGUpID0+IHtcbiAgICBjb25zdCBtZXRhU3VwcG9zaXRpb25WZXJpZmllZCA9IHZlcmlmeU1ldGFTdXBwb3NpdGlvbihtZXRhU3VwcG9zaXRpb25Ob2RlLCBtZXRhU3VwcG9zaXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChtZXRhU3VwcG9zaXRpb25WZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbWV0YVN1cHBvc2l0aW9uc1ZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFTdXBwb3NpdGlvbnMiLCJtZXRhU3VwcG9zaXRpb25Ob2RlcyIsIm1ldGFTdXBwb3NpdGlvbnMiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFTdXBwb3NpdGlvbnNWZXJpZmllZCIsImV2ZXJ5IiwibWV0YVN1cHBvc2l0aW9uTm9kZSIsIm1ldGFTdXBwb3NpdGlvblZlcmlmaWVkIiwidmVyaWZ5TWV0YVN1cHBvc2l0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7O3NFQUZVOzs7Ozs7QUFFbkIsU0FBU0EsdUJBQXVCQyxvQkFBb0IsRUFBRUMsZ0JBQWdCLEVBQUVDLGFBQWEsRUFBRUMsZ0JBQWdCO0lBQ3BILElBQUlDO0lBRUpBLDJCQUEyQkoscUJBQXFCSyxLQUFLLENBQUMsU0FBQ0M7UUFDckQsSUFBTUMsMEJBQTBCQyxJQUFBQSx3QkFBcUIsRUFBQ0YscUJBQXFCTCxrQkFBa0JFO1FBRTdGLElBQUlJLHlCQUF5QjtZQUMzQixPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9IO0FBQ1QifQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YVN1cHBvc2l0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeU1ldGFTdXBwb3NpdGlvbiBmcm9tIFwiLi4vdmVyaWZ5L21ldGFTdXBwb3NpdGlvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhU3VwcG9zaXRpb25zKG1ldGFTdXBwb3NpdGlvbk5vZGVzLCBtZXRhU3VwcG9zaXRpb25zLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGFTdXBwb3NpdGlvbnNWZXJpZmllZDtcblxuICBtZXRhU3VwcG9zaXRpb25zVmVyaWZpZWQgPSBtZXRhU3VwcG9zaXRpb25Ob2Rlcy5ldmVyeSgobWV0YVN1cHBvc2l0aW9uTm9kZSkgPT4ge1xuICAgIGNvbnN0IG1ldGFTdXBwb3NpdGlvblZlcmlmaWVkID0gdmVyaWZ5TWV0YVN1cHBvc2l0aW9uKG1ldGFTdXBwb3NpdGlvbk5vZGUsIG1ldGFTdXBwb3NpdGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YVN1cHBvc2l0aW9uVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG1ldGFTdXBwb3NpdGlvbnNWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhU3VwcG9zaXRpb25zIiwibWV0YVN1cHBvc2l0aW9uTm9kZXMiLCJtZXRhU3VwcG9zaXRpb25zIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dCIsIm1ldGFTdXBwb3NpdGlvbnNWZXJpZmllZCIsImV2ZXJ5IiwibWV0YVN1cHBvc2l0aW9uTm9kZSIsIm1ldGFTdXBwb3NpdGlvblZlcmlmaWVkIiwidmVyaWZ5TWV0YVN1cHBvc2l0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7O3NFQUZVOzs7Ozs7QUFFbkIsU0FBU0EsdUJBQXVCQyxvQkFBb0IsRUFBRUMsZ0JBQWdCLEVBQUVDLGFBQWEsRUFBRUMsWUFBWTtJQUNoSCxJQUFJQztJQUVKQSwyQkFBMkJKLHFCQUFxQkssS0FBSyxDQUFDLFNBQUNDO1FBQ3JELElBQU1DLDBCQUEwQkMsSUFBQUEsd0JBQXFCLEVBQUNGLHFCQUFxQkwsa0JBQWtCRTtRQUU3RixJQUFJSSx5QkFBeUI7WUFDM0IsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPSDtBQUNUIn0=
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "default", {
8
8
  return verifyMetaproof;
9
9
  }
10
10
  });
11
- var _localMeta = /*#__PURE__*/ _interop_require_default(require("../context/localMeta"));
12
11
  var _metaDerivation = /*#__PURE__*/ _interop_require_default(require("../verify/metaDerivation"));
12
+ var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../context/local/metaLevel"));
13
13
  var _query = require("../utilities/query");
14
14
  function _interop_require_default(obj) {
15
15
  return obj && obj.__esModule ? obj : {
@@ -17,15 +17,16 @@ function _interop_require_default(obj) {
17
17
  };
18
18
  }
19
19
  var metaDerivationNodeQuery = (0, _query.nodeQuery)("/metaproof/metaDerivation!");
20
- function verifyMetaproof(metaproofNode, conclusion, substitutions, localMetaContext) {
20
+ function verifyMetaproof(metaproofNode, conclusion, substitutions, localContext) {
21
21
  var metaproofVerified = false;
22
- localMetaContext = _localMeta.default.fromLocalMetaContext(localMetaContext); ///
23
- var metaDerivationNode = metaDerivationNodeQuery(metaproofNode), metaDerivationVerified = (0, _metaDerivation.default)(metaDerivationNode, substitutions, localMetaContext);
22
+ var metaLevelLocalContext = _metaLevel.default.fromLocalContext(localContext);
23
+ localContext = metaLevelLocalContext; ///
24
+ var metaDerivationNode = metaDerivationNodeQuery(metaproofNode), metaDerivationVerified = (0, _metaDerivation.default)(metaDerivationNode, substitutions, localContext);
24
25
  if (metaDerivationVerified) {
25
- var lastMetaproofStep = localMetaContext.getLastMetaproofStep(), metaproofStep = lastMetaproofStep, metastatementNode = metaproofStep.getMetastatementNode(), conclusionMetastatementNode = conclusion.getMetastatementNode(), metastatementNodeMatchesConclusionMetastatementNode = metastatementNode.match(conclusionMetastatementNode);
26
+ var lastMetaproofStep = localContext.getLastMetaproofStep(), metaproofStep = lastMetaproofStep, metastatementNode = metaproofStep.getMetastatementNode(), conclusionMetastatementNode = conclusion.getMetastatementNode(), metastatementNodeMatchesConclusionMetastatementNode = metastatementNode.match(conclusionMetastatementNode);
26
27
  metaproofVerified = metastatementNodeMatchesConclusionMetastatementNode; ///
27
28
  }
28
29
  return metaproofVerified;
29
30
  }
30
31
 
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTG9jYWxNZXRhQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbE1ldGFcIjtcbmltcG9ydCB2ZXJpZnlNZXRhRGVyaXZhdGlvbiBmcm9tIFwiLi4vdmVyaWZ5L21ldGFEZXJpdmF0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YURlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL21ldGFEZXJpdmF0aW9uIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YXByb29mKG1ldGFwcm9vZk5vZGUsIGNvbmNsdXNpb24sIHN1YnN0aXR1dGlvbnMsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbG9jYWxNZXRhQ29udGV4dCA9IExvY2FsTWV0YUNvbnRleHQuZnJvbUxvY2FsTWV0YUNvbnRleHQobG9jYWxNZXRhQ29udGV4dCk7IC8vL1xuXG4gIGNvbnN0IG1ldGFEZXJpdmF0aW9uTm9kZSA9IG1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5KG1ldGFwcm9vZk5vZGUpLFxuICAgICAgICBtZXRhRGVyaXZhdGlvblZlcmlmaWVkID0gdmVyaWZ5TWV0YURlcml2YXRpb24obWV0YURlcml2YXRpb25Ob2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICBpZiAobWV0YURlcml2YXRpb25WZXJpZmllZCkge1xuICAgIGNvbnN0IGxhc3RNZXRhcHJvb2ZTdGVwID0gbG9jYWxNZXRhQ29udGV4dC5nZXRMYXN0TWV0YXByb29mU3RlcCgpLFxuICAgICAgICAgIG1ldGFwcm9vZlN0ZXAgPSBsYXN0TWV0YXByb29mU3RlcCwgLy8vXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhcHJvb2ZTdGVwLmdldE1ldGFzdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlID0gY29uY2x1c2lvbi5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlc0NvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLm1hdGNoKGNvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBtZXRhcHJvb2ZWZXJpZmllZCA9IG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlc0NvbmNsdXNpb25NZXRhc3RhdGVtZW50Tm9kZTsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIG1ldGFwcm9vZlZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFwcm9vZiIsIm1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXByb29mTm9kZSIsImNvbmNsdXNpb24iLCJzdWJzdGl0dXRpb25zIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFwcm9vZlZlcmlmaWVkIiwiTG9jYWxNZXRhQ29udGV4dCIsImZyb21Mb2NhbE1ldGFDb250ZXh0IiwibWV0YURlcml2YXRpb25Ob2RlIiwibWV0YURlcml2YXRpb25WZXJpZmllZCIsInZlcmlmeU1ldGFEZXJpdmF0aW9uIiwibGFzdE1ldGFwcm9vZlN0ZXAiLCJnZXRMYXN0TWV0YXByb29mU3RlcCIsIm1ldGFwcm9vZlN0ZXAiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImdldE1ldGFzdGF0ZW1lbnROb2RlIiwiY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzQ29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlIiwibWF0Y2giXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBd0JBOzs7Z0VBUEs7cUVBQ0k7cUJBRVA7Ozs7OztBQUUxQixJQUFNQywwQkFBMEJDLElBQUFBLGdCQUFTLEVBQUM7QUFFM0IsU0FBU0YsZ0JBQWdCRyxhQUFhLEVBQUVDLFVBQVUsRUFBRUMsYUFBYSxFQUFFQyxnQkFBZ0I7SUFDaEcsSUFBSUMsb0JBQW9CO0lBRXhCRCxtQkFBbUJFLGtCQUFnQixDQUFDQyxvQkFBb0IsQ0FBQ0gsbUJBQW1CLEdBQUc7SUFFL0UsSUFBTUkscUJBQXFCVCx3QkFBd0JFLGdCQUM3Q1EseUJBQXlCQyxJQUFBQSx1QkFBb0IsRUFBQ0Ysb0JBQW9CTCxlQUFlQztJQUV2RixJQUFJSyx3QkFBd0I7UUFDMUIsSUFBTUUsb0JBQW9CUCxpQkFBaUJRLG9CQUFvQixJQUN6REMsZ0JBQWdCRixtQkFDaEJHLG9CQUFvQkQsY0FBY0Usb0JBQW9CLElBQ3REQyw4QkFBOEJkLFdBQVdhLG9CQUFvQixJQUM3REUsc0RBQXNESCxrQkFBa0JJLEtBQUssQ0FBQ0Y7UUFFcEZYLG9CQUFvQlkscURBQXNELEdBQUc7SUFDL0U7SUFFQSxPQUFPWjtBQUNUIn0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5TWV0YURlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhRGVyaXZhdGlvblwiO1xuaW1wb3J0IE1ldGFMZXZlbExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbC9tZXRhTGV2ZWxcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhcHJvb2YvbWV0YURlcml2YXRpb24hXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhcHJvb2YobWV0YXByb29mTm9kZSwgY29uY2x1c2lvbiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBtZXRhcHJvb2ZWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFMZXZlbExvY2FsQ29udGV4dCA9IE1ldGFMZXZlbExvY2FsQ29udGV4dC5mcm9tTG9jYWxDb250ZXh0KGxvY2FsQ29udGV4dCk7XG5cbiAgbG9jYWxDb250ZXh0ID0gbWV0YUxldmVsTG9jYWxDb250ZXh0OyAvLy9cblxuICBjb25zdCBtZXRhRGVyaXZhdGlvbk5vZGUgPSBtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeShtZXRhcHJvb2ZOb2RlKSxcbiAgICAgICAgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IHZlcmlmeU1ldGFEZXJpdmF0aW9uKG1ldGFEZXJpdmF0aW9uTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICBpZiAobWV0YURlcml2YXRpb25WZXJpZmllZCkge1xuICAgIGNvbnN0IGxhc3RNZXRhcHJvb2ZTdGVwID0gbG9jYWxDb250ZXh0LmdldExhc3RNZXRhcHJvb2ZTdGVwKCksXG4gICAgICAgICAgbWV0YXByb29mU3RlcCA9IGxhc3RNZXRhcHJvb2ZTdGVwLCAvLy9cbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFwcm9vZlN0ZXAuZ2V0TWV0YXN0YXRlbWVudE5vZGUoKSxcbiAgICAgICAgICBjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUgPSBjb25jbHVzaW9uLmdldE1ldGFzdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzQ29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGUubWF0Y2goY29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIG1ldGFwcm9vZlZlcmlmaWVkID0gbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzQ29uY2x1c2lvbk1ldGFzdGF0ZW1lbnROb2RlOyAgLy8vXG4gIH1cblxuICByZXR1cm4gbWV0YXByb29mVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXByb29mIiwibWV0YURlcml2YXRpb25Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhcHJvb2ZOb2RlIiwiY29uY2x1c2lvbiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHQiLCJtZXRhcHJvb2ZWZXJpZmllZCIsIm1ldGFMZXZlbExvY2FsQ29udGV4dCIsIk1ldGFMZXZlbExvY2FsQ29udGV4dCIsImZyb21Mb2NhbENvbnRleHQiLCJtZXRhRGVyaXZhdGlvbk5vZGUiLCJtZXRhRGVyaXZhdGlvblZlcmlmaWVkIiwidmVyaWZ5TWV0YURlcml2YXRpb24iLCJsYXN0TWV0YXByb29mU3RlcCIsImdldExhc3RNZXRhcHJvb2ZTdGVwIiwibWV0YXByb29mU3RlcCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJjb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXNDb25jbHVzaW9uTWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUF3QkE7OztxRUFQUztnRUFDQztxQkFFUjs7Ozs7O0FBRTFCLElBQU1DLDBCQUEwQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUUzQixTQUFTRixnQkFBZ0JHLGFBQWEsRUFBRUMsVUFBVSxFQUFFQyxhQUFhLEVBQUVDLFlBQVk7SUFDNUYsSUFBSUMsb0JBQW9CO0lBRXhCLElBQU1DLHdCQUF3QkMsa0JBQXFCLENBQUNDLGdCQUFnQixDQUFDSjtJQUVyRUEsZUFBZUUsdUJBQXVCLEdBQUc7SUFFekMsSUFBTUcscUJBQXFCVix3QkFBd0JFLGdCQUM3Q1MseUJBQXlCQyxJQUFBQSx1QkFBb0IsRUFBQ0Ysb0JBQW9CTixlQUFlQztJQUV2RixJQUFJTSx3QkFBd0I7UUFDMUIsSUFBTUUsb0JBQW9CUixhQUFhUyxvQkFBb0IsSUFDckRDLGdCQUFnQkYsbUJBQ2hCRyxvQkFBb0JELGNBQWNFLG9CQUFvQixJQUN0REMsOEJBQThCZixXQUFXYyxvQkFBb0IsSUFDN0RFLHNEQUFzREgsa0JBQWtCSSxLQUFLLENBQUNGO1FBRXBGWixvQkFBb0JhLHFEQUFzRCxHQUFHO0lBQy9FO0lBRUEsT0FBT2I7QUFDVCJ9
@@ -23,22 +23,22 @@ function _interop_require_default(obj) {
23
23
  };
24
24
  }
25
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) {
26
+ function verifyMetaproofStep(metaproofStepNode, substitutions, localContext) {
27
27
  var metaproofStepVerified = false;
28
28
  var metaSubproofNode = metaSubproofNodeQuery(metaproofStepNode), qualifiedStatementNode = qualifiedStatementNodeQuery(metaproofStepNode), unqualifiedStatementNode = unqualifiedStatementNodeQuery(metaproofStepNode), qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(metaproofStepNode), unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaproofStepNode);
29
29
  if (false) {
30
30
  ///
31
31
  } else if (metaSubproofNode !== null) {
32
32
  var metaSubproofVerified;
33
- metaSubproofVerified = (0, _metaSubproof.default)(metaSubproofNode, substitutions, localMetaContext);
33
+ metaSubproofVerified = (0, _metaSubproof.default)(metaSubproofNode, substitutions, localContext);
34
34
  if (metaSubproofVerified) {
35
35
  var metaproofStep = _metaproof.default.fromMetaSubproofNode(metaSubproofNode);
36
- localMetaContext.addMetaproofStep(metaproofStep);
36
+ localContext.addMetaproofStep(metaproofStep);
37
37
  metaproofStepVerified = true;
38
38
  }
39
39
  } else if (qualifiedStatementNode !== null) {
40
40
  var qualifiedStatementVerified;
41
- var assignments = [], localContext = localMetaContext; ///
41
+ var assignments = []; ///
42
42
  qualifiedStatementVerified = (0, _qualified.default)(qualifiedStatementNode, assignments, localContext);
43
43
  if (qualifiedStatementVerified) {
44
44
  var assignmentAssigned = (0, _assignments.assignAssignment)(assignments, localContext);
@@ -46,46 +46,46 @@ function verifyMetaproofStep(metaproofStepNode, substitutions, localMetaContext)
46
46
  }
47
47
  if (qualifiedStatementVerified) {
48
48
  var statementNode = statementNodeQuery(qualifiedStatementNode), metaproofStep1 = _metaproof.default.fromStatementNode(statementNode);
49
- localMetaContext.addMetaproofStep(metaproofStep1);
49
+ localContext.addMetaproofStep(metaproofStep1);
50
50
  metaproofStepVerified = true;
51
51
  }
52
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; ///
53
+ var unqualifiedStatementVerified;
54
+ var derived = true, assignments1 = [];
55
+ unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, assignments1, derived, localContext);
56
+ if (unqualifiedStatementVerified) {
57
+ var assignmentAssigned1 = (0, _assignments.assignAssignment)(assignments1, localContext);
58
+ unqualifiedStatementVerified = assignmentAssigned1; ///
59
59
  }
60
- if (qualifiedStatementVerified1) {
61
- var statementNode1 = statementNodeQuery(qualifiedStatementNode), metaproofStep2 = _metaproof.default.fromStatementNode(statementNode1);
62
- localMetaContext.addMetaproofStep(metaproofStep2);
63
- metaproofStepVerified = qualifiedStatementVerified1; ///
60
+ if (unqualifiedStatementVerified) {
61
+ var statementNode1 = statementNodeQuery(unqualifiedStatementNode), metaproofStep2 = _metaproof.default.fromStatementNode(statementNode1);
62
+ localContext.addMetaproofStep(metaproofStep2);
63
+ metaproofStepVerified = unqualifiedStatementVerified; ///
64
64
  }
65
65
  } else if (qualifiedMetastatementNode !== null) {
66
66
  var qualifiedMetastatementVerified;
67
67
  var assignments2 = [];
68
- qualifiedMetastatementVerified = (0, _qualified1.default)(qualifiedMetastatementNode, substitutions, assignments2, localMetaContext);
68
+ qualifiedMetastatementVerified = (0, _qualified1.default)(qualifiedMetastatementNode, substitutions, assignments2, localContext);
69
69
  if (qualifiedMetastatementVerified) {
70
- var localContext2 = localMetaContext, assignmentAssigned2 = (0, _assignments.assignAssignment)(assignments2, localContext2);
70
+ var assignmentAssigned2 = (0, _assignments.assignAssignment)(assignments2, localContext);
71
71
  qualifiedMetastatementVerified = assignmentAssigned2; ///
72
72
  }
73
73
  if (qualifiedMetastatementVerified) {
74
74
  var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metaproofStep3 = _metaproof.default.fromMetastatementNode(metastatementNode);
75
- localMetaContext.addMetaproofStep(metaproofStep3);
75
+ localContext.addMetaproofStep(metaproofStep3);
76
76
  metaproofStepVerified = qualifiedMetastatementVerified; ///
77
77
  }
78
78
  } else if (unqualifiedMetastatementNode !== null) {
79
79
  var unqualifiedMetastatementVerified;
80
- var derived = true, assignments3 = [];
81
- unqualifiedMetastatementVerified = (0, _unqualified1.default)(unqualifiedMetastatementNode, assignments3, derived, localMetaContext);
80
+ var derived1 = true, assignments3 = [];
81
+ unqualifiedMetastatementVerified = (0, _unqualified1.default)(unqualifiedMetastatementNode, assignments3, derived1, localContext);
82
82
  if (unqualifiedMetastatementVerified) {
83
- var localContext3 = localMetaContext, assignmentAssigned3 = (0, _assignments.assignAssignment)(assignments3, localContext3);
83
+ var assignmentAssigned3 = (0, _assignments.assignAssignment)(assignments3, localContext);
84
84
  unqualifiedMetastatementVerified = assignmentAssigned3; ///
85
85
  }
86
86
  if (unqualifiedMetastatementVerified) {
87
87
  var metastatementNode1 = metastatementNodeQuery(unqualifiedMetastatementNode), metaproofStep4 = _metaproof.default.fromMetastatementNode(metastatementNode1);
88
- localMetaContext.addMetaproofStep(metaproofStep4);
88
+ localContext.addMetaproofStep(metaproofStep4);
89
89
  metaproofStepVerified = true;
90
90
  }
91
91
  }
@@ -95,4 +95,4 @@ Object.assign(_metaSubDerivation.default, {
95
95
  verifyMetaproofStep: verifyMetaproofStep
96
96
  });
97
97
 
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mU3RlcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFwcm9vZlN0ZXAgZnJvbSBcIi4uL3N0ZXAvbWV0YXByb29mXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YVN1YnByb29mIGZyb20gXCIuLi92ZXJpZnkvbWV0YVN1YnByb29mXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YVN1YkRlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhU3ViRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L21ldGFzdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgYXNzaWduQXNzaWdubWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcblxuY29uc3QgbWV0YVN1YnByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFwcm9vZlN0ZXB8bGFzdE1ldGFwcm9vZlN0ZXAvbWV0YVN1YnByb29mIVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkTWV0YXN0YXRlbWVudHx1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mU3RlcHxsYXN0TWV0YXByb29mU3RlcC9xdWFsaWZpZWRTdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mU3RlcHxsYXN0TWV0YXByb29mU3RlcC91bnF1YWxpZmllZFN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFwcm9vZlN0ZXB8bGFzdE1ldGFwcm9vZlN0ZXAvcXVhbGlmaWVkTWV0YXN0YXRlbWVudCFcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mU3RlcHxsYXN0TWV0YXByb29mU3RlcC91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXBOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhcHJvb2ZTdGVwVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhU3VicHJvb2ZOb2RlID0gbWV0YVN1YnByb29mTm9kZVF1ZXJ5KG1ldGFwcm9vZlN0ZXBOb2RlKSxcbiAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShtZXRhcHJvb2ZTdGVwTm9kZSksXG4gICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFwcm9vZlN0ZXBOb2RlKSxcbiAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFwcm9vZlN0ZXBOb2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeShtZXRhcHJvb2ZTdGVwTm9kZSk7XG5cbiAgaWYgKGZhbHNlKSB7XG4gICAgLy8vXG4gIH0gZWxzZSBpZiAobWV0YVN1YnByb29mTm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBtZXRhU3VicHJvb2ZWZXJpZmllZDtcblxuICAgIG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gdmVyaWZ5TWV0YVN1YnByb29mKG1ldGFTdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFTdWJwcm9vZlZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YVN1YnByb29mTm9kZShtZXRhU3VicHJvb2ZOb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBtZXRhcHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xuXG4gICAgY29uc3QgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICBsb2NhbENvbnRleHQgPSBsb2NhbE1ldGFDb250ZXh0OyAgLy8vXG5cbiAgICBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgYXNzaWdubWVudEFzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgIG1ldGFwcm9vZlN0ZXAgPSBNZXRhcHJvb2ZTdGVwLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9IGVsc2UgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gbG9jYWxNZXRhQ29udGV4dCwgIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBudWxsO1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBtZXRhcHJvb2ZTdGVwVmVyaWZpZWQgPSBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgfVxuICB9IGVsc2UgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGFzc2lnbm1lbnRzID0gW107XG5cbiAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBhc3NpZ25tZW50cywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHQgPSBsb2NhbE1ldGFDb250ZXh0LCAgLy8vXG4gICAgICAgICAgICBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgfVxuICB9IGVsc2UgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBsZXQgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICBjb25zdCBkZXJpdmVkID0gdHJ1ZSxcbiAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdO1xuXG4gICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHQgPSBsb2NhbE1ldGFDb250ZXh0LCAgLy8vXG4gICAgICAgICAgICBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFwcm9vZlN0ZXBWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbih2ZXJpZnlNZXRhU3ViRGVyaXZhdGlvbiwge1xuICB2ZXJpZnlNZXRhcHJvb2ZTdGVwXG59KTtcbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhcHJvb2ZTdGVwIiwibWV0YVN1YnByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGFwcm9vZlN0ZXBOb2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsTWV0YUNvbnRleHQiLCJtZXRhcHJvb2ZTdGVwVmVyaWZpZWQiLCJtZXRhU3VicHJvb2ZOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFTdWJwcm9vZlZlcmlmaWVkIiwidmVyaWZ5TWV0YVN1YnByb29mIiwibWV0YXByb29mU3RlcCIsIk1ldGFwcm9vZlN0ZXAiLCJmcm9tTWV0YVN1YnByb29mTm9kZSIsImFkZE1ldGFwcm9vZlN0ZXAiLCJxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsImFzc2lnbm1lbnRzIiwibG9jYWxDb250ZXh0IiwidmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50IiwiYXNzaWdubWVudEFzc2lnbmVkIiwiYXNzaWduQXNzaWdubWVudCIsInN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJmcm9tU3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwiZGVyaXZlZCIsInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInZlcmlmeU1ldGFTdWJEZXJpdmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvQkE7OztlQUF3QkE7OztnRUFsQkU7bUVBQ0s7d0VBQ0s7Z0VBQ0M7a0VBQ0U7aUVBQ0U7bUVBQ0U7cUJBRWpCOzJCQUNPOzs7Ozs7QUFFakMsSUFBTUMsd0JBQXdCQyxJQUFBQSxnQkFBUyxFQUFDLG1EQUNsQ0MseUJBQXlCRCxJQUFBQSxnQkFBUyxFQUFDLG9FQUNuQ0UsOEJBQThCRixJQUFBQSxnQkFBUyxFQUFDLHlEQUN4Q0csZ0NBQWdDSCxJQUFBQSxnQkFBUyxFQUFDLDJEQUMxQ0ksa0NBQWtDSixJQUFBQSxnQkFBUyxFQUFDLDZEQUM1Q0ssb0NBQW9DTCxJQUFBQSxnQkFBUyxFQUFDO0FBRXJDLFNBQVNGLG9CQUFvQlEsaUJBQWlCLEVBQUVDLGFBQWEsRUFBRUMsZ0JBQWdCO0lBQzVGLElBQUlDLHdCQUF3QjtJQUU1QixJQUFNQyxtQkFBbUJYLHNCQUFzQk8sb0JBQ3pDSyx5QkFBeUJU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
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mU3RlcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFwcm9vZlN0ZXAgZnJvbSBcIi4uL3N0ZXAvbWV0YXByb29mXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YVN1YnByb29mIGZyb20gXCIuLi92ZXJpZnkvbWV0YVN1YnByb29mXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YVN1YkRlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhU3ViRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L21ldGFzdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgYXNzaWduQXNzaWdubWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcblxuY29uc3QgbWV0YVN1YnByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFwcm9vZlN0ZXB8bGFzdE1ldGFwcm9vZlN0ZXAvbWV0YVN1YnByb29mIVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkTWV0YXN0YXRlbWVudHx1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mU3RlcHxsYXN0TWV0YXByb29mU3RlcC9xdWFsaWZpZWRTdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mU3RlcHxsYXN0TWV0YXByb29mU3RlcC91bnF1YWxpZmllZFN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFwcm9vZlN0ZXB8bGFzdE1ldGFwcm9vZlN0ZXAvcXVhbGlmaWVkTWV0YXN0YXRlbWVudCFcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mU3RlcHxsYXN0TWV0YXByb29mU3RlcC91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXBOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFTdWJwcm9vZk5vZGUgPSBtZXRhU3VicHJvb2ZOb2RlUXVlcnkobWV0YXByb29mU3RlcE5vZGUpLFxuICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gcXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFwcm9vZlN0ZXBOb2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkobWV0YXByb29mU3RlcE5vZGUpLFxuICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkobWV0YXByb29mU3RlcE5vZGUpLFxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFwcm9vZlN0ZXBOb2RlKTtcblxuICBpZiAoZmFsc2UpIHtcbiAgICAvLy9cbiAgfSBlbHNlIGlmIChtZXRhU3VicHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IG1ldGFTdWJwcm9vZlZlcmlmaWVkO1xuXG4gICAgbWV0YVN1YnByb29mVmVyaWZpZWQgPSB2ZXJpZnlNZXRhU3VicHJvb2YobWV0YVN1YnByb29mTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChtZXRhU3VicHJvb2ZWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFTdWJwcm9vZk5vZGUobWV0YVN1YnByb29mTm9kZSk7XG5cbiAgICAgIGxvY2FsQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBtZXRhcHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xuXG4gICAgY29uc3QgYXNzaWdubWVudHMgPSBbXTsgIC8vL1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9IGVsc2UgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xuXG4gICAgY29uc3QgZGVyaXZlZCA9IHRydWUsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXTtcblxuICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICAgIH1cbiAgfSBlbHNlIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICBjb25zdCBhc3NpZ25tZW50cyA9IFtdO1xuXG4gICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBsb2NhbENvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgICAgbWV0YXByb29mU3RlcFZlcmlmaWVkID0gcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkOyAvLy9cbiAgICB9XG4gIH0gZWxzZSBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGRlcml2ZWQgPSB0cnVlLFxuICAgICAgICAgIGFzc2lnbm1lbnRzID0gW107XG5cbiAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgYXNzaWdubWVudEFzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFwcm9vZlN0ZXBWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbih2ZXJpZnlNZXRhU3ViRGVyaXZhdGlvbiwge1xuICB2ZXJpZnlNZXRhcHJvb2ZTdGVwXG59KTtcbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhcHJvb2ZTdGVwIiwibWV0YVN1YnByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGFwcm9vZlN0ZXBOb2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dCIsIm1ldGFwcm9vZlN0ZXBWZXJpZmllZCIsIm1ldGFTdWJwcm9vZk5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YVN1YnByb29mVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhU3VicHJvb2YiLCJtZXRhcHJvb2ZTdGVwIiwiTWV0YXByb29mU3RlcCIsImZyb21NZXRhU3VicHJvb2ZOb2RlIiwiYWRkTWV0YXByb29mU3RlcCIsInF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwiYXNzaWdubWVudHMiLCJ2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQiLCJhc3NpZ25tZW50QXNzaWduZWQiLCJhc3NpZ25Bc3NpZ25tZW50Iiwic3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGVRdWVyeSIsImZyb21TdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsImRlcml2ZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwidmVyaWZ5TWV0YVN1YkRlcml2YXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW9CQTs7O2VBQXdCQTs7O2dFQWxCRTttRUFDSzt3RUFDSztnRUFDQztrRUFDRTtpRUFDRTttRUFDRTtxQkFFakI7MkJBQ087Ozs7OztBQUVqQyxJQUFNQyx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUMsbURBQ2xDQyx5QkFBeUJELElBQUFBLGdCQUFTLEVBQUMsb0VBQ25DRSw4QkFBOEJGLElBQUFBLGdCQUFTLEVBQUMseURBQ3hDRyxnQ0FBZ0NILElBQUFBLGdCQUFTLEVBQUMsMkRBQzFDSSxrQ0FBa0NKLElBQUFBLGdCQUFTLEVBQUMsNkRBQzVDSyxvQ0FBb0NMLElBQUFBLGdCQUFTLEVBQUM7QUFFckMsU0FBU0Ysb0JBQW9CUSxpQkFBaUIsRUFBRUMsYUFBYSxFQUFFQyxZQUFZO0lBQ3hGLElBQUlDLHdCQUF3QjtJQUU1QixJQUFNQyxtQkFBbUJYLHNCQUFzQk8sb0JBQ3pDSyx5QkFBeUJULDRCQUE0Qkksb0JBQ3JETSwyQkFBMkJULDhCQUE4Qkcsb0JBQ3pETyw2QkFBNkJULGdDQUFnQ0Usb0JBQzdEUSwrQkFBK0JULGtDQUFrQ0M7SUFFdkUsSUFBSSxPQUFPO0lBQ1QsR0FBRztJQUNMLE9BQU8sSUFBSUkscUJBQXFCLE1BQU07UUFDcEMsSUFBSUs7UUFFSkEsdUJBQXVCQyxJQUFBQSxxQkFBa0IsRUFBQ04sa0JBQWtC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
@@ -16,51 +16,51 @@ function _interop_require_default(obj) {
16
16
  };
17
17
  }
18
18
  var metavariableNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement/reference!/metavariable!"), metastatementNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement/metastatement!");
19
- function verifyQualifiedMetastatement(qualifiedMetastatementNode, substitutions, assignments, localMetaContext) {
19
+ function verifyQualifiedMetastatement(qualifiedMetastatementNode, substitutions, assignments, localContext) {
20
20
  var qualifiedMetastatementVerified;
21
- var qualifiedMetastatementString = localMetaContext.nodeAsString(qualifiedMetastatementNode);
22
- localMetaContext.trace("Verifying the '".concat(qualifiedMetastatementString, "' qualified metastatement..."), qualifiedMetastatementNode);
21
+ var qualifiedMetastatementString = localContext.nodeAsString(qualifiedMetastatementNode);
22
+ localContext.trace("Verifying the '".concat(qualifiedMetastatementString, "' qualified metastatement..."), qualifiedMetastatementNode);
23
23
  var metavariableNode = metavariableNodeQuery(qualifiedMetastatementNode), verifyQualifiedMetastatementFunctions = [
24
24
  verifyQualifiedMetastatementAAgainstRule,
25
25
  verifyQualifiedMetastatementAAgainstReference
26
26
  ];
27
27
  qualifiedMetastatementVerified = verifyQualifiedMetastatementFunctions.some(function(verifyQualifiedMetastatementFunction) {
28
- var qualifiedMetastatementVerified = verifyQualifiedMetastatementFunction(qualifiedMetastatementNode, metavariableNode, substitutions, localMetaContext);
28
+ var qualifiedMetastatementVerified = verifyQualifiedMetastatementFunction(qualifiedMetastatementNode, metavariableNode, substitutions, localContext);
29
29
  if (qualifiedMetastatementVerified) {
30
30
  return true;
31
31
  }
32
32
  });
33
33
  if (qualifiedMetastatementVerified) {
34
- var derived = false, metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localMetaContext, function() {
34
+ var derived = false, metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localContext, function() {
35
35
  var verifiedAhead = true;
36
36
  return verifiedAhead;
37
37
  });
38
38
  qualifiedMetastatementVerified = metastatementVerified; ///
39
39
  }
40
40
  if (qualifiedMetastatementVerified) {
41
- localMetaContext.debug("...verified the '".concat(qualifiedMetastatementString, "' qualified metastatement."), qualifiedMetastatementNode);
41
+ localContext.debug("...verified the '".concat(qualifiedMetastatementString, "' qualified metastatement."), qualifiedMetastatementNode);
42
42
  }
43
43
  return qualifiedMetastatementVerified;
44
44
  }
45
- function verifyQualifiedMetastatementAAgainstRule(qualifiedMetastatementNode, metavariableNode, substitutions, localMetaContext) {
45
+ function verifyQualifiedMetastatementAAgainstRule(qualifiedMetastatementNode, metavariableNode, substitutions, localContext) {
46
46
  var qualifiedMetastatementVerifiedAgainstRule = false;
47
- var rule = localMetaContext.findRuleByMetavariableNode(metavariableNode);
47
+ var rule = localContext.findRuleByMetavariableNode(metavariableNode);
48
48
  if (rule !== null) {
49
- var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metavariableString = localMetaContext.nodeAsString(metavariableNode), qualifiedMetastatementString = localMetaContext.nodeAsString(qualifiedMetastatementNode);
50
- localMetaContext.trace("Verifying the '".concat(qualifiedMetastatementString, "' qualified metastatement against the '").concat(metavariableString, "' rule..."), qualifiedMetastatementNode);
51
- var ruleMatchesMetastatement = rule.matchMetastatement(metastatementNode, localMetaContext);
49
+ var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedMetastatementString = localContext.nodeAsString(qualifiedMetastatementNode);
50
+ localContext.trace("Verifying the '".concat(qualifiedMetastatementString, "' qualified metastatement against the '").concat(metavariableString, "' rule..."), qualifiedMetastatementNode);
51
+ var ruleMatchesMetastatement = rule.matchMetastatement(metastatementNode, localContext);
52
52
  qualifiedMetastatementVerifiedAgainstRule = ruleMatchesMetastatement; ///
53
53
  if (qualifiedMetastatementVerifiedAgainstRule) {
54
- localMetaContext.debug("...verified the '".concat(qualifiedMetastatementString, "' qualified metastatement against the '").concat(metavariableString, "' rule."), qualifiedMetastatementNode);
54
+ localContext.debug("...verified the '".concat(qualifiedMetastatementString, "' qualified metastatement against the '").concat(metavariableString, "' rule."), qualifiedMetastatementNode);
55
55
  }
56
56
  }
57
57
  return qualifiedMetastatementVerifiedAgainstRule;
58
58
  }
59
- function verifyQualifiedMetastatementAAgainstReference(qualifiedMetastatementNode, metavariableNode, substitutions, localMetaContext) {
59
+ function verifyQualifiedMetastatementAAgainstReference(qualifiedMetastatementNode, metavariableNode, substitutions, localContext) {
60
60
  var qualifiedMetastatementVerifiedAgainstReference = false;
61
61
  if (substitutions !== null) {
62
- var metavariableString = localMetaContext.nodeAsString(metavariableNode), metavariablePresent = localMetaContext.isMetavariablePresentByMetavariableNode(metavariableNode, localMetaContext), qualifiedMetastatementString = localMetaContext.nodeAsString(qualifiedMetastatementNode);
63
- localMetaContext.trace("Verifying the '".concat(qualifiedMetastatementString, "' qualified metastatement against the '").concat(metavariableString, "' reference..."), qualifiedMetastatementNode);
62
+ var metavariableString = localContext.nodeAsString(metavariableNode), metavariablePresent = localContext.isMetavariablePresentByMetavariableNode(metavariableNode, localContext), qualifiedMetastatementString = localContext.nodeAsString(qualifiedMetastatementNode);
63
+ localContext.trace("Verifying the '".concat(qualifiedMetastatementString, "' qualified metastatement against the '").concat(metavariableString, "' reference..."), qualifiedMetastatementNode);
64
64
  if (metavariablePresent) {
65
65
  var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metavariableVerifiedAgainstMetastatement = (0, _metavariableAgainstMetastatement.default)(metavariableNode, metastatementNode, substitutions, function() {
66
66
  var verifiedAhead = true;
@@ -69,27 +69,27 @@ function verifyQualifiedMetastatementAAgainstReference(qualifiedMetastatementNod
69
69
  qualifiedMetastatementVerifiedAgainstReference = metavariableVerifiedAgainstMetastatement; ///
70
70
  }
71
71
  if (qualifiedMetastatementVerifiedAgainstReference) {
72
- localMetaContext.debug("...verified the '".concat(qualifiedMetastatementString, "' qualified metastatement against the '").concat(metavariableString, "' reference."), qualifiedMetastatementNode);
72
+ localContext.debug("...verified the '".concat(qualifiedMetastatementString, "' qualified metastatement against the '").concat(metavariableString, "' reference."), qualifiedMetastatementNode);
73
73
  }
74
74
  }
75
75
  return qualifiedMetastatementVerifiedAgainstReference;
76
76
  }
77
- function verifyMetastatement(metastatementNode, assignments, derived, localMetaContext) {
77
+ function verifyMetastatement(metastatementNode, assignments, derived, localContext) {
78
78
  var metastatementVerified;
79
- var metastatementString = localMetaContext.nodeAsString(metastatementNode);
80
- localMetaContext.trace("Verifying the '".concat(metastatementString, "' metastatement..."), metastatementNode);
79
+ var metastatementString = localContext.nodeAsString(metastatementNode);
80
+ localContext.trace("Verifying the '".concat(metastatementString, "' metastatement..."), metastatementNode);
81
81
  var verifyMetaStatementFunctions = [];
82
82
  verifyMetaStatementFunctions.some(function(verifyStatementFunction) {
83
- var metastatementVerified = verifyStatementFunction(metastatementNode, assignments, derived, localMetaContext);
83
+ var metastatementVerified = verifyStatementFunction(metastatementNode, assignments, derived, localContext);
84
84
  if (metastatementVerified) {
85
85
  return true;
86
86
  }
87
87
  });
88
88
  metastatementVerified = true; ///
89
89
  if (metastatementVerified) {
90
- localMetaContext.debug("...verified the '".concat(metastatementString, "' metastatement."), metastatementNode);
90
+ localContext.debug("...verified the '".concat(metastatementString, "' metastatement."), metastatementNode);
91
91
  }
92
92
  return metastatementVerified;
93
93
  }
94
94
 
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0TWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vLi4vdmVyaWZ5L21ldGF2YXJpYWJsZUFnYWluc3RNZXRhc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQvcmVmZXJlbmNlIS9tZXRhdmFyaWFibGUhXCIpLFxuICAgICAgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBhc3NpZ25tZW50cywgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuLi5gLCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gICAgICAgICAgdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UnVsZSxcbiAgICAgICAgICB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50QUFnYWluc3RSZWZlcmVuY2VcbiAgICAgICAgXTtcblxuICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRGdW5jdGlvbikgPT4geyAgLy8vXG4gICAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEZ1bmN0aW9uKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnN0IGRlcml2ZWQgPSBmYWxzZSxcbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeU1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICB9XG5cbiAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UnVsZShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJ1bGUgPSBmYWxzZTtcblxuICBjb25zdCBydWxlID0gbG9jYWxNZXRhQ29udGV4dC5maW5kUnVsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAocnVsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBtZXRhc3RhdGVtZW50IGFnYWluc3QgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJ1bGUuLi5gLCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBydWxlTWF0Y2hlc01ldGFzdGF0ZW1lbnQgPSBydWxlLm1hdGNoTWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UnVsZSA9IHJ1bGVNYXRjaGVzTWV0YXN0YXRlbWVudDsgIC8vL1xuXG4gICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSdWxlKSB7XG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7cXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBtZXRhc3RhdGVtZW50IGFnYWluc3QgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJ1bGUuYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UnVsZTtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UmVmZXJlbmNlKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UmVmZXJlbmNlID0gZmFsc2U7XG5cbiAgaWYgKHN1YnN0aXR1dGlvbnMgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVQcmVzZW50ID0gbG9jYWxNZXRhQ29udGV4dC5pc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxNZXRhQ29udGV4dCksXG4gICAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBtZXRhc3RhdGVtZW50IGFnYWluc3QgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJlZmVyZW5jZS4uLmAsIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWRBZ2FpbnN0TWV0YXN0YXRlbWVudCA9IHZlcmlmeU1ldGF2YXJpYWJsZUFnYWluc3RNZXRhc3RhdGVtZW50KG1ldGF2YXJpYWJsZU5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSZWZlcmVuY2UgPSBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50OyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJlZmVyZW5jZSkge1xuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3F1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgbWV0YXN0YXRlbWVudCBhZ2FpbnN0IHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyByZWZlcmVuY2UuYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UmVmZXJlbmNlO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudC4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCB2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zID0gW1xuICAgIC8vL1xuICBdO1xuXG4gIHZlcmlmeU1ldGFTdGF0ZW1lbnRGdW5jdGlvbnMuc29tZSgodmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbihtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB0cnVlOyAvLy9cblxuICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50LmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG5cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9ucyIsImFzc2lnbm1lbnRzIiwibG9jYWxNZXRhQ29udGV4dCIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UnVsZSIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRBQWdhaW5zdFJlZmVyZW5jZSIsInNvbWUiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50RnVuY3Rpb24iLCJkZXJpdmVkIiwibWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50IiwidmVyaWZpZWRBaGVhZCIsImRlYnVnIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJ1bGUiLCJydWxlIiwiZmluZFJ1bGVCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVTdHJpbmciLCJydWxlTWF0Y2hlc01ldGFzdGF0ZW1lbnQiLCJtYXRjaE1ldGFzdGF0ZW1lbnQiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UmVmZXJlbmNlIiwibWV0YXZhcmlhYmxlUHJlc2VudCIsImlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQiLCJ2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0TWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnRTdHJpbmciLCJ2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBd0JBOzs7dUZBUDJCO3FCQUV6Qjs7Ozs7O0FBRTFCLElBQU1DLHdCQUF3QkMsSUFBQUEsZ0JBQVMsRUFBQyxxREFDbENDLHlCQUF5QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTRiw2QkFBNkJJLDBCQUEwQixFQUFFQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsZ0JBQWdCO0lBQzNILElBQUlDO0lBRUosSUFBTUMsK0JBQStCRixpQkFBaUJHLFlBQVksQ0FBQ047SUFFbkVHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQThDLE9BQTdCRiw4QkFBNkIsaUNBQStCTDtJQUVyRyxJQUFNUSxtQkFBbUJYLHNCQUFzQkcsNkJBQ3pDUyx3Q0FBd0M7UUFDdENDO1FBQ0FDO0tBQ0Q7SUFFUFAsaUNBQWlDSyxzQ0FBc0NHLElBQUksQ0FBQyxTQUFDQztRQUMzRSxJQUFNVCxpQ0FBaUNTLHFDQUFxQ2IsNEJBQTRCUSxrQkFBa0JQLGVBQWVFO1FBRXpJLElBQUlDLGdDQUFnQztZQUNsQyxPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlBLGdDQUFnQztRQUNsQyxJQUFNVSxVQUFVLE9BQ1ZDLG9CQUFvQmhCLHVCQUF1QkMsNkJBQzNDZ0Isd0JBQXdCQyxvQkFBb0JGLG1CQUFtQmIsYUFBYVksU0FBU1gsa0JBQWtCO1lBQ3JHLElBQU1lLGdCQUFnQjtZQUV0QixPQUFPQTtRQUNUO1FBRU5kLGlDQUFpQ1ksdUJBQXVCLEdBQUc7SUFDN0Q7SUFFQSxJQUFJWixnQ0FBZ0M7UUFDbENELGlCQUFpQmdCLEtBQUssQ0FBQyxBQUFDLG9CQUFnRCxPQUE3QmQsOEJBQTZCLCtCQUE2Qkw7SUFDdkc7SUFFQSxPQUFPSTtBQUNUO0FBRUEsU0FBU00seUNBQXlDViwwQkFBMEIsRUFBRVEsZ0JBQWdCLEVBQUVQLGFBQWEsRUFBRUUsZ0JBQWdCO0lBQzdILElBQUlpQiw0Q0FBNEM7SUFFaEQsSUFBTUMsT0FBT2xCLGlCQUFpQm1CLDBCQUEwQixDQUFDZDtJQUV6RCxJQUFJYSxTQUFTLE1BQU07UUFDakIsSUFBTU4sb0JBQW9CaEIsdUJBQXVCQyw2QkFDM0N1QixxQkFBcUJwQixpQkFBaUJHLFlBQVksQ0FBQ0UsbUJBQ25ESCwrQkFBK0JGLGlCQUFpQkcsWUFBWSxDQUFDTjtRQUVuRUcsaUJBQWlCSSxLQUFLLENBQUMsQUFBQyxrQkFBdUZnQixPQUF0RWxCLDhCQUE2QiwyQ0FBNEQsT0FBbkJrQixvQkFBbUIsY0FBWXZCO1FBRTlJLElBQU13QiwyQkFBMkJILEtBQUtJLGtCQUFrQixDQUFDVixtQkFBbUJaO1FBRTVFaUIsNENBQTRDSSwwQkFBMkIsR0FBRztRQUUxRSxJQUFJSiwyQ0FBMkM7WUFDN0NqQixpQkFBaUJnQixLQUFLLENBQUMsQUFBQyxvQkFBeUZJLE9BQXRFbEIsOEJBQTZCLDJDQUE0RCxPQUFuQmtCLG9CQUFtQixZQUFVdkI7UUFDaEo7SUFDRjtJQUVBLE9BQU9vQjtBQUNUO0FBRUEsU0FBU1QsOENBQThDWCwwQkFBMEIsRUFBRVEsZ0JBQWdCLEVBQUVQLGFBQWEsRUFBRUUsZ0JBQWdCO0lBQ2xJLElBQUl1QixpREFBaUQ7SUFFckQsSUFBSXpCLGtCQUFrQixNQUFNO1FBQzFCLElBQU1zQixxQkFBcUJwQixpQkFBaUJHLFlBQVksQ0FBQ0UsbUJBQ25EbUIsc0JBQXNCeEIsaUJBQWlCeUIsdUNBQXVDLENBQUNwQixrQkFBa0JMLG1CQUNqR0UsK0JBQStCRixpQkFBaUJHLFlBQVksQ0FBQ047UUFFbkVHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQXVGZ0IsT0FBdEVsQiw4QkFBNkIsMkNBQTRELE9BQW5Ca0Isb0JBQW1CLG1CQUFpQnZCO1FBRW5KLElBQUkyQixxQkFBcUI7WUFDdkIsSUFBTVosb0JBQW9CaEIsdUJBQXVCQyw2QkFDM0M2QiwyQ0FBMkNDLElBQUFBLHlDQUFzQyxFQUFDdEIsa0JBQWtCTyxtQkFBbUJkLGVBQWU7Z0JBQ3BJLElBQU1pQixnQkFBZ0I7Z0JBRXRCLE9BQU9BO1lBQ1Q7WUFFTlEsaURBQWlERywwQ0FBMEMsR0FBRztRQUNoRztRQUVBLElBQUlILGdEQUFnRDtZQUNsRHZCLGlCQUFpQmdCLEtBQUssQ0FBQyxBQUFDLG9CQUF5RkksT0FBdEVsQiw4QkFBNkIsMkNBQTRELE9BQW5Ca0Isb0JBQW1CLGlCQUFldkI7UUFDcko7SUFDRjtJQUVBLE9BQU8wQjtBQUNUO0FBRUEsU0FBU1Qsb0JBQW9CRixpQkFBaUIsRUFBRWIsV0FBVyxFQUFFWSxPQUFPLEVBQUVYLGdCQUFnQjtJQUNwRixJQUFJYTtJQUVKLElBQU1lLHNCQUFzQjVCLGlCQUFpQkcsWUFBWSxDQUFDUztJQUUxRFosaUJBQWlCSSxLQUFLLENBQUMsQUFBQyxrQkFBcUMsT0FBcEJ3QixxQkFBb0IsdUJBQXFCaEI7SUFFbEYsSUFBTWlCLCtCQUErQixFQUVwQztJQUVEQSw2QkFBNkJwQixJQUFJLENBQUMsU0FBQ3FCO1FBQ2pDLElBQU1qQix3QkFBd0JpQix3QkFBd0JsQixtQkFBbUJiLGFBQWFZLFNBQVNYO1FBRS9GLElBQUlhLHVCQUF1QjtZQUN6QixPQUFPO1FBQ1Q7SUFDRjtJQUVBQSx3QkFBd0IsTUFBTSxHQUFHO0lBRWpDLElBQUlBLHVCQUF1QjtRQUN6QmIsaUJBQWlCZ0IsS0FBSyxDQUFDLEFBQUMsb0JBQXVDLE9BQXBCWSxxQkFBb0IscUJBQW1CaEI7SUFDcEY7SUFFQSxPQUFPQztBQUNUIn0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0TWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vLi4vdmVyaWZ5L21ldGF2YXJpYWJsZUFnYWluc3RNZXRhc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQvcmVmZXJlbmNlIS9tZXRhdmFyaWFibGUhXCIpLFxuICAgICAgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuLi5gLCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gICAgICAgICAgdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UnVsZSxcbiAgICAgICAgICB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50QUFnYWluc3RSZWZlcmVuY2VcbiAgICAgICAgXTtcblxuICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRGdW5jdGlvbikgPT4geyAgLy8vXG4gICAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEZ1bmN0aW9uKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3QgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgIH0pO1xuXG4gICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gbWV0YXN0YXRlbWVudFZlcmlmaWVkOyAvLy9cbiAgfVxuXG4gIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UnVsZShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UnVsZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGUgPSBsb2NhbENvbnRleHQuZmluZFJ1bGVCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgaWYgKHJ1bGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3F1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgbWV0YXN0YXRlbWVudCBhZ2FpbnN0IHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBydWxlLi4uYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgcnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50ID0gcnVsZS5tYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UnVsZSA9IHJ1bGVNYXRjaGVzTWV0YXN0YXRlbWVudDsgIC8vL1xuXG4gICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSdWxlKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgcnVsZS5gLCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSdWxlO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50QUFnYWluc3RSZWZlcmVuY2UocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGF2YXJpYWJsZU5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJlZmVyZW5jZSA9IGZhbHNlO1xuXG4gIGlmIChzdWJzdGl0dXRpb25zICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVQcmVzZW50ID0gbG9jYWxDb250ZXh0LmlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgcmVmZXJlbmNlLi4uYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZVByZXNlbnQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50ID0gdmVyaWZ5TWV0YXZhcmlhYmxlQWdhaW5zdE1ldGFzdGF0ZW1lbnQobWV0YXZhcmlhYmxlTm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJlZmVyZW5jZSA9IG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UmVmZXJlbmNlKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgcmVmZXJlbmNlLmAsIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJlZmVyZW5jZTtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgdmVyaWZ5TWV0YVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICAvLy9cbiAgXTtcblxuICB2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB0cnVlOyAvLy9cblxuICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuIl0sIm5hbWVzIjpbInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJzdWJzdGl0dXRpb25zIiwiYXNzaWdubWVudHMiLCJsb2NhbENvbnRleHQiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJtZXRhdmFyaWFibGVOb2RlIiwidmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRBQWdhaW5zdFJ1bGUiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50QUFnYWluc3RSZWZlcmVuY2UiLCJzb21lIiwidmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEZ1bmN0aW9uIiwiZGVyaXZlZCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsInZlcmlmaWVkQWhlYWQiLCJkZWJ1ZyIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSdWxlIiwicnVsZSIsImZpbmRSdWxlQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwicnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50IiwibWF0Y2hNZXRhc3RhdGVtZW50IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJlZmVyZW5jZSIsIm1ldGF2YXJpYWJsZVByZXNlbnQiLCJpc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50IiwidmVyaWZ5TWV0YXZhcmlhYmxlQWdhaW5zdE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwidmVyaWZ5TWV0YVN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQXdCQTs7O3VGQVAyQjtxQkFFekI7Ozs7OztBQUUxQixJQUFNQyx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUMscURBQ2xDQyx5QkFBeUJELElBQUFBLGdCQUFTLEVBQUM7QUFFMUIsU0FBU0YsNkJBQTZCSSwwQkFBMEIsRUFBRUMsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLFlBQVk7SUFDdkgsSUFBSUM7SUFFSixJQUFNQywrQkFBK0JGLGFBQWFHLFlBQVksQ0FBQ047SUFFL0RHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUE4QyxPQUE3QkYsOEJBQTZCLGlDQUErQkw7SUFFakcsSUFBTVEsbUJBQW1CWCxzQkFBc0JHLDZCQUN6Q1Msd0NBQXdDO1FBQ3RDQztRQUNBQztLQUNEO0lBRVBQLGlDQUFpQ0ssc0NBQXNDRyxJQUFJLENBQUMsU0FBQ0M7UUFDM0UsSUFBTVQsaUNBQWlDUyxxQ0FBcUNiLDRCQUE0QlEsa0JBQWtCUCxlQUFlRTtRQUV6SSxJQUFJQyxnQ0FBZ0M7WUFDbEMsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJQSxnQ0FBZ0M7UUFDbEMsSUFBTVUsVUFBVSxPQUNWQyxvQkFBb0JoQix1QkFBdUJD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
@@ -16,22 +16,22 @@ function _interop_require_default(obj) {
16
16
  };
17
17
  }
18
18
  var metastatementNodeQuery = (0, _query.nodeQuery)("/unqualifiedMetastatement/metastatement!");
19
- function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localMetaContext) {
19
+ function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localContext) {
20
20
  var unqualifiedMetastatementVerified = false;
21
- var metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode), unqualifiedMetastatementString = localMetaContext.nodeAsString(unqualifiedMetastatementNode);
22
- localMetaContext.trace("Verifying the '".concat(unqualifiedMetastatementString, "' unqualified metastatement..."), unqualifiedMetastatementNode);
21
+ var metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode), unqualifiedMetastatementString = localContext.nodeAsString(unqualifiedMetastatementNode);
22
+ localContext.trace("Verifying the '".concat(unqualifiedMetastatementString, "' unqualified metastatement..."), unqualifiedMetastatementNode);
23
23
  if (derived) {
24
- var matchesMetastatementNode = localMetaContext.matchMetastatementNode(metastatementNode);
24
+ var matchesMetastatementNode = localContext.matchMetastatementNode(metastatementNode);
25
25
  unqualifiedMetastatementVerified = matchesMetastatementNode; ///
26
26
  }
27
27
  if (!unqualifiedMetastatementVerified) {
28
- var metastatementVerified = (0, _metastatement.default)(metastatementNode, assignments, derived, localMetaContext);
28
+ var metastatementVerified = (0, _metastatement.default)(metastatementNode, assignments, derived, localContext);
29
29
  unqualifiedMetastatementVerified = metastatementVerified; ///
30
30
  }
31
31
  if (unqualifiedMetastatementVerified) {
32
- localMetaContext.debug("...verified the '".concat(unqualifiedMetastatementString, "' unqualified metastatement."), unqualifiedMetastatementNode);
32
+ localContext.debug("...verified the '".concat(unqualifiedMetastatementString, "' unqualified metastatement."), unqualifiedMetastatementNode);
33
33
  }
34
34
  return unqualifiedMetastatementVerified;
35
35
  }
36
36
 
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeU1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uLy4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgbWV0YXN0YXRlbWVudC4uLmAsIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChkZXJpdmVkKSB7XG4gICAgY29uc3QgbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlID0gbG9jYWxNZXRhQ29udGV4dC5tYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlOyAgLy8vXG4gIH1cblxuICBpZiAoIXVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICB9XG5cbiAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuYCwgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbE1ldGFDb250ZXh0IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwibWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlIiwibWF0Y2hNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeU1ldGFzdGF0ZW1lbnQiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUF3QkE7OztvRUFOUTtxQkFFTjs7Ozs7O0FBRTFCLElBQU1DLHlCQUF5QkMsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTRiwrQkFBK0JHLDRCQUE0QixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQ3pILElBQUlDLG1DQUFtQztJQUV2QyxJQUFNQyxvQkFBb0JQLHVCQUF1QkUsK0JBQzNDTSxpQ0FBaUNILGlCQUFpQkksWUFBWSxDQUFDUDtJQUVyRUcsaUJBQWlCSyxLQUFLLENBQUMsQUFBQyxrQkFBZ0QsT0FBL0JGLGdDQUErQixtQ0FBaUNOO0lBRXpHLElBQUlFLFNBQVM7UUFDWCxJQUFNTywyQkFBMkJOLGlCQUFpQk8sc0JBQXNCLENBQUNMO1FBRXpFRCxtQ0FBbUNLLDBCQUEyQixHQUFHO0lBQ25FO0lBRUEsSUFBSSxDQUFDTCxrQ0FBa0M7UUFDckMsSUFBTU8sd0JBQXdCQyxJQUFBQSxzQkFBbUIsRUFBQ1AsbUJBQW1CSixhQUFhQyxTQUFTQztRQUUzRkMsbUNBQW1DTyx1QkFBdUIsR0FBRztJQUMvRDtJQUVBLElBQUlQLGtDQUFrQztRQUNwQ0QsaUJBQWlCVSxLQUFLLENBQUMsQUFBQyxvQkFBa0QsT0FBL0JQLGdDQUErQixpQ0FBK0JOO0lBQzNHO0lBRUEsT0FBT0k7QUFDVCJ9
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeU1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uLy4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgbWV0YXN0YXRlbWVudC4uLmAsIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChkZXJpdmVkKSB7XG4gICAgY29uc3QgbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlID0gbG9jYWxDb250ZXh0Lm1hdGNoTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBtYXRjaGVzTWV0YXN0YXRlbWVudE5vZGU7ICAvLy9cbiAgfVxuXG4gIGlmICghdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gbWV0YXN0YXRlbWVudFZlcmlmaWVkOyAvLy9cbiAgfVxuXG4gIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuYCwgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbENvbnRleHQiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJtYXRjaGVzTWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7O29FQU5RO3FCQUVOOzs7Ozs7QUFFMUIsSUFBTUMseUJBQXlCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRTFCLFNBQVNGLCtCQUErQkcsNEJBQTRCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQ3JILElBQUlDLG1DQUFtQztJQUV2QyxJQUFNQyxvQkFBb0JQLHVCQUF1QkUsK0JBQzNDTSxpQ0FBaUNILGFBQWFJLFlBQVksQ0FBQ1A7SUFFakVHLGFBQWFLLEtBQUssQ0FBQyxBQUFDLGtCQUFnRCxPQUEvQkYsZ0NBQStCLG1DQUFpQ047SUFFckcsSUFBSUUsU0FBUztRQUNYLElBQU1PLDJCQUEyQk4sYUFBYU8sc0JBQXNCLENBQUNMO1FBRXJFRCxtQ0FBbUNLLDBCQUEyQixHQUFHO0lBQ25FO0lBRUEsSUFBSSxDQUFDTCxrQ0FBa0M7UUFDckMsSUFBTU8sd0JBQXdCQyxJQUFBQSxzQkFBbUIsRUFBQ1AsbUJBQW1CSixhQUFhQyxTQUFTQztRQUUzRkMsbUNBQW1DTyx1QkFBdUIsR0FBRztJQUMvRDtJQUVBLElBQUlQLGtDQUFrQztRQUNwQ0QsYUFBYVUsS0FBSyxDQUFDLEFBQUMsb0JBQWtELE9BQS9CUCxnQ0FBK0IsaUNBQStCTjtJQUN2RztJQUVBLE9BQU9JO0FBQ1QifQ==
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _frameAssertion = /*#__PURE__*/ _interop_require_default(require("../verify/frameAssertion"));
12
- var _metastatement = /*#__PURE__*/ _interop_require_default(require("../verifier/node/metastatement"));
12
+ var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../verifier/node/metaLevel"));
13
13
  var _query = require("../utilities/query");
14
14
  function _interop_require_default(obj) {
15
15
  return obj && obj.__esModule ? obj : {
@@ -17,88 +17,88 @@ function _interop_require_default(obj) {
17
17
  };
18
18
  }
19
19
  var frameAssertionNodeQuery = (0, _query.nodeQuery)("/metastatement/frameAssertion!");
20
- function verifyMetastatement(metastatementNode, assignments, derived, localMetaContext) {
20
+ function verifyMetastatement(metastatementNode, assignments, derived, localContext) {
21
21
  var metastatementVerified;
22
- var metastatementString = localMetaContext.nodeAsString(metastatementNode);
23
- localMetaContext.trace("Verifying the '".concat(metastatementString, "' metastatement..."), metastatementNode);
22
+ var metastatementString = localContext.nodeAsString(metastatementNode);
23
+ localContext.trace("Verifying the '".concat(metastatementString, "' metastatement..."), metastatementNode);
24
24
  var verifyMetaStatementFunctions = [
25
25
  verifyMetastatementAsFrameAssertion,
26
26
  verifyMetastatementAsIs
27
27
  ];
28
28
  metastatementVerified = verifyMetaStatementFunctions.some(function(verifyStatementFunction) {
29
- var metastatementVerified = verifyStatementFunction(metastatementNode, assignments, derived, localMetaContext);
29
+ var metastatementVerified = verifyStatementFunction(metastatementNode, assignments, derived, localContext);
30
30
  if (metastatementVerified) {
31
31
  return true;
32
32
  }
33
33
  });
34
34
  if (metastatementVerified) {
35
- localMetaContext.debug("...verified the '".concat(metastatementString, "' metastatement."), metastatementNode);
35
+ localContext.debug("...verified the '".concat(metastatementString, "' metastatement."), metastatementNode);
36
36
  }
37
37
  return metastatementVerified;
38
38
  }
39
- Object.assign(_metastatement.default, {
39
+ Object.assign(_metaLevel.default, {
40
40
  verifyMetastatement: verifyMetastatement
41
41
  });
42
42
  var _default = verifyMetastatement;
43
- function verifyMetastatementAsFrameAssertion(metastatementNode, assignments, derived, localMetaContext) {
43
+ function verifyMetastatementAsFrameAssertion(metastatementNode, assignments, derived, localContext) {
44
44
  var metastatementVerifiedAsFrameAssertion = false;
45
45
  var frameAssertionNode = frameAssertionNodeQuery(metastatementNode);
46
46
  if (frameAssertionNode !== null) {
47
- var metastatementString = localMetaContext.nodeAsString(metastatementNode);
48
- localMetaContext.trace("Verifying the '".concat(metastatementString, "' metastatement as a frame assertion..."), metastatementNode);
49
- var frameAssertionVerified = (0, _frameAssertion.default)(frameAssertionNode, assignments, derived, localMetaContext);
47
+ var metastatementString = localContext.nodeAsString(metastatementNode);
48
+ localContext.trace("Verifying the '".concat(metastatementString, "' metastatement as a frame assertion..."), metastatementNode);
49
+ var frameAssertionVerified = (0, _frameAssertion.default)(frameAssertionNode, assignments, derived, localContext);
50
50
  metastatementVerifiedAsFrameAssertion = frameAssertionVerified; ///
51
51
  if (metastatementVerifiedAsFrameAssertion) {
52
- localMetaContext.debug("...verified the '".concat(metastatementString, "' metastatement as a frame assertion."), metastatementNode);
52
+ localContext.debug("...verified the '".concat(metastatementString, "' metastatement as a frame assertion."), metastatementNode);
53
53
  }
54
54
  }
55
55
  return metastatementVerifiedAsFrameAssertion;
56
56
  }
57
- function verifyMetastatementAsIs(metastatementNode, assignments, derived, localMetaContext) {
57
+ function verifyMetastatementAsIs(metastatementNode, assignments, derived, localContext) {
58
58
  var metastatementVerifiedAsIs;
59
59
  var frameAssertionNode = frameAssertionNodeQuery(metastatementNode);
60
60
  if (frameAssertionNode === null) {
61
- var metastatementString = localMetaContext.nodeAsString(metastatementNode);
62
- localMetaContext.trace("Verifying the '".concat(metastatementString, "' metastatement as is..."), metastatementNode);
61
+ var metastatementString = localContext.nodeAsString(metastatementNode);
62
+ localContext.trace("Verifying the '".concat(metastatementString, "' metastatement as is..."), metastatementNode);
63
63
  var verifyMetastatementAsIsFunctions = [
64
64
  verifyDerivedMetastatementAsIs,
65
65
  verifyStatedMetastatementAsIs
66
66
  ];
67
67
  metastatementVerifiedAsIs = verifyMetastatementAsIsFunctions.some(function(verifyMetastatementAsIsFunction) {
68
- var metastatementVerifiedAsIs = verifyMetastatementAsIsFunction(metastatementNode, assignments, derived, localMetaContext);
68
+ var metastatementVerifiedAsIs = verifyMetastatementAsIsFunction(metastatementNode, assignments, derived, localContext);
69
69
  if (metastatementVerifiedAsIs) {
70
70
  return true;
71
71
  }
72
72
  });
73
73
  if (metastatementVerifiedAsIs) {
74
- localMetaContext.debug("...verified the '".concat(metastatementString, "' metastatement as is."), metastatementNode);
74
+ localContext.debug("...verified the '".concat(metastatementString, "' metastatement as is."), metastatementNode);
75
75
  }
76
76
  }
77
77
  return metastatementVerifiedAsIs;
78
78
  }
79
- function verifyDerivedMetastatementAsIs(metastatementNode, assignments, derived, localMetaContext) {
79
+ function verifyDerivedMetastatementAsIs(metastatementNode, assignments, derived, localContext) {
80
80
  var derivedMetastatementVerifiedAsIs = false;
81
81
  if (derived) {
82
- var metastatementString = localMetaContext.nodeAsString(metastatementNode);
83
- localMetaContext.debug("Cannot verify the derived '".concat(metastatementString, "' metastatement as is."), metastatementNode);
82
+ var metastatementString = localContext.nodeAsString(metastatementNode);
83
+ localContext.debug("Cannot verify the derived '".concat(metastatementString, "' metastatement as is."), metastatementNode);
84
84
  }
85
85
  return derivedMetastatementVerifiedAsIs;
86
86
  }
87
- function verifyStatedMetastatementAsIs(metastatementNode, assignments, derived, localMetaContext) {
87
+ function verifyStatedMetastatementAsIs(metastatementNode, assignments, derived, localContext) {
88
88
  var statedMetastatementVerifiedAsIs = false;
89
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() {
90
+ var metastatementString = localContext.nodeAsString(metastatementNode);
91
+ localContext.trace("Verifying the stated '".concat(metastatementString, "' metastatement as is..."), metastatementNode);
92
+ var nonTerminalNode = metastatementNode, nonTerminalNodeVerified = _metaLevel.default.verifyNonTerminalNode(nonTerminalNode, localContext, function() {
93
93
  var verifiedAhead = true;
94
94
  return verifiedAhead;
95
95
  });
96
96
  statedMetastatementVerifiedAsIs = nonTerminalNodeVerified; ///
97
97
  if (statedMetastatementVerifiedAsIs) {
98
- localMetaContext.debug("...verified the stated '".concat(metastatementString, "' metastatement as is."), metastatementNode);
98
+ localContext.debug("...verified the stated '".concat(metastatementString, "' metastatement as is."), metastatementNode);
99
99
  }
100
100
  }
101
101
  return statedMetastatementVerifiedAsIs;
102
102
  }
103
103
 
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUZyYW1lQXNzZXJ0aW9uIGZyb20gXCIuLi92ZXJpZnkvZnJhbWVBc3NlcnRpb25cIjtcbmltcG9ydCBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllci9ub2RlL21ldGFzdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBmcmFtZUFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L2ZyYW1lQXNzZXJ0aW9uIVwiKTtcblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgdmVyaWZ5TWV0YVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlNZXRhc3RhdGVtZW50QXNGcmFtZUFzc2VydGlvbixcbiAgICB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc1xuICBdO1xuXG4gIG1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeU1ldGFTdGF0ZW1lbnRGdW5jdGlvbnMuc29tZSgodmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbihtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50LmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG5cbk9iamVjdC5hc3NpZ24obWV0YXN0YXRlbWVudE5vZGVWZXJpZmllciwge1xuICB2ZXJpZnlNZXRhc3RhdGVtZW50XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgdmVyaWZ5TWV0YXN0YXRlbWVudDtcblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudEFzRnJhbWVBc3NlcnRpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0ZyYW1lQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgZnJhbWVBc3NlcnRpb25Ob2RlID0gZnJhbWVBc3NlcnRpb25Ob2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChmcmFtZUFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGZyYW1lIGFzc2VydGlvbi4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IGZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlGcmFtZUFzc2VydGlvbihmcmFtZUFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRnJhbWVBc3NlcnRpb24gPSBmcmFtZUFzc2VydGlvblZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZUFzc2VydGlvbikge1xuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZnJhbWUgYXNzZXJ0aW9uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZUFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudEFzSXMobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xuXG4gIGNvbnN0IGZyYW1lQXNzZXJ0aW9uTm9kZSA9IGZyYW1lQXNzZXJ0aW9uTm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZnJhbWVBc3NlcnRpb25Ob2RlID09PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9ucyA9IFtcbiAgICAgIHZlcmlmeURlcml2ZWRNZXRhc3RhdGVtZW50QXNJcyxcbiAgICAgIHZlcmlmeVN0YXRlZE1ldGFzdGF0ZW1lbnRBc0lzXG4gICAgXTtcblxuICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9ucy5zb21lKCh2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9uKSA9PiB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzID0gdmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNGdW5jdGlvbihtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzKSB7XG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlEZXJpdmVkTWV0YXN0YXRlbWVudEFzSXMobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IGZhbHNlO1xuXG4gIGlmIChkZXJpdmVkKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYENhbm5vdCB2ZXJpZnkgdGhlIGRlcml2ZWQgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNJcyhtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IHN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSBmYWxzZTtcblxuICBpZiAoIWRlcml2ZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSBzdGF0ZWQgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGxvY2FsTWV0YUNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICB9KTtcblxuICAgIHN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuXG4gICAgaWYgKHN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMpIHtcbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBzdGF0ZWQgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuIl0sIm5hbWVzIjpbImZyYW1lQXNzZXJ0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsIm1ldGFzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInZlcmlmeU1ldGFTdGF0ZW1lbnRGdW5jdGlvbnMiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50QXNGcmFtZUFzc2VydGlvbiIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzIiwic29tZSIsInZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uIiwiZGVidWciLCJPYmplY3QiLCJhc3NpZ24iLCJtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyIiwibWV0YXN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZUFzc2VydGlvbiIsImZyYW1lQXNzZXJ0aW9uTm9kZSIsImZyYW1lQXNzZXJ0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlGcmFtZUFzc2VydGlvbiIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9ucyIsInZlcmlmeURlcml2ZWRNZXRhc3RhdGVtZW50QXNJcyIsInZlcmlmeVN0YXRlZE1ldGFzdGF0ZW1lbnRBc0lzIiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNGdW5jdGlvbiIsImRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzIiwic3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwidmVyaWZpZWRBaGVhZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBd0NBOzs7ZUFBQTs7O3FFQXRDaUM7b0VBQ0s7cUJBRVo7Ozs7OztBQUUxQixJQUFNQSwwQkFBMEJDLElBQUFBLGdCQUFTLEVBQUM7QUFFMUMsU0FBU0Msb0JBQW9CQyxpQkFBaUIsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLGdCQUFnQjtJQUNwRixJQUFJQztJQUVKLElBQU1DLHNCQUFzQkYsaUJBQWlCRyxZQUFZLENBQUNOO0lBRTFERyxpQkFBaUJJLEtBQUssQ0FBQyxBQUFDLGtCQUFxQyxPQUFwQkYscUJBQW9CLHVCQUFxQkw7SUFFbEYsSUFBTVEsK0JBQStCO1FBQ25DQztRQUNBQztLQUNEO0lBRUROLHdCQUF3QkksNkJBQTZCRyxJQUFJLENBQUMsU0FBQ0M7UUFDekQsSUFBTVIsd0JBQXdCUSx3QkFBd0JaLG1CQUFtQkMsYUFBYUMsU0FBU0M7UUFFL0YsSUFBSUMsdUJBQXVCO1lBQ3pCLE9BQU87UUFDVDtJQUNGO0lBRUEsSUFBSUEsdUJBQXVCO1FBQ3pCRCxpQkFBaUJVLEtBQUssQ0FBQyxBQUFDLG9CQUF1QyxPQUFwQlIscUJBQW9CLHFCQUFtQkw7SUFDcEY7SUFFQSxPQUFPSTtBQUNUO0FBRUFVLE9BQU9DLE1BQU0sQ0FBQ0Msc0JBQXlCLEVBQUU7SUFDdkNqQixxQkFBQUE7QUFDRjtJQUVBLFdBQWVBO0FBRWYsU0FBU1Usb0NBQW9DVCxpQkFBaUIsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLGdCQUFnQjtJQUNwRyxJQUFJYyx3Q0FBd0M7SUFFNUMsSUFBTUMscUJBQXFCckIsd0JBQXdCRztJQUVuRCxJQUFJa0IsdUJBQXVCLE1BQU07UUFDL0IsSUFBTWIsc0JBQXNCRixpQkFBaUJHLFlBQVksQ0FBQ047UUFFMURHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQXFDLE9BQXBCRixxQkFBb0IsNENBQTBDTDtRQUV2RyxJQUFNbUIseUJBQXlCQyxJQUFBQSx1QkFBb0IsRUFBQ0Ysb0JBQW9CakIsYUFBYUMsU0FBU0M7UUFFOUZjLHdDQUF3Q0Usd0JBQXlCLEdBQUc7UUFFcEUsSUFBSUYsdUNBQXVDO1lBQ3pDZCxpQkFBaUJVLEtBQUssQ0FBQyxBQUFDLG9CQUF1QyxPQUFwQlIscUJBQW9CLDBDQUF3Q0w7UUFDekc7SUFDRjtJQUVBLE9BQU9pQjtBQUNUO0FBRUEsU0FBU1Asd0JBQXdCVixpQkFBaUIsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLGdCQUFnQjtJQUN4RixJQUFJa0I7SUFFSixJQUFNSCxxQkFBcUJyQix3QkFBd0JHO0lBRW5ELElBQUlrQix1QkFBdUIsTUFBTTtRQUMvQixJQUFNYixzQkFBc0JGLGlCQUFpQkcsWUFBWSxDQUFDTjtRQUUxREcsaUJBQWlCSSxLQUFLLENBQUMsQUFBQyxrQkFBcUMsT0FBcEJGLHFCQUFvQiw2QkFBMkJMO1FBRXhGLElBQU1zQixtQ0FBbUM7WUFDdkNDO1lBQ0FDO1NBQ0Q7UUFFREgsNEJBQTRCQyxpQ0FBaUNYLElBQUksQ0FBQyxTQUFDYztZQUNqRSxJQUFNSiw0QkFBNEJJLGdDQUFnQ3pCLG1CQUFtQkMsYUFBYUMsU0FBU0M7WUFFM0csSUFBSWtCLDJCQUEyQjtnQkFDN0IsT0FBTztZQUNUO1FBQ0Y7UUFFQSxJQUFJQSwyQkFBMkI7WUFDN0JsQixpQkFBaUJVLEtBQUssQ0FBQyxBQUFDLG9CQUF1QyxPQUFwQlIscUJBQW9CLDJCQUF5Qkw7UUFDMUY7SUFDRjtJQUVBLE9BQU9xQjtBQUNUO0FBRUEsU0FBU0UsK0JBQStCdkIsaUJBQWlCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxnQkFBZ0I7SUFDL0YsSUFBSXVCLG1DQUFtQztJQUV2QyxJQUFJeEIsU0FBUztRQUNYLElBQU1HLHNCQUFzQkYsaUJBQWlCRyxZQUFZLENBQUNOO1FBRTFERyxpQkFBaUJVLEtBQUssQ0FBQyxBQUFDLDhCQUFpRCxPQUFwQlIscUJBQW9CLDJCQUF5Qkw7SUFDcEc7SUFFQSxPQUFPMEI7QUFDVDtBQUVBLFNBQVNGLDhCQUE4QnhCLGlCQUFpQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQzlGLElBQUl3QixrQ0FBa0M7SUFFdEMsSUFBSSxDQUFDekIsU0FBUztRQUNaLElBQU1HLHNCQUFzQkYsaUJBQWlCRyxZQUFZLENBQUNOO1FBRTFERyxpQkFBaUJJLEtBQUssQ0FBQyxBQUFDLHlCQUE0QyxPQUFwQkYscUJBQW9CLDZCQUEyQkw7UUFFL0YsSUFBTTRCLGtCQUFrQjVCLG1CQUNsQjZCLDBCQUEwQmIsc0JBQXlCLENBQUNjLHFCQUFxQixDQUFDRixpQkFBaUJ6QixrQkFBa0I7WUFDM0csSUFBTTRCLGdCQUFnQjtZQUV0QixPQUFPQTtRQUNUO1FBRU5KLGtDQUFrQ0UseUJBQTBCLEdBQUc7UUFFL0QsSUFBSUYsaUNBQWlDO1lBQ25DeEIsaUJBQWlCVSxLQUFLLENBQUMsQUFBQywyQkFBOEMsT0FBcEJSLHFCQUFvQiwyQkFBeUJMO1FBQ2pHO0lBQ0Y7SUFFQSxPQUFPMkI7QUFDVCJ9
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUZyYW1lQXNzZXJ0aW9uIGZyb20gXCIuLi92ZXJpZnkvZnJhbWVBc3NlcnRpb25cIjtcbmltcG9ydCBtZXRhTGV2ZWxOb2RlVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyL25vZGUvbWV0YUxldmVsXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZnJhbWVBc3NlcnRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXN0YXRlbWVudC9mcmFtZUFzc2VydGlvbiFcIik7XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50Li4uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeU1ldGFTdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gICAgdmVyaWZ5TWV0YXN0YXRlbWVudEFzRnJhbWVBc3NlcnRpb24sXG4gICAgdmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNcbiAgXTtcblxuICBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbihtZXRhTGV2ZWxOb2RlVmVyaWZpZXIsIHtcbiAgdmVyaWZ5TWV0YXN0YXRlbWVudFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHZlcmlmeU1ldGFzdGF0ZW1lbnQ7XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0ZyYW1lQXNzZXJ0aW9uKG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0ZyYW1lQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgZnJhbWVBc3NlcnRpb25Ob2RlID0gZnJhbWVBc3NlcnRpb25Ob2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChmcmFtZUFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgYSBmcmFtZSBhc3NlcnRpb24uLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBmcmFtZUFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5RnJhbWVBc3NlcnRpb24oZnJhbWVBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRnJhbWVBc3NlcnRpb24gPSBmcmFtZUFzc2VydGlvblZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZUFzc2VydGlvbikge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgYSBmcmFtZSBhc3NlcnRpb24uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0ZyYW1lQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJcyhtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcztcblxuICBjb25zdCBmcmFtZUFzc2VydGlvbk5vZGUgPSBmcmFtZUFzc2VydGlvbk5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKGZyYW1lQXNzZXJ0aW9uTm9kZSA9PT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBpcy4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzRnVuY3Rpb25zID0gW1xuICAgICAgdmVyaWZ5RGVyaXZlZE1ldGFzdGF0ZW1lbnRBc0lzLFxuICAgICAgdmVyaWZ5U3RhdGVkTWV0YXN0YXRlbWVudEFzSXNcbiAgICBdO1xuXG4gICAgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzRnVuY3Rpb25zLnNvbWUoKHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzRnVuY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9uKG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcykge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlEZXJpdmVkTWV0YXN0YXRlbWVudEFzSXMobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzID0gZmFsc2U7XG5cbiAgaWYgKGRlcml2ZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQuZGVidWcoYENhbm5vdCB2ZXJpZnkgdGhlIGRlcml2ZWQgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNJcyhtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSBzdGF0ZWQgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhTGV2ZWxOb2RlVmVyaWZpZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICBzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7ICAvLy9cblxuICAgIGlmIChzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBzdGF0ZWQgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuIl0sIm5hbWVzIjpbImZyYW1lQXNzZXJ0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxDb250ZXh0IiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5TWV0YVN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0ZyYW1lQXNzZXJ0aW9uIiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzSXMiLCJzb21lIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24iLCJkZWJ1ZyIsIk9iamVjdCIsImFzc2lnbiIsIm1ldGFMZXZlbE5vZGVWZXJpZmllciIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRnJhbWVBc3NlcnRpb24iLCJmcmFtZUFzc2VydGlvbk5vZGUiLCJmcmFtZUFzc2VydGlvblZlcmlmaWVkIiwidmVyaWZ5RnJhbWVBc3NlcnRpb24iLCJtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzIiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNGdW5jdGlvbnMiLCJ2ZXJpZnlEZXJpdmVkTWV0YXN0YXRlbWVudEFzSXMiLCJ2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNJcyIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzRnVuY3Rpb24iLCJkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyIsInN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsInZlcmlmaWVkQWhlYWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXdDQTs7O2VBQUE7OztxRUF0Q2lDO2dFQUNDO3FCQUVSOzs7Ozs7QUFFMUIsSUFBTUEsMEJBQTBCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRTFDLFNBQVNDLG9CQUFvQkMsaUJBQWlCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQ2hGLElBQUlDO0lBRUosSUFBTUMsc0JBQXNCRixhQUFhRyxZQUFZLENBQUNOO0lBRXRERyxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBcUMsT0FBcEJGLHFCQUFvQix1QkFBcUJMO0lBRTlFLElBQU1RLCtCQUErQjtRQUNuQ0M7UUFDQUM7S0FDRDtJQUVETix3QkFBd0JJLDZCQUE2QkcsSUFBSSxDQUFDLFNBQUNDO1FBQ3pELElBQU1SLHdCQUF3QlEsd0JBQXdCWixtQkFBbUJDLGFBQWFDLFNBQVNDO1FBRS9GLElBQUlDLHVCQUF1QjtZQUN6QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlBLHVCQUF1QjtRQUN6QkQsYUFBYVUsS0FBSyxDQUFDLEFBQUMsb0JBQXVDLE9BQXBCUixxQkFBb0IscUJBQW1CTDtJQUNoRjtJQUVBLE9BQU9JO0FBQ1Q7QUFFQVUsT0FBT0MsTUFBTSxDQUFDQyxrQkFBcUIsRUFBRTtJQUNuQ2pCLHFCQUFBQTtBQUNGO0lBRUEsV0FBZUE7QUFFZixTQUFTVSxvQ0FBb0NULGlCQUFpQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUNoRyxJQUFJYyx3Q0FBd0M7SUFFNUMsSUFBTUMscUJBQXFCckIsd0JBQXdCRztJQUVuRCxJQUFJa0IsdUJBQXVCLE1BQU07UUFDL0IsSUFBTWIsc0JBQXNCRixhQUFhRyxZQUFZLENBQUNOO1FBRXRERyxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBcUMsT0FBcEJGLHFCQUFvQiw0Q0FBMENMO1FBRW5HLElBQU1tQix5QkFBeUJDLElBQUFBLHVCQUFvQixFQUFDRixvQkFBb0JqQixhQUFhQyxTQUFTQztRQUU5RmMsd0NBQXdDRSx3QkFBeUIsR0FBRztRQUVwRSxJQUFJRix1Q0FBdUM7WUFDekNkLGFBQWFVLEtBQUssQ0FBQyxBQUFDLG9CQUF1QyxPQUFwQlIscUJBQW9CLDBDQUF3Q0w7UUFDckc7SUFDRjtJQUVBLE9BQU9pQjtBQUNUO0FBRUEsU0FBU1Asd0JBQXdCVixpQkFBaUIsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFlBQVk7SUFDcEYsSUFBSWtCO0lBRUosSUFBTUgscUJBQXFCckIsd0JBQXdCRztJQUVuRCxJQUFJa0IsdUJBQXVCLE1BQU07UUFDL0IsSUFBTWIsc0JBQXNCRixhQUFhRyxZQUFZLENBQUNOO1FBRXRERyxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBcUMsT0FBcEJGLHFCQUFvQiw2QkFBMkJMO1FBRXBGLElBQU1zQixtQ0FBbUM7WUFDdkNDO1lBQ0FDO1NBQ0Q7UUFFREgsNEJBQTRCQyxpQ0FBaUNYLElBQUksQ0FBQyxTQUFDYztZQUNqRSxJQUFNSiw0QkFBNEJJLGdDQUFnQ3pCLG1CQUFtQkMsYUFBYUMsU0FBU0M7WUFFM0csSUFBSWtCLDJCQUEyQjtnQkFDN0IsT0FBTztZQUNUO1FBQ0Y7UUFFQSxJQUFJQSwyQkFBMkI7WUFDN0JsQixhQUFhVSxLQUFLLENBQUMsQUFBQyxvQkFBdUMsT0FBcEJSLHFCQUFvQiwyQkFBeUJMO1FBQ3RGO0lBQ0Y7SUFFQSxPQUFPcUI7QUFDVDtBQUVBLFNBQVNFLCtCQUErQnZCLGlCQUFpQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUMzRixJQUFJdUIsbUNBQW1DO0lBRXZDLElBQUl4QixTQUFTO1FBQ1gsSUFBTUcsc0JBQXNCRixhQUFhRyxZQUFZLENBQUNOO1FBRXRERyxhQUFhVSxLQUFLLENBQUMsQUFBQyw4QkFBaUQsT0FBcEJSLHFCQUFvQiwyQkFBeUJMO0lBQ2hHO0lBRUEsT0FBTzBCO0FBQ1Q7QUFFQSxTQUFTRiw4QkFBOEJ4QixpQkFBaUIsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFlBQVk7SUFDMUYsSUFBSXdCLGtDQUFrQztJQUV0QyxJQUFJLENBQUN6QixTQUFTO1FBQ1osSUFBTUcsc0JBQXNCRixhQUFhRyxZQUFZLENBQUNOO1FBRXRERyxhQUFhSSxLQUFLLENBQUMsQUFBQyx5QkFBNEMsT0FBcEJGLHFCQUFvQiw2QkFBMkJMO1FBRTNGLElBQU00QixrQkFBa0I1QixtQkFDbEI2QiwwQkFBMEJiLGtCQUFxQixDQUFDYyxxQkFBcUIsQ0FBQ0YsaUJBQWlCekIsY0FBYztZQUNuRyxJQUFNNEIsZ0JBQWdCO1lBRXRCLE9BQU9BO1FBQ1Q7UUFFTkosa0NBQWtDRSx5QkFBMEIsR0FBRztRQUUvRCxJQUFJRixpQ0FBaUM7WUFDbkN4QixhQUFhVSxLQUFLLENBQUMsQUFBQywyQkFBOEMsT0FBcEJSLHFCQUFvQiwyQkFBeUJMO1FBQzdGO0lBQ0Y7SUFFQSxPQUFPMkI7QUFDVCJ9