occam-verify-cli 0.0.1033 → 0.0.1035

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.
@@ -37,7 +37,7 @@ function _interop_require_default(obj) {
37
37
  default: obj
38
38
  };
39
39
  }
40
- var statementNodesQuery = (0, _query.nodesQuery)("/subproofAssertion/statement"), subproofAssertionNodeQuery = (0, _query.nodeQuery)("/statement/subproofAssertion");
40
+ var statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement"), statementNodesQuery = (0, _query.nodesQuery)("/subproofAssertion/statement"), subproofAssertionNodeQuery = (0, _query.nodeQuery)("/statement/subproofAssertion");
41
41
  var SubproofAssertion = /*#__PURE__*/ function() {
42
42
  function SubproofAssertion(fileContext, string, statements) {
43
43
  _class_call_check(this, SubproofAssertion);
@@ -82,19 +82,46 @@ var SubproofAssertion = /*#__PURE__*/ function() {
82
82
  }
83
83
  return subproofUnified;
84
84
  }
85
+ },
86
+ {
87
+ key: "toJSON",
88
+ value: function toJSON() {
89
+ var statementStings = this.statements.map(function(statement) {
90
+ var statementString = statement.getString();
91
+ return statementString;
92
+ }), statements = statementStings, json = {
93
+ statements: statements
94
+ };
95
+ return json;
96
+ }
85
97
  }
86
98
  ], [
87
99
  {
88
- key: "fromStatementNode",
89
- value: function fromStatementNode(statementNode, fileContext) {
100
+ key: "fromJSON",
101
+ value: function fromJSON(json, fileContext) {
102
+ var statements = json.statements;
103
+ var statementsJSON = statements; ///
104
+ statements = statementsJSON.map(function(statementJSON) {
105
+ var _$json = statementJSON, statement = Statement.fromJSON(_$json, fileContext);
106
+ return statement;
107
+ });
108
+ var string = stringFromStatements(statements), subproofAssertion = new SubproofAssertion(fileContext, string, statements);
109
+ return subproofAssertion;
110
+ }
111
+ },
112
+ {
113
+ key: "fromUnqualifiedStatementNode",
114
+ value: function fromUnqualifiedStatementNode(unqualifiedStatementNode, fileContext) {
90
115
  var subproofAssertion = null;
91
- var subproofAssertionNode = subproofAssertionNodeQuery(statementNode);
92
- if (subproofAssertionNode !== null) {
93
- var Statement = _shim.default.Statement, node = subproofAssertionNode, string = fileContext.nodeAsString(node), localContext = _local.default.fromFileContext(fileContext), statementNodes = statementNodesQuery(subproofAssertionNode), statements = statementNodes.map(function(statementNode) {
94
- var statement = Statement.fromStatementNode(statementNode, localContext);
95
- return statement;
96
- });
97
- subproofAssertion = new SubproofAssertion(fileContext, string, statements);
116
+ if (unqualifiedStatementNode !== null) {
117
+ var statementNode = statementNodeQuery(unqualifiedStatementNode), subproofAssertionNode = subproofAssertionNodeQuery(statementNode);
118
+ if (subproofAssertionNode !== null) {
119
+ var Statement1 = _shim.default.Statement, localContext = _local.default.fromFileContext(fileContext), statementNodes = statementNodesQuery(subproofAssertionNode), statements = statementNodes.map(function(statementNode) {
120
+ var statement = Statement1.fromStatementNode(statementNode, localContext);
121
+ return statement;
122
+ }), string = stringFromStatements(statements);
123
+ subproofAssertion = new SubproofAssertion(fileContext, string, statements);
124
+ }
98
125
  }
99
126
  return subproofAssertion;
100
127
  }
@@ -102,5 +129,17 @@ var SubproofAssertion = /*#__PURE__*/ function() {
102
129
  ]);
103
130
  return SubproofAssertion;
104
131
  }();
132
+ function stringFromStatements(statements) {
133
+ var frontStatements = (0, _array.front)(statements), lastStatement = (0, _array.last)(statements), frontStatementsString = statementsStringtatements(frontStatements), lastStatementString = lastStatement.getString(), string = "[".concat(frontStatementsString, "] ... ").concat(lastStatementString);
134
+ return string;
135
+ }
136
+ function statementsStringtatements(statements) {
137
+ var statementsString = statements.reduce(function(statementsString, statement) {
138
+ var statementString = statement.getString();
139
+ statementsString = statementsString !== null ? "".concat(statementsString, ", ").concat(statementString) : statementString; ///
140
+ return statementsString;
141
+ }, null);
142
+ return statementsString;
143
+ }
105
144
 
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRpb24vc3VicHJvb2YuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgbWV0YUxldmVsVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci9tZXRhTGV2ZWxcIjtcblxuaW1wb3J0IHsgbWF0Y2ggfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3N1YnByb29mQXNzZXJ0aW9uL3N0YXRlbWVudFwiKSxcbiAgICAgIHN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC9zdWJwcm9vZkFzc2VydGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3VicHJvb2ZBc3NlcnRpb24ge1xuICBjb25zdHJ1Y3RvcihmaWxlQ29udGV4dCwgc3RyaW5nLCBzdGF0ZW1lbnRzKSB7XG4gICAgdGhpcy5maWxlQ29udGV4dCA9IGZpbGVDb250ZXh0O1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMuc3RhdGVtZW50cyA9IHN0YXRlbWVudHM7XG4gIH1cblxuICBnZXRGaWxlQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlQ29udGV4dDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnRzKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudHM7XG4gIH1cblxuICB1bmlmeVN1YnByb29mKHN1YnByb29mLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgc3VicHJvb2ZVbmlmaWVkO1xuXG4gICAgY29uc3Qgc3VicHJvb2ZTdHJpbmcgPSBzdWJwcm9vZi5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBzdWJwcm9vZlN0YXRlbWVudHMgPSBzdWJwcm9vZi5nZXRTdGF0ZW1lbnRzKCksXG4gICAgICAgICAgc3VicHJvb2ZBc3NlcnRpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3VicHJvb2ZTdHJpbmd9JyBzdWJwcm9vZiB3aXRoIHRoZSAnJHtzdWJwcm9vZkFzc2VydGlvblN0cmluZ30nIHN1YnByb29mIGFzc2VydGlvbi4uLmApO1xuXG4gICAgc3VicHJvb2ZVbmlmaWVkID0gbWF0Y2godGhpcy5zdGF0ZW1lbnRzLCBzdWJwcm9vZlN0YXRlbWVudHMsIChzdGF0ZW1lbnQsIHN1YnByb29mU3RhdGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgICAgIHN1YnByb29mU3RhdGVtZW50Tm9kZSA9IHN1YnByb29mU3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgICAgIG5vZGVBID0gc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgbm9kZUIgPSBzdWJwcm9vZlN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgIGZpbGVDb250ZXh0QSA9IHRoaXMuZmlsZUNvbnRleHQsICAvLy9cbiAgICAgICAgICAgIGxvY2FsQ29udGV4dEEgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0QSksXG4gICAgICAgICAgICBsb2NhbENvbnRleHRCID0gbG9jYWxDb250ZXh0LCAvLy9cbiAgICAgICAgICAgIHVuaWZpZWQgPSBtZXRhTGV2ZWxVbmlmaWVyLnVuaWZ5KG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIGlmICh1bmlmaWVkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHN1YnByb29mVW5pZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdWJwcm9vZlN0cmluZ30nIHN1YnByb29mIHdpdGggdGhlICcke3N1YnByb29mQXNzZXJ0aW9uU3RyaW5nfScgc3VicHJvb2YgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJwcm9vZlVuaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgc3VicHJvb2ZBc3NlcnRpb24gPSBudWxsO1xuXG4gICAgY29uc3Qgc3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gc3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBpZiAoc3VicHJvb2ZBc3NlcnRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gc2hpbSxcbiAgICAgICAgICAgIG5vZGUgPSBzdWJwcm9vZkFzc2VydGlvbk5vZGUsIC8vL1xuICAgICAgICAgICAgc3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlcyA9IHN0YXRlbWVudE5vZGVzUXVlcnkoc3VicHJvb2ZBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICAgIHN0YXRlbWVudHMgPSBzdGF0ZW1lbnROb2Rlcy5tYXAoKHN0YXRlbWVudE5vZGUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHN0YXRlbWVudDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICBzdWJwcm9vZkFzc2VydGlvbiA9IG5ldyBTdWJwcm9vZkFzc2VydGlvbihmaWxlQ29udGV4dCwgc3RyaW5nLCBzdGF0ZW1lbnRzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VicHJvb2ZBc3NlcnRpb247XG4gIH1cbn0iXSwibmFtZXMiOlsiU3VicHJvb2ZBc3NlcnRpb24iLCJzdGF0ZW1lbnROb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiZmlsZUNvbnRleHQiLCJzdHJpbmciLCJzdGF0ZW1lbnRzIiwiZ2V0RmlsZUNvbnRleHQiLCJnZXRTdHJpbmciLCJnZXRTdGF0ZW1lbnRzIiwidW5pZnlTdWJwcm9vZiIsInN1YnByb29mIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dCIsInN1YnByb29mVW5pZmllZCIsInN1YnByb29mU3RyaW5nIiwic3VicHJvb2ZTdGF0ZW1lbnRzIiwic3VicHJvb2ZBc3NlcnRpb25TdHJpbmciLCJ0cmFjZSIsIm1hdGNoIiwic3RhdGVtZW50Iiwic3VicHJvb2ZTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwiZ2V0Tm9kZSIsInN1YnByb29mU3RhdGVtZW50Tm9kZSIsIm5vZGVBIiwibm9kZUIiLCJmaWxlQ29udGV4dEEiLCJsb2NhbENvbnRleHRBIiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwibG9jYWxDb250ZXh0QiIsInVuaWZpZWQiLCJtZXRhTGV2ZWxVbmlmaWVyIiwidW5pZnkiLCJkZWJ1ZyIsImZyb21TdGF0ZW1lbnROb2RlIiwic3VicHJvb2ZBc3NlcnRpb24iLCJzdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJTdGF0ZW1lbnQiLCJzaGltIiwibm9k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
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRpb24vc3VicHJvb2YuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgbWV0YUxldmVsVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci9tZXRhTGV2ZWxcIjtcblxuaW1wb3J0IHsgZnJvbnQsIGxhc3QsIG1hdGNoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50XCIpLFxuICAgICAgc3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc3VicHJvb2ZBc3NlcnRpb24vc3RhdGVtZW50XCIpLFxuICAgICAgc3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L3N1YnByb29mQXNzZXJ0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWJwcm9vZkFzc2VydGlvbiB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcsIHN0YXRlbWVudHMpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0ID0gZmlsZUNvbnRleHQ7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy5zdGF0ZW1lbnRzID0gc3RhdGVtZW50cztcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFN0YXRlbWVudHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50cztcbiAgfVxuXG4gIHVuaWZ5U3VicHJvb2Yoc3VicHJvb2YsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCBzdWJwcm9vZlVuaWZpZWQ7XG5cbiAgICBjb25zdCBzdWJwcm9vZlN0cmluZyA9IHN1YnByb29mLmdldFN0cmluZygpLFxuICAgICAgICAgIHN1YnByb29mU3RhdGVtZW50cyA9IHN1YnByb29mLmdldFN0YXRlbWVudHMoKSxcbiAgICAgICAgICBzdWJwcm9vZkFzc2VydGlvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdWJwcm9vZlN0cmluZ30nIHN1YnByb29mIHdpdGggdGhlICcke3N1YnByb29mQXNzZXJ0aW9uU3RyaW5nfScgc3VicHJvb2YgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICBzdWJwcm9vZlVuaWZpZWQgPSBtYXRjaCh0aGlzLnN0YXRlbWVudHMsIHN1YnByb29mU3RhdGVtZW50cywgKHN0YXRlbWVudCwgc3VicHJvb2ZTdGF0ZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICAgICAgc3VicHJvb2ZTdGF0ZW1lbnROb2RlID0gc3VicHJvb2ZTdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICAgICAgbm9kZUEgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBub2RlQiA9IHN1YnByb29mU3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgZmlsZUNvbnRleHRBID0gdGhpcy5maWxlQ29udGV4dCwgIC8vL1xuICAgICAgICAgICAgbG9jYWxDb250ZXh0QSA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHRBKSxcbiAgICAgICAgICAgIGxvY2FsQ29udGV4dEIgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgICAgdW5pZmllZCA9IG1ldGFMZXZlbFVuaWZpZXIudW5pZnkobm9kZUEsIG5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgaWYgKHVuaWZpZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoc3VicHJvb2ZVbmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N1YnByb29mU3RyaW5nfScgc3VicHJvb2Ygd2l0aCB0aGUgJyR7c3VicHJvb2ZBc3NlcnRpb25TdHJpbmd9JyBzdWJwcm9vZiBhc3NlcnRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnByb29mVW5pZmllZDtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdGluZ3MgPSB0aGlzLnN0YXRlbWVudHMubWFwKChzdGF0ZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKTtcblxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlbWVudFN0cmluZztcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdGF0ZW1lbnRzID0gc3RhdGVtZW50U3RpbmdzLCAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgc3RhdGVtZW50c1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB7IHN0YXRlbWVudHMgfSA9IGpzb247XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRzSlNPTiA9IHN0YXRlbWVudHM7ICAvLy9cblxuICAgIHN0YXRlbWVudHMgPSBzdGF0ZW1lbnRzSlNPTi5tYXAoKHN0YXRlbWVudEpTT04pID0+IHtcbiAgICAgIGNvbnN0IGpzb24gPSBzdGF0ZW1lbnRKU09OLFxuICAgICAgICAgICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgICAgcmV0dXJuIHN0YXRlbWVudDtcbiAgICB9KTtcblxuICAgIGNvbnN0IHN0cmluZyA9IHN0cmluZ0Zyb21TdGF0ZW1lbnRzKHN0YXRlbWVudHMpLFxuICAgICAgICAgIHN1YnByb29mQXNzZXJ0aW9uID0gbmV3IFN1YnByb29mQXNzZXJ0aW9uKGZpbGVDb250ZXh0LCBzdHJpbmcsIHN0YXRlbWVudHMpO1xuXG4gICAgcmV0dXJuIHN1YnByb29mQXNzZXJ0aW9uO1xuICB9XG5cbiAgc3RhdGljIGZyb21VbnF1YWxpZmllZFN0YXRlbWVudE5vZGUodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCBzdWJwcm9vZkFzc2VydGlvbiA9IG51bGw7XG5cbiAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBzdWJwcm9vZkFzc2VydGlvbk5vZGUgPSBzdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgaWYgKHN1YnByb29mQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gc2hpbSxcbiAgICAgICAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIHN0YXRlbWVudE5vZGVzID0gc3RhdGVtZW50Tm9kZXNRdWVyeShzdWJwcm9vZkFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgICBzdGF0ZW1lbnRzID0gc3RhdGVtZW50Tm9kZXMubWFwKChzdGF0ZW1lbnROb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGVtZW50O1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVN0YXRlbWVudHMoc3RhdGVtZW50cyk7XG5cbiAgICAgICAgc3VicHJvb2ZBc3NlcnRpb24gPSBuZXcgU3VicHJvb2ZBc3NlcnRpb24oZmlsZUNvbnRleHQsIHN0cmluZywgc3RhdGVtZW50cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnByb29mQXNzZXJ0aW9uO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21TdGF0ZW1lbnRzKHN0YXRlbWVudHMpIHtcbiAgY29uc3QgZnJvbnRTdGF0ZW1lbnRzID0gZnJvbnQoc3RhdGVtZW50cyksXG4gICAgICAgIGxhc3RTdGF0ZW1lbnQgPSBsYXN0KHN0YXRlbWVudHMpLFxuICAgICAgICBmcm9udFN0YXRlbWVudHNTdHJpbmcgPSBzdGF0ZW1lbnRzU3RyaW5ndGF0ZW1lbnRzKGZyb250U3RhdGVtZW50cyksXG4gICAgICAgIGxhc3RTdGF0ZW1lbnRTdHJpbmcgPSBsYXN0U3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICBzdHJpbmcgPSBgWyR7ZnJvbnRTdGF0ZW1lbnRzU3RyaW5nfV0gLi4uICR7bGFzdFN0YXRlbWVudFN0cmluZ31gO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHN0YXRlbWVudHNTdHJpbmd0YXRlbWVudHMoc3RhdGVtZW50cykge1xuICBjb25zdCBzdGF0ZW1lbnRzU3RyaW5nID0gc3RhdGVtZW50cy5yZWR1Y2UoKHN0YXRlbWVudHNTdHJpbmcsIHN0YXRlbWVudCkgPT4ge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKTtcblxuICAgIHN0YXRlbWVudHNTdHJpbmcgPSAoc3RhdGVtZW50c1N0cmluZyAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgYCR7c3RhdGVtZW50c1N0cmluZ30sICR7c3RhdGVtZW50U3RyaW5nfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50U3RyaW5nOyAgLy8vXG5cbiAgICByZXR1cm4gc3RhdGVtZW50c1N0cmluZztcbiAgfSwgbnVsbCk7XG5cbiAgcmV0dXJuIHN0YXRlbWVudHNTdHJpbmdcbn0iXSwibmFtZXMiOlsiU3VicHJvb2ZBc3NlcnRpb24iLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdGF0ZW1lbnROb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5IiwiZmlsZUNvbnRleHQiLCJzdHJpbmciLCJzdGF0ZW1lbnRzIiwiZ2V0RmlsZUNvbnRleHQiLCJnZXRTdHJpbmciLCJnZXRTdGF0ZW1lbnRzIiwidW5pZnlTdWJwcm9vZiIsInN1YnByb29mIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dCIsInN1YnByb29mVW5pZmllZCIsInN1YnByb29mU3RyaW5nIiwic3VicHJvb2ZTdGF0ZW1lbnRzIiwic3VicHJvb2ZBc3NlcnRpb25TdHJpbmciLCJ0cmFjZSIsIm1hdGNoIiwic3RhdGVtZW50Iiwic3VicHJvb2ZTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwiZ2V0Tm9kZSIsInN1YnByb29mU3RhdGVtZW50Tm9kZSIsIm5vZGVBIiwibm9kZUIiLCJmaWxlQ29udGV4dEEiLCJsb2NhbENvbnRleHRBIiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwibG9jYWxDb250ZXh0QiIsInVuaWZpZWQiLCJtZXRhTGV2ZWxVbmlmaWVyIiwidW5pZnkiLCJkZWJ1ZyIsInRvSlNPTiIsInN0YXRlbWVudFN0aW5ncyIsIm1hcCIsInN0YXRlbWVudFN0cmluZyIsImpzb24iLCJmcm9tSlNPTiIsInN0YXRlbWVudHNKU09OIiwic3RhdGVtZW50SlNPTiIsIlN0YXRlbWVudCIsInN0cmluZ0Zyb21TdGF0ZW1lbnRzIiwic3VicHJvb2ZBc3NlcnRpb24iLCJmcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwic3VicHJvb2ZBc3NlcnRpb25Ob2RlIiwic2hpbSIsInN0YXRlbWVudE5vZGVzIiwiZnJvbVN0YXRlbWVudE5vZGUiLCJmcm9udFN0YXRlbWVudHMiLCJmcm9udCIsImxhc3RTdGF0ZW1lbnQiLCJsYXN0IiwiZnJvbnRTdGF0ZW1lbnRzU3RyaW5nIiwic3RhdGVtZW50c1N0cmluZ3RhdGVtZW50cyIsImxhc3RTdGF0ZW1lbnRTdHJpbmciLCJzdGF0ZW1lbnRzU3RyaW5nIiwicmVkdWNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWFxQkE7OzsyREFYSjs0REFDUTtnRUFDSTtxQkFFTTtxQkFDRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV0QyxJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMsb0NBQy9CQyxzQkFBc0JDLElBQUFBLGlCQUFVLEVBQUMsaUNBQ2pDQyw2QkFBNkJILElBQUFBLGdCQUFTLEVBQUM7QUFFOUIsSUFBQSxBQUFNRixrQ0FBTjthQUFNQSxrQkFDUE0sV0FBVyxFQUFFQyxNQUFNLEVBQUVDLFVBQVU7Z0NBRHhCUjtRQUVqQixJQUFJLENBQUNNLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxVQUFVLEdBQUdBOztrQkFKRFI7O1lBT25CUyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFdBQVc7WUFDekI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTtt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
@@ -114,7 +114,7 @@ var TypeAssertion = /*#__PURE__*/ function() {
114
114
  var _this = this;
115
115
  var verifiedWhenStated = false;
116
116
  var typeAssertionString = this.string; ///
117
- localContext.trace("Verifying the '".concat(typeAssertionString, "' type assertion when stated..."));
117
+ localContext.trace("Verifying the stated '".concat(typeAssertionString, "' type assertion..."));
118
118
  var typeVerified = this.verifyType(localContext);
119
119
  if (typeVerified) {
120
120
  var termVerified = this.term.verify(localContext, function() {
@@ -125,15 +125,15 @@ var TypeAssertion = /*#__PURE__*/ function() {
125
125
  _this.variable.setType(_this.type);
126
126
  var variableAssignment = _variable1.default.fromVariable(_this.variable), assignment = variableAssignment; ///
127
127
  assignments.push(assignment);
128
- verifiedAhead = true;
129
128
  }
129
+ verifiedAhead = true;
130
130
  }
131
131
  return verifiedAhead;
132
132
  });
133
133
  verifiedWhenStated = termVerified; ///
134
134
  }
135
135
  if (verifiedWhenStated) {
136
- localContext.debug("...verified the '".concat(typeAssertionString, "' type assertion when stated."));
136
+ localContext.debug("...verified the stated '".concat(typeAssertionString, "' type assertion."));
137
137
  }
138
138
  return verifiedWhenStated;
139
139
  }
@@ -144,7 +144,7 @@ var TypeAssertion = /*#__PURE__*/ function() {
144
144
  var _this = this;
145
145
  var verifiedWhenDerived = false;
146
146
  var typeAssertionString = this.string; ///
147
- localContext.trace("Verifying the '".concat(typeAssertionString, "' type assertion when derived..."));
147
+ localContext.trace("Verifying the derived '".concat(typeAssertionString, "' type assertion..."));
148
148
  var typeVerified = this.verifyType(localContext);
149
149
  if (typeVerified) {
150
150
  var termVerified = this.term.verify(localContext, function() {
@@ -156,7 +156,7 @@ var TypeAssertion = /*#__PURE__*/ function() {
156
156
  verifiedWhenDerived = termVerified; ///
157
157
  }
158
158
  if (verifiedWhenDerived) {
159
- localContext.debug("...verified the '".concat(typeAssertionString, "' type assertion when derived."));
159
+ localContext.debug("...verified the derived '".concat(typeAssertionString, "' type assertion."));
160
160
  }
161
161
  return verifiedWhenDerived;
162
162
  }
@@ -177,4 +177,4 @@ function stringFromTermAndType(term, type) {
177
177
  return string;
178
178
  }
179
179
 
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRpb24vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcbmltcG9ydCBWYXJpYWJsZSBmcm9tIFwiLi4vdmFyaWFibGVcIjtcbmltcG9ydCBWYXJpYWJsZUFzc2lnbm1lbnQgZnJvbSBcIi4uL2Fzc2lnbm1lbnQvdmFyaWFibGVcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHtvYmplY3RUeXBlfSBmcm9tIFwiLi4vdHlwZVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVBc3NlcnRpb24vdGVybVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZUFzc2VydGlvbi90eXBlXCIpLFxuICAgICAgdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS92YXJpYWJsZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVHlwZUFzc2VydGlvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdGVybSwgdHlwZSwgdmFyaWFibGUpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgdmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZDtcblxuICAgIGlmIChzdGF0ZWQpIHtcbiAgICAgIGNvbnN0IHZlcmlmaWVkV2hlblN0YXRlZCA9IHRoaXMudmVyaWZ5V2hlblN0YXRlZChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgdmVyaWZpZWQgPSB2ZXJpZmllZFdoZW5TdGF0ZWQ7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IHRoaXMudmVyaWZ5V2hlbkRlcml2ZWQobG9jYWxDb250ZXh0KTtcblxuICAgICAgdmVyaWZpZWQgPSB2ZXJpZmllZFdoZW5EZXJpdmVkOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlUeXBlKGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB0eXBlVmVyaWZpZWQ7XG5cbiAgICBpZiAodGhpcy50eXBlID09PSBvYmplY3RUeXBlKSB7XG4gICAgICB0eXBlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCk7XG5cbiAgICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlTmFtZX0nIHR5cGUuLi5gKTtcblxuICAgICAgY29uc3QgdHlwZSA9IGxvY2FsQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gICAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHt0eXBlTmFtZX0nIHR5cGUgaXMgbWlzc2luZy5gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7IC8vL1xuXG4gICAgICAgIHR5cGVWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlVmVyaWZpZWQpIHtcbiAgICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZU5hbWV9JyB0eXBlLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0eXBlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlXaGVuU3RhdGVkKGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWRXaGVuU3RhdGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCB0eXBlQXNzZXJ0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVBc3NlcnRpb25TdHJpbmd9JyB0eXBlIGFzc2VydGlvbiB3aGVuIHN0YXRlZC4uLmApO1xuXG4gICAgY29uc3QgdHlwZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlUeXBlKGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAodHlwZVZlcmlmaWVkKSB7XG4gICAgICBjb25zdCB0ZXJtVmVyaWZpZWQgPSB0aGlzLnRlcm0udmVyaWZ5KGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgICAgICBjb25zdCB0ZXJtVHlwZSA9IHRoaXMudGVybS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgIHR5cGVFcXVhbFRvT3JTdXBlclR5cGVPZlRlcm1UeXBlID0gdGhpcy50eXBlLmlzRXF1YWxUb09yU3ViVHlwZU9mKHRlcm1UeXBlKTtcblxuICAgICAgICBpZiAodHlwZUVxdWFsVG9PclN1cGVyVHlwZU9mVGVybVR5cGUpIHtcbiAgICAgICAgICBpZiAodGhpcy52YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy52YXJpYWJsZS5zZXRUeXBlKHRoaXMudHlwZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlQXNzaWdubWVudCA9IFZhcmlhYmxlQXNzaWdubWVudC5mcm9tVmFyaWFibGUodGhpcy52YXJpYWJsZSksXG4gICAgICAgICAgICAgICAgICBhc3NpZ25tZW50ID0gdmFyaWFibGVBc3NpZ25tZW50OyAgLy8vXG5cbiAgICAgICAgICAgIGFzc2lnbm1lbnRzLnB1c2goYXNzaWdubWVudCk7XG5cbiAgICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgfSk7XG5cbiAgICAgIHZlcmlmaWVkV2hlblN0YXRlZCA9IHRlcm1WZXJpZmllZDsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkV2hlblN0YXRlZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZUFzc2VydGlvblN0cmluZ30nIHR5cGUgYXNzZXJ0aW9uIHdoZW4gc3RhdGVkLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZFdoZW5TdGF0ZWQ7XG4gIH1cblxuICB2ZXJpZnlXaGVuRGVyaXZlZChsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgdHlwZUFzc2VydGlvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlQXNzZXJ0aW9uU3RyaW5nfScgdHlwZSBhc3NlcnRpb24gd2hlbiBkZXJpdmVkLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVR5cGUobG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh0eXBlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHRlcm1WZXJpZmllZCA9IHRoaXMudGVybS52ZXJpZnkobG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgICAgIGNvbnN0IHRlcm1UeXBlID0gdGhpcy50ZXJtLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgdHlwZUVxdWFsVG9PclN1cGVyVHlwZU9mVGVybVR5cGUgPSB0aGlzLnR5cGUuaXNFcXVhbFRvT3JTdXBlclR5cGVPZih0ZXJtVHlwZSk7XG5cbiAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHR5cGVFcXVhbFRvT3JTdXBlclR5cGVPZlRlcm1UeXBlOyAvLy9cblxuICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgIH0pO1xuXG4gICAgICB2ZXJpZmllZFdoZW5EZXJpdmVkID0gdGVybVZlcmlmaWVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWRXaGVuRGVyaXZlZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZUFzc2VydGlvblN0cmluZ30nIHR5cGUgYXNzZXJ0aW9uIHdoZW4gZGVyaXZlZC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRXaGVuRGVyaXZlZDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZUFzc2VydGlvbk5vZGUodHlwZUFzc2VydGlvbk5vZGUsIGxvY2FsQ29udGV4dCkge1xuICAgIGNvbnN0IHsgVGVybSwgVHlwZSB9ID0gc2hpbSxcbiAgICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkodHlwZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgIHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkodGVybU5vZGUpLFxuICAgICAgICAgIHRlcm0gPSBUZXJtLmZyb21UZXJtTm9kZSh0ZXJtTm9kZSwgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5vZGUodHlwZU5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVGVybUFuZFR5cGUodGVybSwgdHlwZSksXG4gICAgICAgICAgdHlwZUFzc2VydGlvbiA9IG5ldyBUeXBlQXNzZXJ0aW9uKHN0cmluZywgdGVybSwgdHlwZSwgdmFyaWFibGUpO1xuXG4gICAgcmV0dXJuIHR5cGVBc3NlcnRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RyaW5nRnJvbVRlcm1BbmRUeXBlKHRlcm0sIHR5cGUpIHtcbiAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgIHR5cGVOYW1lID0gdHlwZS5nZXROYW1lKCksXG4gICAgICAgIHN0cmluZyA9IGAke3Rlcm1TdHJpbmd9OiR7dHlwZU5hbWV9YDtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbIlR5cGVBc3NlcnRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZU5vZGVRdWVyeSIsInZhcmlhYmxlTm9kZVF1ZXJ5Iiwic3RyaW5nIiwidGVybSIsInR5cGUiLCJ2YXJpYWJsZSIsImdldFN0cmluZyIsImdldFRlcm0iLCJnZXRUeXBlIiwiZ2V0VmFyaWFibGUiLCJ2ZXJpZnkiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImxvY2FsQ29udGV4dCIsInZlcmlmaWVkIiwidmVyaWZpZWRXaGVuU3RhdGVkIiwidmVyaWZ5V2hlblN0YXRlZCIsInZlcmlmaWVkV2hlbkRlcml2ZWQiLCJ2ZXJpZnlXaGVuRGVyaXZlZCIsInZlcmlmeVR5cGUiLCJ0eXBlVmVyaWZpZWQiLCJvYmplY3RUeXBlIiwidHlwZU5hbWUiLCJnZXROYW1lIiwidHJhY2UiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJkZWJ1ZyIsInR5cGVBc3NlcnRpb25TdHJpbmciLCJ0ZXJtVmVyaWZpZWQiLCJ2ZXJpZmllZEFoZWFkIiwidGVybVR5cGUiLCJ0eXBlRXF1YWxUb09yU3VwZXJUeXBlT2ZUZXJtVHlwZSIsImlzRXF1YWxUb09yU3ViVHlwZU9mIiwic2V0VHlwZSIsInZhcmlhYmxlQXNzaWdubWVudCIsIlZhcmlhYmxlQXNzaWdubWVudCIsImZyb21WYXJpYWJsZSIsImFzc2lnbm1lbnQiLCJwdXNoIiwiaXNFcXVhbFRvT3JTdXBlclR5cGVPZiIsImZyb21UeXBlQXNzZXJ0aW9uTm9kZSIsInR5cGVBc3NlcnRpb25Ob2RlIiwiVGVybSIsInNoaW0iLCJUeXBlIiwidGVybU5vZGUiLCJ0eXBlTm9kZSIsInZhcmlhYmxlTm9kZSIsImZyb21UZXJtTm9kZSIsImZyb21UeXBlTm9kZSIsIlZhcmlhYmxlIiwiZnJvbVZhcmlhYmxlTm9kZSIsInN0cmluZ0Zyb21UZXJtQW5kVHlwZSIsInR5cGVBc3NlcnRpb24iLCJ0ZXJtU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWFxQkE7OzsyREFYSjsrREFDSTtnRUFDVTtxQkFFTDtvQkFDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV6QixJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsd0JBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUMsd0JBQzFCRSxvQkFBb0JGLElBQUFBLGdCQUFTLEVBQUM7QUFFckIsSUFBQSxBQUFNRiw4QkFBTjthQUFNQSxjQUNQSyxNQUFNLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxRQUFRO2dDQURyQlI7UUFFakIsSUFBSSxDQUFDSyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxRQUFRLEdBQUdBOztrQkFMQ1I7O1lBUW5CUyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLE1BQU07WUFDcEI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLElBQUk7WUFDbEI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLElBQUk7WUFDbEI7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
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRpb24vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcbmltcG9ydCBWYXJpYWJsZSBmcm9tIFwiLi4vdmFyaWFibGVcIjtcbmltcG9ydCBWYXJpYWJsZUFzc2lnbm1lbnQgZnJvbSBcIi4uL2Fzc2lnbm1lbnQvdmFyaWFibGVcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHtvYmplY3RUeXBlfSBmcm9tIFwiLi4vdHlwZVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVBc3NlcnRpb24vdGVybVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZUFzc2VydGlvbi90eXBlXCIpLFxuICAgICAgdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS92YXJpYWJsZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVHlwZUFzc2VydGlvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdGVybSwgdHlwZSwgdmFyaWFibGUpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgdmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZDtcblxuICAgIGlmIChzdGF0ZWQpIHtcbiAgICAgIGNvbnN0IHZlcmlmaWVkV2hlblN0YXRlZCA9IHRoaXMudmVyaWZ5V2hlblN0YXRlZChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgdmVyaWZpZWQgPSB2ZXJpZmllZFdoZW5TdGF0ZWQ7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IHRoaXMudmVyaWZ5V2hlbkRlcml2ZWQobG9jYWxDb250ZXh0KTtcblxuICAgICAgdmVyaWZpZWQgPSB2ZXJpZmllZFdoZW5EZXJpdmVkOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlUeXBlKGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB0eXBlVmVyaWZpZWQ7XG5cbiAgICBpZiAodGhpcy50eXBlID09PSBvYmplY3RUeXBlKSB7XG4gICAgICB0eXBlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCk7XG5cbiAgICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlTmFtZX0nIHR5cGUuLi5gKTtcblxuICAgICAgY29uc3QgdHlwZSA9IGxvY2FsQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gICAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHt0eXBlTmFtZX0nIHR5cGUgaXMgbWlzc2luZy5gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7IC8vL1xuXG4gICAgICAgIHR5cGVWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlVmVyaWZpZWQpIHtcbiAgICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZU5hbWV9JyB0eXBlLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0eXBlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlXaGVuU3RhdGVkKGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWRXaGVuU3RhdGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCB0eXBlQXNzZXJ0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlIHN0YXRlZCAnJHt0eXBlQXNzZXJ0aW9uU3RyaW5nfScgdHlwZSBhc3NlcnRpb24uLi5gKTtcblxuICAgIGNvbnN0IHR5cGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5VHlwZShsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHR5cGVWZXJpZmllZCkge1xuICAgICAgY29uc3QgdGVybVZlcmlmaWVkID0gdGhpcy50ZXJtLnZlcmlmeShsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgbGV0IHZlcmlmaWVkQWhlYWQ7XG5cbiAgICAgICAgY29uc3QgdGVybVR5cGUgPSB0aGlzLnRlcm0uZ2V0VHlwZSgpLFxuICAgICAgICAgICAgICB0eXBlRXF1YWxUb09yU3VwZXJUeXBlT2ZUZXJtVHlwZSA9IHRoaXMudHlwZS5pc0VxdWFsVG9PclN1YlR5cGVPZih0ZXJtVHlwZSk7XG5cbiAgICAgICAgaWYgKHR5cGVFcXVhbFRvT3JTdXBlclR5cGVPZlRlcm1UeXBlKSB7XG4gICAgICAgICAgaWYgKHRoaXMudmFyaWFibGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMudmFyaWFibGUuc2V0VHlwZSh0aGlzLnR5cGUpO1xuXG4gICAgICAgICAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnQgPSBWYXJpYWJsZUFzc2lnbm1lbnQuZnJvbVZhcmlhYmxlKHRoaXMudmFyaWFibGUpLFxuICAgICAgICAgICAgICAgICAgYXNzaWdubWVudCA9IHZhcmlhYmxlQXNzaWdubWVudDsgIC8vL1xuXG4gICAgICAgICAgICBhc3NpZ25tZW50cy5wdXNoKGFzc2lnbm1lbnQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICB9KTtcblxuICAgICAgdmVyaWZpZWRXaGVuU3RhdGVkID0gdGVybVZlcmlmaWVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWRXaGVuU3RhdGVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBzdGF0ZWQgJyR7dHlwZUFzc2VydGlvblN0cmluZ30nIHR5cGUgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZFdoZW5TdGF0ZWQ7XG4gIH1cblxuICB2ZXJpZnlXaGVuRGVyaXZlZChsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgdHlwZUFzc2VydGlvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSBkZXJpdmVkICcke3R5cGVBc3NlcnRpb25TdHJpbmd9JyB0eXBlIGFzc2VydGlvbi4uLmApO1xuXG4gICAgY29uc3QgdHlwZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlUeXBlKGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAodHlwZVZlcmlmaWVkKSB7XG4gICAgICBjb25zdCB0ZXJtVmVyaWZpZWQgPSB0aGlzLnRlcm0udmVyaWZ5KGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgICAgICBjb25zdCB0ZXJtVHlwZSA9IHRoaXMudGVybS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgIHR5cGVFcXVhbFRvT3JTdXBlclR5cGVPZlRlcm1UeXBlID0gdGhpcy50eXBlLmlzRXF1YWxUb09yU3VwZXJUeXBlT2YodGVybVR5cGUpO1xuXG4gICAgICAgIHZlcmlmaWVkQWhlYWQgPSB0eXBlRXF1YWxUb09yU3VwZXJUeXBlT2ZUZXJtVHlwZTsgLy8vXG5cbiAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICB9KTtcblxuICAgICAgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IHRlcm1WZXJpZmllZDsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkV2hlbkRlcml2ZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlIGRlcml2ZWQgJyR7dHlwZUFzc2VydGlvblN0cmluZ30nIHR5cGUgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZFdoZW5EZXJpdmVkO1xuICB9XG5cbiAgc3RhdGljIGZyb21UeXBlQXNzZXJ0aW9uTm9kZSh0eXBlQXNzZXJ0aW9uTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gICAgY29uc3QgeyBUZXJtLCBUeXBlIH0gPSBzaGltLFxuICAgICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KHR5cGVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZSksXG4gICAgICAgICAgdGVybSA9IFRlcm0uZnJvbVRlcm1Ob2RlKHRlcm1Ob2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgIHR5cGUgPSBUeXBlLmZyb21UeXBlTm9kZSh0eXBlTm9kZSwgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UZXJtQW5kVHlwZSh0ZXJtLCB0eXBlKSxcbiAgICAgICAgICB0eXBlQXNzZXJ0aW9uID0gbmV3IFR5cGVBc3NlcnRpb24oc3RyaW5nLCB0ZXJtLCB0eXBlLCB2YXJpYWJsZSk7XG5cbiAgICByZXR1cm4gdHlwZUFzc2VydGlvbjtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdHJpbmdGcm9tVGVybUFuZFR5cGUodGVybSwgdHlwZSkge1xuICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgdHlwZU5hbWUgPSB0eXBlLmdldE5hbWUoKSxcbiAgICAgICAgc3RyaW5nID0gYCR7dGVybVN0cmluZ306JHt0eXBlTmFtZX1gO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsiVHlwZUFzc2VydGlvbiIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJzdHJpbmciLCJ0ZXJtIiwidHlwZSIsInZhcmlhYmxlIiwiZ2V0U3RyaW5nIiwiZ2V0VGVybSIsImdldFR5cGUiLCJnZXRWYXJpYWJsZSIsInZlcmlmeSIsImFzc2lnbm1lbnRzIiwic3RhdGVkIiwibG9jYWxDb250ZXh0IiwidmVyaWZpZWQiLCJ2ZXJpZmllZFdoZW5TdGF0ZWQiLCJ2ZXJpZnlXaGVuU3RhdGVkIiwidmVyaWZpZWRXaGVuRGVyaXZlZCIsInZlcmlmeVdoZW5EZXJpdmVkIiwidmVyaWZ5VHlwZSIsInR5cGVWZXJpZmllZCIsIm9iamVjdFR5cGUiLCJ0eXBlTmFtZSIsImdldE5hbWUiLCJ0cmFjZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsImRlYnVnIiwidHlwZUFzc2VydGlvblN0cmluZyIsInRlcm1WZXJpZmllZCIsInZlcmlmaWVkQWhlYWQiLCJ0ZXJtVHlwZSIsInR5cGVFcXVhbFRvT3JTdXBlclR5cGVPZlRlcm1UeXBlIiwiaXNFcXVhbFRvT3JTdWJUeXBlT2YiLCJzZXRUeXBlIiwidmFyaWFibGVBc3NpZ25tZW50IiwiVmFyaWFibGVBc3NpZ25tZW50IiwiZnJvbVZhcmlhYmxlIiwiYXNzaWdubWVudCIsInB1c2giLCJpc0VxdWFsVG9PclN1cGVyVHlwZU9mIiwiZnJvbVR5cGVBc3NlcnRpb25Ob2RlIiwidHlwZUFzc2VydGlvbk5vZGUiLCJUZXJtIiwic2hpbSIsIlR5cGUiLCJ0ZXJtTm9kZSIsInR5cGVOb2RlIiwidmFyaWFibGVOb2RlIiwiZnJvbVRlcm1Ob2RlIiwiZnJvbVR5cGVOb2RlIiwiVmFyaWFibGUiLCJmcm9tVmFyaWFibGVOb2RlIiwic3RyaW5nRnJvbVRlcm1BbmRUeXBlIiwidHlwZUFzc2VydGlvbiIsInRlcm1TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBYXFCQTs7OzJEQVhKOytEQUNJO2dFQUNVO3FCQUVMO29CQUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpCLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyx3QkFDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQyx3QkFDMUJFLG9CQUFvQkYsSUFBQUEsZ0JBQVMsRUFBQztBQUVyQixJQUFBLEFBQU1GLDhCQUFOO2FBQU1BLGNBQ1BLLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLFFBQVE7Z0NBRHJCUjtRQUVqQixJQUFJLENBQUNLLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFFBQVEsR0FBR0E7O2tCQUxDUjs7WUFRbkJTLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osTUFBTTtZQUNwQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osSUFBSTtZQUNsQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osSUFBSTtZQUNsQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxT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
@@ -17,6 +17,7 @@ _export(exports, {
17
17
  }
18
18
  });
19
19
  var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
20
+ var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
20
21
  var _query = require("./utilities/query");
21
22
  var _type = require("./type");
22
23
  function _class_call_check(instance, Constructor) {
@@ -110,7 +111,7 @@ var Constructor = /*#__PURE__*/ function() {
110
111
  {
111
112
  key: "fromConstructorDeclarationNode",
112
113
  value: function fromConstructorDeclarationNode(constructorDeclarationNode, fileContext) {
113
- var Term = _shim.default.Term, Type = _shim.default.Type, termNode = termNodeQuery(constructorDeclarationNode), typeNode = typeNodeQuery(constructorDeclarationNode), type = typeNode === null ? _type.objectType : Type.fromTypeNode(typeNode), term = Term.fromTermNodeAndType(termNode, type, fileContext), string = stringFromTermAndType(term, type), constructor = new Constructor(string, term);
114
+ var Term = _shim.default.Term, Type = _shim.default.Type, termNode = termNodeQuery(constructorDeclarationNode), typeNode = typeNodeQuery(constructorDeclarationNode), type = typeNode === null ? _type.objectType : Type.fromTypeNode(typeNode), localContext = _local.default.fromFileContext(fileContext), term = Term.fromTermNodeAndType(termNode, type, localContext), string = stringFromTermAndType(term, type), constructor = new Constructor(string, term);
114
115
  return constructor;
115
116
  }
116
117
  }
@@ -129,4 +130,4 @@ function stringFromTermAndType(term, type) {
129
130
  return string;
130
131
  }
131
132
 
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG9iamVjdFR5cGUgfSBmcm9tIFwiLi90eXBlXCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uc3RydWN0b3JEZWNsYXJhdGlvbi90ZXJtXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uL3R5cGVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnN0cnVjdG9yIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB0ZXJtKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRUeXBlKCkgeyByZXR1cm4gdGhpcy50ZXJtLmdldFR5cGUoKTsgfVxuXG4gIHZlcmlmeUF0VG9wTGV2ZWwoZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWRBdFRvcExldmVsO1xuXG4gICAgY29uc3QgY29uc3RydWN0b3JTdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7Y29uc3RydWN0b3JTdHJpbmd9JyBjb25zdHJ1Y3RvciBhdCB0b3AgbGV2ZWwuLi5gKTtcblxuICAgIGNvbnN0IHRlcm1WZXJpZmllZEF0VG9wTGV2ZWwgPSB0aGlzLnRlcm0udmVyaWZ5QXRUb3BMZXZlbChmaWxlQ29udGV4dCk7XG5cbiAgICBpZiAodGVybVZlcmlmaWVkQXRUb3BMZXZlbCkge1xuICAgICAgdmVyaWZpZWRBdFRvcExldmVsID0gdHJ1ZTsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkQXRUb3BMZXZlbCkge1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yIGF0IHRvcCBsZXZlbC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRBdFRvcExldmVsO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHRlcm1KU09OID0gdGhpcy50ZXJtLnRvSlNPTigpLFxuICAgICAgICAgIHRlcm0gPSB0ZXJtSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0ZXJtXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHsgdGVybSB9ID0ganNvbjtcblxuICAgIGNvbnN0IHRlcm1KU09OID0gdGVybTsgIC8vL1xuXG4gICAganNvbiA9IHRlcm1KU09OOyAgLy8vXG5cbiAgICBjb25zdCB7IFRlcm0gfSA9IHNoaW07XG5cbiAgICB0ZXJtID0gVGVybS5mcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCk7XG5cbiAgICBjb25zdCB0eXBlID0gdGVybS5nZXRUeXBlKCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVRlcm1BbmRUeXBlKHRlcm0sIHR5cGUpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yID0gbmV3IENvbnN0cnVjdG9yKHN0cmluZywgdGVybSk7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgVGVybSwgVHlwZSB9ID0gc2hpbSxcbiAgICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgIHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgdHlwZSA9ICh0eXBlTm9kZSA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgIG9iamVjdFR5cGUgOlxuICAgICAgICAgICAgICAgICAgICAgVHlwZS5mcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgIHRlcm0gPSBUZXJtLmZyb21UZXJtTm9kZUFuZFR5cGUodGVybU5vZGUsIHR5cGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVGVybUFuZFR5cGUodGVybSwgdHlwZSksXG4gICAgICAgICAgY29uc3RydWN0b3IgPSBuZXcgQ29uc3RydWN0b3Ioc3RyaW5nLCB0ZXJtKTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5nRnJvbVRlcm1BbmRUeXBlKHRlcm0sIHR5cGUpIHtcbiAgbGV0IHN0cmluZztcblxuICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKTtcblxuICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgIHN0cmluZyA9IGAke3Rlcm1TdHJpbmd9YDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgc3RyaW5nID0gYCR7dGVybVN0cmluZ306JHt0eXBlTmFtZX1gO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJDb25zdHJ1Y3RvciIsInN0cmluZ0Zyb21UZXJtQW5kVHlwZSIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5Iiwic3RyaW5nIiwidGVybSIsImdldFN0cmluZyIsImdldFRlcm0iLCJnZXRUeXBlIiwidmVyaWZ5QXRUb3BMZXZlbCIsImZpbGVDb250ZXh0IiwidmVyaWZpZWRBdFRvcExldmVsIiwiY29uc3RydWN0b3JTdHJpbmciLCJ0cmFjZSIsInRlcm1WZXJpZmllZEF0VG9wTGV2ZWwiLCJkZWJ1ZyIsInRvSlNPTiIsInRlcm1KU09OIiwianNvbiIsImZyb21KU09OIiwiVGVybSIsInNoaW0iLCJ0eXBlIiwiY29uc3RydWN0b3IiLCJmcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIlR5cGUiLCJ0ZXJtTm9kZSIsInR5cGVOb2RlIiwib2JqZWN0VHlwZSIsImZyb21UeXBlTm9kZSIsImZyb21UZXJtTm9kZUFuZFR5cGUiLCJ0ZXJtU3RyaW5nIiwidHlwZU5hbWUiLCJnZXROYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O2VBVXFCQTs7SUErRUxDLHFCQUFxQjtlQUFyQkE7OzsyREF2RkM7cUJBRVM7b0JBQ0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFM0IsSUFBTUMsZ0JBQWdCQyxJQUFBQSxnQkFBUyxFQUFDLGlDQUMxQkMsZ0JBQWdCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRWpCLElBQUEsQUFBTUgsNEJBQU47YUFBTUEsWUFDUEssTUFBTSxFQUFFQyxJQUFJO2dDQURMTjtRQUVqQixJQUFJLENBQUNLLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7O2tCQUhLTjs7WUFNbkJPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsTUFBTTtZQUNwQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsSUFBSTtZQUNsQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBWSxPQUFPLElBQUksQ0FBQ0gsSUFBSSxDQUFDRyxPQUFPO1lBQUk7OztZQUV4Q0MsS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQkMsV0FBVztnQkFDMUIsSUFBSUM7Z0JBRUosSUFBTUMsb0JBQW9CLElBQUksQ0FBQ1IsTUFBTSxFQUFHLEdBQUc7Z0JBRTNDTSxZQUFZRyxLQUFLLENBQUMsQUFBQyxrQkFBbUMsT0FBbEJELG1CQUFrQjtnQkFFdEQsSUFBTUUseUJBQXlCLElBQUksQ0FBQ1QsSUFBSSxDQUFDSSxnQkFBZ0IsQ0FBQ0M7Z0JBRTFELElBQUlJLHdCQUF3QjtvQkFDMUJILHFCQUFxQixNQUFNLEdBQUc7Z0JBQ2hDO2dCQUVBLElBQUlBLG9CQUFvQjtvQkFDdEJELFlBQVlLLEtBQUssQ0FBQyxBQUFDLG9CQUFxQyxPQUFsQkgsbUJBQWtCO2dCQUMxRDtnQkFFQSxPQUFPRDtZQUNUOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFdBQVcsSUFBSSxDQUFDWixJQUFJLENBQUNXLE1BQU0sSUFDM0JYLE9BQU9ZLFVBQ1BDLE9BQU87b0JBQ0xiLE1BQUFBO2dCQUNGO2dCQUVOLE9BQU9hO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFUixXQUFXO2dCQUMvQixJQUFJLEFBQUVMLE9BQVNhLEtBQVRiO2dCQUVOLElBQU1ZLFdBQVdaLE1BQU8sR0FBRztnQkFFM0JhLE9BQU9ELFVBQVcsR0FBRztnQkFFckIsSUFBTSxBQUFFRyxPQUFTQyxhQUFJLENBQWJEO2dCQUVSZixPQUFPZSxLQUFLRCxRQUFRLENBQUNELE1BQU1SO2dCQUUzQixJQUFNWSxPQUFPakIsS0FBS0csT0FBTyxJQUNuQkosU0FBU0osc0JBQXNCSyxNQUFNaUIsT0FDckNDLGNBQWMsSUEzREh4QixZQTJEbUJLLFFBQVFDO2dCQUU1QyxPQUFPa0I7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLCtCQUErQkMsMEJBQTBCLEVBQUVmLFdBQVc7Z0JBQzNFLElBQVFVLE9BQWVDLGFBQUksQ0FBbkJELE1BQU1NLE9BQVNMLGFBQUksQ0FBYkssTUFDUkMsV0FBVzFCLGNBQWN3Qiw2QkFDekJHLFdBQVd6QixjQUFjc0IsNkJBQ3pCSCxPQUFPLEFBQUNNLGFBQWEsT0FDWkMsZ0JBQVUsR0FDUkgsS0FBS0ksWUFBWSxDQUFDRixXQUM3QnZCLE9BQU9lLEtBQUtXLG1CQUFtQixDQUFDSixVQUFVTCxNQUFNWixjQUNoRE4sU0FBU0osc0JBQXNCSyxNQUFNaUIsT0FDckNDLGNBQWMsSUF6RUh4QixZQXlFbUJLLFFBQVFDO2dCQUU1QyxPQUFPa0I7WUFDVDs7O1dBNUVtQnhCOztBQStFZCxTQUFTQyxzQkFBc0JLLElBQUksRUFBRWlCLElBQUk7SUFDOUMsSUFBSWxCO0lBRUosSUFBTTRCLGFBQWEzQixLQUFLQyxTQUFTO0lBRWpDLElBQUlnQixTQUFTLE1BQU07UUFDakJsQixTQUFTLEFBQUMsR0FBYSxPQUFYNEI7SUFDZCxPQUFPO1FBQ0wsSUFBTUMsV0FBV1gsS0FBS1ksT0FBTztRQUU3QjlCLFNBQVMsQUFBQyxHQUFnQjZCLE9BQWRELFlBQVcsS0FBWSxPQUFUQztJQUM1QjtJQUVBLE9BQU83QjtBQUNUIn0=
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgb2JqZWN0VHlwZSB9IGZyb20gXCIuL3R5cGVcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uL3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb24vdHlwZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uc3RydWN0b3Ige1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7IHJldHVybiB0aGlzLnRlcm0uZ2V0VHlwZSgpOyB9XG5cbiAgdmVyaWZ5QXRUb3BMZXZlbChmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZEF0VG9wTGV2ZWw7XG5cbiAgICBjb25zdCBjb25zdHJ1Y3RvclN0cmluZyA9IHRoaXMuc3RyaW5nOyAgLy8vXG5cbiAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yIGF0IHRvcCBsZXZlbC4uLmApO1xuXG4gICAgY29uc3QgdGVybVZlcmlmaWVkQXRUb3BMZXZlbCA9IHRoaXMudGVybS52ZXJpZnlBdFRvcExldmVsKGZpbGVDb250ZXh0KTtcblxuICAgIGlmICh0ZXJtVmVyaWZpZWRBdFRvcExldmVsKSB7XG4gICAgICB2ZXJpZmllZEF0VG9wTGV2ZWwgPSB0cnVlOyAvLy9cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWRBdFRvcExldmVsKSB7XG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3IgYXQgdG9wIGxldmVsLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZEF0VG9wTGV2ZWw7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdGVybUpTT04gPSB0aGlzLnRlcm0udG9KU09OKCksXG4gICAgICAgICAgdGVybSA9IHRlcm1KU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHRlcm1cbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgeyB0ZXJtIH0gPSBqc29uO1xuXG4gICAgY29uc3QgdGVybUpTT04gPSB0ZXJtOyAgLy8vXG5cbiAgICBqc29uID0gdGVybUpTT047ICAvLy9cblxuICAgIGNvbnN0IHsgVGVybSB9ID0gc2hpbTtcblxuICAgIHRlcm0gPSBUZXJtLmZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgIGNvbnN0IHR5cGUgPSB0ZXJtLmdldFR5cGUoKSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVGVybUFuZFR5cGUodGVybSwgdHlwZSksXG4gICAgICAgICAgY29uc3RydWN0b3IgPSBuZXcgQ29uc3RydWN0b3Ioc3RyaW5nLCB0ZXJtKTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBUZXJtLCBUeXBlIH0gPSBzaGltLFxuICAgICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICB0eXBlID0gKHR5cGVOb2RlID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgb2JqZWN0VHlwZSA6XG4gICAgICAgICAgICAgICAgICAgICBUeXBlLmZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgICAgdGVybSA9IFRlcm0uZnJvbVRlcm1Ob2RlQW5kVHlwZSh0ZXJtTm9kZSwgdHlwZSwgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVGVybUFuZFR5cGUodGVybSwgdHlwZSksXG4gICAgICAgICAgY29uc3RydWN0b3IgPSBuZXcgQ29uc3RydWN0b3Ioc3RyaW5nLCB0ZXJtKTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5nRnJvbVRlcm1BbmRUeXBlKHRlcm0sIHR5cGUpIHtcbiAgbGV0IHN0cmluZztcblxuICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKTtcblxuICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgIHN0cmluZyA9IGAke3Rlcm1TdHJpbmd9YDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgc3RyaW5nID0gYCR7dGVybVN0cmluZ306JHt0eXBlTmFtZX1gO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJDb25zdHJ1Y3RvciIsInN0cmluZ0Zyb21UZXJtQW5kVHlwZSIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5Iiwic3RyaW5nIiwidGVybSIsImdldFN0cmluZyIsImdldFRlcm0iLCJnZXRUeXBlIiwidmVyaWZ5QXRUb3BMZXZlbCIsImZpbGVDb250ZXh0IiwidmVyaWZpZWRBdFRvcExldmVsIiwiY29uc3RydWN0b3JTdHJpbmciLCJ0cmFjZSIsInRlcm1WZXJpZmllZEF0VG9wTGV2ZWwiLCJkZWJ1ZyIsInRvSlNPTiIsInRlcm1KU09OIiwianNvbiIsImZyb21KU09OIiwiVGVybSIsInNoaW0iLCJ0eXBlIiwiY29uc3RydWN0b3IiLCJmcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIlR5cGUiLCJ0ZXJtTm9kZSIsInR5cGVOb2RlIiwib2JqZWN0VHlwZSIsImZyb21UeXBlTm9kZSIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsImZyb21UZXJtTm9kZUFuZFR5cGUiLCJ0ZXJtU3RyaW5nIiwidHlwZU5hbWUiLCJnZXROYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O2VBV3FCQTs7SUFnRkxDLHFCQUFxQjtlQUFyQkE7OzsyREF6RkM7NERBQ1E7cUJBRUM7b0JBQ0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFM0IsSUFBTUMsZ0JBQWdCQyxJQUFBQSxnQkFBUyxFQUFDLGlDQUMxQkMsZ0JBQWdCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRWpCLElBQUEsQUFBTUgsNEJBQU47YUFBTUEsWUFDUEssTUFBTSxFQUFFQyxJQUFJO2dDQURMTjtRQUVqQixJQUFJLENBQUNLLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7O2tCQUhLTjs7WUFNbkJPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFD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
package/lib/equality.js CHANGED
@@ -133,11 +133,11 @@ var Equality = /*#__PURE__*/ function() {
133
133
  value: function verifyWhenStated(localContext) {
134
134
  var verifiedWhenStated;
135
135
  var equalityString = this.string; ///
136
- localContext.trace("Verifying the '".concat(equalityString, "' equality when stated..."));
136
+ localContext.trace("Verifying the stated '".concat(equalityString, "' equality..."));
137
137
  var termsVerified = this.verifyTerms(localContext);
138
138
  verifiedWhenStated = termsVerified; ///
139
139
  if (verifiedWhenStated) {
140
- localContext.debug("...verified the '".concat(equalityString, "' equality when stated."));
140
+ localContext.debug("...verified the stated '".concat(equalityString, "' equality."));
141
141
  }
142
142
  return verifiedWhenStated;
143
143
  }
@@ -147,14 +147,14 @@ var Equality = /*#__PURE__*/ function() {
147
147
  value: function verifyWhenDerived(localContext) {
148
148
  var verifiedWhenDerived = false;
149
149
  var equalityString = this.string; ///
150
- localContext.trace("Verifying the '".concat(equalityString, "' equality when derived..."));
150
+ localContext.trace("Verifying the derived '".concat(equalityString, "' equality..."));
151
151
  var termsVerified = this.verifyTerms(localContext);
152
152
  if (termsVerified) {
153
153
  var equal = this.isEqual(localContext);
154
154
  verifiedWhenDerived = equal; ///
155
155
  }
156
156
  if (verifiedWhenDerived) {
157
- localContext.debug("...verified the '".concat(equalityString, "' equality when derived."));
157
+ localContext.debug("...verified the derived '".concat(equalityString, "' equality."));
158
158
  }
159
159
  return verifiedWhenDerived;
160
160
  }
@@ -171,4 +171,4 @@ var Equality = /*#__PURE__*/ function() {
171
171
  return Equality;
172
172
  }();
173
173
 
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lcXVhbGl0eS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IGVxdWFsaXR5VW5pZmllciBmcm9tIFwiLi91bmlmaWVyL2VxdWFsaXR5XCI7XG5pbXBvcnQgRXF1YWxpdHlBc3NpZ25tZW50IGZyb20gXCIuL2Fzc2lnbm1lbnQvZXF1YWxpdHlcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGxlZnRUZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2VxdWFsaXR5L3Rlcm1bMF1cIiksXG4gICAgICByaWdodFRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXF1YWxpdHkvdGVybVsxXVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXF1YWxpdHkge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsbGVmdFRlcm0sIHJpZ2h0VGVybSkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMubGVmdFRlcm0gPSBsZWZ0VGVybTtcbiAgICB0aGlzLnJpZ2h0VGVybSA9IHJpZ2h0VGVybTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRMZWZ0VGVybSgpIHtcbiAgICByZXR1cm4gdGhpcy5sZWZ0VGVybTtcbiAgfVxuXG4gIGdldFJpZ2h0VGVybSgpIHtcbiAgICByZXR1cm4gdGhpcy5yaWdodFRlcm07XG4gIH1cblxuICBpc1JlZmxleGl2ZSgpIHtcbiAgICBjb25zdCBsZWZ0VGVybU1hdGNoZXNSaWdodFRlcm0gPSB0aGlzLmxlZnRUZXJtLm1hdGNoKHRoaXMucmlnaHRUZXJtKSxcbiAgICAgICAgICByZWZsZXhpdmUgPSBsZWZ0VGVybU1hdGNoZXNSaWdodFRlcm07IC8vL1xuXG4gICAgcmV0dXJuIHJlZmxleGl2ZTtcbiAgfVxuXG4gIGlzRXF1YWwobG9jYWxDb250ZXh0KSB7XG4gICAgY29uc3QgbGVmdFRlcm1Ob2RlID0gdGhpcy5sZWZ0VGVybS5nZXROb2RlKCksXG4gICAgICAgICAgcmlnaHRUZXJtTm9kZSA9IHRoaXMucmlnaHRUZXJtLmdldE5vZGUoKSxcbiAgICAgICAgICBlcXVhbGl0eVVuaWZpZWQgPSBlcXVhbGl0eVVuaWZpZXIudW5pZnkobGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgIGVxdWFsID0gZXF1YWxpdHlVbmlmaWVkOyAgLy8vXG5cbiAgICByZXR1cm4gZXF1YWw7XG4gIH1cblxuICB2ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkO1xuXG4gICAgY29uc3QgZXF1YWxpdHlTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZXF1YWxpdHlTdHJpbmd9JyBlcXVhbGl0eS4uLmApO1xuXG4gICAgaWYgKHN0YXRlZCkge1xuICAgICAgY29uc3QgdmVyaWZpZWRXaGVuU3RhdGVkID0gdGhpcy52ZXJpZnlXaGVuU3RhdGVkKGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHZlcmlmaWVkID0gdmVyaWZpZWRXaGVuU3RhdGVkOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZlcmlmaWVkV2hlbkRlcml2ZWQgPSB0aGlzLnZlcmlmeVdoZW5EZXJpdmVkKGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHZlcmlmaWVkID0gdmVyaWZpZWRXaGVuRGVyaXZlZDsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICBpZiAoYXNzaWdubWVudHMgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgZXF1YWxpdHkgPSB0aGlzLCAgLy9cbiAgICAgICAgICAgICAgZXF1YWxpdHlBc3NpZ25tZW50ID0gRXF1YWxpdHlBc3NpZ25tZW50LmZyb21FcXVhbGl0eShlcXVhbGl0eSksXG4gICAgICAgICAgICAgIGFzc2lnbm1lbnQgPSBlcXVhbGl0eUFzc2lnbm1lbnQ7IC8vL1xuXG4gICAgICAgIGFzc2lnbm1lbnRzLnB1c2goYXNzaWdubWVudCk7XG4gICAgICB9XG5cbiAgICAgIHZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2VxdWFsaXR5U3RyaW5nfScgZXF1YWxpdHkuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5VGVybXMobG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHRlcm1zVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBlcXVhbGl0eVN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtlcXVhbGl0eVN0cmluZ30nIGVxdWFsaXR5J3MgdGVybXMuLi5gKTtcblxuICAgIGNvbnN0IGxlZnRUZXJtVmVyaWZpZWQgPSB0aGlzLmxlZnRUZXJtLnZlcmlmeShsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgICBjb25zdCByaWdodFRlcm1WZXJpZmllZCA9IHRoaXMucmlnaHRUZXJtLnZlcmlmeShsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgbGV0IHZlcmlmaWVkQWhlYWQ7XG5cbiAgICAgICAgY29uc3QgbGVmdFRlcm1UeXBlID0gdGhpcy5sZWZ0VGVybS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgIHJpZ2h0VGVybVR5cGUgPSB0aGlzLnJpZ2h0VGVybS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgIGxlZnRUZXJtVHlwZUNvbXBhcmFibGVUb1JpZ2h0VGVybVR5cGUgPSBsZWZ0VGVybVR5cGUuaXNDb21wYXJhYmxlVG8ocmlnaHRUZXJtVHlwZSk7XG5cbiAgICAgICAgdmVyaWZpZWRBaGVhZCA9IGxlZnRUZXJtVHlwZUNvbXBhcmFibGVUb1JpZ2h0VGVybVR5cGU7ICAvLy9cblxuICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgIH0pO1xuXG4gICAgICB2ZXJpZmllZEFoZWFkID0gcmlnaHRUZXJtVmVyaWZpZWQ7IC8vL1xuXG4gICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICB9KTtcblxuICAgIHRlcm1zVmVyaWZpZWQgPSBsZWZ0VGVybVZlcmlmaWVkOyAvLy9cblxuICAgIGlmICh0ZXJtc1ZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtlcXVhbGl0eVN0cmluZ30nIGVxdWFsaXR5J3MgdGVybXMuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRlcm1zVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlXaGVuU3RhdGVkKGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5TdGF0ZWQ7XG5cbiAgICBjb25zdCBlcXVhbGl0eVN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtlcXVhbGl0eVN0cmluZ30nIGVxdWFsaXR5IHdoZW4gc3RhdGVkLi4uYCk7XG5cbiAgICBjb25zdCB0ZXJtc1ZlcmlmaWVkID0gdGhpcy52ZXJpZnlUZXJtcyhsb2NhbENvbnRleHQpO1xuXG4gICAgdmVyaWZpZWRXaGVuU3RhdGVkID0gdGVybXNWZXJpZmllZDsgLy8vXG5cbiAgICBpZiAodmVyaWZpZWRXaGVuU3RhdGVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtlcXVhbGl0eVN0cmluZ30nIGVxdWFsaXR5IHdoZW4gc3RhdGVkLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZFdoZW5TdGF0ZWQ7XG4gIH1cblxuICB2ZXJpZnlXaGVuRGVyaXZlZChsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgZXF1YWxpdHlTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZXF1YWxpdHlTdHJpbmd9JyBlcXVhbGl0eSB3aGVuIGRlcml2ZWQuLi5gKTtcblxuICAgIGNvbnN0IHRlcm1zVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVRlcm1zKGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAodGVybXNWZXJpZmllZCkge1xuICAgICAgY29uc3QgZXF1YWwgPSB0aGlzLmlzRXF1YWwobG9jYWxDb250ZXh0KTtcblxuICAgICAgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IGVxdWFsOyAgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkV2hlbkRlcml2ZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2VxdWFsaXR5U3RyaW5nfScgZXF1YWxpdHkgd2hlbiBkZXJpdmVkLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZFdoZW5EZXJpdmVkO1xuICB9XG5cbiAgc3RhdGljIGZyb21FcXVhbGl0eU5vZGUoZXF1YWxpdHlOb2RlLCBsb2NhbENvbnRleHQpIHtcbiAgICBjb25zdCB7IFRlcm0gfSA9IHNoaW0sXG4gICAgICAgICAgbGVmdFRlcm1Ob2RlID0gbGVmdFRlcm1Ob2RlUXVlcnkoZXF1YWxpdHlOb2RlKSxcbiAgICAgICAgICByaWdodFRlcm1Ob2RlID0gcmlnaHRUZXJtTm9kZVF1ZXJ5KGVxdWFsaXR5Tm9kZSksXG4gICAgICAgICAgbGVmdFRlcm0gPSBUZXJtLmZyb21UZXJtTm9kZShsZWZ0VGVybU5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgcmlnaHRUZXJtID0gVGVybS5mcm9tVGVybU5vZGUocmlnaHRUZXJtTm9kZSwgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgICBub2RlID0gZXF1YWxpdHlOb2RlLCAgLy8vXG4gICAgICAgICAgc3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgICBlcXVhbGl0eSA9IG5ldyBFcXVhbGl0eShzdHJpbmcsIGxlZnRUZXJtLCByaWdodFRlcm0pO1xuXG4gICAgcmV0dXJuIGVxdWFsaXR5O1xuICB9XG59XG4iXSwibmFtZXMiOlsiRXF1YWxpdHkiLCJsZWZ0VGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInJpZ2h0VGVybU5vZGVRdWVyeSIsInN0cmluZyIsImxlZnRUZXJtIiwicmlnaHRUZXJtIiwiZ2V0U3RyaW5nIiwiZ2V0TGVmdFRlcm0iLCJnZXRSaWdodFRlcm0iLCJpc1JlZmxleGl2ZSIsImxlZnRUZXJtTWF0Y2hlc1JpZ2h0VGVybSIsIm1hdGNoIiwicmVmbGV4aXZlIiwiaXNFcXVhbCIsImxvY2FsQ29udGV4dCIsImxlZnRUZXJtTm9kZSIsImdldE5vZGUiLCJyaWdodFRlcm1Ob2RlIiwiZXF1YWxpdHlVbmlmaWVkIiwiZXF1YWxpdHlVbmlmaWVyIiwidW5pZnkiLCJlcXVhbCIsInZlcmlmeSIsImFzc2lnbm1lbnRzIiwic3RhdGVkIiwidmVyaWZpZWQiLCJlcXVhbGl0eVN0cmluZyIsInRyYWNlIiwidmVyaWZpZWRXaGVuU3RhdGVkIiwidmVyaWZ5V2hlblN0YXRlZCIsInZlcmlmaWVkV2hlbkRlcml2ZWQiLCJ2ZXJpZnlXaGVuRGVyaXZlZCIsImVxdWFsaXR5IiwiZXF1YWxpdHlBc3NpZ25tZW50IiwiRXF1YWxpdHlBc3NpZ25tZW50IiwiZnJvbUVxdWFsaXR5IiwiYXNzaWdubWVudCIsInB1c2giLCJkZWJ1ZyIsInZlcmlmeVRlcm1zIiwidGVybXNWZXJpZmllZCIsImxlZnRUZXJtVmVyaWZpZWQiLCJ2ZXJpZmllZEFoZWFkIiwicmlnaHRUZXJtVmVyaWZpZWQiLCJsZWZ0VGVybVR5cGUiLCJnZXRUeXBlIiwicmlnaHRUZXJtVHlwZSIsImxlZnRUZXJtVHlwZUNvbXBhcmFibGVUb1JpZ2h0VGVybVR5cGUiLCJpc0NvbXBhcmFibGVUbyIsImZyb21FcXVhbGl0eU5vZGUiLCJlcXVhbGl0eU5vZGUiLCJUZXJtIiwic2hpbSIsImZyb21UZXJtTm9kZSIsIm5vZGUiLCJub2RlQXNTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBV3FCQTs7OzJEQVRKOytEQUNXO2dFQUNHO3FCQUVMOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFCLElBQU1DLG9CQUFvQkMsSUFBQUEsZ0JBQVMsRUFBQyxzQkFDOUJDLHFCQUFxQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV0QixJQUFBLEFBQU1GLHlCQUFOO2FBQU1BLFNBQ1BJLE1BQU0sRUFBQ0MsUUFBUSxFQUFFQyxTQUFTO2dDQURuQk47UUFFakIsSUFBSSxDQUFDSSxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTs7a0JBSkFOOztZQU9uQk8sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxNQUFNO1lBQ3BCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxRQUFRO1lBQ3RCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxTQUFTO1lBQ3ZCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLDJCQUEyQixJQUFJLENBQUNOLFFBQVEsQ0FBQ08sS0FBSyxDQUFDLElBQUksQ0FBQ04sU0FBUyxHQUM3RE8sWUFBWUYsMEJBQTBCLEdBQUc7Z0JBRS9DLE9BQU9FO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUUMsWUFBWTtnQkFDbEIsSUFBTUMsZUFBZSxJQUFJLENBQUNYLFFBQVEsQ0FBQ1ksT0FBTyxJQUNwQ0MsZ0JBQWdCLElBQUksQ0FBQ1osU0FBUyxDQUFD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
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lcXVhbGl0eS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IGVxdWFsaXR5VW5pZmllciBmcm9tIFwiLi91bmlmaWVyL2VxdWFsaXR5XCI7XG5pbXBvcnQgRXF1YWxpdHlBc3NpZ25tZW50IGZyb20gXCIuL2Fzc2lnbm1lbnQvZXF1YWxpdHlcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGxlZnRUZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2VxdWFsaXR5L3Rlcm1bMF1cIiksXG4gICAgICByaWdodFRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXF1YWxpdHkvdGVybVsxXVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXF1YWxpdHkge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsbGVmdFRlcm0sIHJpZ2h0VGVybSkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMubGVmdFRlcm0gPSBsZWZ0VGVybTtcbiAgICB0aGlzLnJpZ2h0VGVybSA9IHJpZ2h0VGVybTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRMZWZ0VGVybSgpIHtcbiAgICByZXR1cm4gdGhpcy5sZWZ0VGVybTtcbiAgfVxuXG4gIGdldFJpZ2h0VGVybSgpIHtcbiAgICByZXR1cm4gdGhpcy5yaWdodFRlcm07XG4gIH1cblxuICBpc1JlZmxleGl2ZSgpIHtcbiAgICBjb25zdCBsZWZ0VGVybU1hdGNoZXNSaWdodFRlcm0gPSB0aGlzLmxlZnRUZXJtLm1hdGNoKHRoaXMucmlnaHRUZXJtKSxcbiAgICAgICAgICByZWZsZXhpdmUgPSBsZWZ0VGVybU1hdGNoZXNSaWdodFRlcm07IC8vL1xuXG4gICAgcmV0dXJuIHJlZmxleGl2ZTtcbiAgfVxuXG4gIGlzRXF1YWwobG9jYWxDb250ZXh0KSB7XG4gICAgY29uc3QgbGVmdFRlcm1Ob2RlID0gdGhpcy5sZWZ0VGVybS5nZXROb2RlKCksXG4gICAgICAgICAgcmlnaHRUZXJtTm9kZSA9IHRoaXMucmlnaHRUZXJtLmdldE5vZGUoKSxcbiAgICAgICAgICBlcXVhbGl0eVVuaWZpZWQgPSBlcXVhbGl0eVVuaWZpZXIudW5pZnkobGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgIGVxdWFsID0gZXF1YWxpdHlVbmlmaWVkOyAgLy8vXG5cbiAgICByZXR1cm4gZXF1YWw7XG4gIH1cblxuICB2ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkO1xuXG4gICAgY29uc3QgZXF1YWxpdHlTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZXF1YWxpdHlTdHJpbmd9JyBlcXVhbGl0eS4uLmApO1xuXG4gICAgaWYgKHN0YXRlZCkge1xuICAgICAgY29uc3QgdmVyaWZpZWRXaGVuU3RhdGVkID0gdGhpcy52ZXJpZnlXaGVuU3RhdGVkKGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHZlcmlmaWVkID0gdmVyaWZpZWRXaGVuU3RhdGVkOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZlcmlmaWVkV2hlbkRlcml2ZWQgPSB0aGlzLnZlcmlmeVdoZW5EZXJpdmVkKGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHZlcmlmaWVkID0gdmVyaWZpZWRXaGVuRGVyaXZlZDsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICBpZiAoYXNzaWdubWVudHMgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgZXF1YWxpdHkgPSB0aGlzLCAgLy9cbiAgICAgICAgICAgICAgZXF1YWxpdHlBc3NpZ25tZW50ID0gRXF1YWxpdHlBc3NpZ25tZW50LmZyb21FcXVhbGl0eShlcXVhbGl0eSksXG4gICAgICAgICAgICAgIGFzc2lnbm1lbnQgPSBlcXVhbGl0eUFzc2lnbm1lbnQ7IC8vL1xuXG4gICAgICAgIGFzc2lnbm1lbnRzLnB1c2goYXNzaWdubWVudCk7XG4gICAgICB9XG5cbiAgICAgIHZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2VxdWFsaXR5U3RyaW5nfScgZXF1YWxpdHkuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5VGVybXMobG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHRlcm1zVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBlcXVhbGl0eVN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtlcXVhbGl0eVN0cmluZ30nIGVxdWFsaXR5J3MgdGVybXMuLi5gKTtcblxuICAgIGNvbnN0IGxlZnRUZXJtVmVyaWZpZWQgPSB0aGlzLmxlZnRUZXJtLnZlcmlmeShsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgICBjb25zdCByaWdodFRlcm1WZXJpZmllZCA9IHRoaXMucmlnaHRUZXJtLnZlcmlmeShsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgbGV0IHZlcmlmaWVkQWhlYWQ7XG5cbiAgICAgICAgY29uc3QgbGVmdFRlcm1UeXBlID0gdGhpcy5sZWZ0VGVybS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgIHJpZ2h0VGVybVR5cGUgPSB0aGlzLnJpZ2h0VGVybS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgIGxlZnRUZXJtVHlwZUNvbXBhcmFibGVUb1JpZ2h0VGVybVR5cGUgPSBsZWZ0VGVybVR5cGUuaXNDb21wYXJhYmxlVG8ocmlnaHRUZXJtVHlwZSk7XG5cbiAgICAgICAgdmVyaWZpZWRBaGVhZCA9IGxlZnRUZXJtVHlwZUNvbXBhcmFibGVUb1JpZ2h0VGVybVR5cGU7ICAvLy9cblxuICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgIH0pO1xuXG4gICAgICB2ZXJpZmllZEFoZWFkID0gcmlnaHRUZXJtVmVyaWZpZWQ7IC8vL1xuXG4gICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICB9KTtcblxuICAgIHRlcm1zVmVyaWZpZWQgPSBsZWZ0VGVybVZlcmlmaWVkOyAvLy9cblxuICAgIGlmICh0ZXJtc1ZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtlcXVhbGl0eVN0cmluZ30nIGVxdWFsaXR5J3MgdGVybXMuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRlcm1zVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlXaGVuU3RhdGVkKGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5TdGF0ZWQ7XG5cbiAgICBjb25zdCBlcXVhbGl0eVN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSBzdGF0ZWQgJyR7ZXF1YWxpdHlTdHJpbmd9JyBlcXVhbGl0eS4uLmApO1xuXG4gICAgY29uc3QgdGVybXNWZXJpZmllZCA9IHRoaXMudmVyaWZ5VGVybXMobG9jYWxDb250ZXh0KTtcblxuICAgIHZlcmlmaWVkV2hlblN0YXRlZCA9IHRlcm1zVmVyaWZpZWQ7IC8vL1xuXG4gICAgaWYgKHZlcmlmaWVkV2hlblN0YXRlZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgc3RhdGVkICcke2VxdWFsaXR5U3RyaW5nfScgZXF1YWxpdHkuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkV2hlblN0YXRlZDtcbiAgfVxuXG4gIHZlcmlmeVdoZW5EZXJpdmVkKGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5EZXJpdmVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBlcXVhbGl0eVN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSBkZXJpdmVkICcke2VxdWFsaXR5U3RyaW5nfScgZXF1YWxpdHkuLi5gKTtcblxuICAgIGNvbnN0IHRlcm1zVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVRlcm1zKGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAodGVybXNWZXJpZmllZCkge1xuICAgICAgY29uc3QgZXF1YWwgPSB0aGlzLmlzRXF1YWwobG9jYWxDb250ZXh0KTtcblxuICAgICAgdmVyaWZpZWRXaGVuRGVyaXZlZCA9IGVxdWFsOyAgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkV2hlbkRlcml2ZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlIGRlcml2ZWQgJyR7ZXF1YWxpdHlTdHJpbmd9JyBlcXVhbGl0eS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRXaGVuRGVyaXZlZDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRXF1YWxpdHlOb2RlKGVxdWFsaXR5Tm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gICAgY29uc3QgeyBUZXJtIH0gPSBzaGltLFxuICAgICAgICAgIGxlZnRUZXJtTm9kZSA9IGxlZnRUZXJtTm9kZVF1ZXJ5KGVxdWFsaXR5Tm9kZSksXG4gICAgICAgICAgcmlnaHRUZXJtTm9kZSA9IHJpZ2h0VGVybU5vZGVRdWVyeShlcXVhbGl0eU5vZGUpLFxuICAgICAgICAgIGxlZnRUZXJtID0gVGVybS5mcm9tVGVybU5vZGUobGVmdFRlcm1Ob2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgIHJpZ2h0VGVybSA9IFRlcm0uZnJvbVRlcm1Ob2RlKHJpZ2h0VGVybU5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgbm9kZSA9IGVxdWFsaXR5Tm9kZSwgIC8vL1xuICAgICAgICAgIHN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgICAgZXF1YWxpdHkgPSBuZXcgRXF1YWxpdHkoc3RyaW5nLCBsZWZ0VGVybSwgcmlnaHRUZXJtKTtcblxuICAgIHJldHVybiBlcXVhbGl0eTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkVxdWFsaXR5IiwibGVmdFRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJyaWdodFRlcm1Ob2RlUXVlcnkiLCJzdHJpbmciLCJsZWZ0VGVybSIsInJpZ2h0VGVybSIsImdldFN0cmluZyIsImdldExlZnRUZXJtIiwiZ2V0UmlnaHRUZXJtIiwiaXNSZWZsZXhpdmUiLCJsZWZ0VGVybU1hdGNoZXNSaWdodFRlcm0iLCJtYXRjaCIsInJlZmxleGl2ZSIsImlzRXF1YWwiLCJsb2NhbENvbnRleHQiLCJsZWZ0VGVybU5vZGUiLCJnZXROb2RlIiwicmlnaHRUZXJtTm9kZSIsImVxdWFsaXR5VW5pZmllZCIsImVxdWFsaXR5VW5pZmllciIsInVuaWZ5IiwiZXF1YWwiLCJ2ZXJpZnkiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsInZlcmlmaWVkIiwiZXF1YWxpdHlTdHJpbmciLCJ0cmFjZSIsInZlcmlmaWVkV2hlblN0YXRlZCIsInZlcmlmeVdoZW5TdGF0ZWQiLCJ2ZXJpZmllZFdoZW5EZXJpdmVkIiwidmVyaWZ5V2hlbkRlcml2ZWQiLCJlcXVhbGl0eSIsImVxdWFsaXR5QXNzaWdubWVudCIsIkVxdWFsaXR5QXNzaWdubWVudCIsImZyb21FcXVhbGl0eSIsImFzc2lnbm1lbnQiLCJwdXNoIiwiZGVidWciLCJ2ZXJpZnlUZXJtcyIsInRlcm1zVmVyaWZpZWQiLCJsZWZ0VGVybVZlcmlmaWVkIiwidmVyaWZpZWRBaGVhZCIsInJpZ2h0VGVybVZlcmlmaWVkIiwibGVmdFRlcm1UeXBlIiwiZ2V0VHlwZSIsInJpZ2h0VGVybVR5cGUiLCJsZWZ0VGVybVR5cGVDb21wYXJhYmxlVG9SaWdodFRlcm1UeXBlIiwiaXNDb21wYXJhYmxlVG8iLCJmcm9tRXF1YWxpdHlOb2RlIiwiZXF1YWxpdHlOb2RlIiwiVGVybSIsInNoaW0iLCJmcm9tVGVybU5vZGUiLCJub2RlIiwibm9kZUFzU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVdxQkE7OzsyREFUSjsrREFDVztnRUFDRztxQkFFTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQyxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUMsc0JBQzlCQyxxQkFBcUJELElBQUFBLGdCQUFTLEVBQUM7QUFFdEIsSUFBQSxBQUFNRix5QkFBTjthQUFNQSxTQUNQSSxNQUFNLEVBQUNDLFFBQVEsRUFBRUMsU0FBUztnQ0FEbkJOO1FBRWpCLElBQUksQ0FBQ0ksTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2tCQUpBTjs7WUFPbkJPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsTUFBTTtZQUNwQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsUUFBUTtZQUN0Qjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsU0FBUztZQUN2Qjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQywyQkFBMkIsSUFBSSxDQUFDTixRQUFRLENBQUNPLEtBQUssQ0FBQyxJQUFJLENBQUNOLFNBQVMsR0FDN0RPLFlBQVlGLDBCQUEwQixHQUFHO2dCQUUvQyxPQUFPRTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFDLFlBQVk7Z0JBQ2xCLElBQU1DLGVBQWUsSUFBSSxDQUFDWCxRQUFRLENBQUNZLE9BQU8sSUFDcENDLGdCQUFnQixJQUFJLENBQUNaLFNBQVMsQ0FBQ1csT0FBTyxJQUN0Q0Usa0JBQWtC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
package/lib/premise.js CHANGED
@@ -41,9 +41,10 @@ function _interop_require_default(obj) {
41
41
  }
42
42
  var unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/premise/unqualifiedStatement");
43
43
  var Premise = /*#__PURE__*/ function() {
44
- function Premise(fileContext, unqualifiedStatement) {
44
+ function Premise(fileContext, subproofAssertion, unqualifiedStatement) {
45
45
  _class_call_check(this, Premise);
46
46
  this.fileContext = fileContext;
47
+ this.subproofAssertion = subproofAssertion;
47
48
  this.unqualifiedStatement = unqualifiedStatement;
48
49
  }
49
50
  _create_class(Premise, [
@@ -53,6 +54,12 @@ var Premise = /*#__PURE__*/ function() {
53
54
  return this.fileContext;
54
55
  }
55
56
  },
57
+ {
58
+ key: "getSubproofAssertion",
59
+ value: function getSubproofAssertion() {
60
+ return this.subproofAssertion;
61
+ }
62
+ },
56
63
  {
57
64
  key: "getUnqualifiedStatement",
58
65
  value: function getUnqualifiedStatement() {
@@ -108,9 +115,8 @@ var Premise = /*#__PURE__*/ function() {
108
115
  var subproofUnified = false;
109
116
  var premise = this, subproofString = subproof.getString(), premiseStatement = premise.getStatement(), premiseStatementString = premiseStatement.getString();
110
117
  localContext.trace("Unifying the '".concat(subproofString, "' subproof with the premise's '").concat(premiseStatementString, "' statement..."));
111
- var statement = this.unqualifiedStatement.getStatement(), statementNode = statement.getNode(), subproofAssertion = _subproof.default.fromStatementNode(statementNode, this.fileContext);
112
- if (subproofAssertion !== null) {
113
- subproofUnified = subproofAssertion.unifySubproof(subproof, substitutions, localContext);
118
+ if (this.subproofAssertion !== null) {
119
+ subproofUnified = this.subproofAssertion.unifySubproof(subproof, substitutions, localContext);
114
120
  }
115
121
  if (subproofUnified) {
116
122
  localContext.debug("...unified the '".concat(subproofString, "' subproof with the premise's '").concat(premiseStatementString, "' statement."));
@@ -146,8 +152,9 @@ var Premise = /*#__PURE__*/ function() {
146
152
  {
147
153
  key: "toJSON",
148
154
  value: function toJSON() {
149
- var unqualifiedStatementJSON = this.unqualifiedStatement.toJSON(), unqualifiedStatement = unqualifiedStatementJSON, json = {
150
- unqualifiedStatement: unqualifiedStatement
155
+ var unqualifiedStatementJSON = this.unqualifiedStatement.toJSON(), subproofAssertionJSON = this.subproofAssertion !== null ? this.subproofAssertion.toJSON() : null, unqualifiedStatement = unqualifiedStatementJSON, subproofAssertion = subproofAssertionJSON, json = {
156
+ unqualifiedStatement: unqualifiedStatement,
157
+ subproofAssertion: subproofAssertion
151
158
  };
152
159
  return json;
153
160
  }
@@ -156,17 +163,19 @@ var Premise = /*#__PURE__*/ function() {
156
163
  {
157
164
  key: "fromJSON",
158
165
  value: function fromJSON(json, fileContext) {
159
- var unqualifiedStatement = json.unqualifiedStatement;
166
+ var subproofAssertion = json.subproofAssertion, unqualifiedStatement = json.unqualifiedStatement;
160
167
  json = unqualifiedStatement; ///
161
168
  unqualifiedStatement = _unqualified.default.fromJSON(json, fileContext);
162
- var premise = new Premise(fileContext, unqualifiedStatement);
169
+ json = subproofAssertion; ///
170
+ subproofAssertion = json !== null ? _subproof.default.fromJSON(json, fileContext) : null;
171
+ var premise = new Premise(fileContext, subproofAssertion, unqualifiedStatement);
163
172
  return premise;
164
173
  }
165
174
  },
166
175
  {
167
- key: "fromPremiseNode",
168
- value: function fromPremiseNode(premiseNode, fileContext) {
169
- var unqualifiedStatementNode = unqualifiedStatementNodeQuery(premiseNode), unqualifiedStatement = _unqualified.default.fromUnqualifiedStatementNode(unqualifiedStatementNode, fileContext), premise = new Premise(fileContext, unqualifiedStatement);
176
+ key: "fromSuppositionNode",
177
+ value: function fromSuppositionNode(suppositionNode, fileContext) {
178
+ var unqualifiedStatementNode = unqualifiedStatementNodeQuery(suppositionNode), unqualifiedStatement = _unqualified.default.fromUnqualifiedStatementNode(unqualifiedStatementNode, fileContext), subproofAssertion = _subproof.default.fromUnqualifiedStatementNode(unqualifiedStatementNode, fileContext), premise = new Premise(fileContext, subproofAssertion, unqualifiedStatement);
170
179
  return premise;
171
180
  }
172
181
  }
@@ -174,4 +183,4 @@ var Premise = /*#__PURE__*/ function() {
174
183
  return Premise;
175
184
  }();
176
185
 
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVtaXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcbmltcG9ydCBtZXRhTGV2ZWxVbmlmaWVyIGZyb20gXCIuL3VuaWZpZXIvbWV0YUxldmVsXCI7XG5pbXBvcnQgU3VicHJvb2ZBc3NlcnRpb24gZnJvbSBcIi4vYXNzZXJ0aW9uL3N1YnByb29mXCI7XG5pbXBvcnQgVW5xdWFsaWZpZWRTdGF0ZW1lbnQgZnJvbSBcIi4vc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgYXNzaWduQXNzaWdubWVudHMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcblxuY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJlbWlzZS91bnF1YWxpZmllZFN0YXRlbWVudFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUHJlbWlzZSB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCB1bnF1YWxpZmllZFN0YXRlbWVudCkge1xuICAgIHRoaXMuZmlsZUNvbnRleHQgPSBmaWxlQ29udGV4dDtcbiAgICB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50ID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRGaWxlQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlQ29udGV4dDtcbiAgfVxuXG4gIGdldFVucXVhbGlmaWVkU3RhdGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkgeyByZXR1cm4gdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudC5nZXRTdHJpbmcoKTsgfVxuXG4gIGdldFN0YXRlbWVudCgpIHsgcmV0dXJuIHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQuZ2V0U3RhdGVtZW50KCk7IH1cblxuICB1bmlmeVByb29mU3RlcChwcm9vZlN0ZXAsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCBwcm9vZlN0ZXBVbmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdWJwcm9vZiA9IHByb29mU3RlcC5nZXRTdWJwcm9vZigpLFxuICAgICAgICAgIHN0YXRlbWVudCA9IHByb29mU3RlcC5nZXRTdGF0ZW1lbnQoKTtcblxuICAgIHN1YnN0aXR1dGlvbnMuc25hcHNob3QoKTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmIChzdWJwcm9vZiAhPT0gbnVsbCkge1xuICAgICAgcHJvb2ZTdGVwVW5pZmllZCA9IHRoaXMudW5pZnlTdWJwcm9vZihzdWJwcm9vZiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHN0YXRlbWVudCAhPT0gbnVsbCkge1xuICAgICAgcHJvb2ZTdGVwVW5pZmllZCA9IHRoaXMudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuICAgIH1cblxuICAgIHByb29mU3RlcFVuaWZpZWQgP1xuICAgICAgc3Vic3RpdHV0aW9ucy5jb250aW51ZSgpIDpcbiAgICAgICAgc3Vic3RpdHV0aW9ucy5yb2xsYmFjayhsb2NhbENvbnRleHQpO1xuXG4gICAgcmV0dXJuIHByb29mU3RlcFVuaWZpZWQ7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCBzdGF0ZW1lbnRVbmlmaWVkO1xuXG4gICAgY29uc3QgcHJlbWlzZSA9IHRoaXMsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBwcmVtaXNlU3RhdGVtZW50ID0gcHJlbWlzZS5nZXRTdGF0ZW1lbnQoKSxcbiAgICAgICAgICBwcmVtaXNlU3RhdGVtZW50U3RyaW5nID0gcHJlbWlzZVN0YXRlbWVudC5nZXRTdHJpbmcoKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBwcmVtaXNlJ3MgJyR7cHJlbWlzZVN0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgICAgcHJlbWlzZVN0YXRlbWVudE5vZGUgPSBwcmVtaXNlU3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlQSA9IHByZW1pc2VTdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgbm9kZUIgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgZmlsZUNvbnRleHRBID0gdGhpcy5maWxlQ29udGV4dCwgIC8vL1xuICAgICAgICAgIGxvY2FsQ29udGV4dEEgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0QSksXG4gICAgICAgICAgbG9jYWxDb250ZXh0QiA9IGxvY2FsQ29udGV4dCwgLy8vXG4gICAgICAgICAgdW5pZmllZCA9IG1ldGFMZXZlbFVuaWZpZXIudW5pZnkobm9kZUEsIG5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIHN0YXRlbWVudFVuaWZpZWQgPSB1bmlmaWVkOyAvLy9cblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBwcmVtaXNlJ3MgJyR7cHJlbWlzZVN0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIHVuaWZ5U3VicHJvb2Yoc3VicHJvb2YsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICAgIGxldCBzdWJwcm9vZlVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHByZW1pc2UgPSB0aGlzLCAvLy9cbiAgICAgICAgICBzdWJwcm9vZlN0cmluZyA9IHN1YnByb29mLmdldFN0cmluZygpLFxuICAgICAgICAgIHByZW1pc2VTdGF0ZW1lbnQgPSBwcmVtaXNlLmdldFN0YXRlbWVudCgpLFxuICAgICAgICAgIHByZW1pc2VTdGF0ZW1lbnRTdHJpbmcgPSBwcmVtaXNlU3RhdGVtZW50LmdldFN0cmluZygpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3VicHJvb2ZTdHJpbmd9JyBzdWJwcm9vZiB3aXRoIHRoZSBwcmVtaXNlJ3MgJyR7cHJlbWlzZVN0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50ID0gdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudC5nZXRTdGF0ZW1lbnQoKSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgICBzdWJwcm9vZkFzc2VydGlvbiA9IFN1YnByb29mQXNzZXJ0aW9uLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIHRoaXMuZmlsZUNvbnRleHQpO1xuXG4gICAgaWYgKHN1YnByb29mQXNzZXJ0aW9uICE9PSBudWxsKSB7XG4gICAgICBzdWJwcm9vZlVuaWZpZWQgPSBzdWJwcm9vZkFzc2VydGlvbi51bmlmeVN1YnByb29mKHN1YnByb29mLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuICAgIH1cblxuICAgIGlmIChzdWJwcm9vZlVuaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3VicHJvb2ZTdHJpbmd9JyBzdWJwcm9vZiB3aXRoIHRoZSBwcmVtaXNlJ3MgJyR7cHJlbWlzZVN0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VicHJvb2ZVbmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5KGxvY2FsQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgcHJlbWlzZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgaWYgKHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtwcmVtaXNlU3RyaW5nfScgcHJlbWlzZS4uLmApO1xuXG4gICAgICBjb25zdCBzdGF0ZWQgPSB0cnVlLFxuICAgICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50LnZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBhc3NpZ25tZW50c0Fzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudHMoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKGFzc2lnbm1lbnRzQXNzaWduZWQpIHtcbiAgICAgICAgICBjb25zdCB7IFByb29mU3RlcCB9ID0gc2hpbSxcbiAgICAgICAgICAgICAgICBwcm9vZlN0ZXAgPSBQcm9vZlN0ZXAuZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50KHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQpO1xuXG4gICAgICAgICAgbG9jYWxDb250ZXh0LmFkZFByb29mU3RlcChwcm9vZlN0ZXApO1xuXG4gICAgICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtwcmVtaXNlU3RyaW5nfScgcHJlbWlzZS5gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGUgJyR7cHJlbWlzZVN0cmluZ30nIHByZW1pc2UgY2Fubm90IGJlIHZlcmlmaWVkIGJlY2F1c2UgaXQgaXMgbm9uc2Vuc2UuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50SlNPTiA9IHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQudG9KU09OKCksXG4gICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnQgPSB1bnF1YWxpZmllZFN0YXRlbWVudEpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgeyB1bnF1YWxpZmllZFN0YXRlbWVudCB9ID0ganNvbjtcblxuICAgIGpzb24gPSB1bnF1YWxpZmllZFN0YXRlbWVudDsgIC8vL1xuXG4gICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnQgPSBVbnF1YWxpZmllZFN0YXRlbWVudC5mcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCk7XG5cbiAgICBjb25zdCBwcmVtaXNlID0gbmV3IFByZW1pc2UoZmlsZUNvbnRleHQsIHVucXVhbGlmaWVkU3RhdGVtZW50KTtcblxuICAgIHJldHVybiBwcmVtaXNlO1xuICB9XG5cbiAgc3RhdGljIGZyb21QcmVtaXNlTm9kZShwcmVtaXNlTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShwcmVtaXNlTm9kZSksXG4gICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnQgPSBVbnF1YWxpZmllZFN0YXRlbWVudC5mcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHByZW1pc2UgPSBuZXcgUHJlbWlzZShmaWxlQ29udGV4dCwgdW5xdWFsaWZpZWRTdGF0ZW1lbnQpO1xuXG4gICAgcmV0dXJuIHByZW1pc2VcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlByZW1pc2UiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImZpbGVDb250ZXh0IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJnZXRGaWxlQ29udGV4dCIsImdldFVucXVhbGlmaWVkU3RhdGVtZW50IiwiZ2V0U3RyaW5nIiwiZ2V0U3RhdGVtZW50IiwidW5pZnlQcm9vZlN0ZXAiLCJwcm9vZlN0ZXAiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0IiwicHJvb2ZTdGVwVW5pZmllZCIsInN1YnByb29mIiwiZ2V0U3VicHJvb2YiLCJzdGF0ZW1lbnQiLCJzbmFwc2hvdCIsInVuaWZ5U3VicHJvb2YiLCJ1bmlmeVN0YXRlbWVudCIsImNvbnRpbnVlIiwicm9sbGJhY2siLCJzdGF0ZW1lbnRVbmlmaWVkIiwicHJlbWlzZSIsInN0YXRlbWVudFN0cmluZyIsInByZW1pc2VTdGF0ZW1lbnQiLCJwcmVtaXNlU3RhdGVtZW50U3RyaW5nIiwidHJhY2UiLCJzdGF0ZW1lbnROb2RlIiwiZ2V0Tm9kZSIsInByZW1pc2VTdGF0ZW1lbnROb2RlIiwibm9kZUEiLCJub2RlQiIsImZpbGVDb250ZXh0QSIsImxvY2FsQ29udGV4dEEiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJsb2NhbENvbnRleHRCIiwidW5pZmllZCIsIm1ldGFMZXZlbFVuaWZpZXIiLCJ1bmlmeSIsImRlYnVnIiwic3VicHJvb2ZVbmlmaWVkIiwic3VicHJvb2ZTdHJpbmciLCJzdWJwcm9vZkFzc2VydGlvbiIsIlN1YnByb29mQXNzZXJ0aW9uIiwiZnJvbVN0YXRlbWVudE5vZGUiLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsInByZW1pc2VTdHJpbmciLCJzdGF0ZWQiLCJhc3NpZ25tZW50cyIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJhc3NpZ25tZW50c0Fzc2lnbmVkIiwiYXNzaWduQXNzaWdubWVudHMiLCJQcm9vZlN0ZXAiLCJzaGltIiwiZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50IiwiYWRkUHJvb2ZTdGVwIiwidG9KU09OIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRKU09OIiwianNvbiIsImZyb21KU09OIiwiVW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJmcm9tUHJlbWlzZU5vZGUiLCJwcmVtaXNlTm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsImZyb21VbnF1YWxpZmllZFN0YXRlbWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBYXFCQTs7OzJEQVhKOzREQUNRO2dFQUNJOytEQUNDO2tFQUNHO3FCQUVQOzJCQUNROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWxDLElBQU1DLGdDQUFnQ0MsSUFBQUEsZ0JBQVMsRUFBQztBQUVqQyxJQUFBLEFBQU1GLHdCQUFOO2FBQU1BLFFBQ1BHLFdBQVcsRUFBRUMsb0JBQW9CO2dDQUQxQko7UUFFakIsSUFBSSxDQUFDRyxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0Msb0JBQW9CLEdBQUdBOztrQkFIWEo7O1lBTW5CSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLFdBQVc7WUFDekI7OztZQUVBRyxL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
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVtaXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcbmltcG9ydCBtZXRhTGV2ZWxVbmlmaWVyIGZyb20gXCIuL3VuaWZpZXIvbWV0YUxldmVsXCI7XG5pbXBvcnQgU3VicHJvb2ZBc3NlcnRpb24gZnJvbSBcIi4vYXNzZXJ0aW9uL3N1YnByb29mXCI7XG5pbXBvcnQgVW5xdWFsaWZpZWRTdGF0ZW1lbnQgZnJvbSBcIi4vc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgYXNzaWduQXNzaWdubWVudHMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcblxuY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJlbWlzZS91bnF1YWxpZmllZFN0YXRlbWVudFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUHJlbWlzZSB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdWJwcm9vZkFzc2VydGlvbiwgdW5xdWFsaWZpZWRTdGF0ZW1lbnQpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0ID0gZmlsZUNvbnRleHQ7XG4gICAgdGhpcy5zdWJwcm9vZkFzc2VydGlvbiA9IHN1YnByb29mQXNzZXJ0aW9uO1xuICAgIHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQgPSB1bnF1YWxpZmllZFN0YXRlbWVudDtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0U3VicHJvb2ZBc3NlcnRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VicHJvb2ZBc3NlcnRpb247XG4gIH1cblxuICBnZXRVbnF1YWxpZmllZFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHsgcmV0dXJuIHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7IH1cblxuICBnZXRTdGF0ZW1lbnQoKSB7IHJldHVybiB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50LmdldFN0YXRlbWVudCgpOyB9XG5cbiAgdW5pZnlQcm9vZlN0ZXAocHJvb2ZTdGVwLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgcHJvb2ZTdGVwVW5pZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VicHJvb2YgPSBwcm9vZlN0ZXAuZ2V0U3VicHJvb2YoKSxcbiAgICAgICAgICBzdGF0ZW1lbnQgPSBwcm9vZlN0ZXAuZ2V0U3RhdGVtZW50KCk7XG5cbiAgICBzdWJzdGl0dXRpb25zLnNuYXBzaG90KCk7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAoc3VicHJvb2YgIT09IG51bGwpIHtcbiAgICAgIHByb29mU3RlcFVuaWZpZWQgPSB0aGlzLnVuaWZ5U3VicHJvb2Yoc3VicHJvb2YsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG4gICAgfSBlbHNlIGlmIChzdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIHByb29mU3RlcFVuaWZpZWQgPSB0aGlzLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcbiAgICB9XG5cbiAgICBwcm9vZlN0ZXBVbmlmaWVkID9cbiAgICAgIHN1YnN0aXR1dGlvbnMuY29udGludWUoKSA6XG4gICAgICAgIHN1YnN0aXR1dGlvbnMucm9sbGJhY2sobG9jYWxDb250ZXh0KTtcblxuICAgIHJldHVybiBwcm9vZlN0ZXBVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllZDtcblxuICAgIGNvbnN0IHByZW1pc2UgPSB0aGlzLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgcHJlbWlzZVN0YXRlbWVudCA9IHByZW1pc2UuZ2V0U3RhdGVtZW50KCksXG4gICAgICAgICAgcHJlbWlzZVN0YXRlbWVudFN0cmluZyA9IHByZW1pc2VTdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgcHJlbWlzZSdzICcke3ByZW1pc2VTdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICAgIHByZW1pc2VTdGF0ZW1lbnROb2RlID0gcHJlbWlzZVN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZUEgPSBwcmVtaXNlU3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG5vZGVCID0gc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIGZpbGVDb250ZXh0QSA9IHRoaXMuZmlsZUNvbnRleHQsICAvLy9cbiAgICAgICAgICBsb2NhbENvbnRleHRBID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dEEpLFxuICAgICAgICAgIGxvY2FsQ29udGV4dEIgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgIHVuaWZpZWQgPSBtZXRhTGV2ZWxVbmlmaWVyLnVuaWZ5KG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICBzdGF0ZW1lbnRVbmlmaWVkID0gdW5pZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgcHJlbWlzZSdzICcke3ByZW1pc2VTdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZWQ7XG4gIH1cblxuICB1bmlmeVN1YnByb29mKHN1YnByb29mLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgc3VicHJvb2ZVbmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBwcmVtaXNlID0gdGhpcywgLy8vXG4gICAgICAgICAgc3VicHJvb2ZTdHJpbmcgPSBzdWJwcm9vZi5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBwcmVtaXNlU3RhdGVtZW50ID0gcHJlbWlzZS5nZXRTdGF0ZW1lbnQoKSxcbiAgICAgICAgICBwcmVtaXNlU3RhdGVtZW50U3RyaW5nID0gcHJlbWlzZVN0YXRlbWVudC5nZXRTdHJpbmcoKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N1YnByb29mU3RyaW5nfScgc3VicHJvb2Ygd2l0aCB0aGUgcHJlbWlzZSdzICcke3ByZW1pc2VTdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuLi5gKTtcblxuICAgIGlmICh0aGlzLnN1YnByb29mQXNzZXJ0aW9uICE9PSBudWxsKSB7XG4gICAgICBzdWJwcm9vZlVuaWZpZWQgPSB0aGlzLnN1YnByb29mQXNzZXJ0aW9uLnVuaWZ5U3VicHJvb2Yoc3VicHJvb2YsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHN1YnByb29mVW5pZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdWJwcm9vZlN0cmluZ30nIHN1YnByb29mIHdpdGggdGhlIHByZW1pc2UncyAnJHtwcmVtaXNlU3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50LmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJwcm9vZlVuaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnkobG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBwcmVtaXNlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBpZiAodGhpcy51bnF1YWxpZmllZFN0YXRlbWVudCAhPT0gbnVsbCkge1xuICAgICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3ByZW1pc2VTdHJpbmd9JyBwcmVtaXNlLi4uYCk7XG5cbiAgICAgIGNvbnN0IHN0YXRlZCA9IHRydWUsXG4gICAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQudmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGFzc2lnbm1lbnRzQXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50cyhhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAoYXNzaWdubWVudHNBc3NpZ25lZCkge1xuICAgICAgICAgIGNvbnN0IHsgUHJvb2ZTdGVwIH0gPSBzaGltLFxuICAgICAgICAgICAgICAgIHByb29mU3RlcCA9IFByb29mU3RlcC5mcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnQodGhpcy51bnF1YWxpZmllZFN0YXRlbWVudCk7XG5cbiAgICAgICAgICBsb2NhbENvbnRleHQuYWRkUHJvb2ZTdGVwKHByb29mU3RlcCk7XG5cbiAgICAgICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3ByZW1pc2VTdHJpbmd9JyBwcmVtaXNlLmApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYFRoZSAnJHtwcmVtaXNlU3RyaW5nfScgcHJlbWlzZSBjYW5ub3QgYmUgdmVyaWZpZWQgYmVjYXVzZSBpdCBpcyBub25zZW5zZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRKU09OID0gdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudC50b0pTT04oKSxcbiAgICAgIHN1YnByb29mQXNzZXJ0aW9uSlNPTiA9ICh0aGlzLnN1YnByb29mQXNzZXJ0aW9uICE9PSBudWxsKSA/XG4gICAgICAgIHRoaXMuc3VicHJvb2ZBc3NlcnRpb24udG9KU09OKCkgOlxuICAgICAgICBudWxsLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnQgPSB1bnF1YWxpZmllZFN0YXRlbWVudEpTT04sICAvLy9cbiAgICAgIHN1YnByb29mQXNzZXJ0aW9uID0gc3VicHJvb2ZBc3NlcnRpb25KU09OLCAgLy8vXG4gICAgICBqc29uID0ge1xuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudCxcbiAgICAgICAgc3VicHJvb2ZBc3NlcnRpb25cbiAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB7IHN1YnByb29mQXNzZXJ0aW9uLCB1bnF1YWxpZmllZFN0YXRlbWVudCB9ID0ganNvbjtcblxuICAgIGpzb24gPSB1bnF1YWxpZmllZFN0YXRlbWVudDsgIC8vL1xuXG4gICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnQgPSBVbnF1YWxpZmllZFN0YXRlbWVudC5mcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCk7XG5cbiAgICBqc29uID0gc3VicHJvb2ZBc3NlcnRpb247IC8vL1xuXG4gICAgc3VicHJvb2ZBc3NlcnRpb24gPSAoanNvbiAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICBTdWJwcm9vZkFzc2VydGlvbi5mcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGw7XG5cbiAgICBjb25zdCBwcmVtaXNlID0gbmV3IFByZW1pc2UoZmlsZUNvbnRleHQsIHN1YnByb29mQXNzZXJ0aW9uLCB1bnF1YWxpZmllZFN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gcHJlbWlzZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3VwcG9zaXRpb25Ob2RlKHN1cHBvc2l0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShzdXBwb3NpdGlvbk5vZGUpLFxuICAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50ID0gVW5xdWFsaWZpZWRTdGF0ZW1lbnQuZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdWJwcm9vZkFzc2VydGlvbiA9IFN1YnByb29mQXNzZXJ0aW9uLmZyb21VbnF1YWxpZmllZFN0YXRlbWVudE5vZGUodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgcHJlbWlzZSA9IG5ldyBQcmVtaXNlKGZpbGVDb250ZXh0LCBzdWJwcm9vZkFzc2VydGlvbiwgdW5xdWFsaWZpZWRTdGF0ZW1lbnQpO1xuXG4gICAgcmV0dXJuIHByZW1pc2VcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlByZW1pc2UiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImZpbGVDb250ZXh0Iiwic3VicHJvb2ZBc3NlcnRpb24iLCJ1bnF1YWxpZmllZFN0YXRlbWVudCIsImdldEZpbGVDb250ZXh0IiwiZ2V0U3VicHJvb2ZBc3NlcnRpb24iLCJnZXRVbnF1YWxpZmllZFN0YXRlbWVudCIsImdldFN0cmluZyIsImdldFN0YXRlbWVudCIsInVuaWZ5UHJvb2ZTdGVwIiwicHJvb2ZTdGVwIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dCIsInByb29mU3RlcFVuaWZpZWQiLCJzdWJwcm9vZiIsImdldFN1YnByb29mIiwic3RhdGVtZW50Iiwic25hcHNob3QiLCJ1bmlmeVN1YnByb29mIiwidW5pZnlTdGF0ZW1lbnQiLCJjb250aW51ZSIsInJvbGxiYWNrIiwic3RhdGVtZW50VW5pZmllZCIsInByZW1pc2UiLCJzdGF0ZW1lbnRTdHJpbmciLCJwcmVtaXNlU3RhdGVtZW50IiwicHJlbWlzZVN0YXRlbWVudFN0cmluZyIsInRyYWNlIiwic3RhdGVtZW50Tm9kZSIsImdldE5vZGUiLCJwcmVtaXNlU3RhdGVtZW50Tm9kZSIsIm5vZGVBIiwibm9kZUIiLCJmaWxlQ29udGV4dEEiLCJsb2NhbENvbnRleHRBIiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwibG9jYWxDb250ZXh0QiIsInVuaWZpZWQiLCJtZXRhTGV2ZWxVbmlmaWVyIiwidW5pZnkiLCJkZWJ1ZyIsInN1YnByb29mVW5pZmllZCIsInN1YnByb29mU3RyaW5nIiwidmVyaWZ5IiwidmVyaWZpZWQiLCJwcmVtaXNlU3RyaW5nIiwic3RhdGVkIiwiYXNzaWdubWVudHMiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwiYXNzaWdubWVudHNBc3NpZ25lZCIsImFzc2lnbkFzc2lnbm1lbnRzIiwiUHJvb2ZTdGVwIiwic2hpbSIsImZyb21VbnF1YWxpZmllZFN0YXRlbWVudCIsImFkZFByb29mU3RlcCIsInRvSlNPTiIsInVucXVhbGlmaWVkU3RhdGVtZW50SlNPTiIsInN1YnByb29mQXNzZXJ0aW9uSlNPTiIsImpzb24iLCJmcm9tSlNPTiIsIlVucXVhbGlmaWVkU3RhdGVtZW50IiwiU3VicHJvb2ZBc3NlcnRpb24iLCJmcm9tU3VwcG9zaXRpb25Ob2RlIiwic3VwcG9zaXRpb25Ob2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFhcUJBOzs7MkRBWEo7NERBQ1E7Z0VBQ0k7K0RBQ0M7a0VBQ0c7cUJBRVA7MkJBQ1E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEMsSUFBTUMsZ0NBQWdDQyxJQUFBQSxnQkFBUyxFQUFDO0FBRWpDLElBQUEsQUFBTUYsd0JBQU47YUFBTUEsUUFDUEcsV0FBVyxFQUFFQyxpQkFBaUIsRUFBRUMsb0JBQW9CO2dDQUQ3Q0w7UUFFakIsSUFBSSxDQUFDRyxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0MsaUJBQWlCLEdBQUdBO1FBQ3pCLElBQUksQ0FBQ0Msb0JBQW9CLEdBQUdBOztrQkFKWEw7O1lBT25CTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFdBQVc7WUFDekI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILGlCQUFpQjtZQUMvQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsb0JBQW9CO1lBQ2xDOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUFjLE9BQU8sSUFBSSxDQUFDSixvQkFBb0IsQ0FBQ0ksU0FBUztZQUFJOzs7WUFFNURDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBaUIsT0FBTyxJQUFJLENBQUNMLG9CQUFvQixDQUFDSyxZQUFZO1lBQUk7OztZQUVsRUMsS0FBQUE7bUJBQUFBLFNBQUFBLGVBQWVDLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxZ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