occam-verify-cli 0.0.880 → 0.0.881

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 (43) hide show
  1. package/lib/assignment/judgement.js +62 -0
  2. package/lib/context/file.js +8 -1
  3. package/lib/context/local.js +19 -7
  4. package/lib/context/localMeta.js +33 -16
  5. package/lib/frame.js +66 -0
  6. package/lib/judgement.js +68 -0
  7. package/lib/metaType/{label.js → frame.js} +12 -12
  8. package/lib/metaType/{context.js → reference.js} +12 -12
  9. package/lib/metaTypeNames.js +7 -7
  10. package/lib/metaTypes.js +5 -5
  11. package/lib/utilities/name.js +3 -11
  12. package/lib/verify/declaration.js +5 -5
  13. package/lib/verify/frame.js +34 -0
  14. package/lib/verify/judgement.js +80 -21
  15. package/lib/verify/metastatement.js +5 -21
  16. package/lib/verify/metavariable.js +3 -3
  17. package/package.json +2 -2
  18. package/src/assignment/judgement.js +30 -0
  19. package/src/context/file.js +6 -0
  20. package/src/context/local.js +6 -2
  21. package/src/context/localMeta.js +32 -16
  22. package/src/frame.js +27 -0
  23. package/src/judgement.js +28 -0
  24. package/src/metaType/frame.js +18 -0
  25. package/src/metaType/reference.js +18 -0
  26. package/src/metaTypeNames.js +2 -2
  27. package/src/metaTypes.js +4 -4
  28. package/src/utilities/name.js +5 -15
  29. package/src/verify/declaration.js +5 -5
  30. package/src/verify/frame.js +30 -0
  31. package/src/verify/judgement.js +96 -26
  32. package/src/verify/metastatement.js +4 -30
  33. package/src/verify/metavariable.js +2 -2
  34. package/lib/assignment/metaEquality.js +0 -62
  35. package/lib/metaEquality.js +0 -101
  36. package/lib/verify/context.js +0 -34
  37. package/lib/verify/metaEquality.js +0 -69
  38. package/src/assignment/metaEquality.js +0 -30
  39. package/src/metaEquality.js +0 -84
  40. package/src/metaType/context.js +0 -18
  41. package/src/metaType/label.js +0 -18
  42. package/src/verify/context.js +0 -30
  43. package/src/verify/metaEquality.js +0 -83
@@ -8,39 +8,98 @@ Object.defineProperty(exports, "default", {
8
8
  return verifyJudgement;
9
9
  }
10
10
  });
11
- var _context = /*#__PURE__*/ _interop_require_default(require("../verify/context"));
12
- var _context1 = /*#__PURE__*/ _interop_require_default(require("../metaType/context"));
11
+ var _frame = /*#__PURE__*/ _interop_require_default(require("../verify/frame"));
12
+ var _frame1 = /*#__PURE__*/ _interop_require_default(require("../metaType/frame"));
13
13
  var _query = require("../utilities/query");
14
14
  function _interop_require_default(obj) {
15
15
  return obj && obj.__esModule ? obj : {
16
16
  default: obj
17
17
  };
18
18
  }
19
- var contextNodeQuery = (0, _query.nodeQuery)("/judgement/metastatement/context!"), metavariableNodeQuery = (0, _query.nodeQuery)("/judgement/metavariable!");
20
- function verifyJudgement(judgementNode, derived, localMetaContext) {
21
- var judgementVerified = false;
19
+ var frameNodeQuery = (0, _query.nodeQuery)("/judgement/frame!"), metavariableNodeQuery = (0, _query.nodeQuery)("/judgement/metavariable!");
20
+ function verifyJudgement(judgementNode, assignments, derived, localMetaContext) {
21
+ var judgementVerified;
22
22
  var judgementString = localMetaContext.nodeAsString(judgementNode);
23
23
  localMetaContext.trace("Verifying the '".concat(judgementString, "' judgement..."), judgementNode);
24
- var metavariableNode = metavariableNodeQuery(judgementNode), metavariable = localMetaContext.findMetavariableByMetavariableNode(metavariableNode, localMetaContext);
25
- if (metavariable !== null) {
26
- var metaType = metavariable.getMetaType();
27
- if (metaType === _context1.default) {
28
- var contextNode = contextNodeQuery(judgementNode);
29
- if (contextNode !== null) {
30
- var contextVerified = (0, _context.default)(contextNode, derived, localMetaContext);
31
- judgementVerified = contextVerified; ///
32
- } else {
33
- localMetaContext.debug("The right hand side of the '".concat(judgementString, "' judgement must be a context."), judgementNode);
34
- }
35
- } else {
36
- var contextMetaTypeName = _context1.default.getName(), metavariableString = localMetaContext.nodeAsString(metavariableNode), metaTypeString = metaType.asString();
37
- localMetaContext.debug("The '".concat(metavariableString, "' metavariable's meta-type is '").concat(metaTypeString, "' when it should be '").concat(contextMetaTypeName, "'."), judgementNode);
24
+ var verifyJudgementFunctions = [
25
+ verifyDerivedJudgement,
26
+ verifyStatedJudgement
27
+ ];
28
+ judgementVerified = verifyJudgementFunctions.some(function(verifyJudgementFunction) {
29
+ var judgementVerified = verifyJudgementFunction(judgementNode, assignments, derived, localMetaContext);
30
+ if (judgementVerified) {
31
+ return true;
38
32
  }
39
- }
33
+ });
40
34
  if (judgementVerified) {
41
35
  localMetaContext.debug("...verified the '".concat(judgementString, "' judgement."), judgementNode);
42
36
  }
43
37
  return judgementVerified;
44
38
  }
39
+ function verifyDerivedJudgement(judgementNode, assignments, derived, localMetaContext) {
40
+ var derivedJudgementVerified = false;
41
+ if (derived) {
42
+ // const judgementString = localMetaContext.nodeAsString(judgementNode);
43
+ //
44
+ // localMetaContext.trace(`Verifying the '${judgementString}' derived judgement...`, judgementNode);
45
+ //
46
+ // const metavariableNode = metavariableNodeQuery(judgementNode),
47
+ // metavariable = localMetaContext.findMetavariableByMetavariableNode(metavariableNode, localMetaContext);
48
+ //
49
+ // if (metavariable !== null) {
50
+ // const metaType = metavariable.getMetaType();
51
+ //
52
+ // if (metaType === frameMetaType) {
53
+ // const frameNode = frameNodeQuery(judgementNode);
54
+ //
55
+ // if (frameNode !== null) {
56
+ // const frameVerified = verifyFrame(frameNode, derived, localMetaContext);
57
+ //
58
+ // derivedJudgementVerified = frameVerified; ///
59
+ // } else {
60
+ // localMetaContext.debug(`The right hand side of the '${judgementString}' judgement must be a frame.`, judgementNode);
61
+ // }
62
+ // } else {
63
+ // const frameMetaTypeName = frameMetaType.getName(),
64
+ // metavariableString = localMetaContext.nodeAsString(metavariableNode),
65
+ // metaTypeString = metaType.asString();
66
+ //
67
+ // localMetaContext.debug(`The '${metavariableString}' metavariable's meta-type is '${metaTypeString}' when it should be '${frameMetaTypeName}'.`, judgementNode);
68
+ // }
69
+ // }
70
+ //
71
+ // if (derivedJudgementVerified) {
72
+ // localMetaContext.debug(`...verified the '${judgementString}' derived judgement.`, judgementNode);
73
+ // }
74
+ }
75
+ return derivedJudgementVerified;
76
+ }
77
+ function verifyStatedJudgement(judgementNode, assignments, derived, localMetaContext) {
78
+ var statedJudgementVerified = false;
79
+ if (!derived) {
80
+ var judgementString = localMetaContext.nodeAsString(judgementNode);
81
+ localMetaContext.trace("Verifying the '".concat(judgementString, "' stated judgement..."), judgementNode);
82
+ var metavariableNode = metavariableNodeQuery(judgementNode), metavariable = localMetaContext.findMetavariableByMetavariableNode(metavariableNode, localMetaContext);
83
+ if (metavariable !== null) {
84
+ var metaType = metavariable.getMetaType();
85
+ if (metaType === _frame1.default) {
86
+ var frameNode = frameNodeQuery(judgementNode);
87
+ if (frameNode !== null) {
88
+ var frameVerified = (0, _frame.default)(frameNode, derived, localMetaContext);
89
+ statedJudgementVerified = frameVerified; ///
90
+ } else {
91
+ localMetaContext.debug("The right hand side of the '".concat(judgementString, "' judgement must be a frame."), judgementNode);
92
+ }
93
+ } else {
94
+ var frameMetaTypeName = _frame1.default.getName(), metavariableString = localMetaContext.nodeAsString(metavariableNode), metaTypeString = metaType.asString();
95
+ localMetaContext.debug("The '".concat(metavariableString, "' metavariable's meta-type is '").concat(metaTypeString, "' when it should be '").concat(frameMetaTypeName, "'."), judgementNode);
96
+ }
97
+ }
98
+ if (statedJudgementVerified) {
99
+ localMetaContext.debug("...verified the '".concat(judgementString, "' stated judgement."), judgementNode);
100
+ }
101
+ }
102
+ return statedJudgementVerified;
103
+ }
45
104
 
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvanVkZ2VtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5Q29udGV4dCBmcm9tIFwiLi4vdmVyaWZ5L2NvbnRleHRcIjtcbmltcG9ydCBjb250ZXh0TWV0YVR5cGUgZnJvbSBcIi4uL21ldGFUeXBlL2NvbnRleHRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBjb250ZXh0Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2p1ZGdlbWVudC9tZXRhc3RhdGVtZW50L2NvbnRleHQhXCIpLFxuICAgICAgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2p1ZGdlbWVudC9tZXRhdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlKdWRnZW1lbnQoanVkZ2VtZW50Tm9kZSwgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQganVkZ2VtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBqdWRnZW1lbnRTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhqdWRnZW1lbnROb2RlKTtcblxuICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGp1ZGdlbWVudC4uLmAsIGp1ZGdlbWVudE5vZGUpO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkoanVkZ2VtZW50Tm9kZSksXG4gICAgICAgIG1ldGF2YXJpYWJsZSA9IGxvY2FsTWV0YUNvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGUoKTtcblxuICAgIGlmIChtZXRhVHlwZSA9PT0gY29udGV4dE1ldGFUeXBlKSB7XG4gICAgICBjb25zdCBjb250ZXh0Tm9kZSA9IGNvbnRleHROb2RlUXVlcnkoanVkZ2VtZW50Tm9kZSk7XG5cbiAgICAgIGlmIChjb250ZXh0Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBjb250ZXh0VmVyaWZpZWQgPSB2ZXJpZnlDb250ZXh0KGNvbnRleHROb2RlLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgICBqdWRnZW1lbnRWZXJpZmllZCA9IGNvbnRleHRWZXJpZmllZDsgIC8vL1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgVGhlIHJpZ2h0IGhhbmQgc2lkZSBvZiB0aGUgJyR7anVkZ2VtZW50U3RyaW5nfScganVkZ2VtZW50IG11c3QgYmUgYSBjb250ZXh0LmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjb250ZXh0TWV0YVR5cGVOYW1lID0gY29udGV4dE1ldGFUeXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBtZXRhVHlwZS5hc1N0cmluZygpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGBUaGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlJ3MgbWV0YS10eXBlIGlzICcke21ldGFUeXBlU3RyaW5nfScgd2hlbiBpdCBzaG91bGQgYmUgJyR7Y29udGV4dE1ldGFUeXBlTmFtZX0nLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChqdWRnZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBqdWRnZW1lbnQuYCwganVkZ2VtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4ganVkZ2VtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5SnVkZ2VtZW50IiwiY29udGV4dE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsImp1ZGdlbWVudE5vZGUiLCJkZXJpdmVkIiwibG9jYWxNZXRhQ29udGV4dCIsImp1ZGdlbWVudFZlcmlmaWVkIiwianVkZ2VtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlIiwiZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFUeXBlIiwiZ2V0TWV0YVR5cGUiLCJjb250ZXh0TWV0YVR5cGUiLCJjb250ZXh0Tm9kZSIsImNvbnRleHRWZXJpZmllZCIsInZlcmlmeUNvbnRleHQiLCJkZWJ1ZyIsImNvbnRleHRNZXRhVHlwZU5hbWUiLCJnZXROYW1lIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwibWV0YVR5cGVTdHJpbmciLCJhc1N0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7Ozs4REFSRTsrREFDRTtxQkFFRjs7Ozs7O0FBRTFCLElBQU1DLG1CQUFtQkMsSUFBQUEsZ0JBQVMsRUFBQyxzQ0FDN0JDLHdCQUF3QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV6QixTQUFTRixnQkFBZ0JJLGFBQWEsRUFBRUMsT0FBTyxFQUFFQyxnQkFBZ0I7SUFDOUUsSUFBSUMsb0JBQW9CO0lBRXhCLElBQU1DLGtCQUFrQkYsaUJBQWlCRyxZQUFZLENBQUNMO0lBRXRERSxpQkFBaUJJLEtBQUssQ0FBQyxBQUFDLGtCQUFpQyxPQUFoQkYsaUJBQWdCLG1CQUFpQko7SUFFMUUsSUFBTU8sbUJBQW1CUixzQkFBc0JDLGdCQUN6Q1EsZUFBZU4saUJBQWlCTyxrQ0FBa0MsQ0FBQ0Ysa0JBQWtCTDtJQUUzRixJQUFJTSxpQkFBaUIsTUFBTTtRQUN6QixJQUFNRSxXQUFXRixhQUFhRyxXQUFXO1FBRXpDLElBQUlELGFBQWFFLGlCQUFlLEVBQUU7WUFDaEMsSUFBTUMsY0FBY2hCLGlCQUFpQkc7WUFFckMsSUFBSWEsZ0JBQWdCLE1BQU07Z0JBQ3hCLElBQU1DLGtCQUFrQkMsSUFBQUEsZ0JBQWEsRUFBQ0YsYUFBYVosU0FBU0M7Z0JBRTVEQyxvQkFBb0JXLGlCQUFrQixHQUFHO1lBQzNDLE9BQU87Z0JBQ0xaLGlCQUFpQmMsS0FBSyxDQUFDLEFBQUMsK0JBQThDLE9BQWhCWixpQkFBZ0IsbUNBQWlDSjtZQUN6RztRQUNGLE9BQU87WUFDTCxJQUFNaUIsc0JBQXNCTCxpQkFBZSxDQUFDTSxPQUFPLElBQzdDQyxxQkFBcUJqQixpQkFBaUJHLFlBQVksQ0FBQ0UsbUJBQ25EYSxpQkFBaUJWLFNBQVNXLFFBQVE7WUFFeENuQixpQkFBaUJjLEtBQUssQ0FBQyxBQUFDLFFBQTJESSxPQUFwREQsb0JBQW1CLG1DQUF1RUYsT0FBdENHLGdCQUFlLHlCQUEyQyxPQUFwQkgscUJBQW9CLE9BQUtqQjtRQUNwSjtJQUNGO0lBRUEsSUFBSUcsbUJBQW1CO1FBQ3JCRCxpQkFBaUJjLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQlosaUJBQWdCLGlCQUFlSjtJQUM1RTtJQUVBLE9BQU9HO0FBQ1QifQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvanVkZ2VtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5RnJhbWUgZnJvbSBcIi4uL3ZlcmlmeS9mcmFtZVwiO1xuaW1wb3J0IGZyYW1lTWV0YVR5cGUgZnJvbSBcIi4uL21ldGFUeXBlL2ZyYW1lXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZnJhbWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvanVkZ2VtZW50L2ZyYW1lIVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9qdWRnZW1lbnQvbWV0YXZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5SnVkZ2VtZW50KGp1ZGdlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBqdWRnZW1lbnRWZXJpZmllZDtcblxuICBjb25zdCBqdWRnZW1lbnRTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhqdWRnZW1lbnROb2RlKTtcblxuICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGp1ZGdlbWVudC4uLmAsIGp1ZGdlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkSnVkZ2VtZW50LFxuICAgIHZlcmlmeVN0YXRlZEp1ZGdlbWVudFxuICBdO1xuXG4gIGp1ZGdlbWVudFZlcmlmaWVkID0gdmVyaWZ5SnVkZ2VtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QganVkZ2VtZW50VmVyaWZpZWQgPSB2ZXJpZnlKdWRnZW1lbnRGdW5jdGlvbihqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAoanVkZ2VtZW50VmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKGp1ZGdlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGp1ZGdlbWVudC5gLCBqdWRnZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBqdWRnZW1lbnRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5RGVyaXZlZEp1ZGdlbWVudChqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgaWYgKGRlcml2ZWQpIHtcbiAgICAvLyBjb25zdCBqdWRnZW1lbnRTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhqdWRnZW1lbnROb2RlKTtcbiAgICAvL1xuICAgIC8vIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7anVkZ2VtZW50U3RyaW5nfScgZGVyaXZlZCBqdWRnZW1lbnQuLi5gLCBqdWRnZW1lbnROb2RlKTtcbiAgICAvL1xuICAgIC8vIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkoanVkZ2VtZW50Tm9kZSksXG4gICAgLy8gICAgICAgbWV0YXZhcmlhYmxlID0gbG9jYWxNZXRhQ29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsTWV0YUNvbnRleHQpO1xuICAgIC8vXG4gICAgLy8gaWYgKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgIC8vICAgY29uc3QgbWV0YVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGUoKTtcbiAgICAvL1xuICAgIC8vICAgaWYgKG1ldGFUeXBlID09PSBmcmFtZU1ldGFUeXBlKSB7XG4gICAgLy8gICAgIGNvbnN0IGZyYW1lTm9kZSA9IGZyYW1lTm9kZVF1ZXJ5KGp1ZGdlbWVudE5vZGUpO1xuICAgIC8vXG4gICAgLy8gICAgIGlmIChmcmFtZU5vZGUgIT09IG51bGwpIHtcbiAgICAvLyAgICAgICBjb25zdCBmcmFtZVZlcmlmaWVkID0gdmVyaWZ5RnJhbWUoZnJhbWVOb2RlLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcbiAgICAvL1xuICAgIC8vICAgICAgIGRlcml2ZWRKdWRnZW1lbnRWZXJpZmllZCA9IGZyYW1lVmVyaWZpZWQ7ICAvLy9cbiAgICAvLyAgICAgfSBlbHNlIHtcbiAgICAvLyAgICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGBUaGUgcmlnaHQgaGFuZCBzaWRlIG9mIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBqdWRnZW1lbnQgbXVzdCBiZSBhIGZyYW1lLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9IGVsc2Uge1xuICAgIC8vICAgICBjb25zdCBmcmFtZU1ldGFUeXBlTmFtZSA9IGZyYW1lTWV0YVR5cGUuZ2V0TmFtZSgpLFxuICAgIC8vICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgIC8vICAgICAgIG1ldGFUeXBlU3RyaW5nID0gbWV0YVR5cGUuYXNTdHJpbmcoKTtcbiAgICAvL1xuICAgIC8vICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGBUaGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlJ3MgbWV0YS10eXBlIGlzICcke21ldGFUeXBlU3RyaW5nfScgd2hlbiBpdCBzaG91bGQgYmUgJyR7ZnJhbWVNZXRhVHlwZU5hbWV9Jy5gLCBqdWRnZW1lbnROb2RlKTtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG4gICAgLy9cbiAgICAvLyBpZiAoZGVyaXZlZEp1ZGdlbWVudFZlcmlmaWVkKSB7XG4gICAgLy8gICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7anVkZ2VtZW50U3RyaW5nfScgZGVyaXZlZCBqdWRnZW1lbnQuYCwganVkZ2VtZW50Tm9kZSk7XG4gICAgLy8gfVxuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRKdWRnZW1lbnRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVkSnVkZ2VtZW50KGp1ZGdlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IGp1ZGdlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKGp1ZGdlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBzdGF0ZWQganVkZ2VtZW50Li4uYCwganVkZ2VtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGp1ZGdlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IGxvY2FsTWV0YUNvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChtZXRhdmFyaWFibGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGFUeXBlID0gbWV0YXZhcmlhYmxlLmdldE1ldGFUeXBlKCk7XG5cbiAgICAgIGlmIChtZXRhVHlwZSA9PT0gZnJhbWVNZXRhVHlwZSkge1xuICAgICAgICBjb25zdCBmcmFtZU5vZGUgPSBmcmFtZU5vZGVRdWVyeShqdWRnZW1lbnROb2RlKTtcblxuICAgICAgICBpZiAoZnJhbWVOb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgICAgICBzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCA9IGZyYW1lVmVyaWZpZWQ7ICAvLy9cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGBUaGUgcmlnaHQgaGFuZCBzaWRlIG9mIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBqdWRnZW1lbnQgbXVzdCBiZSBhIGZyYW1lLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBmcmFtZU1ldGFUeXBlTmFtZSA9IGZyYW1lTWV0YVR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgICBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBtZXRhVHlwZS5hc1N0cmluZygpO1xuXG4gICAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYFRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUncyBtZXRhLXR5cGUgaXMgJyR7bWV0YVR5cGVTdHJpbmd9JyB3aGVuIGl0IHNob3VsZCBiZSAnJHtmcmFtZU1ldGFUeXBlTmFtZX0nLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZWRKdWRnZW1lbnRWZXJpZmllZCkge1xuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIHN0YXRlZCBqdWRnZW1lbnQuYCwganVkZ2VtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlZEp1ZGdlbWVudFZlcmlmaWVkO1xufSJdLCJuYW1lcyI6WyJ2ZXJpZnlKdWRnZW1lbnQiLCJmcmFtZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsImp1ZGdlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbE1ldGFDb250ZXh0IiwianVkZ2VtZW50VmVyaWZpZWQiLCJqdWRnZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInZlcmlmeUp1ZGdlbWVudEZ1bmN0aW9ucyIsInZlcmlmeURlcml2ZWRKdWRnZW1lbnQiLCJ2ZXJpZnlTdGF0ZWRKdWRnZW1lbnQiLCJzb21lIiwidmVyaWZ5SnVkZ2VtZW50RnVuY3Rpb24iLCJkZWJ1ZyIsImRlcml2ZWRKdWRnZW1lbnRWZXJpZmllZCIsInN0YXRlZEp1ZGdlbWVudFZlcmlmaWVkIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZSIsImZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhVHlwZSIsImdldE1ldGFUeXBlIiwiZnJhbWVNZXRhVHlwZSIsImZyYW1lTm9kZSIsImZyYW1lVmVyaWZpZWQiLCJ2ZXJpZnlGcmFtZSIsImZyYW1lTWV0YVR5cGVOYW1lIiwiZ2V0TmFtZSIsIm1ldGF2YXJpYWJsZVN0cmluZyIsIm1ldGFUeXBlU3RyaW5nIiwiYXNTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBd0JBOzs7NERBUkE7NkRBQ0U7cUJBRUE7Ozs7OztBQUUxQixJQUFNQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsc0JBQzNCQyx3QkFBd0JELElBQUFBLGdCQUFTLEVBQUM7QUFFekIsU0FBU0YsZ0JBQWdCSSxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxnQkFBZ0I7SUFDM0YsSUFBSUM7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
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _judgement = /*#__PURE__*/ _interop_require_default(require("../verify/judgement"));
12
- var _metaEquality = /*#__PURE__*/ _interop_require_default(require("../verify/metaEquality"));
13
12
  var _metastatement = /*#__PURE__*/ _interop_require_default(require("../verifier/node/metastatement"));
14
13
  var _query = require("../utilities/query");
15
14
  function _interop_require_default(obj) {
@@ -17,13 +16,12 @@ function _interop_require_default(obj) {
17
16
  default: obj
18
17
  };
19
18
  }
20
- var judgementNodeQuery = (0, _query.nodeQuery)("/metastatement/judgement!"), metaEqualityNodeQuery = (0, _query.nodeQuery)("/metastatement/metaEquality!");
19
+ var judgementNodeQuery = (0, _query.nodeQuery)("/metastatement/judgement!");
21
20
  function verifyMetastatement(metastatementNode, assignments, derived, localMetaContext) {
22
21
  var metastatementVerified;
23
22
  var metastatementString = localMetaContext.nodeAsString(metastatementNode);
24
23
  localMetaContext.trace("Verifying the '".concat(metastatementString, "' metastatement..."), metastatementNode);
25
24
  var verifyMetaStatementFunctions = [
26
- verifyMetastatementAsMetaEquality,
27
25
  verifyMetastatementAsJudgement,
28
26
  verifyMetastatementAsIs
29
27
  ];
@@ -42,27 +40,13 @@ Object.assign(_metastatement.default, {
42
40
  verifyMetastatement: verifyMetastatement
43
41
  });
44
42
  var _default = verifyMetastatement;
45
- function verifyMetastatementAsMetaEquality(metastatementNode, assignments, derived, localMetaContext) {
46
- var metastatementVerifiedAsMetaEquality = false;
47
- var metaEqualityNode = metaEqualityNodeQuery(metastatementNode);
48
- if (metaEqualityNode !== null) {
49
- var metastatementString = localMetaContext.nodeAsString(metastatementNode);
50
- localMetaContext.trace("Verifying the '".concat(metastatementString, "' metastatement as a meta-equality..."), metastatementNode);
51
- var metaEqualityVerified = (0, _metaEquality.default)(metaEqualityNode, assignments, derived, localMetaContext);
52
- metastatementVerifiedAsMetaEquality = metaEqualityVerified; ///
53
- if (metastatementVerifiedAsMetaEquality) {
54
- localMetaContext.debug("...verified the '".concat(metastatementString, "' metastatement as a meta-equality."), metastatementNode);
55
- }
56
- }
57
- return metastatementVerifiedAsMetaEquality;
58
- }
59
43
  function verifyMetastatementAsJudgement(metastatementNode, assignments, derived, localMetaContext) {
60
44
  var metastatementVerifiedAsJudgement = false;
61
45
  var judgementNode = judgementNodeQuery(metastatementNode);
62
46
  if (judgementNode !== null) {
63
47
  var metastatementString = localMetaContext.nodeAsString(metastatementNode);
64
48
  localMetaContext.trace("Verifying the '".concat(metastatementString, "' metastatement as a judgement..."), metastatementNode);
65
- var judgementVerified = (0, _judgement.default)(judgementNode, derived, localMetaContext);
49
+ var judgementVerified = (0, _judgement.default)(judgementNode, assignments, derived, localMetaContext);
66
50
  metastatementVerifiedAsJudgement = judgementVerified; ///
67
51
  if (metastatementVerifiedAsJudgement) {
68
52
  localMetaContext.debug("...verified the '".concat(metastatementString, "' metastatement as a judgement."), metastatementNode);
@@ -72,8 +56,8 @@ function verifyMetastatementAsJudgement(metastatementNode, assignments, derived,
72
56
  }
73
57
  function verifyMetastatementAsIs(metastatementNode, assignments, derived, localMetaContext) {
74
58
  var metastatementVerifiedAsIs = false;
75
- var judgementNode = judgementNodeQuery(metastatementNode), metaEqualityNode = metaEqualityNodeQuery(metastatementNode);
76
- if (judgementNode === null && metaEqualityNode === null) {
59
+ var judgementNode = judgementNodeQuery(metastatementNode);
60
+ if (judgementNode === null) {
77
61
  var metastatementString = localMetaContext.nodeAsString(metastatementNode);
78
62
  localMetaContext.trace("Verifying the '".concat(metastatementString, "' metastatement as is..."), metastatementNode);
79
63
  var nonTerminalNode = metastatementNode, nonTerminalNodeVerified = _metastatement.default.verifyNonTerminalNode(nonTerminalNode, localMetaContext, function() {
@@ -88,4 +72,4 @@ function verifyMetastatementAsIs(metastatementNode, assignments, derived, localM
88
72
  return metastatementVerifiedAsIs;
89
73
  }
90
74
 
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUp1ZGdlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L2p1ZGdlbWVudFwiO1xuaW1wb3J0IHZlcmlmeU1ldGFFcXVhbGl0eSBmcm9tIFwiLi4vdmVyaWZ5L21ldGFFcXVhbGl0eVwiO1xuaW1wb3J0IG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyL25vZGUvbWV0YXN0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGp1ZGdlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L2p1ZGdlbWVudCFcIiksXG4gICAgICBtZXRhRXF1YWxpdHlOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXN0YXRlbWVudC9tZXRhRXF1YWxpdHkhXCIpO1xuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudC4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCB2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zID0gW1xuICAgIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc01ldGFFcXVhbGl0eSxcbiAgICB2ZXJpZnlNZXRhc3RhdGVtZW50QXNKdWRnZW1lbnQsXG4gICAgdmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNcbiAgXTtcblxuICBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChtZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudC5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YXN0YXRlbWVudFZlcmlmaWVkO1xufVxuXG5PYmplY3QuYXNzaWduKG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZXIsIHtcbiAgdmVyaWZ5TWV0YXN0YXRlbWVudFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHZlcmlmeU1ldGFzdGF0ZW1lbnQ7XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc01ldGFFcXVhbGl0eShtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzTWV0YUVxdWFsaXR5ID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YUVxdWFsaXR5Tm9kZSA9IG1ldGFFcXVhbGl0eU5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKG1ldGFFcXVhbGl0eU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIG1ldGEtZXF1YWxpdHkuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBtZXRhRXF1YWxpdHlWZXJpZmllZCA9IHZlcmlmeU1ldGFFcXVhbGl0eShtZXRhRXF1YWxpdHlOb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc01ldGFFcXVhbGl0eSA9IG1ldGFFcXVhbGl0eVZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNNZXRhRXF1YWxpdHkpIHtcbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIG1ldGEtZXF1YWxpdHkuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc01ldGFFcXVhbGl0eTtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudEFzSnVkZ2VtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNKdWRnZW1lbnQgPSBmYWxzZTtcblxuICBjb25zdCBqdWRnZW1lbnROb2RlID0ganVkZ2VtZW50Tm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoanVkZ2VtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEganVkZ2VtZW50Li4uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QganVkZ2VtZW50VmVyaWZpZWQgPSB2ZXJpZnlKdWRnZW1lbnQoanVkZ2VtZW50Tm9kZSwgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0p1ZGdlbWVudCA9IGp1ZGdlbWVudFZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNKdWRnZW1lbnQpIHtcbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGp1ZGdlbWVudC5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSnVkZ2VtZW50O1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJcyhtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSBmYWxzZTtcblxuICBjb25zdCBqdWRnZW1lbnROb2RlID0ganVkZ2VtZW50Tm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgbWV0YUVxdWFsaXR5Tm9kZSA9IG1ldGFFcXVhbGl0eU5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKChqdWRnZW1lbnROb2RlID09PSBudWxsKSAmJiAobWV0YUVxdWFsaXR5Tm9kZSA9PT0gbnVsbCkpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBpcy4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgbG9jYWxNZXRhQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgIH0pO1xuXG4gICAgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcykge1xuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGlzLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcztcbn1cbiJdLCJuYW1lcyI6WyJqdWRnZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhRXF1YWxpdHlOb2RlUXVlcnkiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbE1ldGFDb250ZXh0IiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5TWV0YVN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc01ldGFFcXVhbGl0eSIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0p1ZGdlbWVudCIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzIiwic29tZSIsInZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uIiwiZGVidWciLCJPYmplY3QiLCJhc3NpZ24iLCJtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyIiwibWV0YXN0YXRlbWVudFZlcmlmaWVkQXNNZXRhRXF1YWxpdHkiLCJtZXRhRXF1YWxpdHlOb2RlIiwibWV0YUVxdWFsaXR5VmVyaWZpZWQiLCJ2ZXJpZnlNZXRhRXF1YWxpdHkiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0p1ZGdlbWVudCIsImp1ZGdlbWVudE5vZGUiLCJqdWRnZW1lbnRWZXJpZmllZCIsInZlcmlmeUp1ZGdlbWVudCIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsInZlcmlmaWVkQWhlYWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTJDQTs7O2VBQUE7OztnRUF6QzRCO21FQUNHO29FQUNPO3FCQUVaOzs7Ozs7QUFFMUIsSUFBTUEscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLDhCQUMvQkMsd0JBQXdCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXhDLFNBQVNFLG9CQUFvQkMsaUJBQWlCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxnQkFBZ0I7SUFDcEYsSUFBSUM7SUFFSixJQUFNQyxzQkFBc0JGLGlCQUFpQkcsWUFBWSxDQUFDTjtJQUUxREcsaUJBQWlCSSxLQUFLLENBQUMs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
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUp1ZGdlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L2p1ZGdlbWVudFwiO1xuaW1wb3J0IG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyL25vZGUvbWV0YXN0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGp1ZGdlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L2p1ZGdlbWVudCFcIik7XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50Li4uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeU1ldGFTdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gICAgdmVyaWZ5TWV0YXN0YXRlbWVudEFzSnVkZ2VtZW50LFxuICAgIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzXG4gIF07XG5cbiAgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5TWV0YVN0YXRlbWVudEZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChtZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbihtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyLCB7XG4gIHZlcmlmeU1ldGFzdGF0ZW1lbnRcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB2ZXJpZnlNZXRhc3RhdGVtZW50O1xuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhc3RhdGVtZW50QXNKdWRnZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0p1ZGdlbWVudCA9IGZhbHNlO1xuXG4gIGNvbnN0IGp1ZGdlbWVudE5vZGUgPSBqdWRnZW1lbnROb2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChqdWRnZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgYSBqdWRnZW1lbnQuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBqdWRnZW1lbnRWZXJpZmllZCA9IHZlcmlmeUp1ZGdlbWVudChqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0p1ZGdlbWVudCA9IGp1ZGdlbWVudFZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNKdWRnZW1lbnQpIHtcbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGp1ZGdlbWVudC5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSnVkZ2VtZW50O1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJcyhtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSBmYWxzZTtcblxuICBjb25zdCBqdWRnZW1lbnROb2RlID0ganVkZ2VtZW50Tm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoanVkZ2VtZW50Tm9kZSA9PT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGlzLi4uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbWV0YXN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gbWV0YXN0YXRlbWVudE5vZGVWZXJpZmllci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBsb2NhbE1ldGFDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7ICAvLy9cblxuICAgIGlmIChtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzKSB7XG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuIl0sIm5hbWVzIjpbImp1ZGdlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInZlcmlmeU1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsTWV0YUNvbnRleHQiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzSnVkZ2VtZW50IiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzSXMiLCJzb21lIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24iLCJkZWJ1ZyIsIk9iamVjdCIsImFzc2lnbiIsIm1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZXIiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0p1ZGdlbWVudCIsImp1ZGdlbWVudE5vZGUiLCJqdWRnZW1lbnRWZXJpZmllZCIsInZlcmlmeUp1ZGdlbWVudCIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsInZlcmlmaWVkQWhlYWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXdDQTs7O2VBQUE7OztnRUF0QzRCO29FQUNVO3FCQUVaOzs7Ozs7QUFFMUIsSUFBTUEscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXJDLFNBQVNDLG9CQUFvQkMsaUJBQWlCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxnQkFBZ0I7SUFDcEYsSUFBSUM7SUFFSixJQUFNQyxzQkFBc0JGLGlCQUFpQkcsWUFBWSxDQUFDTjtJQUUxREcsaUJBQWlCSSxLQUFLLENBQUMsQUFBQyxrQkFBcUMsT0FBcEJGLHFCQUFvQix1QkFBcUJMO0lBRWxGLElBQU1RLCtCQUErQjtRQUNuQ0M7UUFDQUM7S0FDRDtJQUVETix3QkFBd0JJLDZCQUE2QkcsSUFBSSxDQUFDLFNBQUNDO1FBQ3pELElBQU1SLHdCQUF3QlEsd0JBQXdCWixtQkFBbUJDLGFBQWFDLFNBQVNDO1FBRS9GLElBQUlDLHVCQUF1QjtZQUN6QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlBLHVCQUF1QjtRQUN6QkQsaUJBQWlCVSxLQUFLLENBQUMsQUFBQyxvQkFBdUMsT0FBcEJSLHFCQUFvQixxQkFBbUJMO0lBQ3BGO0lBRUEsT0FBT0k7QUFDVDtBQUVBVSxPQUFPQyxNQUFNLENBQUNDLHNCQUF5QixFQUFFO0lBQ3ZDakIscUJBQUFBO0FBQ0Y7SUFFQSxXQUFlQTtBQUVmLFNBQVNVLCtCQUErQlQsaUJBQWlCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxnQkFBZ0I7SUFDL0YsSUFBSWMsbUNBQW1DO0lBRXZDLElBQU1DLGdCQUFnQnJCLG1CQUFtQkc7SUFFekMsSUFBSWtCLGtCQUFrQixNQUFNO1FBQzFCLElBQU1iLHNCQUFzQkYsaUJBQWlCRyxZQUFZLENBQUNOO1FBRTFERyxpQkFBaUJJLEtBQUssQ0FBQyxBQUFDLGtCQUFxQyxPQUFwQkYscUJBQW9CLHNDQUFvQ0w7UUFFakcsSUFBTW1CLG9CQUFvQkMsSUFBQUEsa0JBQWUsRUFBQ0YsZUFBZWpCLGFBQWFDLFNBQVNDO1FBRS9FYyxtQ0FBbUNFLG1CQUFvQixHQUFHO1FBRTFELElBQUlGLGtDQUFrQztZQUNwQ2QsaUJBQWlCVSxLQUFLLENBQUMsQUFBQyxvQkFBdUMsT0FBcEJSLHFCQUFvQixvQ0FBa0NMO1FBQ25HO0lBQ0Y7SUFFQSxPQUFPaUI7QUFDVDtBQUVBLFNBQVNQLHdCQUF3QlYsaUJBQWlCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxnQkFBZ0I7SUFDeEYsSUFBSWtCLDRCQUE0QjtJQUVoQyxJQUFNSCxnQkFBZ0JyQixtQkFBbUJHO0lBRXpDLElBQUlrQixrQkFBa0IsTUFBTTtRQUMxQixJQUFNYixzQkFBc0JGLGlCQUFpQkcsWUFBWSxDQUFDTjtRQUUxREcsaUJBQWlCSSxLQUFLLENBQUMsQUFBQyxrQkFBcUMsT0FBcEJGLHFCQUFvQiw2QkFBMkJMO1FBRXhGLElBQU1zQixrQkFBa0J0QixtQkFDbEJ1QiwwQkFBMEJQLHNCQUF5QixDQUFDUSxxQkFBcUIsQ0FBQ0YsaUJBQWlCbkIsa0JBQWtCO1lBQzNHLElBQU1zQixnQkFBZ0I7WUFFdEIsT0FBT0E7UUFDVDtRQUVOSiw0QkFBNEJFLHlCQUEwQixHQUFHO1FBRXpELElBQUlGLDJCQUEyQjtZQUM3QmxCLGlCQUFpQlUsS0FBSyxDQUFDLEFBQUMsb0JBQXVDLE9BQXBCUixxQkFBb0IsMkJBQXlCTDtRQUMxRjtJQUNGO0lBRUEsT0FBT3FCO0FBQ1QifQ==
@@ -31,7 +31,7 @@ function verifyMetavariable(metavariableNode, metaTypeNode, fileContext) {
31
31
  var metavariableVerified = false;
32
32
  var metavariableString = fileContext.nodeAsString(metavariableNode);
33
33
  fileContext.trace("Verifying the '".concat(metavariableString, "' metavariable..."), metavariableNode);
34
- var name = (0, _name.nameFromMetavariableNode)(metavariableNode), metavariablePresent = fileContext.isMetavariablePresentByName(name);
34
+ var metavariablePresent = fileContext.isMetavariablePresentByMetavariableNode(metavariableNode);
35
35
  if (metavariablePresent) {
36
36
  fileContext.debug("The metavariable '".concat(metavariableString, "' is already present."), metavariableNode);
37
37
  } else {
@@ -47,7 +47,7 @@ function verifyMetavariable(metavariableNode, metaTypeNode, fileContext) {
47
47
  var firstTermType = (0, _array.first)(termTypes);
48
48
  termType = firstTermType; ///
49
49
  }
50
- var node = metavariableNode, metavariable = _metavariable.default.fromNodeNameTermTypeAndMetaType(node, name, termType, metaType), metavariableAssignment = _metavariable1.default.fromMetavariable(metavariable), metavariableAssigned = metavariableAssignment.assign(fileContext);
50
+ var node = metavariableNode, name = (0, _name.nameFromMetavariableNode)(metavariableNode), metavariable = _metavariable.default.fromNodeNameTermTypeAndMetaType(node, name, termType, metaType), metavariableAssignment = _metavariable1.default.fromMetavariable(metavariable), metavariableAssigned = metavariableAssignment.assign(fileContext);
51
51
  if (metavariableAssigned) {
52
52
  metavariableVerified = true;
53
53
  }
@@ -105,4 +105,4 @@ function verifyMetaType(metaTypeNode, metaTypes, fileContext) {
105
105
  return metaTypeVerified;
106
106
  }
107
107
 
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YXZhcmlhYmxlIGZyb20gXCIuLi9tZXRhdmFyaWFibGVcIjtcbmltcG9ydCBNZXRhdmFyaWFibGVBc3NpZ25tZW50IGZyb20gXCIuLi9hc3NpZ25tZW50L21ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbmFtZVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L3R5cGVcIiksXG4gICAgICBhcmd1bWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGUvYXJndW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgbWV0YVR5cGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgY29uc3QgbmFtZSA9IG5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlUHJlc2VudCA9IGZpbGVDb250ZXh0LmlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TmFtZShuYW1lKTtcblxuICBpZiAobWV0YXZhcmlhYmxlUHJlc2VudCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGBUaGUgbWV0YXZhcmlhYmxlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIGlzIGFscmVhZHkgcHJlc2VudC5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0ZXJtVHlwZXMgPSBbXSxcbiAgICAgICAgICBtZXRhVHlwZXMgPSBbXSxcbiAgICAgICAgICBhcmd1bWVudE5vZGUgPSBhcmd1bWVudE5vZGVRdWVyeShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBhcmd1bWVudFZlcmlmaWVkID0gdmVyaWZ5QXJndW1lbnQoYXJndW1lbnROb2RlLCB0ZXJtVHlwZXMsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBtZXRhVHlwZVZlcmlmaWVkID0gdmVyaWZ5TWV0YVR5cGUobWV0YVR5cGVOb2RlLCBtZXRhVHlwZXMsIGZpbGVDb250ZXh0KTtcblxuICAgIGlmIChhcmd1bWVudFZlcmlmaWVkICYmIG1ldGFUeXBlVmVyaWZpZWQpIHtcbiAgICAgIGxldCB0ZXJtVHlwZSxcbiAgICAgICAgICBtZXRhVHlwZTtcblxuICAgICAgY29uc3QgZmlyc3RNZXRhVHlwZSA9IGZpcnN0KG1ldGFUeXBlcyk7XG5cbiAgICAgIG1ldGFUeXBlID0gZmlyc3RNZXRhVHlwZTsgLy8vXG5cbiAgICAgIGNvbnN0IHRlcm1UeXBlc0xlbmd0aCA9IHRlcm1UeXBlcy5sZW5ndGg7XG5cbiAgICAgIGlmICh0ZXJtVHlwZXNMZW5ndGggPT09IDApIHtcbiAgICAgICAgdGVybVR5cGUgPSBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZmlyc3RUZXJtVHlwZSA9IGZpcnN0KHRlcm1UeXBlcyk7XG5cbiAgICAgICAgdGVybVR5cGUgPSBmaXJzdFRlcm1UeXBlOyAvLy9cbiAgICAgIH1cblxuICAgICAgY29uc3Qgbm9kZSA9IG1ldGF2YXJpYWJsZU5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IE1ldGF2YXJpYWJsZS5mcm9tTm9kZU5hbWVUZXJtVHlwZUFuZE1ldGFUeXBlKG5vZGUsIG5hbWUsIHRlcm1UeXBlLCBtZXRhVHlwZSksXG4gICAgICAgICAgICBtZXRhdmFyaWFibGVBc3NpZ25tZW50ID0gTWV0YXZhcmlhYmxlQXNzaWdubWVudC5mcm9tTWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZSksXG4gICAgICAgICAgICBtZXRhdmFyaWFibGVBc3NpZ25lZCA9IG1ldGF2YXJpYWJsZUFzc2lnbm1lbnQuYXNzaWduKGZpbGVDb250ZXh0KTtcblxuICAgICAgaWYgKG1ldGF2YXJpYWJsZUFzc2lnbmVkKSB7XG4gICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhdmFyaWFibGVWZXJpZmllZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVN0YW5kYWxvbmVNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxNZXRhQ29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHN0YW5kYWxvbmVNZXRhdmFyaWFibGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgc3RhbmRhbG9uZSBtZXRhdmFyaWFibGUuLi5gLCBtZXRhdmFyaWFibGVOb2RlKTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVQcmVzZW50ID0gbG9jYWxNZXRhQ29udGV4dC5pc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgaWYgKG1ldGF2YXJpYWJsZVByZXNlbnQpIHtcbiAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgIHN0YW5kYWxvbmVNZXRhdmFyaWFibGVWZXJpZmllZCA9IHZlcmlmaWVkQWhlYWQ7IC8vL1xuICB9XG5cbiAgaWYgKHN0YW5kYWxvbmVNZXRhdmFyaWFibGVWZXJpZmllZCkge1xuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBzdGFuZGFsb25lIG1ldGF2YXJpYWJsZS5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGFuZGFsb25lTWV0YXZhcmlhYmxlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUFyZ3VtZW50KGFyZ3VtZW50Tm9kZSwgdGVybVR5cGVzLCBmaWxlQ29udGV4dCkge1xuICBsZXQgYXJndW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmIChhcmd1bWVudE5vZGUgPT09IG51bGwpIHtcbiAgICBhcmd1bWVudFZlcmlmaWVkID0gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoYXJndW1lbnROb2RlKTtcblxuICAgIGlmICh0ZXJtTm9kZSA9PT0gbnVsbCkge1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpO1xuXG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdhcyBmb3VuZCB3aGVuIGEgdHlwZSBzaG91bGQgaGF2ZSBiZWVuIHByZXNlbnQuYCwgdGVybU5vZGUpO1xuICAgIH1cbiAgICBjb25zdCB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoYXJndW1lbnROb2RlKTtcblxuICAgIGlmICh0eXBlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdHlwZSA9IGZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTm9kZSh0eXBlTm9kZSk7XG5cbiAgICAgIGlmICh0eXBlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHRlcm1UeXBlID0gdHlwZTsgIC8vL1xuXG4gICAgICAgIHRlcm1UeXBlcy5wdXNoKHRlcm1UeXBlKTtcblxuICAgICAgICBhcmd1bWVudFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHR5cGVTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcodHlwZU5vZGUpO1xuXG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGBUaGUgJyR7dHlwZVN0cmluZ30nIHR5cGUgaXMgbm90IHByZXNlbnQuYCwgdHlwZU5vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhcmd1bWVudFZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhVHlwZShtZXRhVHlwZU5vZGUsIG1ldGFUeXBlcywgZmlsZUNvbnRleHQpIHtcbiAgbGV0IG1ldGFUeXBlVmVyaWZpZWQ7XG5cbiAgY29uc3QgbWV0YVR5cGUgPSBmaWxlQ29udGV4dC5maW5kTWV0YVR5cGVCeU1ldGFUeXBlTm9kZShtZXRhVHlwZU5vZGUpO1xuXG4gIG1ldGFUeXBlcy5wdXNoKG1ldGFUeXBlKTtcblxuICBtZXRhVHlwZVZlcmlmaWVkID0gdHJ1ZTtcblxuICByZXR1cm4gbWV0YVR5cGVWZXJpZmllZDtcbn0iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXZhcmlhYmxlIiwidmVyaWZ5U3RhbmRhbG9uZU1ldGF2YXJpYWJsZSIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwiYXJndW1lbnROb2RlUXVlcnkiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YVR5cGVOb2RlIiwiZmlsZUNvbnRleHQiLCJtZXRhdmFyaWFibGVWZXJpZmllZCIsIm1ldGF2YXJpYWJsZVN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwibmFtZSIsIm5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVByZXNlbnQiLCJpc01ldGF2YXJpYWJsZVByZXNlbnRCeU5hbWUiLCJkZWJ1ZyIsInRlcm1UeXBlcyIsIm1ldGFUeXBlcyIsImFyZ3VtZW50Tm9kZSIsImFyZ3VtZW50VmVyaWZpZWQiLCJ2ZXJpZnlBcmd1bWVudCIsIm1ldGFUeXBlVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhVHlwZSIsInRlcm1UeXBlIiwibWV0YVR5cGUiLCJmaXJzdE1ldGFUeXBlIiwiZmlyc3QiLCJ0ZXJtVHlwZXNMZW5ndGgiLCJsZW5ndGgiLCJmaXJzdFRlcm1UeXBlIiwibm9kZSIsIm1ldGF2YXJpYWJsZSIsIk1ldGF2YXJpYWJsZSIsImZyb21Ob2RlTmFtZVRlcm1UeXBlQW5kTWV0YVR5cGUiLCJtZXRhdmFyaWFibGVBc3NpZ25tZW50IiwiTWV0YXZhcmlhYmxlQXNzaWdubWVudCIsImZyb21NZXRhdmFyaWFibGUiLCJtZXRhdmFyaWFibGVBc3NpZ25lZCIsImFzc2lnbiIsImxvY2FsTWV0YUNvbnRleHQiLCJ2ZXJpZnlBaGVhZCIsInN0YW5kYWxvbmVNZXRhdmFyaWFibGVWZXJpZmllZCIsImlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZSIsInZlcmlmaWVkQWhlYWQiLCJ0ZXJtTm9kZSIsInRlcm1TdHJpbmciLCJ0eXBlTm9kZSIsInR5cGUiLCJmaW5kVHlwZUJ5VHlwZU5vZGUiLCJwdXNoIiwidHlwZVN0cmluZyIsImZpbmRN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
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YXZhcmlhYmxlIGZyb20gXCIuLi9tZXRhdmFyaWFibGVcIjtcbmltcG9ydCBNZXRhdmFyaWFibGVBc3NpZ25tZW50IGZyb20gXCIuLi9hc3NpZ25tZW50L21ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbmFtZVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L3R5cGVcIiksXG4gICAgICBhcmd1bWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGUvYXJndW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgbWV0YVR5cGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgbWV0YXZhcmlhYmxlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlUHJlc2VudCA9IGZpbGVDb250ZXh0LmlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAobWV0YXZhcmlhYmxlUHJlc2VudCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGBUaGUgbWV0YXZhcmlhYmxlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIGlzIGFscmVhZHkgcHJlc2VudC5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0ZXJtVHlwZXMgPSBbXSxcbiAgICAgICAgICBtZXRhVHlwZXMgPSBbXSxcbiAgICAgICAgICBhcmd1bWVudE5vZGUgPSBhcmd1bWVudE5vZGVRdWVyeShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBhcmd1bWVudFZlcmlmaWVkID0gdmVyaWZ5QXJndW1lbnQoYXJndW1lbnROb2RlLCB0ZXJtVHlwZXMsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBtZXRhVHlwZVZlcmlmaWVkID0gdmVyaWZ5TWV0YVR5cGUobWV0YVR5cGVOb2RlLCBtZXRhVHlwZXMsIGZpbGVDb250ZXh0KTtcblxuICAgIGlmIChhcmd1bWVudFZlcmlmaWVkICYmIG1ldGFUeXBlVmVyaWZpZWQpIHtcbiAgICAgIGxldCB0ZXJtVHlwZSxcbiAgICAgICAgICBtZXRhVHlwZTtcblxuICAgICAgY29uc3QgZmlyc3RNZXRhVHlwZSA9IGZpcnN0KG1ldGFUeXBlcyk7XG5cbiAgICAgIG1ldGFUeXBlID0gZmlyc3RNZXRhVHlwZTsgLy8vXG5cbiAgICAgIGNvbnN0IHRlcm1UeXBlc0xlbmd0aCA9IHRlcm1UeXBlcy5sZW5ndGg7XG5cbiAgICAgIGlmICh0ZXJtVHlwZXNMZW5ndGggPT09IDApIHtcbiAgICAgICAgdGVybVR5cGUgPSBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZmlyc3RUZXJtVHlwZSA9IGZpcnN0KHRlcm1UeXBlcyk7XG5cbiAgICAgICAgdGVybVR5cGUgPSBmaXJzdFRlcm1UeXBlOyAvLy9cbiAgICAgIH1cblxuICAgICAgY29uc3Qgbm9kZSA9IG1ldGF2YXJpYWJsZU5vZGUsICAvLy9cbiAgICAgICAgICAgIG5hbWUgPSBuYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICBtZXRhdmFyaWFibGUgPSBNZXRhdmFyaWFibGUuZnJvbU5vZGVOYW1lVGVybVR5cGVBbmRNZXRhVHlwZShub2RlLCBuYW1lLCB0ZXJtVHlwZSwgbWV0YVR5cGUpLFxuICAgICAgICAgICAgbWV0YXZhcmlhYmxlQXNzaWdubWVudCA9IE1ldGF2YXJpYWJsZUFzc2lnbm1lbnQuZnJvbU1ldGF2YXJpYWJsZShtZXRhdmFyaWFibGUpLFxuICAgICAgICAgICAgbWV0YXZhcmlhYmxlQXNzaWduZWQgPSBtZXRhdmFyaWFibGVBc3NpZ25tZW50LmFzc2lnbihmaWxlQ29udGV4dCk7XG5cbiAgICAgIGlmIChtZXRhdmFyaWFibGVBc3NpZ25lZCkge1xuICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlTdGFuZGFsb25lTWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsTWV0YUNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCBzdGFuZGFsb25lTWV0YXZhcmlhYmxlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKTtcblxuICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHN0YW5kYWxvbmUgbWV0YXZhcmlhYmxlLi4uYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlUHJlc2VudCA9IGxvY2FsTWV0YUNvbnRleHQuaXNNZXRhdmFyaWFibGVQcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gIGlmIChtZXRhdmFyaWFibGVQcmVzZW50KSB7XG4gICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG5cbiAgICBzdGFuZGFsb25lTWV0YXZhcmlhYmxlVmVyaWZpZWQgPSB2ZXJpZmllZEFoZWFkOyAvLy9cbiAgfVxuXG4gIGlmIChzdGFuZGFsb25lTWV0YXZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgc3RhbmRhbG9uZSBtZXRhdmFyaWFibGUuYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gc3RhbmRhbG9uZU1ldGF2YXJpYWJsZVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlBcmd1bWVudChhcmd1bWVudE5vZGUsIHRlcm1UeXBlcywgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGFyZ3VtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBpZiAoYXJndW1lbnROb2RlID09PSBudWxsKSB7XG4gICAgYXJndW1lbnRWZXJpZmllZCA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGFyZ3VtZW50Tm9kZSk7XG5cbiAgICBpZiAodGVybU5vZGUgPT09IG51bGwpIHtcblxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHRlcm1Ob2RlKTtcblxuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3YXMgZm91bmQgd2hlbiBhIHR5cGUgc2hvdWxkIGhhdmUgYmVlbiBwcmVzZW50LmAsIHRlcm1Ob2RlKTtcbiAgICB9XG4gICAgY29uc3QgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KGFyZ3VtZW50Tm9kZSk7XG5cbiAgICBpZiAodHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBmaWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5vZGUodHlwZU5vZGUpO1xuXG4gICAgICBpZiAodHlwZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCB0ZXJtVHlwZSA9IHR5cGU7ICAvLy9cblxuICAgICAgICB0ZXJtVHlwZXMucHVzaCh0ZXJtVHlwZSk7XG5cbiAgICAgICAgYXJndW1lbnRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB0eXBlU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHR5cGVOb2RlKTtcblxuICAgICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgVGhlICcke3R5cGVTdHJpbmd9JyB0eXBlIGlzIG5vdCBwcmVzZW50LmAsIHR5cGVOb2RlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXJndW1lbnRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YVR5cGUobWV0YVR5cGVOb2RlLCBtZXRhVHlwZXMsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBtZXRhVHlwZVZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFUeXBlID0gZmlsZUNvbnRleHQuZmluZE1ldGFUeXBlQnlNZXRhVHlwZU5vZGUobWV0YVR5cGVOb2RlKTtcblxuICBtZXRhVHlwZXMucHVzaChtZXRhVHlwZSk7XG5cbiAgbWV0YVR5cGVWZXJpZmllZCA9IHRydWU7XG5cbiAgcmV0dXJuIG1ldGFUeXBlVmVyaWZpZWQ7XG59Il0sIm5hbWVzIjpbInZlcmlmeU1ldGF2YXJpYWJsZSIsInZlcmlmeVN0YW5kYWxvbmVNZXRhdmFyaWFibGUiLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZU5vZGVRdWVyeSIsImFyZ3VtZW50Tm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFUeXBlTm9kZSIsImZpbGVDb250ZXh0IiwibWV0YXZhcmlhYmxlVmVyaWZpZWQiLCJtZXRhdmFyaWFibGVTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsIm1ldGF2YXJpYWJsZVByZXNlbnQiLCJpc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUiLCJkZWJ1ZyIsInRlcm1UeXBlcyIsIm1ldGFUeXBlcyIsImFyZ3VtZW50Tm9kZSIsImFyZ3VtZW50VmVyaWZpZWQiLCJ2ZXJpZnlBcmd1bWVudCIsIm1ldGFUeXBlVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhVHlwZSIsInRlcm1UeXBlIiwibWV0YVR5cGUiLCJmaXJzdE1ldGFUeXBlIiwiZmlyc3QiLCJ0ZXJtVHlwZXNMZW5ndGgiLCJsZW5ndGgiLCJmaXJzdFRlcm1UeXBlIiwibm9kZSIsIm5hbWUiLCJuYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGUiLCJNZXRhdmFyaWFibGUiLCJmcm9tTm9kZU5hbWVUZXJtVHlwZUFuZE1ldGFUeXBlIiwibWV0YXZhcmlhYmxlQXNzaWdubWVudCIsIk1ldGF2YXJpYWJsZUFzc2lnbm1lbnQiLCJmcm9tTWV0YXZhcmlhYmxlIiwibWV0YXZhcmlhYmxlQXNzaWduZWQiLCJhc3NpZ24iLCJsb2NhbE1ldGFDb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJzdGFuZGFsb25lTWV0YXZhcmlhYmxlVmVyaWZpZWQiLCJ2ZXJpZmllZEFoZWFkIiwidGVybU5vZGUiLCJ0ZXJtU3RyaW5nIiwidHlwZU5vZGUiLCJ0eXBlIiwiZmluZFR5cGVCeVR5cGVOb2RlIiwicHVzaCIsInR5cGVTdHJpbmciLCJmaW5kTWV0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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-verify-cli",
3
3
  "author": "James Smith",
4
- "version": "0.0.880",
4
+ "version": "0.0.881",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -12,7 +12,7 @@
12
12
  "dependencies": {
13
13
  "argumentative": "^2.0.28",
14
14
  "necessary": "^14.0.1",
15
- "occam-custom-grammars": "^5.0.786",
15
+ "occam-custom-grammars": "^5.0.787",
16
16
  "occam-entities": "^1.0.135",
17
17
  "occam-file-system": "^6.0.177",
18
18
  "occam-grammar-utilities": "^8.0.205",
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ export default class JudgementAssignment {
4
+ constructor(judgement) {
5
+ this.judgement = judgement;
6
+ }
7
+
8
+ getJudgement() {
9
+ return this.judgement;
10
+ }
11
+
12
+ assign(localMetaContext) {
13
+ const judgementAdded = localMetaContext.addJudgement(this.judgement),
14
+ judgementNode = this.judgement.getNode(),
15
+ judgementString = localMetaContext.nodeAsString(judgementNode),
16
+ judgementAssigned = judgementAdded; ///
17
+
18
+ judgementAssigned ?
19
+ localMetaContext.trace(`Assigned the '${judgementString}' judgement.`, judgementNode) :
20
+ localMetaContext.debug(`Unable to assign the '${judgementString}' judgement.`, judgementNode);
21
+
22
+ return judgementAssigned;
23
+ }
24
+
25
+ static fromJudgement(judgement) {
26
+ const judgementAssignment = new JudgementAssignment(judgement);
27
+
28
+ return judgementAssignment;
29
+ }
30
+ }
@@ -71,6 +71,12 @@ export default class FileContext {
71
71
  return proofSteps;
72
72
  }
73
73
 
74
+ getJudgements() {
75
+ const judgements = [];
76
+
77
+ return judgements;
78
+ }
79
+
74
80
  getEquivalences() {
75
81
  const equivalences = []; ///
76
82
 
@@ -53,6 +53,12 @@ class LocalContext {
53
53
  return equivalences;
54
54
  }
55
55
 
56
+ getJudgements() { return this.context.getJudgements(); }
57
+
58
+ getMetavariables() { return this.context.getMetavariables(); }
59
+
60
+ getMetaproofSteps() { return this.context.getMetaproofSteps(); }
61
+
56
62
  getLastProofStep() {
57
63
  let lastProofStep = null;
58
64
 
@@ -65,8 +71,6 @@ class LocalContext {
65
71
  return lastProofStep;
66
72
  }
67
73
 
68
- getMetavariables() { return this.context.getMetavariables(); }
69
-
70
74
  getTermType(term) {
71
75
  let termType;
72
76
 
@@ -5,8 +5,9 @@ import contextMixins from "../mixins/context";
5
5
  import { last } from "../utilities/array";
6
6
 
7
7
  class LocalMetaContext {
8
- constructor(context, metavariables, metaproofSteps) {
8
+ constructor(context, judgements, metavariables, metaproofSteps) {
9
9
  this.context = context;
10
+ this.judgements = judgements;
10
11
  this.metavariables = metavariables;
11
12
  this.metaproofSteps = metaproofSteps;
12
13
  }
@@ -15,10 +16,26 @@ class LocalMetaContext {
15
16
  return this.context;
16
17
  }
17
18
 
18
- getTermType(term) {
19
- const termType = term.getType();
19
+ getJudgements() {
20
+ let judgements = this.context.getJudgements();
20
21
 
21
- return termType;
22
+ judgements = [ ///
23
+ ...this.judgements,
24
+ ...judgements
25
+ ]
26
+
27
+ return judgements;
28
+ }
29
+
30
+ getMetavariables() {
31
+ let metavariables = this.context.getMetavariables();
32
+
33
+ metavariables = [ ///
34
+ ...this.metavariables,
35
+ ...metavariables
36
+ ]
37
+
38
+ return metavariables;
22
39
  }
23
40
 
24
41
  getMetaproofSteps() {
@@ -34,17 +51,14 @@ class LocalMetaContext {
34
51
 
35
52
  getVariables() { return this.context.getVariables(); }
36
53
 
37
- getEquivalences() { return this.context.getEquivalences(); }
54
+ getProofSteps() { return this.context.getProofSteps(); }
38
55
 
39
- getMetavariables() {
40
- let metavariables = this.context.getMetavariables();
56
+ getEquivalences() { return this.context.getEquivalences(); }
41
57
 
42
- metavariables = [ ///
43
- ...this.metavariables,
44
- ...metavariables
45
- ]
58
+ getTermType(term) {
59
+ const termType = term.getType();
46
60
 
47
- return metavariables;
61
+ return termType;
48
62
  }
49
63
 
50
64
  getLastMetaproofStep() {
@@ -59,8 +73,8 @@ class LocalMetaContext {
59
73
  return lastMetaproofStep;
60
74
  }
61
75
 
62
- addMetaEquality(metaEquality) {
63
-
76
+ addJudgement(judgement) {
77
+ this.judgements.push(judgement);
64
78
  }
65
79
 
66
80
  addMetavariable(metavariable) {
@@ -154,19 +168,21 @@ class LocalMetaContext {
154
168
 
155
169
  static fromFileContext(fileContext) {
156
170
  const context = fileContext, ///
171
+ judgements = [],
157
172
  metavariables = [],
158
173
  metaproofSteps = [],
159
- localMetaContext = new LocalMetaContext(context, metavariables, metaproofSteps);
174
+ localMetaContext = new LocalMetaContext(context, judgements, metavariables, metaproofSteps);
160
175
 
161
176
  return localMetaContext;
162
177
  }
163
178
 
164
179
  static fromLocalMetaContext(localMetaContext) {
165
180
  const context = localMetaContext, ///
181
+ judgements = [],
166
182
  metavariables = [],
167
183
  metaproofSteps = [];
168
184
 
169
- localMetaContext = new LocalMetaContext(context, metavariables, metaproofSteps); ///
185
+ localMetaContext = new LocalMetaContext(context, judgements, metavariables, metaproofSteps); ///
170
186
 
171
187
  return localMetaContext;
172
188
  }
package/src/frame.js ADDED
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ export default class Frame {
4
+ constructor(node, declarations) {
5
+ this.node = node;
6
+ this.declarations = declarations;
7
+ }
8
+
9
+ getNode() {
10
+ return this.node;
11
+ }
12
+
13
+ getDeclarations() {
14
+ return this.declarations;
15
+ }
16
+
17
+ addDeclarations(declarations) {
18
+ push(this.declarations, declarations);
19
+ }
20
+
21
+ fromFrameNodeAndDeclarations(frameNode, declarations) {
22
+ const node = frameNode, ///
23
+ frame = new Frame(node, declarations);
24
+
25
+ return frame;
26
+ }
27
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ export default class Judgement {
4
+ constructor(node, frame, metavariable) {
5
+ this.node = node;
6
+ this.frame = frame;
7
+ this.metavariable = metavariable;
8
+ }
9
+
10
+ getNode() {
11
+ return this.node;
12
+ }
13
+
14
+ getFrame() {
15
+ return this.frame;
16
+ }
17
+
18
+ getMetavariable() {
19
+ return this.metavariable;
20
+ }
21
+
22
+ static fromJudgementNodeFrameAndMetavariable(judgementNode, frame, metavariable) {
23
+ const node = judgementNode,
24
+ judgement = new Judgement(node, frame, metavariable);
25
+
26
+ return judgement;
27
+ }
28
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ import MetaType from "../metaType";
4
+
5
+ import { FRAME_META_TYPE_NAME } from "../metaTypeNames";
6
+
7
+ class FrameMetaType extends MetaType {
8
+ static fromNothing() {
9
+ const name = FRAME_META_TYPE_NAME,
10
+ frameMetaType = new FrameMetaType(name);
11
+
12
+ return frameMetaType;
13
+ }
14
+ }
15
+
16
+ const frameMetaType = FrameMetaType.fromNothing();
17
+
18
+ export default frameMetaType;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ import MetaType from "../metaType";
4
+
5
+ import { REFERENCE_META_TYPE_NAME } from "../metaTypeNames";
6
+
7
+ class ReferenceMetaType extends MetaType {
8
+ static fromNothing() {
9
+ const name = REFERENCE_META_TYPE_NAME,
10
+ referenceMetaType = new ReferenceMetaType(name);
11
+
12
+ return referenceMetaType;
13
+ }
14
+ }
15
+
16
+ const referenceMetaType = ReferenceMetaType.fromNothing();
17
+
18
+ export default referenceMetaType;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
 
3
+ export const FRAME_META_TYPE_NAME = "Frame";
4
+ export const REFERENCE_META_TYPE_NAME = "Reference";
3
5
  export const STATEMENT_META_TYPE_NAME = "Statement";
4
- export const CONTEXT_META_TYPE_NAME = "Context";
5
- export const LABEL_META_TYPE_NAME = "Label";
package/src/metaTypes.js CHANGED
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
 
3
- import labelMetaType from "./metaType/label";
4
- import contextMetaType from "./metaType/context";
3
+ import frameMetaType from "./metaType/frame";
4
+ import referenceMetaType from "./metaType/reference";
5
5
  import statementMetaType from "./metaType/statement";
6
6
 
7
7
  const metaTypes = [
8
- labelMetaType,
9
- contextMetaType,
8
+ frameMetaType,
9
+ referenceMetaType,
10
10
  statementMetaType
11
11
  ];
12
12