occam-verify-cli 0.0.877 → 0.0.879

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.
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _context = /*#__PURE__*/ _interop_require_default(require("../mixins/context"));
12
12
  var _array = require("../utilities/array");
13
+ var _metaEquivalences = require("../utilities/metaEquivalences");
13
14
  function _array_like_to_array(arr, len) {
14
15
  if (len == null || len > arr.length) len = arr.length;
15
16
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -60,11 +61,12 @@ function _unsupported_iterable_to_array(o, minLen) {
60
61
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
61
62
  }
62
63
  var LocalMetaContext = /*#__PURE__*/ function() {
63
- function LocalMetaContext(context, metavariables, metaproofSteps) {
64
+ function LocalMetaContext(context, metavariables, metaproofSteps, metaEquivalences) {
64
65
  _class_call_check(this, LocalMetaContext);
65
66
  this.context = context;
66
67
  this.metavariables = metavariables;
67
68
  this.metaproofSteps = metaproofSteps;
69
+ this.metaEquivalences = metaEquivalences;
68
70
  }
69
71
  _create_class(LocalMetaContext, [
70
72
  {
@@ -80,14 +82,6 @@ var LocalMetaContext = /*#__PURE__*/ function() {
80
82
  return termType;
81
83
  }
82
84
  },
83
- {
84
- key: "getMetavariables",
85
- value: function getMetavariables() {
86
- var metavariables = this.context.getMetavariables();
87
- metavariables = _to_consumable_array(this.metavariables).concat(_to_consumable_array(metavariables));
88
- return metavariables;
89
- }
90
- },
91
85
  {
92
86
  key: "getMetaproofSteps",
93
87
  value: function getMetaproofSteps() {
@@ -96,12 +90,35 @@ var LocalMetaContext = /*#__PURE__*/ function() {
96
90
  return metaproofSteps;
97
91
  }
98
92
  },
93
+ {
94
+ key: "getMetaEquivalences",
95
+ value: function getMetaEquivalences() {
96
+ var metaEquivalences = this.context.getMetaEquivalences();
97
+ var metaEquivalencesA = this.metaEquivalences, metaEquivalencesB = metaEquivalences, localMetaContext = this; ///
98
+ metaEquivalences = (0, _metaEquivalences.mergeMetaEquivalences)(metaEquivalencesA, metaEquivalencesB, localMetaContext); ///
99
+ return metaEquivalences;
100
+ }
101
+ },
99
102
  {
100
103
  key: "getVariables",
101
104
  value: function getVariables() {
102
105
  return this.context.getVariables();
103
106
  }
104
107
  },
108
+ {
109
+ key: "getEquivalences",
110
+ value: function getEquivalences() {
111
+ return this.context.getEquivalences();
112
+ }
113
+ },
114
+ {
115
+ key: "getMetavariables",
116
+ value: function getMetavariables() {
117
+ var metavariables = this.context.getMetavariables();
118
+ metavariables = _to_consumable_array(this.metavariables).concat(_to_consumable_array(metavariables));
119
+ return metavariables;
120
+ }
121
+ },
105
122
  {
106
123
  key: "getLastMetaproofStep",
107
124
  value: function getLastMetaproofStep() {
@@ -113,6 +130,10 @@ var LocalMetaContext = /*#__PURE__*/ function() {
113
130
  return lastMetaproofStep;
114
131
  }
115
132
  },
133
+ {
134
+ key: "addMetaEquality",
135
+ value: function addMetaEquality(metaEquality) {}
136
+ },
116
137
  {
117
138
  key: "addMetavariable",
118
139
  value: function addMetavariable(metavariable) {
@@ -136,6 +157,12 @@ var LocalMetaContext = /*#__PURE__*/ function() {
136
157
  this.metaproofSteps.push(metaproofStep);
137
158
  }
138
159
  },
160
+ {
161
+ key: "addMetaEquivalence",
162
+ value: function addMetaEquivalence(metaEquivalence) {
163
+ this.metaEquivalences.push(metaEquivalence);
164
+ }
165
+ },
139
166
  {
140
167
  key: "matchMetastatement",
141
168
  value: function matchMetastatement(metastatementNode) {
@@ -197,15 +224,15 @@ var LocalMetaContext = /*#__PURE__*/ function() {
197
224
  {
198
225
  key: "fromFileContext",
199
226
  value: function fromFileContext(fileContext) {
200
- var context = fileContext, metavariables = [], metaproofSteps = [], localMetaContext = new LocalMetaContext(context, metavariables, metaproofSteps);
227
+ var context = fileContext, metavariables = [], metaproofSteps = [], metaEquivalences = [], localMetaContext = new LocalMetaContext(context, metavariables, metaproofSteps, metaEquivalences);
201
228
  return localMetaContext;
202
229
  }
203
230
  },
204
231
  {
205
232
  key: "fromLocalMetaContext",
206
233
  value: function fromLocalMetaContext(localMetaContext) {
207
- var context = localMetaContext, metavariables = [], metaproofSteps = [];
208
- localMetaContext = new LocalMetaContext(context, metavariables, metaproofSteps); ///
234
+ var context = localMetaContext, metavariables = [], metaproofSteps = [], metaEquivalences = [];
235
+ localMetaContext = new LocalMetaContext(context, metavariables, metaproofSteps, metaEquivalences); ///
209
236
  return localMetaContext;
210
237
  }
211
238
  }
@@ -215,4 +242,4 @@ var LocalMetaContext = /*#__PURE__*/ function() {
215
242
  Object.assign(LocalMetaContext.prototype, _context.default);
216
243
  var _default = LocalMetaContext;
217
244
 
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2xvY2FsTWV0YS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGNvbnRleHRNaXhpbnMgZnJvbSBcIi4uL21peGlucy9jb250ZXh0XCI7XG5cbmltcG9ydCB7IGxhc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmNsYXNzIExvY2FsTWV0YUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBtZXRhdmFyaWFibGVzLCBtZXRhcHJvb2ZTdGVwcykge1xuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgdGhpcy5tZXRhdmFyaWFibGVzID0gbWV0YXZhcmlhYmxlcztcbiAgICB0aGlzLm1ldGFwcm9vZlN0ZXBzID0gbWV0YXByb29mU3RlcHM7XG4gIH1cblxuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cblxuICBnZXRUZXJtVHlwZSh0ZXJtKSB7XG4gICAgY29uc3QgdGVybVR5cGUgPSB0ZXJtLmdldFR5cGUoKTtcblxuICAgIHJldHVybiB0ZXJtVHlwZTtcbiAgfVxuXG4gIGdldE1ldGF2YXJpYWJsZXMoKSB7XG4gICAgbGV0IG1ldGF2YXJpYWJsZXMgPSB0aGlzLmNvbnRleHQuZ2V0TWV0YXZhcmlhYmxlcygpO1xuXG4gICAgbWV0YXZhcmlhYmxlcyA9IFsgLy8vXG4gICAgICAuLi50aGlzLm1ldGF2YXJpYWJsZXMsXG4gICAgICAuLi5tZXRhdmFyaWFibGVzXG4gICAgXVxuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZXM7XG4gIH1cblxuICBnZXRNZXRhcHJvb2ZTdGVwcygpIHtcbiAgICBsZXQgbWV0YXByb29mU3RlcHMgPSB0aGlzLmNvbnRleHQuZ2V0TWV0YXByb29mU3RlcHMoKTtcblxuICAgIG1ldGFwcm9vZlN0ZXBzID0gWyAgLy8vXG4gICAgICAuLi5tZXRhcHJvb2ZTdGVwcyxcbiAgICAgIC4uLnRoaXMubWV0YXByb29mU3RlcHNcbiAgICBdO1xuXG4gICAgcmV0dXJuIG1ldGFwcm9vZlN0ZXBzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVzKCkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmdldFZhcmlhYmxlcygpOyB9XG5cbiAgZ2V0TGFzdE1ldGFwcm9vZlN0ZXAoKSB7XG4gICAgbGV0IGxhc3RNZXRhcHJvb2ZTdGVwID0gbnVsbDtcblxuICAgIGNvbnN0IG1ldGFwcm9vZlN0ZXBzTGVuZ3RoID0gdGhpcy5tZXRhcHJvb2ZTdGVwcy5sZW5ndGg7XG5cbiAgICBpZiAobWV0YXByb29mU3RlcHNMZW5ndGggPiAwKSB7XG4gICAgICBsYXN0TWV0YXByb29mU3RlcCA9IGxhc3QodGhpcy5tZXRhcHJvb2ZTdGVwcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxhc3RNZXRhcHJvb2ZTdGVwO1xuICB9XG5cbiAgYWRkTWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZSkge1xuICAgIGxldCBtZXRhdmFyaWFibGVBZGRlZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9kZSA9IG1ldGF2YXJpYWJsZS5nZXROYW1lKCksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlUHJlc2VudCA9IHRoaXMubWV0YXZhcmlhYmxlcy5zb21lKChtZXRhdmFyaWFibGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVNYXRjaGVzID0gbWV0YXZhcmlhYmxlLm1hdGNoTm9kZShub2RlKTtcblxuICAgICAgICAgICAgaWYgKG5vZGVNYXRjaGVzKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgaWYgKCFtZXRhdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICB0aGlzLm1ldGF2YXJpYWJsZXMucHVzaChtZXRhdmFyaWFibGUpO1xuXG4gICAgICBtZXRhdmFyaWFibGVBZGRlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZUFkZGVkO1xuICB9XG5cbiAgYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKSB7XG4gICAgdGhpcy5tZXRhcHJvb2ZTdGVwcy5wdXNoKG1ldGFwcm9vZlN0ZXApO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnRNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBpZiAoIW1ldGFzdGF0ZW1lbnRNYXRjaGVzKSB7XG4gICAgICBjb25zdCBwcm9vZlN0ZXBNYXRjaGVzTWV0YXN0YXRlbWVudCA9IHRoaXMubWV0YXByb29mU3RlcHMuc29tZSgobWV0YXByb29mU3RlcCkgPT4ge1xuICAgICAgICBjb25zdCBwcm9vZlN0ZXBNYXRjaGVzTWV0YXN0YXRlbWVudCA9IG1ldGFwcm9vZlN0ZXAubWF0Y2gobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgIGlmIChwcm9vZlN0ZXBNYXRjaGVzTWV0YXN0YXRlbWVudCkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgbWV0YXN0YXRlbWVudE1hdGNoZXMgPSBwcm9vZlN0ZXBNYXRjaGVzTWV0YXN0YXRlbWVudDsgLy8vXG4gICAgfVxuXG4gICAgaWYgKCFtZXRhc3RhdGVtZW50TWF0Y2hlcykge1xuICAgICAgbWV0YXN0YXRlbWVudE1hdGNoZXMgPSB0aGlzLmNvbnRleHQubWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE1hdGNoZXM7XG4gIH1cblxuICBmaW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpIHtcbiAgICBjb25zdCBub2RlID0gdmFyaWFibGVOb2RlLCAgLy8vXG4gICAgICAgICAgdmFyaWFibGVzID0gdGhpcy5nZXRWYXJpYWJsZXMoKSxcbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlcy5maW5kKCh2YXJpYWJsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHZhcmlhYmxlLm1hdGNoTm9kZShub2RlKTtcblxuICAgICAgICAgICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIGlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgdmFyaWFibGUgPSB0aGlzLmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gKHZhcmlhYmxlICE9PSBudWxsKTtcblxuICAgIHJldHVybiB2YXJpYWJsZVByZXNlbnQ7XG4gIH1cblxuICBmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgICBjb25zdCBub2RlID0gbWV0YXZhcmlhYmxlTm9kZSwgIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZXMgPSB0aGlzLmdldE1ldGF2YXJpYWJsZXMoKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGUgPSBtZXRhdmFyaWFibGVzLmZpbmQoKG1ldGF2YXJpYWJsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IG1ldGF2YXJpYWJsZS5tYXRjaE5vZGUobm9kZSwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pIHx8IG51bGw7XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlO1xuICB9XG5cbiAgaXNNZXRhdmFyaWFibGVQcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGUgPSB0aGlzLmZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxNZXRhQ29udGV4dCksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlUHJlc2VudCA9IChtZXRhdmFyaWFibGUgIT09IG51bGwpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZVByZXNlbnQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlcyA9IFtdLFxuICAgICAgICAgIG1ldGFwcm9vZlN0ZXBzID0gW10sXG4gICAgICAgICAgbG9jYWxNZXRhQ29udGV4dCA9IG5ldyBMb2NhbE1ldGFDb250ZXh0KGNvbnRleHQsIG1ldGF2YXJpYWJsZXMsIG1ldGFwcm9vZlN0ZXBzKTtcblxuICAgIHJldHVybiBsb2NhbE1ldGFDb250ZXh0O1xuICB9XG5cbiAgc3RhdGljIGZyb21Mb2NhbE1ldGFDb250ZXh0KGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gbG9jYWxNZXRhQ29udGV4dCwgIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZXMgPSBbXSxcbiAgICAgICAgICBtZXRhcHJvb2ZTdGVwcyA9IFtdO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dCA9IG5ldyBMb2NhbE1ldGFDb250ZXh0KGNvbnRleHQsIG1ldGF2YXJpYWJsZXMsIG1ldGFwcm9vZlN0ZXBzKTsgIC8vL1xuXG4gICAgcmV0dXJuIGxvY2FsTWV0YUNvbnRleHQ7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihMb2NhbE1ldGFDb250ZXh0LnByb3RvdHlwZSwgY29udGV4dE1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsTWV0YUNvbnRleHQ7Il0sIm5hbWVzIjpbIkxvY2FsTWV0YUNvbnRleHQiLCJjb250ZXh0IiwibWV0YXZhcmlhYmxlcyIsIm1ldGFwcm9vZlN0ZXBzIiwiZ2V0Q29udGV4dCIsImdldFRlcm1UeXBlIiwidGVybSIsInRlcm1UeXBlIiwiZ2V0VHlwZSIsImdldE1ldGF2YXJpYWJsZXMiLCJnZXRNZXRhcHJvb2ZTdGVwcyIsImdldFZhcmlhYmxlcyIsImdldExhc3RNZXRhcHJvb2ZTdGVwIiwibGFzdE1ldGFwcm9vZlN0ZXAiLCJtZXRhcHJvb2ZTdGVwc0xlbmd0aCIsImxlbmd0aCIsImxhc3QiLCJhZGRNZXRhdmFyaWFibGUiLCJtZXRhdmFyaWFibGUiLCJtZXRhdmFyaWFibGVBZGRlZCIsIm5vZGUiLCJnZXROYW1lIiwibWV0YXZhcmlhYmxlUHJlc2VudCIsInNvbWUiLCJub2RlTWF0Y2hlcyIsIm1hdGNoTm9kZSIsInB1c2giLCJhZGRNZXRhcHJvb2ZTdGVwIiwibWV0YXByb29mU3RlcCIsIm1hdGNoTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudE1hdGNoZXMiLCJwcm9vZlN0ZXBNYXRjaGVzTWV0YXN0YXRlbWVudCIsIm1hdGNoIiwiZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZU5vZGUiLCJ2YXJpYWJsZXMiLCJ2YXJpYWJsZSIsImZpbmQiLCJtYXRjaGVzIiwiaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTm9kZSIsInZhcmlhYmxlUHJlc2VudCIsImZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlIiwibG9jYWxNZXRhQ29udGV4dCIsImlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZSIsImZyb21GaWxlQ29udGV4dCIsImZpbGVDb250ZXh0IiwiZnJvbUxvY2FsTWV0YUNvbnRleHQiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJjb250ZXh0TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEwS0E7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
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2xvY2FsTWV0YS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGNvbnRleHRNaXhpbnMgZnJvbSBcIi4uL21peGlucy9jb250ZXh0XCI7XG5cbmltcG9ydCB7IGxhc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBtZXJnZU1ldGFFcXVpdmFsZW5jZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL21ldGFFcXVpdmFsZW5jZXNcIjtcblxuY2xhc3MgTG9jYWxNZXRhQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIG1ldGF2YXJpYWJsZXMsIG1ldGFwcm9vZlN0ZXBzLCBtZXRhRXF1aXZhbGVuY2VzKSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLm1ldGF2YXJpYWJsZXMgPSBtZXRhdmFyaWFibGVzO1xuICAgIHRoaXMubWV0YXByb29mU3RlcHMgPSBtZXRhcHJvb2ZTdGVwcztcbiAgICB0aGlzLm1ldGFFcXVpdmFsZW5jZXMgPSBtZXRhRXF1aXZhbGVuY2VzO1xuICB9XG5cbiAgZ2V0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xuICB9XG5cbiAgZ2V0VGVybVR5cGUodGVybSkge1xuICAgIGNvbnN0IHRlcm1UeXBlID0gdGVybS5nZXRUeXBlKCk7XG5cbiAgICByZXR1cm4gdGVybVR5cGU7XG4gIH1cblxuICBnZXRNZXRhcHJvb2ZTdGVwcygpIHtcbiAgICBsZXQgbWV0YXByb29mU3RlcHMgPSB0aGlzLmNvbnRleHQuZ2V0TWV0YXByb29mU3RlcHMoKTtcblxuICAgIG1ldGFwcm9vZlN0ZXBzID0gWyAgLy8vXG4gICAgICAuLi5tZXRhcHJvb2ZTdGVwcyxcbiAgICAgIC4uLnRoaXMubWV0YXByb29mU3RlcHNcbiAgICBdO1xuXG4gICAgcmV0dXJuIG1ldGFwcm9vZlN0ZXBzO1xuICB9XG5cbiAgZ2V0TWV0YUVxdWl2YWxlbmNlcygpIHtcbiAgICBsZXQgbWV0YUVxdWl2YWxlbmNlcyA9IHRoaXMuY29udGV4dC5nZXRNZXRhRXF1aXZhbGVuY2VzKCk7XG5cbiAgICBjb25zdCBtZXRhRXF1aXZhbGVuY2VzQSA9IHRoaXMubWV0YUVxdWl2YWxlbmNlcywgLy8vXG4gICAgICAgICAgbWV0YUVxdWl2YWxlbmNlc0IgPSBtZXRhRXF1aXZhbGVuY2VzLFxuICAgICAgICAgIGxvY2FsTWV0YUNvbnRleHQgPSB0aGlzOyAgLy8vXG5cbiAgICBtZXRhRXF1aXZhbGVuY2VzID0gbWVyZ2VNZXRhRXF1aXZhbGVuY2VzKG1ldGFFcXVpdmFsZW5jZXNBLCBtZXRhRXF1aXZhbGVuY2VzQiwgbG9jYWxNZXRhQ29udGV4dCk7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGFFcXVpdmFsZW5jZXM7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMoKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZ2V0VmFyaWFibGVzKCk7IH1cblxuICBnZXRFcXVpdmFsZW5jZXMoKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZ2V0RXF1aXZhbGVuY2VzKCk7IH1cblxuICBnZXRNZXRhdmFyaWFibGVzKCkge1xuICAgIGxldCBtZXRhdmFyaWFibGVzID0gdGhpcy5jb250ZXh0LmdldE1ldGF2YXJpYWJsZXMoKTtcblxuICAgIG1ldGF2YXJpYWJsZXMgPSBbIC8vL1xuICAgICAgLi4udGhpcy5tZXRhdmFyaWFibGVzLFxuICAgICAgLi4ubWV0YXZhcmlhYmxlc1xuICAgIF1cblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVzO1xuICB9XG5cbiAgZ2V0TGFzdE1ldGFwcm9vZlN0ZXAoKSB7XG4gICAgbGV0IGxhc3RNZXRhcHJvb2ZTdGVwID0gbnVsbDtcblxuICAgIGNvbnN0IG1ldGFwcm9vZlN0ZXBzTGVuZ3RoID0gdGhpcy5tZXRhcHJvb2ZTdGVwcy5sZW5ndGg7XG5cbiAgICBpZiAobWV0YXByb29mU3RlcHNMZW5ndGggPiAwKSB7XG4gICAgICBsYXN0TWV0YXByb29mU3RlcCA9IGxhc3QodGhpcy5tZXRhcHJvb2ZTdGVwcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxhc3RNZXRhcHJvb2ZTdGVwO1xuICB9XG5cbiAgYWRkTWV0YUVxdWFsaXR5KG1ldGFFcXVhbGl0eSkge1xuXG4gIH1cblxuICBhZGRNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlKSB7XG4gICAgbGV0IG1ldGF2YXJpYWJsZUFkZGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBub2RlID0gbWV0YXZhcmlhYmxlLmdldE5hbWUoKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVQcmVzZW50ID0gdGhpcy5tZXRhdmFyaWFibGVzLnNvbWUoKG1ldGF2YXJpYWJsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZU1hdGNoZXMgPSBtZXRhdmFyaWFibGUubWF0Y2hOb2RlKG5vZGUpO1xuXG4gICAgICAgICAgICBpZiAobm9kZU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICBpZiAoIW1ldGF2YXJpYWJsZVByZXNlbnQpIHtcbiAgICAgIHRoaXMubWV0YXZhcmlhYmxlcy5wdXNoKG1ldGF2YXJpYWJsZSk7XG5cbiAgICAgIG1ldGF2YXJpYWJsZUFkZGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlQWRkZWQ7XG4gIH1cblxuICBhZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApIHtcbiAgICB0aGlzLm1ldGFwcm9vZlN0ZXBzLnB1c2gobWV0YXByb29mU3RlcCk7XG4gIH1cblxuICBhZGRNZXRhRXF1aXZhbGVuY2UobWV0YUVxdWl2YWxlbmNlKSB7XG4gICAgdGhpcy5tZXRhRXF1aXZhbGVuY2VzLnB1c2gobWV0YUVxdWl2YWxlbmNlKTtcbiAgfVxuXG4gIG1hdGNoTWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIGxldCBtZXRhc3RhdGVtZW50TWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgaWYgKCFtZXRhc3RhdGVtZW50TWF0Y2hlcykge1xuICAgICAgY29uc3QgcHJvb2ZTdGVwTWF0Y2hlc01ldGFzdGF0ZW1lbnQgPSB0aGlzLm1ldGFwcm9vZlN0ZXBzLnNvbWUoKG1ldGFwcm9vZlN0ZXApID0+IHtcbiAgICAgICAgY29uc3QgcHJvb2ZTdGVwTWF0Y2hlc01ldGFzdGF0ZW1lbnQgPSBtZXRhcHJvb2ZTdGVwLm1hdGNoKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBpZiAocHJvb2ZTdGVwTWF0Y2hlc01ldGFzdGF0ZW1lbnQpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnRNYXRjaGVzID0gcHJvb2ZTdGVwTWF0Y2hlc01ldGFzdGF0ZW1lbnQ7IC8vL1xuICAgIH1cblxuICAgIGlmICghbWV0YXN0YXRlbWVudE1hdGNoZXMpIHtcbiAgICAgIG1ldGFzdGF0ZW1lbnRNYXRjaGVzID0gdGhpcy5jb250ZXh0Lm1hdGNoTWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRNYXRjaGVzO1xuICB9XG5cbiAgZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3Qgbm9kZSA9IHZhcmlhYmxlTm9kZSwgIC8vL1xuICAgICAgICAgIHZhcmlhYmxlcyA9IHRoaXMuZ2V0VmFyaWFibGVzKCksXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZXMuZmluZCgodmFyaWFibGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPSB2YXJpYWJsZS5tYXRjaE5vZGUobm9kZSk7XG5cbiAgICAgICAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pIHx8IG51bGw7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlID0gdGhpcy5maW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlUHJlc2VudCA9ICh2YXJpYWJsZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGVQcmVzZW50O1xuICB9XG5cbiAgZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gICAgY29uc3Qgbm9kZSA9IG1ldGF2YXJpYWJsZU5vZGUsICAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVzID0gdGhpcy5nZXRNZXRhdmFyaWFibGVzKCksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlID0gbWV0YXZhcmlhYmxlcy5maW5kKChtZXRhdmFyaWFibGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPSBtZXRhdmFyaWFibGUubWF0Y2hOb2RlKG5vZGUsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICAgICAgICBpZiAobWF0Y2hlcykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbiAgfVxuXG4gIGlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlID0gdGhpcy5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsTWV0YUNvbnRleHQpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVByZXNlbnQgPSAobWV0YXZhcmlhYmxlICE9PSBudWxsKTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVQcmVzZW50O1xuICB9XG5cbiAgc3RhdGljIGZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBmaWxlQ29udGV4dCwgIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZXMgPSBbXSxcbiAgICAgICAgICBtZXRhcHJvb2ZTdGVwcyA9IFtdLFxuICAgICAgICAgIG1ldGFFcXVpdmFsZW5jZXMgPSBbXSxcbiAgICAgICAgICBsb2NhbE1ldGFDb250ZXh0ID0gbmV3IExvY2FsTWV0YUNvbnRleHQoY29udGV4dCwgbWV0YXZhcmlhYmxlcywgbWV0YXByb29mU3RlcHMsIG1ldGFFcXVpdmFsZW5jZXMpO1xuXG4gICAgcmV0dXJuIGxvY2FsTWV0YUNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUxvY2FsTWV0YUNvbnRleHQobG9jYWxNZXRhQ29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBsb2NhbE1ldGFDb250ZXh0LCAgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlcyA9IFtdLFxuICAgICAgICAgIG1ldGFwcm9vZlN0ZXBzID0gW10sXG4gICAgICAgICAgbWV0YUVxdWl2YWxlbmNlcyA9IFtdO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dCA9IG5ldyBMb2NhbE1ldGFDb250ZXh0KGNvbnRleHQsIG1ldGF2YXJpYWJsZXMsIG1ldGFwcm9vZlN0ZXBzLCBtZXRhRXF1aXZhbGVuY2VzKTsgIC8vL1xuXG4gICAgcmV0dXJuIGxvY2FsTWV0YUNvbnRleHQ7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihMb2NhbE1ldGFDb250ZXh0LnByb3RvdHlwZSwgY29udGV4dE1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsTWV0YUNvbnRleHQ7Il0sIm5hbWVzIjpbIkxvY2FsTWV0YUNvbnRleHQiLCJjb250ZXh0IiwibWV0YXZhcmlhYmxlcyIsIm1ldGFwcm9vZlN0ZXBzIiwibWV0YUVxdWl2YWxlbmNlcyIsImdldENvbnRleHQiLCJnZXRUZXJtVHlwZSIsInRlcm0iLCJ0ZXJtVHlwZSIsImdldFR5cGUiLCJnZXRNZXRhcHJvb2ZTdGVwcyIsImdldE1ldGFFcXVpdmFsZW5jZXMiLCJtZXRhRXF1aXZhbGVuY2VzQSIsIm1ldGFFcXVpdmFsZW5jZXNCIiwibG9jYWxNZXRhQ29udGV4dCIsIm1lcmdlTWV0YUVxdWl2YWxlbmNlcyIsImdldFZhcmlhYmxlcyIsImdldEVxdWl2YWxlbmNlcyIsImdldE1ldGF2YXJpYWJsZXMiLCJnZXRMYXN0TWV0YXByb29mU3RlcCIsImxhc3RNZXRhcHJvb2ZTdGVwIiwibWV0YXByb29mU3RlcHNMZW5ndGgiLCJsZW5ndGgiLCJsYXN0IiwiYWRkTWV0YUVxdWFsaXR5IiwibWV0YUVxdWFsaXR5IiwiYWRkTWV0YXZhcmlhYmxlIiwibWV0YXZhcmlhYmxlIiwibWV0YXZhcmlhYmxlQWRkZWQiLCJub2RlIiwiZ2V0TmFtZSIsIm1ldGF2YXJpYWJsZVByZXNlbnQiLCJzb21lIiwibm9kZU1hdGNoZXMiLCJtYXRjaE5vZGUiLCJwdXNoIiwiYWRkTWV0YXByb29mU3RlcCIsIm1ldGFwcm9vZlN0ZXAiLCJhZGRNZXRhRXF1aXZhbGVuY2UiLCJtZXRhRXF1aXZhbGVuY2UiLCJtYXRjaE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnRNYXRjaGVzIiwicHJvb2ZTdGVwTWF0Y2hlc01ldGFzdGF0ZW1lbnQiLCJtYXRjaCIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOb2RlIiwidmFyaWFibGVOb2RlIiwidmFyaWFibGVzIiwidmFyaWFibGUiLCJmaW5kIiwibWF0Y2hlcyIsImlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZVByZXNlbnQiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsImlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZSIsImZyb21GaWxlQ29udGV4dCIsImZpbGVDb250ZXh0IiwiZnJvbUxvY2FsTWV0YUNvbnRleHQiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJjb250ZXh0TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvTUE7OztlQUFBOzs7OERBbE0wQjtxQkFFTDtnQ0FDaUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXRDLElBQUEsQUFBTUEsaUNBQUQsQUFBTDthQUFNQSxpQkFDUUMsT0FBTyxFQUFFQyxhQUFhLEVBQUVDLGNBQWMsRUFBRUMsZ0JBQWdCO2dDQURoRUo7UUFFRixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLGFBQWEsR0FBR0E7UUFDckIsSUFBSSxDQUFDQyxjQUFjLEdBQUdBO1FBQ3RCLElBQUksQ0FBQ0MsZ0JBQWdCLEdBQUdBOztrQkFMdEJKOztZQVFKSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLE9BQU87WUFDckI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUEsWUFBWUMsSUFBSTtnQkFDZCxJQUFNQyxXQUFXRCxLQUFLRSxPQUFPO2dCQUU3QixPQUFPRDtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUlQLGlCQUFpQixJQUFJLENBQUNGLE9BQU8sQ0FBQ1MsaUJBQWlCO2dCQUVuRFAsaUJBQWlCLEFBQ2YscUJBQUdBLHVCQUNILHFCQUFHLElBQUksQ0FBQ0EsY0FBYztnQkFHeEIsT0FBT0E7WUFDVDs7O1lBRUFRLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJUCxtQkFBbUIsSUFBSSxDQUFDSCxPQUFPLENBQUNVLG1CQUFtQjtnQkFFdkQsSUFBTUMsb0JBQW9CLElBQUksQ0FBQ1IsZ0JBQWdCLEVBQ3pDUyxvQkFBb0JULGtCQUNwQlUsbUJBQW1CLElBQUksRUFBRyxHQUFHO2dCQUVuQ1YsbUJBQW1CVyxJQUFBQSx1Q0FB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
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return MetaEquality;
9
+ }
10
+ });
11
+ var _context = /*#__PURE__*/ _interop_require_default(require("./metaType/context"));
12
+ var _metastatement = /*#__PURE__*/ _interop_require_default(require("./verifier/node/metastatement"));
13
+ var _query = require("./utilities/query");
14
+ var _array = require("./utilities/array");
15
+ function _class_call_check(instance, Constructor) {
16
+ if (!(instance instanceof Constructor)) {
17
+ throw new TypeError("Cannot call a class as a function");
18
+ }
19
+ }
20
+ function _defineProperties(target, props) {
21
+ for(var i = 0; i < props.length; i++){
22
+ var descriptor = props[i];
23
+ descriptor.enumerable = descriptor.enumerable || false;
24
+ descriptor.configurable = true;
25
+ if ("value" in descriptor) descriptor.writable = true;
26
+ Object.defineProperty(target, descriptor.key, descriptor);
27
+ }
28
+ }
29
+ function _create_class(Constructor, protoProps, staticProps) {
30
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
31
+ if (staticProps) _defineProperties(Constructor, staticProps);
32
+ return Constructor;
33
+ }
34
+ function _interop_require_default(obj) {
35
+ return obj && obj.__esModule ? obj : {
36
+ default: obj
37
+ };
38
+ }
39
+ var contextNodeQuery = (0, _query.nodeQuery)("/metastatement/context!"), metaVariableNodeQuery = (0, _query.nodeQuery)("/metastatement/metavariable!");
40
+ var MetaEquality = /*#__PURE__*/ function() {
41
+ function MetaEquality(node, metaType) {
42
+ _class_call_check(this, MetaEquality);
43
+ this.node = node;
44
+ this.metaType = metaType;
45
+ }
46
+ _create_class(MetaEquality, [
47
+ {
48
+ key: "getNode",
49
+ value: function getNode() {
50
+ return this.node;
51
+ }
52
+ },
53
+ {
54
+ key: "getMetaType",
55
+ value: function getMetaType() {
56
+ return this.metaType;
57
+ }
58
+ }
59
+ ], [
60
+ {
61
+ key: "fromLeftMetastatementNodeRightMetastatementNodeAndMetaEqualityNode",
62
+ value: function fromLeftMetastatementNodeRightMetastatementNodeAndMetaEqualityNode(leftMetastatementNode, rightMetastatementNode, metaEqualityNode, localMetaContext) {
63
+ var metaEquality = null;
64
+ var metaTypes = [], leftMetastatementVerifiedAsMetavariableOrContext = verifyMetastatementAsMetavariableOrContext(leftMetastatementNode, metaTypes, localMetaContext), rightMetastatementVerifiedAsMetavariableOrContext = verifyMetastatementAsMetavariableOrContext(rightMetastatementNode, metaTypes, localMetaContext);
65
+ if (leftMetastatementVerifiedAsMetavariableOrContext && rightMetastatementVerifiedAsMetavariableOrContext) {
66
+ var firstMetaType = (0, _array.first)(metaTypes), secondMetaType = (0, _array.second)(metaTypes);
67
+ if (firstMetaType === secondMetaType) {
68
+ var metaType = firstMetaType, node = metaEqualityNode; ///
69
+ metaEquality = new MetaEquality(node, metaType);
70
+ }
71
+ }
72
+ return metaEquality;
73
+ }
74
+ }
75
+ ]);
76
+ return MetaEquality;
77
+ }();
78
+ function verifyMetastatementAsMetavariableOrContext(metastatementNode, metaTypes, localMetaContext) {
79
+ var metastatementVerifiedAsMetavariableOrContext = false;
80
+ var verifyMetastatement = _metastatement.default.verifyMetastatement, derived = false, assignments = [], metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localMetaContext, function() {
81
+ var verifiedAhead = true;
82
+ return verifiedAhead;
83
+ });
84
+ if (metastatementVerified) {
85
+ var contextNode = contextNodeQuery(metastatementNode), metavariableNode = metaVariableNodeQuery(metastatementNode);
86
+ if (false) {
87
+ ///
88
+ } else if (contextNode !== null) {
89
+ var metaType = _context.default; ///
90
+ metaTypes.push(metaType);
91
+ metastatementVerifiedAsMetavariableOrContext = true;
92
+ } else if (metavariableNode !== null) {
93
+ var metavariable = localMetaContext.findMetavariableByMetavariableNode(metavariableNode, localMetaContext), metaType1 = metavariable.getMetaType();
94
+ metaTypes.push(metaType1);
95
+ metastatementVerifiedAsMetavariableOrContext = true;
96
+ }
97
+ }
98
+ return metastatementVerifiedAsMetavariableOrContext;
99
+ }
100
+
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhRXF1YWxpdHkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBjb250ZXh0TWV0YVR5cGUgZnJvbSBcIi4vbWV0YVR5cGUvY29udGV4dFwiO1xuaW1wb3J0IG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZXIgZnJvbSBcIi4vdmVyaWZpZXIvbm9kZS9tZXRhc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZmlyc3QsIHNlY29uZCB9ICBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcblxuY29uc3QgY29udGV4dE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L2NvbnRleHQhXCIpLFxuICAgICAgbWV0YVZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvbWV0YXZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWV0YUVxdWFsaXR5IHtcbiAgY29uc3RydWN0b3Iobm9kZSwgbWV0YVR5cGUpIHtcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMubWV0YVR5cGUgPSBtZXRhVHlwZTtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldE1ldGFUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFUeXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21MZWZ0TWV0YXN0YXRlbWVudE5vZGVSaWdodE1ldGFzdGF0ZW1lbnROb2RlQW5kTWV0YUVxdWFsaXR5Tm9kZShsZWZ0TWV0YXN0YXRlbWVudE5vZGUsIHJpZ2h0TWV0YXN0YXRlbWVudE5vZGUsIG1ldGFFcXVhbGl0eU5vZGUsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgICBsZXQgbWV0YUVxdWFsaXR5ID0gbnVsbDtcblxuICAgIGNvbnN0IG1ldGFUeXBlcyA9IFtdLFxuICAgICAgICAgIGxlZnRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc01ldGF2YXJpYWJsZU9yQ29udGV4dCA9IHZlcmlmeU1ldGFzdGF0ZW1lbnRBc01ldGF2YXJpYWJsZU9yQ29udGV4dChsZWZ0TWV0YXN0YXRlbWVudE5vZGUsIG1ldGFUeXBlcywgbG9jYWxNZXRhQ29udGV4dCksXG4gICAgICAgICAgcmlnaHRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc01ldGF2YXJpYWJsZU9yQ29udGV4dCA9IHZlcmlmeU1ldGFzdGF0ZW1lbnRBc01ldGF2YXJpYWJsZU9yQ29udGV4dChyaWdodE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhVHlwZXMsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKGxlZnRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc01ldGF2YXJpYWJsZU9yQ29udGV4dCAmJiByaWdodE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzTWV0YXZhcmlhYmxlT3JDb250ZXh0KSB7XG4gICAgICBjb25zdCBmaXJzdE1ldGFUeXBlID0gZmlyc3QobWV0YVR5cGVzKSxcbiAgICAgICAgICAgIHNlY29uZE1ldGFUeXBlID0gc2Vjb25kKG1ldGFUeXBlcyk7XG5cbiAgICAgIGlmIChmaXJzdE1ldGFUeXBlID09PSBzZWNvbmRNZXRhVHlwZSkge1xuICAgICAgICBjb25zdCBtZXRhVHlwZSA9IGZpcnN0TWV0YVR5cGUsIC8vL1xuICAgICAgICAgICAgICBub2RlID0gbWV0YUVxdWFsaXR5Tm9kZTsgIC8vL1xuXG4gICAgICAgIG1ldGFFcXVhbGl0eSA9IG5ldyBNZXRhRXF1YWxpdHkobm9kZSwgbWV0YVR5cGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtZXRhRXF1YWxpdHk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudEFzTWV0YXZhcmlhYmxlT3JDb250ZXh0KG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhVHlwZXMsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzTWV0YXZhcmlhYmxlT3JDb250ZXh0ID0gZmFsc2U7XG5cbiAgY29uc3QgeyB2ZXJpZnlNZXRhc3RhdGVtZW50IH0gPSBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyLFxuICAgICAgICBkZXJpdmVkID0gZmFsc2UsICAvLy9cbiAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICB9KTtcblxuICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3QgY29udGV4dE5vZGUgPSBjb250ZXh0Tm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YVZhcmlhYmxlTm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmIChjb250ZXh0Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbWV0YVR5cGUgPSBjb250ZXh0TWV0YVR5cGU7IC8vL1xuXG4gICAgICBtZXRhVHlwZXMucHVzaChtZXRhVHlwZSk7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzTWV0YXZhcmlhYmxlT3JDb250ZXh0ID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKG1ldGF2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZSA9IGxvY2FsTWV0YUNvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbE1ldGFDb250ZXh0KSxcbiAgICAgICAgICAgIG1ldGFUeXBlID0gbWV0YXZhcmlhYmxlLmdldE1ldGFUeXBlKCk7XG5cbiAgICAgIG1ldGFUeXBlcy5wdXNoKG1ldGFUeXBlKTtcblxuICAgICAgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNNZXRhdmFyaWFibGVPckNvbnRleHQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc01ldGF2YXJpYWJsZU9yQ29udGV4dDtcbn1cbiJdLCJuYW1lcyI6WyJNZXRhRXF1YWxpdHkiLCJjb250ZXh0Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YVZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZSIsIm1ldGFUeXBlIiwiZ2V0Tm9kZSIsImdldE1ldGFUeXBlIiwiZnJvbUxlZnRNZXRhc3RhdGVtZW50Tm9kZVJpZ2h0TWV0YXN0YXRlbWVudE5vZGVBbmRNZXRhRXF1YWxpdHlOb2RlIiwibGVmdE1ldGFzdGF0ZW1lbnROb2RlIiwicmlnaHRNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFFcXVhbGl0eU5vZGUiLCJsb2NhbE1ldGFDb250ZXh0IiwibWV0YUVxdWFsaXR5IiwibWV0YVR5cGVzIiwibGVmdE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzTWV0YXZhcmlhYmxlT3JDb250ZXh0IiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzTWV0YXZhcmlhYmxlT3JDb250ZXh0IiwicmlnaHRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc01ldGF2YXJpYWJsZU9yQ29udGV4dCIsImZpcnN0TWV0YVR5cGUiLCJmaXJzdCIsInNlY29uZE1ldGFUeXBlIiwic2Vjb25kIiwibWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWRBc01ldGF2YXJpYWJsZU9yQ29udGV4dCIsInZlcmlmeU1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyIiwiZGVyaXZlZCIsImFzc2lnbm1lbnRzIiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZpZWRBaGVhZCIsImNvbnRleHROb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsImNvbnRleHRNZXRhVHlwZSIsInB1c2giLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVdxQkE7Ozs4REFUTztvRUFDVTtxQkFFWjtxQkFDSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvQixJQUFNQyxtQkFBbUJDLElBQUFBLGdCQUFTLEVBQUMsNEJBQzdCQyx3QkFBd0JELElBQUFBLGdCQUFTLEVBQUM7QUFFekIsSUFBQSxBQUFNRiw2QkFBRCxBQUFMO2FBQU1BLGFBQ1BJLElBQUksRUFBRUMsUUFBUTtnQ0FEUEw7UUFFakIsSUFBSSxDQUFDSSxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxRQUFRLEdBQUdBOztrQkFIQ0w7O1lBTW5CTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLFFBQVE7WUFDdEI7Ozs7WUFFT0csS0FBQUE7bUJBQVAsU0FBT0EsbUVBQW1FQyxxQkFBcUIsRUFBRUMsc0JBQXNCLEVBQUVDLGdCQUFnQixFQUFFQyxnQkFBZ0I7Z0JBQ3pKLElBQUlDLGVBQWU7Z0JBRW5CLElBQU1DLFlBQVksRUFBRSxFQUNkQyxtREFBbURDLDJDQUEyQ1AsdUJBQXVCSyxXQUFXRixtQkFDaElLLG9EQUFvREQsMkNBQTJDTix3QkFBd0JJLFdBQVdGO2dCQUV4SSxJQUFJRyxvREFBb0RFLG1EQUFtRDtvQkFDekcsSUFBTUMsZ0JBQWdCQyxJQUFBQSxZQUFLLEVBQUNMLFlBQ3RCTSxpQkFBaUJDLElBQUFBLGFBQU0sRUFBQ1A7b0JBRTlCLElBQUlJLGtCQUFrQkUsZ0JBQWdCO3dCQUNwQyxJQUFNZixXQUFXYSxlQUNYZCxPQUFPTyxrQkFBbUIsR0FBRzt3QkFFbkNFLGVBQWUsSUE3QkZiLGFBNkJtQkksTUFBTUM7b0JBQ3hDO2dCQUNGO2dCQUVBLE9BQU9RO1lBQ1Q7OztXQWxDbUJiOztBQXFDckIsU0FBU2dCLDJDQUEyQ00saUJBQWlCLEVBQUVSLFNBQVMsRUFBRUYsZ0JBQWdCO0lBQ2hHLElBQUlXLCtDQUErQztJQUVuRCxJQUFNLEFBQUVDLHNCQUF3QkMsc0JBQXlCLENBQWpERCxxQkFDRkUsVUFBVSxPQUNWQyxjQUFjLEVBQUUsRUFDaEJDLHdCQUF3Qkosb0JBQW9CRixtQkFBbUJLLGFBQWFELFNBQVNkLGtCQUFrQjtRQUNyRyxJQUFNaUIsZ0JBQWdCO1FBRXRCLE9BQU9BO0lBQ1Q7SUFFTixJQUFJRCx1QkFBdUI7UUFDekIsSUFBTUUsY0FBYzdCLGlCQUFpQnFCLG9CQUMvQlMsbUJBQW1CNUIsc0JBQXNCbUI7UUFFL0MsSUFBSSxPQUFPO1FBQ1QsR0FBRztRQUNMLE9BQU8sSUFBSVEsZ0JBQWdCLE1BQU07WUFDL0IsSUFBTXpCLFdBQVcyQixnQkFBZSxFQUFFLEdBQUc7WUFFckNsQixVQUFVbUIsSUFBSSxDQUFDNUI7WUFFZmtCLCtDQUErQztRQUNqRCxPQUFPLElBQUlRLHFCQUFxQixNQUFNO1lBQ3BDLElBQU1HLGVBQWV0QixpQkFBaUJ1QixrQ0FBa0MsQ0FBQ0osa0JBQWtCbkIsbUJBQ3JGUCxZQUFXNkIsYUFBYTNCLFdBQVc7WUFFekNPLFVBQVVtQixJQUFJLENBQUM1QjtZQUVma0IsK0NBQStDO1FBQ2pEO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUIn0=
@@ -9,14 +9,14 @@ Object.defineProperty(exports, "assignAssignment", {
9
9
  }
10
10
  });
11
11
  var _array = require("../utilities/array");
12
- function assignAssignment(assignments, localContext) {
12
+ function assignAssignment(assignments, localContextOrLocalMetaContext) {
13
13
  var assignmentAssigned = true;
14
14
  var assignmentsLength = assignments.length;
15
15
  if (assignmentsLength === 1) {
16
16
  var firstAssignment = (0, _array.first)(assignments), assignment = firstAssignment;
17
- assignmentAssigned = assignment.assign(localContext);
17
+ assignmentAssigned = assignment.assign(localContextOrLocalMetaContext);
18
18
  }
19
19
  return assignmentAssigned;
20
20
  }
21
21
 
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXNzaWdubWVudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYXNzaWduQXNzaWdubWVudChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBhc3NpZ25tZW50QXNzaWduZWQgPSB0cnVlO1xuXG4gIGNvbnN0IGFzc2lnbm1lbnRzTGVuZ3RoID0gYXNzaWdubWVudHMubGVuZ3RoO1xuXG4gIGlmIChhc3NpZ25tZW50c0xlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGZpcnN0QXNzaWdubWVudCA9IGZpcnN0KGFzc2lnbm1lbnRzKSxcbiAgICAgICAgICBhc3NpZ25tZW50ID0gZmlyc3RBc3NpZ25tZW50O1xuXG4gICAgYXNzaWdubWVudEFzc2lnbmVkID0gYXNzaWdubWVudC5hc3NpZ24obG9jYWxDb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBhc3NpZ25tZW50QXNzaWduZWQ7XG59XG4iXSwibmFtZXMiOlsiYXNzaWduQXNzaWdubWVudCIsImFzc2lnbm1lbnRzIiwibG9jYWxDb250ZXh0IiwiYXNzaWdubWVudEFzc2lnbmVkIiwiYXNzaWdubWVudHNMZW5ndGgiLCJsZW5ndGgiLCJmaXJzdEFzc2lnbm1lbnQiLCJmaXJzdCIsImFzc2lnbm1lbnQiLCJhc3NpZ24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlnQkE7OztlQUFBQTs7O3FCQUZNO0FBRWYsU0FBU0EsaUJBQWlCQyxXQUFXLEVBQUVDLFlBQVk7SUFDeEQsSUFBSUMscUJBQXFCO0lBRXpCLElBQU1DLG9CQUFvQkgsWUFBWUksTUFBTTtJQUU1QyxJQUFJRCxzQkFBc0IsR0FBRztRQUMzQixJQUFNRSxrQkFBa0JDLElBQUFBLFlBQUssRUFBQ04sY0FDeEJPLGFBQWFGO1FBRW5CSCxxQkFBcUJLLFdBQVdDLE1BQU0sQ0FBQ1A7SUFDekM7SUFFQSxPQUFPQztBQUNUIn0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXNzaWdubWVudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYXNzaWduQXNzaWdubWVudChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0T3JMb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBhc3NpZ25tZW50QXNzaWduZWQgPSB0cnVlO1xuXG4gIGNvbnN0IGFzc2lnbm1lbnRzTGVuZ3RoID0gYXNzaWdubWVudHMubGVuZ3RoO1xuXG4gIGlmIChhc3NpZ25tZW50c0xlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGZpcnN0QXNzaWdubWVudCA9IGZpcnN0KGFzc2lnbm1lbnRzKSxcbiAgICAgICAgICBhc3NpZ25tZW50ID0gZmlyc3RBc3NpZ25tZW50O1xuXG4gICAgYXNzaWdubWVudEFzc2lnbmVkID0gYXNzaWdubWVudC5hc3NpZ24obG9jYWxDb250ZXh0T3JMb2NhbE1ldGFDb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBhc3NpZ25tZW50QXNzaWduZWQ7XG59XG4iXSwibmFtZXMiOlsiYXNzaWduQXNzaWdubWVudCIsImFzc2lnbm1lbnRzIiwibG9jYWxDb250ZXh0T3JMb2NhbE1ldGFDb250ZXh0IiwiYXNzaWdubWVudEFzc2lnbmVkIiwiYXNzaWdubWVudHNMZW5ndGgiLCJsZW5ndGgiLCJmaXJzdEFzc2lnbm1lbnQiLCJmaXJzdCIsImFzc2lnbm1lbnQiLCJhc3NpZ24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlnQkE7OztlQUFBQTs7O3FCQUZNO0FBRWYsU0FBU0EsaUJBQWlCQyxXQUFXLEVBQUVDLDhCQUE4QjtJQUMxRSxJQUFJQyxxQkFBcUI7SUFFekIsSUFBTUMsb0JBQW9CSCxZQUFZSSxNQUFNO0lBRTVDLElBQUlELHNCQUFzQixHQUFHO1FBQzNCLElBQU1FLGtCQUFrQkMsSUFBQUEsWUFBSyxFQUFDTixjQUN4Qk8sYUFBYUY7UUFFbkJILHFCQUFxQkssV0FBV0MsTUFBTSxDQUFDUDtJQUN6QztJQUVBLE9BQU9DO0FBQ1QifQ==
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "mergeMetaEquivalences", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return mergeMetaEquivalences;
9
+ }
10
+ });
11
+ function mergeMetaEquivalences(metaEquivalencesA, metaEquivalencesB, localMetaContext) {
12
+ debugger;
13
+ }
14
+
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWV0YUVxdWl2YWxlbmNlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlTWV0YUVxdWl2YWxlbmNlcyhtZXRhRXF1aXZhbGVuY2VzQSwgbWV0YUVxdWl2YWxlbmNlc0IsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgZGVidWdnZXJcbn1cbiJdLCJuYW1lcyI6WyJtZXJnZU1ldGFFcXVpdmFsZW5jZXMiLCJtZXRhRXF1aXZhbGVuY2VzQSIsIm1ldGFFcXVpdmFsZW5jZXNCIiwibG9jYWxNZXRhQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxzQkFBc0JDLGlCQUFpQixFQUFFQyxpQkFBaUIsRUFBRUMsZ0JBQWdCO0lBQzFGLFFBQVE7QUFDViJ9
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return verifyContext;
9
+ }
10
+ });
11
+ var _declaration = /*#__PURE__*/ _interop_require_default(require("../verify/declaration"));
12
+ var _query = require("../utilities/query");
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ var declarationNodesQuery = (0, _query.nodesQuery)("/context/declaration");
19
+ function verifyContext(contextNode, derived, localMetaContext) {
20
+ var contextVerified;
21
+ var contextString = localMetaContext.nodeAsString(contextNode);
22
+ localMetaContext.trace("Verifying the '".concat(contextString, "' context..."), contextNode);
23
+ var declarationNodes = declarationNodesQuery(contextNode), declarationsVerified = declarationNodes.every(function(declarationNode) {
24
+ var declarationVerified = (0, _declaration.default)(declarationNode, derived, localMetaContext);
25
+ return declarationVerified;
26
+ });
27
+ contextVerified = declarationsVerified; ///
28
+ if (contextVerified) {
29
+ localMetaContext.debug("...verified the '".concat(contextString, "' context."), contextNode);
30
+ }
31
+ return contextVerified;
32
+ }
33
+
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeURlY2xhcmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVjbGFyYXRpb25cIjtcblxuaW1wb3J0IHsgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9jb250ZXh0L2RlY2xhcmF0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlDb250ZXh0KGNvbnRleHROb2RlLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBjb250ZXh0VmVyaWZpZWQ7XG5cbiAgY29uc3QgY29udGV4dFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKGNvbnRleHROb2RlKTtcblxuICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnRleHRTdHJpbmd9JyBjb250ZXh0Li4uYCwgY29udGV4dE5vZGUpO1xuXG4gIGNvbnN0IGRlY2xhcmF0aW9uTm9kZXMgPSBkZWNsYXJhdGlvbk5vZGVzUXVlcnkoY29udGV4dE5vZGUpLFxuICAgICAgICBkZWNsYXJhdGlvbnNWZXJpZmllZCA9IGRlY2xhcmF0aW9uTm9kZXMuZXZlcnkoKGRlY2xhcmF0aW9uTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlEZWNsYXJhdGlvbihkZWNsYXJhdGlvbk5vZGUsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICAgICAgcmV0dXJuIGRlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICAgIH0pO1xuXG4gIGNvbnRleHRWZXJpZmllZCA9IGRlY2xhcmF0aW9uc1ZlcmlmaWVkOyAvLy9cblxuICBpZiAoY29udGV4dFZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbnRleHRTdHJpbmd9JyBjb250ZXh0LmAsIGNvbnRleHROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBjb250ZXh0VmVyaWZpZWQ7XG59Il0sIm5hbWVzIjpbInZlcmlmeUNvbnRleHQiLCJkZWNsYXJhdGlvbk5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwiY29udGV4dE5vZGUiLCJkZXJpdmVkIiwibG9jYWxNZXRhQ29udGV4dCIsImNvbnRleHRWZXJpZmllZCIsImNvbnRleHRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsImRlY2xhcmF0aW9uTm9kZXMiLCJkZWNsYXJhdGlvbnNWZXJpZmllZCIsImV2ZXJ5IiwiZGVjbGFyYXRpb25Ob2RlIiwiZGVjbGFyYXRpb25WZXJpZmllZCIsInZlcmlmeURlY2xhcmF0aW9uIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7a0VBTk07cUJBRUg7Ozs7OztBQUUzQixJQUFNQyx3QkFBd0JDLElBQUFBLGlCQUFVLEVBQUM7QUFFMUIsU0FBU0YsY0FBY0csV0FBVyxFQUFFQyxPQUFPLEVBQUVDLGdCQUFnQjtJQUMxRSxJQUFJQztJQUVKLElBQU1DLGdCQUFnQkYsaUJBQWlCRyxZQUFZLENBQUNMO0lBRXBERSxpQkFBaUJJLEtBQUssQ0FBQyxBQUFDLGtCQUErQixPQUFkRixlQUFjLGlCQUFlSjtJQUV0RSxJQUFNTyxtQkFBbUJULHNCQUFzQkUsY0FDekNRLHVCQUF1QkQsaUJBQWlCRSxLQUFLLENBQUMsU0FBQ0M7UUFDN0MsSUFBTUMsc0JBQXNCQyxJQUFBQSxvQkFBaUIsRUFBQ0YsaUJBQWlCVCxTQUFTQztRQUV4RSxPQUFPUztJQUNUO0lBRU5SLGtCQUFrQkssc0JBQXNCLEdBQUc7SUFFM0MsSUFBSUwsaUJBQWlCO1FBQ25CRCxpQkFBaUJXLEtBQUssQ0FBQyxBQUFDLG9CQUFpQyxPQUFkVCxlQUFjLGVBQWFKO0lBQ3hFO0lBRUEsT0FBT0c7QUFDVCJ9
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return verifyDeclaration;
9
+ }
10
+ });
11
+ var _label = /*#__PURE__*/ _interop_require_default(require("../metaType/label"));
12
+ var _metastatement = /*#__PURE__*/ _interop_require_default(require("../verifier/node/metastatement"));
13
+ var _query = require("../utilities/query");
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ var metavariableNodeQuery = (0, _query.nodeQuery)("/declaration/metavariable!"), metastatementNodeQuery = (0, _query.nodeQuery)("/declaration/metastatement!");
20
+ function verifyDeclaration(declarationNode, derived, localMetaContext) {
21
+ var declarationVerified = false;
22
+ var declarationString = localMetaContext.nodeAsString(declarationNode);
23
+ localMetaContext.trace("Verifying the '".concat(declarationString, "' declaration..."), declarationNode);
24
+ var metavariableNode = metavariableNodeQuery(declarationNode), metavariable = localMetaContext.findMetavariableByMetavariableNode(metavariableNode, localMetaContext);
25
+ if (metavariable !== null) {
26
+ var metaType = metavariable.getMetaType();
27
+ if (metaType === _label.default) {
28
+ var metastatementNode = metastatementNodeQuery(declarationNode);
29
+ if (metastatementNode !== null) {
30
+ var verifyMetastatement = _metastatement.default.verifyMetastatement, assignments = [], metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localMetaContext, function() {
31
+ var verifiedAhead = true;
32
+ return verifiedAhead;
33
+ });
34
+ declarationVerified = metastatementVerified; ///
35
+ }
36
+ } else {
37
+ var metavariableString = localMetaContext.nodeAsString(metavariableNode), labelMetaTypeName = _label.default.getName(), metaTypeString = metaType.asString();
38
+ localMetaContext.debug("The '".concat(metavariableString, "' metavariable's meta-type is '").concat(metaTypeString, "' when it should be '").concat(labelMetaTypeName, "'."), declarationNode);
39
+ }
40
+ }
41
+ if (declarationVerified) {
42
+ localMetaContext.debug("...verified the '".concat(declarationString, "' declaration."), declarationNode);
43
+ }
44
+ return declarationVerified;
45
+ }
46
+
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBsYWJlbE1ldGFUeXBlIGZyb20gXCIuLi9tZXRhVHlwZS9sYWJlbFwiO1xuaW1wb3J0IG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyL25vZGUvbWV0YXN0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9kZWNsYXJhdGlvbi9tZXRhdmFyaWFibGUhXCIpLFxuICAgICAgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9kZWNsYXJhdGlvbi9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5RGVjbGFyYXRpb24oZGVjbGFyYXRpb25Ob2RlLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBkZWNsYXJhdGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgZGVjbGFyYXRpb25TdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhkZWNsYXJhdGlvbk5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZGVjbGFyYXRpb25TdHJpbmd9JyBkZWNsYXJhdGlvbi4uLmAsIGRlY2xhcmF0aW9uTm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShkZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICBtZXRhdmFyaWFibGUgPSBsb2NhbE1ldGFDb250ZXh0LmZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgaWYgKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFUeXBlID0gbWV0YXZhcmlhYmxlLmdldE1ldGFUeXBlKCk7XG5cbiAgICBpZiAobWV0YVR5cGUgPT09IGxhYmVsTWV0YVR5cGUpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShkZWNsYXJhdGlvbk5vZGUpO1xuXG4gICAgICBpZiAobWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgeyB2ZXJpZnlNZXRhc3RhdGVtZW50IH0gPSBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyLFxuICAgICAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGRlY2xhcmF0aW9uVmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7ICAvLy9cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICBsYWJlbE1ldGFUeXBlTmFtZSA9IGxhYmVsTWV0YVR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBtZXRhVHlwZS5hc1N0cmluZygpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGBUaGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlJ3MgbWV0YS10eXBlIGlzICcke21ldGFUeXBlU3RyaW5nfScgd2hlbiBpdCBzaG91bGQgYmUgJyR7bGFiZWxNZXRhVHlwZU5hbWV9Jy5gLCBkZWNsYXJhdGlvbk5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChkZWNsYXJhdGlvblZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgZGVjbGFyYXRpb24uYCwgZGVjbGFyYXRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBkZWNsYXJhdGlvblZlcmlmaWVkO1xufSJdLCJuYW1lcyI6WyJ2ZXJpZnlEZWNsYXJhdGlvbiIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJkZWNsYXJhdGlvbk5vZGUiLCJkZXJpdmVkIiwibG9jYWxNZXRhQ29udGV4dCIsImRlY2xhcmF0aW9uVmVyaWZpZWQiLCJkZWNsYXJhdGlvblN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZSIsImZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhVHlwZSIsImdldE1ldGFUeXBlIiwibGFiZWxNZXRhVHlwZSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZXIiLCJhc3NpZ25tZW50cyIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmaWVkQWhlYWQiLCJtZXRhdmFyaWFibGVTdHJpbmciLCJsYWJlbE1ldGFUeXBlTmFtZSIsImdldE5hbWUiLCJtZXRhVHlwZVN0cmluZyIsImFzU3RyaW5nIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBd0JBOzs7NERBUkU7b0VBQ1k7cUJBRVo7Ozs7OztBQUUxQixJQUFNQyx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUMsK0JBQ2xDQyx5QkFBeUJELElBQUFBLGdCQUFTLEVBQUM7QUFFMUIsU0FBU0Ysa0JBQWtCSSxlQUFlLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQ2xGLElBQUlDLHNCQUFzQjtJQUUxQixJQUFNQyxvQkFBb0JGLGlCQUFpQkcsWUFBWSxDQUFDTDtJQUV4REUsaUJBQWlCSSxLQUFLLENBQUMsQUFBQyxrQkFBbUMsT0FBbEJGLG1CQUFrQixxQkFBbUJKO0lBRTlFLElBQU1PLG1CQUFtQlYsc0JBQXNCRyxrQkFDekNRLGVBQWVOLGlCQUFpQk8sa0NBQWtDLENBQUNGLGtCQUFrQkw7SUFFM0YsSUFBSU0saUJBQWlCLE1BQU07UUFDekIsSUFBTUUsV0FBV0YsYUFBYUcsV0FBVztRQUV6QyxJQUFJRCxhQUFhRSxjQUFhLEVBQUU7WUFDOUIsSUFBTUMsb0JBQW9CZCx1QkFBdUJDO1lBRWpELElBQUlhLHNCQUFzQixNQUFNO2dCQUM5QixJQUFNLEFBQUVDLHNCQUF3QkMsc0JBQXlCLENBQWpERCxxQkFDRkUsY0FBYyxFQUFFLEVBQ2hCQyx3QkFBd0JILG9CQUFvQkQsbUJBQW1CRyxhQUFhZixTQUFTQyxrQkFBa0I7b0JBQ3JHLElBQU1nQixnQkFBZ0I7b0JBRXRCLE9BQU9BO2dCQUNUO2dCQUVOZixzQkFBc0JjLHVCQUF3QixHQUFHO1lBQ25EO1FBQ0YsT0FBTztZQUNMLElBQU1FLHFCQUFxQmpCLGlCQUFpQkcsWUFBWSxDQUFDRSxtQkFDbkRhLG9CQUFvQlIsY0FBYSxDQUFDUyxPQUFPLElBQ3pDQyxpQkFBaUJaLFNBQVNhLFFBQVE7WUFFeENyQixpQkFBaUJzQixLQUFLLENBQUMsQUFBQyxRQUEyREYsT0FBcERILG9CQUFtQixtQ0FBdUVDLE9BQXRDRSxnQkFBZSx5QkFBeUMsT0FBbEJGLG1CQUFrQixPQUFLcEI7UUFDbEo7SUFDRjtJQUVBLElBQUlHLHFCQUFxQjtRQUN2QkQsaUJBQWlCc0IsS0FBSyxDQUFDLEFBQUMsb0JBQXFDLE9BQWxCcEIsbUJBQWtCLG1CQUFpQko7SUFDaEY7SUFFQSxPQUFPRztBQUNUIn0=
@@ -8,27 +8,33 @@ Object.defineProperty(exports, "default", {
8
8
  return verifyJudgement;
9
9
  }
10
10
  });
11
- var _context = /*#__PURE__*/ _interop_require_default(require("../metaType/context"));
11
+ var _context = /*#__PURE__*/ _interop_require_default(require("../verify/context"));
12
+ var _context1 = /*#__PURE__*/ _interop_require_default(require("../metaType/context"));
12
13
  var _query = require("../utilities/query");
13
- var _metaTypeNames = require("../metaTypeNames");
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/context!"), metavariableNodeQuery = (0, _query.nodeQuery)("/judgement/metavariable!");
19
+ var contextNodeQuery = (0, _query.nodeQuery)("/judgement/metastatement/context!"), metavariableNodeQuery = (0, _query.nodeQuery)("/judgement/metavariable!");
20
20
  function verifyJudgement(judgementNode, derived, localMetaContext) {
21
- var judgementVerified;
21
+ var judgementVerified = false;
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);
24
+ var metavariableNode = metavariableNodeQuery(judgementNode), metavariable = localMetaContext.findMetavariableByMetavariableNode(metavariableNode, localMetaContext);
25
25
  if (metavariable !== null) {
26
26
  var metaType = metavariable.getMetaType();
27
- if (metaType === _context.default) {
27
+ if (metaType === _context1.default) {
28
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
+ }
29
35
  } else {
30
- var metavariableString = localMetaContext.nodeAsString(metavariableNode), metaTypeString = metaType.asString();
31
- localMetaContext.debug("The '".concat(metavariableString, "' metavariable's meta-type is '").concat(metaTypeString, "' when it should be '").concat(_metaTypeNames.CONTEXT_META_TYPE_NAME, "'."), judgementNode);
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);
32
38
  }
33
39
  }
34
40
  if (judgementVerified) {
@@ -37,4 +43,4 @@ function verifyJudgement(judgementNode, derived, localMetaContext) {
37
43
  return judgementVerified;
38
44
  }
39
45
 
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvanVkZ2VtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgY29udGV4dE1ldGFUeXBlIGZyb20gXCIuLi9tZXRhVHlwZS9jb250ZXh0XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IENPTlRFWFRfTUVUQV9UWVBFX05BTUUgfSBmcm9tIFwiLi4vbWV0YVR5cGVOYW1lc1wiO1xuXG5jb25zdCBjb250ZXh0Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2p1ZGdlbWVudC9jb250ZXh0IVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9qdWRnZW1lbnQvbWV0YXZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5SnVkZ2VtZW50KGp1ZGdlbWVudE5vZGUsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IGp1ZGdlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IGp1ZGdlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKGp1ZGdlbWVudE5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7anVkZ2VtZW50U3RyaW5nfScganVkZ2VtZW50Li4uYCwganVkZ2VtZW50Tm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShqdWRnZW1lbnROb2RlKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlID0gbG9jYWxNZXRhQ29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGlmIChtZXRhdmFyaWFibGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhVHlwZSA9IG1ldGF2YXJpYWJsZS5nZXRNZXRhVHlwZSgpO1xuXG4gICAgaWYgKG1ldGFUeXBlID09PSBjb250ZXh0TWV0YVR5cGUpIHtcbiAgICAgIGNvbnN0IGNvbnRleHROb2RlID0gY29udGV4dE5vZGVRdWVyeShqdWRnZW1lbnROb2RlKTtcblxuXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBtZXRhVHlwZS5hc1N0cmluZygpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGBUaGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlJ3MgbWV0YS10eXBlIGlzICcke21ldGFUeXBlU3RyaW5nfScgd2hlbiBpdCBzaG91bGQgYmUgJyR7Q09OVEVYVF9NRVRBX1RZUEVfTkFNRX0nLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChqdWRnZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBqdWRnZW1lbnQuYCwganVkZ2VtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4ganVkZ2VtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5SnVkZ2VtZW50IiwiY29udGV4dE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsImp1ZGdlbWVudE5vZGUiLCJkZXJpdmVkIiwibG9jYWxNZXRhQ29udGV4dCIsImp1ZGdlbWVudFZlcmlmaWVkIiwianVkZ2VtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlIiwiZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFUeXBlIiwiZ2V0TWV0YVR5cGUiLCJjb250ZXh0TWV0YVR5cGUiLCJjb250ZXh0Tm9kZSIsIm1ldGF2YXJpYWJsZVN0cmluZyIsIm1ldGFUeXBlU3RyaW5nIiwiYXNTdHJpbmciLCJkZWJ1ZyIsIkNPTlRFWFRfTUVUQV9UWVBFX05BTUUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBd0JBOzs7OERBUkk7cUJBRUY7NkJBQ2E7Ozs7OztBQUV2QyxJQUFNQyxtQkFBbUJDLElBQUFBLGdCQUFTLEVBQUMsd0JBQzdCQyx3QkFBd0JELElBQUFBLGdCQUFTLEVBQUM7QUFFekIsU0FBU0YsZ0JBQWdCSSxhQUFhLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQzlFLElBQUlDO0lBRUosSUFBTUMsa0JBQWtCRixpQkFBaUJHLFlBQVksQ0FBQ0w7SUFFdERFLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFBZ0IsbUJBQWlCSjtJQUUxRSxJQUFNTyxtQkFBbUJSLHNCQUFzQkMsZ0JBQ3pDUSxlQUFlTixpQkFBaUJPLGtDQUFrQyxDQUFDRjtJQUV6RSxJQUFJQyxpQkFBaUIsTUFBTTtRQUN6QixJQUFNRSxXQUFXRixhQUFhRyxXQUFXO1FBRXpDLElBQUlELGFBQWFFLGdCQUFlLEVBQUU7WUFDaEMsSUFBTUMsY0FBY2hCLGlCQUFpQkc7UUFHdkMsT0FBTztZQUNMLElBQU1jLHFCQUFxQlosaUJBQWlCRyxZQUFZLENBQUNFLG1CQUNuRFEsaUJBQWlCTCxTQUFTTSxRQUFRO1lBRXhDZCxpQkFBaUJlLEtBQUssQ0FBQyxBQUFDLFFBQTJERixPQUFwREQsb0JBQW1CLG1DQUF1RUksT0FBdENILGdCQUFlLHlCQUE4QyxPQUF2QkcscUNBQXNCLEVBQUMsT0FBS2xCO1FBQ3ZKO0lBQ0Y7SUFFQSxJQUFJRyxtQkFBbUI7UUFDckJELGlCQUFpQmUsS0FBSyxDQUFDLEFBQUMsb0JBQW1DLE9BQWhCYixpQkFBZ0IsaUJBQWVKO0lBQzVFO0lBRUEsT0FBT0c7QUFDVCJ9
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvanVkZ2VtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5Q29udGV4dCBmcm9tIFwiLi4vdmVyaWZ5L2NvbnRleHRcIjtcbmltcG9ydCBjb250ZXh0TWV0YVR5cGUgZnJvbSBcIi4uL21ldGFUeXBlL2NvbnRleHRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBjb250ZXh0Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2p1ZGdlbWVudC9tZXRhc3RhdGVtZW50L2NvbnRleHQhXCIpLFxuICAgICAgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2p1ZGdlbWVudC9tZXRhdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlKdWRnZW1lbnQoanVkZ2VtZW50Tm9kZSwgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQganVkZ2VtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBqdWRnZW1lbnRTdHJpbmcgPSBsb2NhbE1ldGFDb250ZXh0Lm5vZGVBc1N0cmluZyhqdWRnZW1lbnROb2RlKTtcblxuICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2p1ZGdlbWVudFN0cmluZ30nIGp1ZGdlbWVudC4uLmAsIGp1ZGdlbWVudE5vZGUpO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkoanVkZ2VtZW50Tm9kZSksXG4gICAgICAgIG1ldGF2YXJpYWJsZSA9IGxvY2FsTWV0YUNvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGUoKTtcblxuICAgIGlmIChtZXRhVHlwZSA9PT0gY29udGV4dE1ldGFUeXBlKSB7XG4gICAgICBjb25zdCBjb250ZXh0Tm9kZSA9IGNvbnRleHROb2RlUXVlcnkoanVkZ2VtZW50Tm9kZSk7XG5cbiAgICAgIGlmIChjb250ZXh0Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBjb250ZXh0VmVyaWZpZWQgPSB2ZXJpZnlDb250ZXh0KGNvbnRleHROb2RlLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgICBqdWRnZW1lbnRWZXJpZmllZCA9IGNvbnRleHRWZXJpZmllZDsgIC8vL1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgVGhlIHJpZ2h0IGhhbmQgc2lkZSBvZiB0aGUgJyR7anVkZ2VtZW50U3RyaW5nfScganVkZ2VtZW50IG11c3QgYmUgYSBjb250ZXh0LmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjb250ZXh0TWV0YVR5cGVOYW1lID0gY29udGV4dE1ldGFUeXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBtZXRhVHlwZS5hc1N0cmluZygpO1xuXG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGBUaGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlJ3MgbWV0YS10eXBlIGlzICcke21ldGFUeXBlU3RyaW5nfScgd2hlbiBpdCBzaG91bGQgYmUgJyR7Y29udGV4dE1ldGFUeXBlTmFtZX0nLmAsIGp1ZGdlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChqdWRnZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtqdWRnZW1lbnRTdHJpbmd9JyBqdWRnZW1lbnQuYCwganVkZ2VtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4ganVkZ2VtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5SnVkZ2VtZW50IiwiY29udGV4dE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsImp1ZGdlbWVudE5vZGUiLCJkZXJpdmVkIiwibG9jYWxNZXRhQ29udGV4dCIsImp1ZGdlbWVudFZlcmlmaWVkIiwianVkZ2VtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlIiwiZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFUeXBlIiwiZ2V0TWV0YVR5cGUiLCJjb250ZXh0TWV0YVR5cGUiLCJjb250ZXh0Tm9kZSIsImNvbnRleHRWZXJpZmllZCIsInZlcmlmeUNvbnRleHQiLCJkZWJ1ZyIsImNvbnRleHRNZXRhVHlwZU5hbWUiLCJnZXROYW1lIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwibWV0YVR5cGVTdHJpbmciLCJhc1N0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7Ozs4REFSRTsrREFDRTtxQkFFRjs7Ozs7O0FBRTFCLElBQU1DLG1CQUFtQkMsSUFBQUEsZ0JBQVMsRUFBQyxzQ0FDN0JDLHdCQUF3QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV6QixTQUFTRixnQkFBZ0JJLGFBQWEsRUFBRUMsT0FBTyxFQUFFQyxnQkFBZ0I7SUFDOUUsSUFBSUMsb0JBQW9CO0lBRXhCLElBQU1DLGtCQUFrQkYsaUJBQWlCRyxZQUFZLENBQUNMO0lBRXRERSxpQkFBaUJJLEtBQUssQ0FBQyxBQUFDLGtCQUFpQyxPQUFoQkYsaUJBQWdCLG1CQUFpQko7SUFFMUUsSUFBTU8sbUJBQW1CUixzQkFBc0JDLGdCQUN6Q1EsZUFBZU4saUJBQWlCTyxrQ0FBa0MsQ0FBQ0Ysa0JBQWtCTDtJQUUzRixJQUFJTSxpQkFBaUIsTUFBTTtRQUN6QixJQUFNRSxXQUFXRixhQUFhRyxXQUFXO1FBRXpDLElBQUlELGFBQWFFLGlCQUFlLEVBQUU7WUFDaEMsSUFBTUMsY0FBY2hCLGlCQUFpQkc7WUFFckMsSUFBSWEsZ0JBQWdCLE1BQU07Z0JBQ3hCLElBQU1DLGtCQUFrQkMsSUFBQUEsZ0JBQWEsRUFBQ0YsYUFBYVosU0FBU0M7Z0JBRTVEQyxvQkFBb0JXLGlCQUFrQixHQUFHO1lBQzNDLE9BQU87Z0JBQ0xaLGlCQUFpQmMsS0FBSyxDQUFDLEFBQUMsK0JBQThDLE9BQWhCWixpQkFBZ0IsbUNBQWlDSjtZQUN6RztRQUNGLE9BQU87WUFDTCxJQUFNaUIsc0JBQXNCTCxpQkFBZSxDQUFDTSxPQUFPLElBQzdDQyxxQkFBcUJqQixpQkFBaUJHLFlBQVksQ0FBQ0UsbUJBQ25EYSxpQkFBaUJWLFNBQVNXLFFBQVE7WUFFeENuQixpQkFBaUJjLEtBQUssQ0FBQyxBQUFDLFFBQTJESSxPQUFwREQsb0JBQW1CLG1DQUF1RUYsT0FBdENHLGdCQUFlLHlCQUEyQyxPQUFwQkgscUJBQW9CLE9BQUtqQjtRQUNwSjtJQUNGO0lBRUEsSUFBSUcsbUJBQW1CO1FBQ3JCRCxpQkFBaUJjLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQlosaUJBQWdCLGlCQUFlSjtJQUM1RTtJQUVBLE9BQU9HO0FBQ1QifQ==
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return verifyMetaEquality;
9
+ }
10
+ });
11
+ var _metaEquality = /*#__PURE__*/ _interop_require_default(require("../metaEquality"));
12
+ var _metaEquality1 = /*#__PURE__*/ _interop_require_default(require("../assignment/metaEquality"));
13
+ var _query = require("../utilities/query");
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ var leftMetastatementNodeQuery = (0, _query.nodeQuery)("/metaEquality/metastatement[0]"), rightMetastatementNodeQuery = (0, _query.nodeQuery)("/metaEquality/metastatement[1]");
20
+ function verifyMetaEquality(metaEqualityNode, assignments, derived, localMetaContext) {
21
+ var metaEqualityVerified;
22
+ var metaEqualityString = localMetaContext.nodeAsString(metaEqualityNode);
23
+ localMetaContext.trace("Verifying the '".concat(metaEqualityString, "' meta-equality..."), metaEqualityNode);
24
+ var verifyMetaEqualityFunctions = [
25
+ verifyDerivedMetaEquality,
26
+ verifyStatedMetaEquality
27
+ ];
28
+ metaEqualityVerified = verifyMetaEqualityFunctions.some(function(verifyMetaEqualityFunction) {
29
+ var metaEqualityVerified = verifyMetaEqualityFunction(metaEqualityNode, assignments, derived, localMetaContext);
30
+ if (metaEqualityVerified) {
31
+ return true;
32
+ }
33
+ });
34
+ if (metaEqualityVerified) {
35
+ localMetaContext.debug("...verified the '".concat(metaEqualityString, "' meta-equality."), metaEqualityNode);
36
+ }
37
+ return metaEqualityVerified;
38
+ }
39
+ function verifyDerivedMetaEquality(metaEqualityNode, assignments, derived, localMetaContext) {
40
+ var derivedMetaEqualityVerified = false;
41
+ if (derived) {
42
+ var metaEqualityString = localMetaContext.nodeAsString(metaEqualityNode);
43
+ localMetaContext.trace("Verifying the '".concat(metaEqualityString, "' derived meta-equality..."), metaEqualityNode);
44
+ var leftMetastatementNode = leftMetastatementNodeQuery(metaEqualityNode), rightMetastatementNode = rightMetastatementNodeQuery(metaEqualityNode), metaEquality = _metaEquality.default.fromLeftMetastatementNodeRightMetastatementNodeAndMetaEqualityNode(leftMetastatementNode, rightMetastatementNode, metaEqualityNode, localMetaContext);
45
+ if (metaEquality !== null) {
46
+ var metaEqualityAssignment = _metaEquality1.default.fromMetaEquality(metaEquality), assignment = metaEqualityAssignment; ///
47
+ assignments.push(assignment);
48
+ derivedMetaEqualityVerified = true;
49
+ }
50
+ if (derivedMetaEqualityVerified) {
51
+ localMetaContext.debug("...verified the '".concat(metaEqualityString, "' derived meta-equality."), metaEqualityNode);
52
+ }
53
+ }
54
+ return derivedMetaEqualityVerified;
55
+ }
56
+ function verifyStatedMetaEquality(metaEqualityNode, assignments, derived, localMetaContext) {
57
+ var statedMetaEqualityVerified = false;
58
+ if (!derived) {
59
+ var metaEqualityString = localMetaContext.nodeAsString(metaEqualityNode);
60
+ localMetaContext.trace("Verifying the '".concat(metaEqualityString, "' stated meta-equality..."), metaEqualityNode);
61
+ debugger;
62
+ if (statedMetaEqualityVerified) {
63
+ localMetaContext.debug("...verified the '".concat(metaEqualityString, "' stated meta-equality."), metaEqualityNode);
64
+ }
65
+ }
66
+ return statedMetaEqualityVerified;
67
+ }
68
+
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YUVxdWFsaXR5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YUVxdWFsaXR5IGZyb20gXCIuLi9tZXRhRXF1YWxpdHlcIjtcbmltcG9ydCBNZXRhRXF1YWxpdHlBc3NpZ25tZW50IGZyb20gXCIuLi9hc3NpZ25tZW50L21ldGFFcXVhbGl0eVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGxlZnRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFFcXVhbGl0eS9tZXRhc3RhdGVtZW50WzBdXCIpLFxuICAgICAgcmlnaHRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFFcXVhbGl0eS9tZXRhc3RhdGVtZW50WzFdXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhRXF1YWxpdHkobWV0YUVxdWFsaXR5Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IG1ldGFFcXVhbGl0eVZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFFcXVhbGl0eVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFFcXVhbGl0eU5vZGUpO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YUVxdWFsaXR5U3RyaW5nfScgbWV0YS1lcXVhbGl0eS4uLmAsIG1ldGFFcXVhbGl0eU5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeU1ldGFFcXVhbGl0eUZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkTWV0YUVxdWFsaXR5LFxuICAgIHZlcmlmeVN0YXRlZE1ldGFFcXVhbGl0eVxuICBdO1xuXG4gIG1ldGFFcXVhbGl0eVZlcmlmaWVkID0gdmVyaWZ5TWV0YUVxdWFsaXR5RnVuY3Rpb25zLnNvbWUoKHZlcmlmeU1ldGFFcXVhbGl0eUZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgbWV0YUVxdWFsaXR5VmVyaWZpZWQgPSB2ZXJpZnlNZXRhRXF1YWxpdHlGdW5jdGlvbihtZXRhRXF1YWxpdHlOb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YUVxdWFsaXR5VmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKG1ldGFFcXVhbGl0eVZlcmlmaWVkKSB7XG4gICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFFcXVhbGl0eVN0cmluZ30nIG1ldGEtZXF1YWxpdHkuYCwgbWV0YUVxdWFsaXR5Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gbWV0YUVxdWFsaXR5VmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWRNZXRhRXF1YWxpdHkobWV0YUVxdWFsaXR5Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQpIHtcbiAgbGV0IGRlcml2ZWRNZXRhRXF1YWxpdHlWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmIChkZXJpdmVkKSB7XG4gICAgY29uc3QgbWV0YUVxdWFsaXR5U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YUVxdWFsaXR5Tm9kZSk7XG5cbiAgICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFFcXVhbGl0eVN0cmluZ30nIGRlcml2ZWQgbWV0YS1lcXVhbGl0eS4uLmAsIG1ldGFFcXVhbGl0eU5vZGUpO1xuXG4gICAgY29uc3QgbGVmdE1ldGFzdGF0ZW1lbnROb2RlID0gbGVmdE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkobWV0YUVxdWFsaXR5Tm9kZSksXG4gICAgICAgICAgcmlnaHRNZXRhc3RhdGVtZW50Tm9kZSA9IHJpZ2h0TWV0YXN0YXRlbWVudE5vZGVRdWVyeShtZXRhRXF1YWxpdHlOb2RlKSxcbiAgICAgICAgICBtZXRhRXF1YWxpdHkgPSBNZXRhRXF1YWxpdHkuZnJvbUxlZnRNZXRhc3RhdGVtZW50Tm9kZVJpZ2h0TWV0YXN0YXRlbWVudE5vZGVBbmRNZXRhRXF1YWxpdHlOb2RlKGxlZnRNZXRhc3RhdGVtZW50Tm9kZSwgcmlnaHRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YUVxdWFsaXR5Tm9kZSwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YUVxdWFsaXR5ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXRhRXF1YWxpdHlBc3NpZ25tZW50ID0gTWV0YUVxdWFsaXR5QXNzaWdubWVudC5mcm9tTWV0YUVxdWFsaXR5KG1ldGFFcXVhbGl0eSksXG4gICAgICAgICAgICBhc3NpZ25tZW50ID0gbWV0YUVxdWFsaXR5QXNzaWdubWVudDsgIC8vL1xuXG4gICAgICBhc3NpZ25tZW50cy5wdXNoKGFzc2lnbm1lbnQpO1xuXG4gICAgICBkZXJpdmVkTWV0YUVxdWFsaXR5VmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChkZXJpdmVkTWV0YUVxdWFsaXR5VmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhRXF1YWxpdHlTdHJpbmd9JyBkZXJpdmVkIG1ldGEtZXF1YWxpdHkuYCwgbWV0YUVxdWFsaXR5Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRNZXRhRXF1YWxpdHlWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVkTWV0YUVxdWFsaXR5KG1ldGFFcXVhbGl0eU5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBzdGF0ZWRNZXRhRXF1YWxpdHlWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IG1ldGFFcXVhbGl0eVN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFFcXVhbGl0eU5vZGUpO1xuXG4gICAgbG9jYWxNZXRhQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhRXF1YWxpdHlTdHJpbmd9JyBzdGF0ZWQgbWV0YS1lcXVhbGl0eS4uLmAsIG1ldGFFcXVhbGl0eU5vZGUpO1xuXG4gICAgZGVidWdnZXJcblxuICAgIGlmIChzdGF0ZWRNZXRhRXF1YWxpdHlWZXJpZmllZCkge1xuICAgICAgbG9jYWxNZXRhQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFFcXVhbGl0eVN0cmluZ30nIHN0YXRlZCBtZXRhLWVxdWFsaXR5LmAsIG1ldGFFcXVhbGl0eU5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRNZXRhRXF1YWxpdHlWZXJpZmllZDtcbn0iXSwibmFtZXMiOlsidmVyaWZ5TWV0YUVxdWFsaXR5IiwibGVmdE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJyaWdodE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJtZXRhRXF1YWxpdHlOb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFFcXVhbGl0eVZlcmlmaWVkIiwibWV0YUVxdWFsaXR5U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlNZXRhRXF1YWxpdHlGdW5jdGlvbnMiLCJ2ZXJpZnlEZXJpdmVkTWV0YUVxdWFsaXR5IiwidmVyaWZ5U3RhdGVkTWV0YUVxdWFsaXR5Iiwic29tZSIsInZlcmlmeU1ldGFFcXVhbGl0eUZ1bmN0aW9uIiwiZGVidWciLCJkZXJpdmVkTWV0YUVxdWFsaXR5VmVyaWZpZWQiLCJsZWZ0TWV0YXN0YXRlbWVudE5vZGUiLCJyaWdodE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YUVxdWFsaXR5IiwiTWV0YUVxdWFsaXR5IiwiZnJvbUxlZnRNZXRhc3RhdGVtZW50Tm9kZVJpZ2h0TWV0YXN0YXRlbWVudE5vZGVBbmRNZXRhRXF1YWxpdHlOb2RlIiwibWV0YUVxdWFsaXR5QXNzaWdubWVudCIsIk1ldGFFcXVhbGl0eUFzc2lnbm1lbnQiLCJmcm9tTWV0YUVxdWFsaXR5IiwiYXNzaWdubWVudCIsInB1c2giLCJzdGF0ZWRNZXRhRXF1YWxpdHlWZXJpZmllZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7OzttRUFSQztvRUFDVTtxQkFFVDs7Ozs7O0FBRTFCLElBQU1DLDZCQUE2QkMsSUFBQUEsZ0JBQVMsRUFBQyxtQ0FDdkNDLDhCQUE4QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUUvQixTQUFTRixtQkFBbUJJLGdCQUFnQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQ2pHLElBQUlDO0lBRUosSUFBTUMscUJBQXFCRixpQkFBaUJHLFlBQVksQ0FBQ047SUFFekRHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQW9DLE9BQW5CRixvQkFBbUIsdUJBQXFCTDtJQUVqRixJQUFNUSw4QkFBOEI7UUFDbENDO1FBQ0FDO0tBQ0Q7SUFFRE4sdUJBQXVCSSw0QkFBNEJHLElBQUksQ0FBQyxTQUFDQztRQUN2RCxJQUFNUix1QkFBdUJRLDJCQUEyQlosa0JBQWtCQyxhQUFhQyxTQUFTQztRQUVoRyxJQUFJQyxzQkFBc0I7WUFDeEIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJQSxzQkFBc0I7UUFDeEJELGlCQUFpQlUsS0FBSyxDQUFDLEFBQUMsb0JBQXNDLE9BQW5CUixvQkFBbUIscUJBQW1CTDtJQUNuRjtJQUVBLE9BQU9JO0FBQ1Q7QUFFQSxTQUFTSywwQkFBMEJULGdCQUFnQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQ3pGLElBQUlXLDhCQUE4QjtJQUVsQyxJQUFJWixTQUFTO1FBQ1gsSUFBTUcscUJBQXFCRixpQkFBaUJHLFlBQVksQ0FBQ047UUFFekRHLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQW9DLE9BQW5CRixvQkFBbUIsK0JBQTZCTDtRQUV6RixJQUFNZSx3QkFBd0JsQiwyQkFBMkJHLG1CQUNuRGdCLHlCQUF5QmpCLDRCQUE0QkMsbUJBQ3JEaUIsZUFBZUMscUJBQVksQ0FBQ0Msa0VBQWtFLENBQUNKLHVCQUF1QkMsd0JBQXdCaEIsa0JBQWtCRztRQUV0SyxJQUFJYyxpQkFBaUIsTUFBTTtZQUN6QixJQUFNRyx5QkFBeUJDLHNCQUFzQixDQUFDQyxnQkFBZ0IsQ0FBQ0wsZUFDakVNLGFBQWFILHdCQUF5QixHQUFHO1lBRS9DbkIsWUFBWXVCLElBQUksQ0FBQ0Q7WUFFakJULDhCQUE4QjtRQUNoQztRQUVBLElBQUlBLDZCQUE2QjtZQUMvQlgsaUJBQWlCVSxLQUFLLENBQUMsQUFBQyxvQkFBc0MsT0FBbkJSLG9CQUFtQiw2QkFBMkJMO1FBQzNGO0lBQ0Y7SUFFQSxPQUFPYztBQUNUO0FBRUEsU0FBU0oseUJBQXlCVixnQkFBZ0IsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLGdCQUFnQjtJQUN4RixJQUFJc0IsNkJBQTZCO0lBRWpDLElBQUksQ0FBQ3ZCLFNBQVM7UUFDWixJQUFNRyxxQkFBcUJGLGlCQUFpQkcsWUFBWSxDQUFDTjtRQUV6REcsaUJBQWlCSSxLQUFLLENBQUMsQUFBQyxrQkFBb0MsT0FBbkJGLG9CQUFtQiw4QkFBNEJMO1FBRXhGLFFBQVE7UUFFUixJQUFJeUIsNEJBQTRCO1lBQzlCdEIsaUJBQWlCVSxLQUFLLENBQUMsQUFBQyxvQkFBc0MsT0FBbkJSLG9CQUFtQiw0QkFBMEJMO1FBQzFGO0lBQ0Y7SUFFQSxPQUFPeUI7QUFDVCJ9
@@ -30,7 +30,7 @@ function verifyQualifiedMetastatement(qualifiedMetastatementNode, metavariableRe
30
30
  if (metavariableReferences) {
31
31
  var metavariableNode = referenceMetavariableNode, metavariablePresent = localMetaContext.isMetavariablePresentByMetavariableNode(metavariableNode, localMetaContext);
32
32
  if (metavariablePresent) {
33
- var metastatementVerified = (0, _metastatement.default)(metastatementNode, derived, localMetaContext, function() {
33
+ var metastatementVerified = (0, _metastatement.default)(metastatementNode, assignments, derived, localMetaContext, function() {
34
34
  var verifiedAhead = true;
35
35
  return verifiedAhead;
36
36
  });
@@ -45,4 +45,4 @@ function verifyQualifiedMetastatement(qualifiedMetastatementNode, metavariableRe
45
45
  return qualifiedMetastatementVerified;
46
46
  }
47
47
 
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlNZXRhc3RhdGVtZW50IGZyb20gXCIuLi9tZXRhc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgcmVmZXJlbmNlTWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQvcmVmZXJlbmNlIS9tZXRhdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhdmFyaWFibGVSZWZlcmVuY2VzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAobWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnRMb2NhbE1ldGFDb250ZXh0ID0gbG9jYWxNZXRhQ29udGV4dDsgLy8vXG5cbiAgICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgbWV0YXN0YXRlbWVudC4uLmAsIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHJlZmVyZW5jZU1ldGF2YXJpYWJsZU5vZGUgPSByZWZlcmVuY2VNZXRhdmFyaWFibGVOb2RlUXVlcnkocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZSA9IHJlZmVyZW5jZU1ldGF2YXJpYWJsZU5vZGUsICAvLy9cbiAgICAgICAgICBydWxlID0gbG9jYWxNZXRhQ29udGV4dC5maW5kUnVsZUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlKGxhYmVsTWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICBpZiAocnVsZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50ID0gcnVsZS5tYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnRMb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gcnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50OyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChtZXRhdmFyaWFibGVSZWZlcmVuY2VzKSB7XG4gICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSByZWZlcmVuY2VNZXRhdmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlUHJlc2VudCA9IGxvY2FsTWV0YUNvbnRleHQuaXNNZXRhdmFyaWFibGVQcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICAgIGlmIChtZXRhdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICAgICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gbWV0YXN0YXRlbWVudFZlcmlmaWVkOyAvLy9cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJyZWZlcmVuY2VNZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGF2YXJpYWJsZVJlZmVyZW5jZXMiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbE1ldGFDb250ZXh0IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwibWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwibWV0YXN0YXRlbWVudExvY2FsTWV0YUNvbnRleHQiLCJ0cmFjZSIsInJlZmVyZW5jZU1ldGF2YXJpYWJsZU5vZGUiLCJsYWJlbE1ldGF2YXJpYWJsZU5vZGUiLCJydWxlIiwiZmluZFJ1bGVCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZSIsInJ1bGVNYXRjaGVzTWV0YXN0YXRlbWVudCIsIm1hdGNoTWV0YXN0YXRlbWVudCIsIm1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVQcmVzZW50IiwiaXNNZXRhdmFyaWFibGVQcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsInZlcmlmaWVkQWhlYWQiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUF3QkE7OztvRUFQUTtxQkFFTjs7Ozs7O0FBRTFCLElBQU1DLHlCQUF5QkMsSUFBQUEsZ0JBQVMsRUFBQywyQ0FDbkNDLGlDQUFpQ0QsSUFBQUEsZ0JBQVMsRUFBQztBQUVsQyxTQUFTRiw2QkFBNkJJLDBCQUEwQixFQUFFQyxzQkFBc0IsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLGdCQUFnQjtJQUM3SSxJQUFJQyxpQ0FBaUM7SUFFckMsSUFBTUMsb0JBQW9CVCx1QkFBdUJHO0lBRWpELElBQUlNLHNCQUFzQixNQUFNO1FBQzlCLElBQU1DLHNCQUFzQkgsaUJBQWlCSSxZQUFZLENBQUNGLG9CQUNwREcsZ0NBQWdDTCxrQkFBa0IsR0FBRztRQUUzREEsaUJBQWlCTSxLQUFLLENBQUMsQUFBQyxrQkFBcUMsT0FBcEJILHFCQUFvQixpQ0FBK0JQO1FBRTVGLElBQU1XLDRCQUE0QlosK0JBQStCQyw2QkFDM0RZLHdCQUF3QkQsMkJBQ3hCRSxPQUFPVCxpQkFBaUJVLCtCQUErQixDQUFDRjtRQUU5RCxJQUFJQyxTQUFTLE1BQU07WUFDakIsSUFBTUUsMkJBQTJCRixLQUFLRyxrQkFBa0IsQ0FBQ1YsbUJBQW1CRztZQUU1RUosaUNBQWlDVSwwQkFBMkIsR0FBRztRQUNqRSxPQUFPO1lBQ0wsSUFBSWQsd0JBQXdCO2dCQUMxQixJQUFNZ0IsbUJBQW1CTiwyQkFDbkJPLHNCQUFzQmQsaUJBQWlCZSx1Q0FBdUMsQ0FBQ0Ysa0JBQWtCYjtnQkFFdkcsSUFBSWMscUJBQXFCO29CQUN2QixJQUFNRSx3QkFBd0JDLElBQUFBLHNCQUFtQixFQUFDZixtQkFBbUJILFNBQVNDLGtCQUFrQjt3QkFDOUYsSUFBTWtCLGdCQUFnQjt3QkFFdEIsT0FBT0E7b0JBQ1Q7b0JBRUFqQixpQ0FBaUNlLHVCQUF1QixHQUFHO2dCQUM3RDtZQUNGO1FBQ0Y7UUFFQSxJQUFJZixnQ0FBZ0M7WUFDbENELGlCQUFpQm1CLEtBQUssQ0FBQyxBQUFDLG9CQUF1QyxPQUFwQmhCLHFCQUFvQiwrQkFBNkJQO1FBQzlGO0lBQ0Y7SUFFQSxPQUFPSztBQUNUIn0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlNZXRhc3RhdGVtZW50IGZyb20gXCIuLi9tZXRhc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgcmVmZXJlbmNlTWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQvcmVmZXJlbmNlIS9tZXRhdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhdmFyaWFibGVSZWZlcmVuY2VzLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAobWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnRMb2NhbE1ldGFDb250ZXh0ID0gbG9jYWxNZXRhQ29udGV4dDsgLy8vXG5cbiAgICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgbWV0YXN0YXRlbWVudC4uLmAsIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHJlZmVyZW5jZU1ldGF2YXJpYWJsZU5vZGUgPSByZWZlcmVuY2VNZXRhdmFyaWFibGVOb2RlUXVlcnkocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZSA9IHJlZmVyZW5jZU1ldGF2YXJpYWJsZU5vZGUsICAvLy9cbiAgICAgICAgICBydWxlID0gbG9jYWxNZXRhQ29udGV4dC5maW5kUnVsZUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlKGxhYmVsTWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICBpZiAocnVsZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50ID0gcnVsZS5tYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnRMb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gcnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50OyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChtZXRhdmFyaWFibGVSZWZlcmVuY2VzKSB7XG4gICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSByZWZlcmVuY2VNZXRhdmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlUHJlc2VudCA9IGxvY2FsTWV0YUNvbnRleHQuaXNNZXRhdmFyaWFibGVQcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICAgIGlmIChtZXRhdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICAgICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsTWV0YUNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IG1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBtZXRhc3RhdGVtZW50LmAsIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicmVmZXJlbmNlTWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhdmFyaWFibGVSZWZlcmVuY2VzIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxNZXRhQ29udGV4dCIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsIm1ldGFzdGF0ZW1lbnRMb2NhbE1ldGFDb250ZXh0IiwidHJhY2UiLCJyZWZlcmVuY2VNZXRhdmFyaWFibGVOb2RlIiwibGFiZWxNZXRhdmFyaWFibGVOb2RlIiwicnVsZSIsImZpbmRSdWxlQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUiLCJydWxlTWF0Y2hlc01ldGFzdGF0ZW1lbnQiLCJtYXRjaE1ldGFzdGF0ZW1lbnQiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlUHJlc2VudCIsImlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeU1ldGFzdGF0ZW1lbnQiLCJ2ZXJpZmllZEFoZWFkIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBd0JBOzs7b0VBUFE7cUJBRU47Ozs7OztBQUUxQixJQUFNQyx5QkFBeUJDLElBQUFBLGdCQUFTLEVBQUMsMkNBQ25DQyxpQ0FBaUNELElBQUFBLGdCQUFTLEVBQUM7QUFFbEMsU0FBU0YsNkJBQTZCSSwwQkFBMEIsRUFBRUMsc0JBQXNCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxnQkFBZ0I7SUFDN0ksSUFBSUMsaUNBQWlDO0lBRXJDLElBQU1DLG9CQUFvQlQsdUJBQXVCRztJQUVqRCxJQUFJTSxzQkFBc0IsTUFBTTtRQUM5QixJQUFNQyxzQkFBc0JILGlCQUFpQkksWUFBWSxDQUFDRixvQkFDcERHLGdDQUFnQ0wsa0JBQWtCLEdBQUc7UUFFM0RBLGlCQUFpQk0sS0FBSyxDQUFDLEFBQUMsa0JBQXFDLE9BQXBCSCxxQkFBb0IsaUNBQStCUDtRQUU1RixJQUFNVyw0QkFBNEJaLCtCQUErQkMsNkJBQzNEWSx3QkFBd0JELDJCQUN4QkUsT0FBT1QsaUJBQWlCVSwrQkFBK0IsQ0FBQ0Y7UUFFOUQsSUFBSUMsU0FBUyxNQUFNO1lBQ2pCLElBQU1FLDJCQUEyQkYsS0FBS0csa0JBQWtCLENBQUNWLG1CQUFtQkc7WUFFNUVKLGlDQUFpQ1UsMEJBQTJCLEdBQUc7UUFDakUsT0FBTztZQUNMLElBQUlkLHdCQUF3QjtnQkFDMUIsSUFBTWdCLG1CQUFtQk4sMkJBQ25CTyxzQkFBc0JkLGlCQUFpQmUsdUNBQXVDLENBQUNGLGtCQUFrQmI7Z0JBRXZHLElBQUljLHFCQUFxQjtvQkFDdkIsSUFBTUUsd0JBQXdCQyxJQUFBQSxzQkFBbUIsRUFBQ2YsbUJBQW1CSixhQUFhQyxTQUFTQyxrQkFBa0I7d0JBQ3JHLElBQU1rQixnQkFBZ0I7d0JBRXRCLE9BQU9BO29CQUNUO29CQUVOakIsaUNBQWlDZSx1QkFBdUIsR0FBRztnQkFDN0Q7WUFDRjtRQUNGO1FBRUEsSUFBSWYsZ0NBQWdDO1lBQ2xDRCxpQkFBaUJtQixLQUFLLENBQUMsQUFBQyxvQkFBdUMsT0FBcEJoQixxQkFBb0IsK0JBQTZCUDtRQUM5RjtJQUNGO0lBRUEsT0FBT0s7QUFDVCJ9