occam-verify-cli 0.0.1107 → 0.0.1109

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.
@@ -19,6 +19,7 @@ _export(exports, {
19
19
  var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
20
20
  var _combinator = /*#__PURE__*/ _interop_require_default(require("../combinator"));
21
21
  var _combinator1 = /*#__PURE__*/ _interop_require_default(require("../context/bracketed/combinator"));
22
+ var _unification = require("../utilities/unification");
22
23
  function _assert_this_initialized(self) {
23
24
  if (self === void 0) {
24
25
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -105,7 +106,22 @@ var BracketedCombinator = /*#__PURE__*/ function(Combinator) {
105
106
  _class_call_check(this, BracketedCombinator);
106
107
  return _call_super(this, BracketedCombinator, arguments);
107
108
  }
108
- _create_class(BracketedCombinator, null, [
109
+ _create_class(BracketedCombinator, [
110
+ {
111
+ key: "unifyStatement",
112
+ value: function unifyStatement(statement, assignments, stated, context) {
113
+ var statementUnified;
114
+ var statementString = statement.getString();
115
+ context.trace("Unifying the '".concat(statementString, "' statement with the bracketed combinator..."));
116
+ var bracketedCombinator = this, combinator = bracketedCombinator, statementUnifiedWithCombinator = (0, _unification.unifyStatementWithCombinator)(statement, combinator, assignments, stated, context);
117
+ statementUnified = statementUnifiedWithCombinator;
118
+ if (statementUnified) {
119
+ context.debug("...unified the '".concat(statementString, "' statement with the bracketed combinator."));
120
+ }
121
+ return statementUnified;
122
+ }
123
+ }
124
+ ], [
109
125
  {
110
126
  key: "fromNothing",
111
127
  value: function fromNothing() {
@@ -117,4 +133,4 @@ var BracketedCombinator = /*#__PURE__*/ function(Combinator) {
117
133
  return BracketedCombinator;
118
134
  }(_combinator.default);
119
135
 
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21iaW5hdG9yL2JyYWNrZXRlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcbmltcG9ydCBDb21iaW5hdG9yIGZyb20gXCIuLi9jb21iaW5hdG9yXCI7XG5pbXBvcnQgQ29tYmluYXRvckJyYWNrZXRlZENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvYnJhY2tldGVkL2NvbWJpbmF0b3JcIjtcblxuY29uc3QgY29tYmluYXRvckJyYWNrZXRlZENvbnRleHQgPSBDb21iaW5hdG9yQnJhY2tldGVkQ29udGV4dC5mcm9tTm90aGluZygpO1xuXG5leHBvcnQgY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Tm9kZSA9IGNvbWJpbmF0b3JCcmFja2V0ZWRDb250ZXh0LmdldEJyYWNrZXRlZFN0YXRlbWVudE5vZGUoKTsgIC8vL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCcmFja2V0ZWRDb21iaW5hdG9yIGV4dGVuZHMgQ29tYmluYXRvciB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gc2hpbSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgY29udGV4dCA9IGNvbWJpbmF0b3JCcmFja2V0ZWRDb250ZXh0LCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnQgPSBTdGF0ZW1lbnQuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYnJhY2tldGVkQ29tYmluYXRvciA9IG5ldyBCcmFja2V0ZWRDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gYnJhY2tldGVkQ29tYmluYXRvcjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImJyYWNrZXRlZFN0YXRlbWVudE5vZGUiLCJCcmFja2V0ZWRDb21iaW5hdG9yIiwiY29tYmluYXRvckJyYWNrZXRlZENvbnRleHQiLCJDb21iaW5hdG9yQnJhY2tldGVkQ29udGV4dCIsImZyb21Ob3RoaW5nIiwiZ2V0QnJhY2tldGVkU3RhdGVtZW50Tm9kZSIsIlN0YXRlbWVudCIsInNoaW0iLCJzdGF0ZW1lbnROb2RlIiwiY29udGV4dCIsInN0YXRlbWVudCIsImZyb21TdGF0ZW1lbnROb2RlIiwiYnJhY2tldGVkQ29tYmluYXRvciIsIkNvbWJpbmF0b3IiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVFhQSxzQkFBc0I7ZUFBdEJBOzs7ZUFFUUM7OzsyREFSSjtpRUFDTTtrRUFDZ0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdkMsSUFBTUMsNkJBQTZCQyxvQkFBMEIsQ0FBQ0MsV0FBVztBQUVsRSxJQUFNSix5QkFBeUJFLDJCQUEyQkcseUJBQXlCLElBQUssR0FBRztBQUVuRixJQUFBLEFBQU1KLG9DQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtpQ0FBQUE7O2tCQUFBQTs7WUFDWkcsS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQ0wsSUFBTSxBQUFFRSxZQUFjQyxhQUFJLENBQWxCRCxXQUNGRSxnQkFBZ0JSLHdCQUNoQlMsVUFBVVAsNEJBQ1ZRLFlBQVlKLFVBQVVLLGlCQUFpQixDQUFDSCxlQUFlQyxVQUN2REcsc0JBQXNCLElBTlhYLG9CQU1tQ1M7Z0JBRXBELE9BQU9FO1lBQ1Q7OztXQVRtQlg7RUFBNEJZLG1CQUFVIn0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21iaW5hdG9yL2JyYWNrZXRlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcbmltcG9ydCBDb21iaW5hdG9yIGZyb20gXCIuLi9jb21iaW5hdG9yXCI7XG5pbXBvcnQgQ29tYmluYXRvckJyYWNrZXRlZENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvYnJhY2tldGVkL2NvbWJpbmF0b3JcIjtcblxuaW1wb3J0IHsgdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciB9IGZyb20gXCIuLi91dGlsaXRpZXMvdW5pZmljYXRpb25cIjtcblxuY29uc3QgY29tYmluYXRvckJyYWNrZXRlZENvbnRleHQgPSBDb21iaW5hdG9yQnJhY2tldGVkQ29udGV4dC5mcm9tTm90aGluZygpO1xuXG5leHBvcnQgY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Tm9kZSA9IGNvbWJpbmF0b3JCcmFja2V0ZWRDb250ZXh0LmdldEJyYWNrZXRlZFN0YXRlbWVudE5vZGUoKTsgIC8vL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCcmFja2V0ZWRDb21iaW5hdG9yIGV4dGVuZHMgQ29tYmluYXRvciB7XG4gIHVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICAgIGxldCBzdGF0ZW1lbnRVbmlmaWVkO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBicmFja2V0ZWQgY29tYmluYXRvci4uLmApO1xuXG4gICAgY29uc3QgYnJhY2tldGVkQ29tYmluYXRvciA9IHRoaXMsIC8vL1xuICAgICAgICAgIGNvbWJpbmF0b3IgPSBicmFja2V0ZWRDb21iaW5hdG9yLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IgPSB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yKHN0YXRlbWVudCwgY29tYmluYXRvciwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICBzdGF0ZW1lbnRVbmlmaWVkID0gc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yO1xuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBicmFja2V0ZWQgY29tYmluYXRvci5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gc2hpbSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgY29udGV4dCA9IGNvbWJpbmF0b3JCcmFja2V0ZWRDb250ZXh0LCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnQgPSBTdGF0ZW1lbnQuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYnJhY2tldGVkQ29tYmluYXRvciA9IG5ldyBCcmFja2V0ZWRDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gYnJhY2tldGVkQ29tYmluYXRvcjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImJyYWNrZXRlZFN0YXRlbWVudE5vZGUiLCJCcmFja2V0ZWRDb21iaW5hdG9yIiwiY29tYmluYXRvckJyYWNrZXRlZENvbnRleHQiLCJDb21iaW5hdG9yQnJhY2tldGVkQ29udGV4dCIsImZyb21Ob3RoaW5nIiwiZ2V0QnJhY2tldGVkU3RhdGVtZW50Tm9kZSIsInVuaWZ5U3RhdGVtZW50Iiwic3RhdGVtZW50IiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJjb250ZXh0Iiwic3RhdGVtZW50VW5pZmllZCIsInN0YXRlbWVudFN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwiYnJhY2tldGVkQ29tYmluYXRvciIsImNvbWJpbmF0b3IiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IiLCJ1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIiwiZGVidWciLCJTdGF0ZW1lbnQiLCJzaGltIiwic3RhdGVtZW50Tm9kZSIsImZyb21TdGF0ZW1lbnROb2RlIiwiQ29tYmluYXRvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBVWFBLHNCQUFzQjtlQUF0QkE7OztlQUVRQzs7OzJEQVZKO2lFQUNNO2tFQUNnQjsyQkFFTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QyxJQUFNQyw2QkFBNkJDLG9CQUEwQixDQUFDQyxXQUFXO0FBRWxFLElBQU1KLHlCQUF5QkUsMkJBQTJCRyx5QkFBeUIsSUFBSyxHQUFHO0FBRW5GLElBQUEsQUFBTUosb0NBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2lDQUFBQTs7a0JBQUFBOztZQUNuQkssS0FBQUE7bUJBQUFBLFNBQUFBLGVBQWVDLFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLE9BQU87Z0JBQ3BELElBQUlDO2dCQUVKLElBQU1DLGtCQUFrQkwsVUFBVU0sU0FBUztnQkFFM0NILFFBQVFJLEtBQUssQ0FBQyxBQUFDLGlCQUFnQyxPQUFoQkYsaUJBQWdCO2dCQUUvQyxJQUFNRyxzQkFBc0IsSUFBSSxFQUMxQkMsYUFBYUQscUJBQ2JFLGlDQUFpQ0MsSUFBQUEseUNBQTRCLEVBQUNYLFdBQVdTLFlBQVlSLGFBQWFDLFFBQVFDO2dCQUVoSEMsbUJBQW1CTTtnQkFFbkIsSUFBSU4sa0JBQWtCO29CQUNwQkQsUUFBUVMsS0FBSyxDQUFDLEFBQUMsbUJBQWtDLE9BQWhCUCxpQkFBZ0I7Z0JBQ25EO2dCQUVBLE9BQU9EO1lBQ1Q7Ozs7WUFFT1AsS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQ0wsSUFBTSxBQUFFZ0IsWUFBY0MsYUFBSSxDQUFsQkQsV0FDRkUsZ0JBQWdCdEIsd0JBQ2hCVSxVQUFVUiw0QkFDVkssWUFBWWEsVUFBVUcsaUJBQWlCLENBQUNELGVBQWVaLFVBQ3ZESyxzQkFBc0IsSUExQlhkLG9CQTBCbUNNO2dCQUVwRCxPQUFPUTtZQUNUOzs7V0E3Qm1CZDtFQUE0QnVCLG1CQUFVIn0=
package/lib/combinator.js CHANGED
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "default", {
11
11
  var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
12
12
  var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
13
13
  var _query = require("./utilities/query");
14
+ var _unification = require("./utilities/unification");
14
15
  var _json = require("./utilities/json");
15
16
  function _class_call_check(instance, Constructor) {
16
17
  if (!(instance instanceof Constructor)) {
@@ -62,6 +63,20 @@ var Combinator = /*#__PURE__*/ function() {
62
63
  return statementNode;
63
64
  }
64
65
  },
66
+ {
67
+ key: "unifyStatement",
68
+ value: function unifyStatement(statement, assignments, stated, context) {
69
+ var statementUnified;
70
+ var combinator = this, statementString = statement.getString(), combinatorString = combinator.getString();
71
+ context.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."));
72
+ var statementUnifiedWithCombinator = (0, _unification.unifyStatementWithCombinator)(statement, combinator, assignments, stated, context);
73
+ statementUnified = statementUnifiedWithCombinator; ///
74
+ if (statementUnified) {
75
+ context.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."));
76
+ }
77
+ return statementUnified;
78
+ }
79
+ },
65
80
  {
66
81
  key: "verifyWhenDeclared",
67
82
  value: function verifyWhenDeclared(fileContext) {
@@ -108,4 +123,4 @@ Object.assign(_shim.default, {
108
123
  });
109
124
  var _default = Combinator;
110
125
 
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdGF0ZW1lbnRGcm9tSlNPTiwgc3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbWJpbmF0b3JEZWNsYXJhdGlvbi9zdGF0ZW1lbnRcIik7XG5cbmNsYXNzIENvbWJpbmF0b3Ige1xuICBjb25zdHJ1Y3RvcihzdGF0ZW1lbnQpIHtcbiAgICB0aGlzLnN0YXRlbWVudCA9IHN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7IHJldHVybiB0aGlzLnN0YXRlbWVudC5nZXRTdHJpbmcoKTsgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHRoaXMuc3RhdGVtZW50LmdldE5vZGUoKTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgdmVyaWZ5V2hlbkRlY2xhcmVkKGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkV2hlbkRlY2xhcmVkO1xuXG4gICAgY29uc3QgY29tYmluYXRvclN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3Igd2hlbiBkZWNsYXJlZC4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWRBdFRvcExldmVsID0gdGhpcy5zdGF0ZW1lbnQudmVyaWZ5V2hlbkRlY2xhcmVkKGZpbGVDb250ZXh0KTtcblxuICAgIHZlcmlmaWVkV2hlbkRlY2xhcmVkID0gc3RhdGVtZW50VmVyaWZpZWRBdFRvcExldmVsOyAvLy9cblxuICAgIGlmICh2ZXJpZmllZFdoZW5EZWNsYXJlZCkge1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvciB3aGVuIGRlY2xhcmVkLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZFdoZW5EZWNsYXJlZDtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRKU09OID0gc3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OKHRoaXMuc3RhdGVtZW50KSxcbiAgICAgICAgICBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHN0YXRlbWVudCA9IHN0YXRlbWVudEZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBjb21iaW5hdG9yID0gbmV3IENvbWJpbmF0b3Ioc3RhdGVtZW50KTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlKGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBTdGF0ZW1lbnQgfSA9IHNoaW0sXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdGF0ZW1lbnQgPSBTdGF0ZW1lbnQuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgICBjb21iaW5hdG9yID0gbmV3IENvbWJpbmF0b3Ioc3RhdGVtZW50KTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oc2hpbSwge1xuICBDb21iaW5hdG9yXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQ29tYmluYXRvcjtcblxuIl0sIm5hbWVzIjpbInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIkNvbWJpbmF0b3IiLCJzdGF0ZW1lbnQiLCJnZXRTdGF0ZW1lbnQiLCJnZXRTdHJpbmciLCJnZXRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsImdldE5vZGUiLCJ2ZXJpZnlXaGVuRGVjbGFyZWQiLCJmaWxlQ29udGV4dCIsInZlcmlmaWVkV2hlbkRlY2xhcmVkIiwiY29tYmluYXRvclN0cmluZyIsInRyYWNlIiwic3RhdGVtZW50VmVyaWZpZWRBdFRvcExldmVsIiwiZGVidWciLCJ0b0pTT04iLCJzdGF0ZW1lbnRKU09OIiwic3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIiwianNvbiIsImZyb21KU09OIiwic3RhdGVtZW50RnJvbUpTT04iLCJjb21iaW5hdG9yIiwiZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiU3RhdGVtZW50Iiwic2hpbSIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsImZyb21TdGF0ZW1lbnROb2RlIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE2RUE7OztlQUFBOzs7MkRBM0VpQjs0REFDUTtxQkFFQztvQkFDa0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUQsSUFBTUEscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXJDLElBQUEsQUFBTUMsMkJBQU47YUFBTUEsV0FDUUMsU0FBUztnQ0FEakJEO1FBRUYsSUFBSSxDQUFDQyxTQUFTLEdBQUdBOztrQkFGZkQ7O1lBS0pFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsU0FBUztZQUN2Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBYyxPQUFPLElBQUksQ0FBQ0YsU0FBUyxDQUFDRSxTQUFTO1lBQUk7OztZQUVqREMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGdCQUFnQixJQUFJLENBQUNKLFNBQVMsQ0FBQ0ssT0FBTztnQkFFNUMsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUJDLFdBQVc7Z0JBQzVCLElBQUlDO2dCQUVKLElBQU1DLG1CQUFtQixJQUFJLENBQUNQLFNBQVMsSUFBSSxHQUFHO2dCQUU5Q0ssWUFBWUcsS0FBSyxDQUFDLEFBQUMsa0JBQWtDLE9BQWpCRCxrQkFBaUI7Z0JBRXJELElBQU1FLDhCQUE4QixJQUFJLENBQUNYLFNBQVMsQ0FBQ00sa0JBQWtCLENBQUNDO2dCQUV0RUMsdUJBQXVCRyw2QkFBNkIsR0FBRztnQkFFdkQsSUFBSUgsc0JBQXNCO29CQUN4QkQsWUFBWUssS0FBSyxDQUFDLEFBQUMsb0JBQW9DLE9BQWpCSCxrQkFBaUI7Z0JBQ3pEO2dCQUVBLE9BQU9EO1lBQ1Q7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsZ0JBQWdCQyxJQUFBQSw4QkFBd0IsRUFBQyxJQUFJLENBQUNmLFNBQVMsR0FDdkRBLFlBQVljLGVBQ1pFLE9BQU87b0JBQ0xoQixXQUFBQTtnQkFDRjtnQkFFTixPQUFPZ0I7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRCxJQUFJLEVBQUVULFdBQVc7Z0JBQy9CLElBQU1QLFlBQVlrQixJQUFBQSx1QkFBaUIsRUFBQ0YsTUFBTVQsY0FDcENZLGFBQWEsSUEvQ2pCcEIsV0ErQ2dDQztnQkFFbEMsT0FBT21CO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSw4QkFBOEJDLHlCQUF5QixFQUFFZCxXQUFXO2dCQUN6RSxJQUFNLEFBQUVlLFlBQWNDLGFBQUksQ0FBbEJELFdBQ0ZsQixnQkFBZ0JQLG1CQUFtQndCLDRCQUNuQ0csZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUNuQixjQUM1Q1AsWUFBWXNCLFVBQVVLLGlCQUFpQixDQUFDdkIsZUFBZW9CLGVBQ3ZETCxhQUFhLElBekRqQnBCLFdBeURnQ0M7Z0JBRWxDLE9BQU9tQjtZQUNUOzs7V0E1RElwQjs7QUErRE42QixPQUFPQyxNQUFNLENBQUNOLGFBQUksRUFBRTtJQUNsQnhCLFlBQUFBO0FBQ0Y7SUFFQSxXQUFlQSJ9
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3VuaWZpY2F0aW9uXCI7XG5pbXBvcnQgeyBzdGF0ZW1lbnRGcm9tSlNPTiwgc3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbWJpbmF0b3JEZWNsYXJhdGlvbi9zdGF0ZW1lbnRcIik7XG5cbmNsYXNzIENvbWJpbmF0b3Ige1xuICBjb25zdHJ1Y3RvcihzdGF0ZW1lbnQpIHtcbiAgICB0aGlzLnN0YXRlbWVudCA9IHN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7IHJldHVybiB0aGlzLnN0YXRlbWVudC5nZXRTdHJpbmcoKTsgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHRoaXMuc3RhdGVtZW50LmdldE5vZGUoKTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgICBjb25zdCBjb21iaW5hdG9yID0gdGhpcywgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBjb21iaW5hdG9yU3RyaW5nID0gY29tYmluYXRvci5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3IuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvciA9IHVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3Ioc3RhdGVtZW50LCBjb21iaW5hdG9yLCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICAgIHN0YXRlbWVudFVuaWZpZWQgPSBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3I7IC8vL1xuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIHZlcmlmeVdoZW5EZWNsYXJlZChmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5EZWNsYXJlZDtcblxuICAgIGNvbnN0IGNvbWJpbmF0b3JTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbWJpbmF0b3JTdHJpbmd9JyBjb21iaW5hdG9yIHdoZW4gZGVjbGFyZWQuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkQXRUb3BMZXZlbCA9IHRoaXMuc3RhdGVtZW50LnZlcmlmeVdoZW5EZWNsYXJlZChmaWxlQ29udGV4dCk7XG5cbiAgICB2ZXJpZmllZFdoZW5EZWNsYXJlZCA9IHN0YXRlbWVudFZlcmlmaWVkQXRUb3BMZXZlbDsgLy8vXG5cbiAgICBpZiAodmVyaWZpZWRXaGVuRGVjbGFyZWQpIHtcbiAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3Igd2hlbiBkZWNsYXJlZC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRXaGVuRGVjbGFyZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50SlNPTiA9IHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTih0aGlzLnN0YXRlbWVudCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50SlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBzdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgY29tYmluYXRvciA9IG5ldyBDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZShjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgU3RhdGVtZW50IH0gPSBzaGltLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgY29tYmluYXRvciA9IG5ldyBDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgQ29tYmluYXRvclxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IENvbWJpbmF0b3I7XG5cbiJdLCJuYW1lcyI6WyJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJDb21iaW5hdG9yIiwic3RhdGVtZW50IiwiZ2V0U3RhdGVtZW50IiwiZ2V0U3RyaW5nIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGUiLCJnZXROb2RlIiwidW5pZnlTdGF0ZW1lbnQiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImNvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkIiwiY29tYmluYXRvciIsInN0YXRlbWVudFN0cmluZyIsImNvbWJpbmF0b3JTdHJpbmciLCJ0cmFjZSIsInN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvciIsInVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3IiLCJkZWJ1ZyIsInZlcmlmeVdoZW5EZWNsYXJlZCIsImZpbGVDb250ZXh0IiwidmVyaWZpZWRXaGVuRGVjbGFyZWQiLCJzdGF0ZW1lbnRWZXJpZmllZEF0VG9wTGV2ZWwiLCJ0b0pTT04iLCJzdGF0ZW1lbnRKU09OIiwic3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIiwianNvbiIsImZyb21KU09OIiwic3RhdGVtZW50RnJvbUpTT04iLCJmcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJTdGF0ZW1lbnQiLCJzaGltIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiZnJvbVN0YXRlbWVudE5vZGUi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
@@ -19,6 +19,7 @@ _export(exports, {
19
19
  var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
20
20
  var _constructor = /*#__PURE__*/ _interop_require_wildcard(require("../constructor"));
21
21
  var _constructor1 = /*#__PURE__*/ _interop_require_default(require("../context/bracketed/constructor"));
22
+ var _query = require("../utilities/query");
22
23
  function _assert_this_initialized(self) {
23
24
  if (self === void 0) {
24
25
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -48,6 +49,22 @@ function _create_class(Constructor, protoProps, staticProps) {
48
49
  if (staticProps) _defineProperties(Constructor, staticProps);
49
50
  return Constructor;
50
51
  }
52
+ function _get(target, property, receiver) {
53
+ if (typeof Reflect !== "undefined" && Reflect.get) {
54
+ _get = Reflect.get;
55
+ } else {
56
+ _get = function get(target, property, receiver) {
57
+ var base = _super_prop_base(target, property);
58
+ if (!base) return;
59
+ var desc = Object.getOwnPropertyDescriptor(base, property);
60
+ if (desc.get) {
61
+ return desc.get.call(receiver || target);
62
+ }
63
+ return desc.value;
64
+ };
65
+ }
66
+ return _get(target, property, receiver || target);
67
+ }
51
68
  function _get_prototype_of(o) {
52
69
  _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
53
70
  return o.__proto__ || Object.getPrototypeOf(o);
@@ -126,6 +143,13 @@ function _set_prototype_of(o, p) {
126
143
  };
127
144
  return _set_prototype_of(o, p);
128
145
  }
146
+ function _super_prop_base(object, property) {
147
+ while(!Object.prototype.hasOwnProperty.call(object, property)){
148
+ object = _get_prototype_of(object);
149
+ if (object === null) break;
150
+ }
151
+ return object;
152
+ }
129
153
  function _type_of(obj) {
130
154
  "@swc/helpers - typeof";
131
155
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
@@ -138,6 +162,7 @@ function _is_native_reflect_construct() {
138
162
  return !!result;
139
163
  })();
140
164
  }
165
+ var termNodeQuery = (0, _query.nodeQuery)("/term/argument/term");
141
166
  var constructorBracketedContext = _constructor1.default.fromNothing();
142
167
  var bracketedTermNode = constructorBracketedContext.getBracketedTermNode();
143
168
  var BracketedConstructor = /*#__PURE__*/ function(Constructor) {
@@ -146,7 +171,36 @@ var BracketedConstructor = /*#__PURE__*/ function(Constructor) {
146
171
  _class_call_check(this, BracketedConstructor);
147
172
  return _call_super(this, BracketedConstructor, arguments);
148
173
  }
149
- _create_class(BracketedConstructor, null, [
174
+ _create_class(BracketedConstructor, [
175
+ {
176
+ key: "unifyTerm",
177
+ value: function unifyTerm(term, context, verifyAhead) {
178
+ var termUnified;
179
+ var termString = term.getString();
180
+ context.trace("Unifying the '".concat(termString, "' term with the bracketed constructor..."), term);
181
+ termUnified = _get(_get_prototype_of(BracketedConstructor.prototype), "unifyTerm", this).call(this, term, context, function() {
182
+ var verifiedAhead = false;
183
+ var Term = _shim.default.Term, bracketedTerm = term, bracketedTermNode = bracketedTerm.getNode(), termNode = termNodeQuery(bracketedTermNode); ///
184
+ term = Term.fromTermNode(termNode, context);
185
+ if (term !== null) {
186
+ var termVVerified = term.verify(context, function() {
187
+ var verifiedAhead;
188
+ var type = term.getType();
189
+ bracketedTerm.setType(type);
190
+ verifiedAhead = verifyAhead();
191
+ return verifiedAhead;
192
+ });
193
+ verifiedAhead = termVVerified; ///
194
+ }
195
+ return verifiedAhead;
196
+ });
197
+ if (termUnified) {
198
+ context.debug("...unified the '".concat(termString, "' term with the bracketed constructor."), term);
199
+ }
200
+ return termUnified;
201
+ }
202
+ }
203
+ ], [
150
204
  {
151
205
  key: "fromNothing",
152
206
  value: function fromNothing() {
@@ -158,4 +212,4 @@ var BracketedConstructor = /*#__PURE__*/ function(Constructor) {
158
212
  return BracketedConstructor;
159
213
  }(_constructor.default);
160
214
 
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3Rvci9icmFja2V0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgQ29uc3RydWN0b3IgZnJvbSBcIi4uL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQgQ29uc3RydWN0b3JCcmFja2V0ZWRDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2JyYWNrZXRlZC9jb25zdHJ1Y3RvclwiO1xuXG5pbXBvcnQgeyBzdHJpbmdGcm9tVGVybUFuZFR5cGUgfSBmcm9tIFwiLi4vY29uc3RydWN0b3JcIjtcblxuY29uc3QgY29uc3RydWN0b3JCcmFja2V0ZWRDb250ZXh0ID0gQ29uc3RydWN0b3JCcmFja2V0ZWRDb250ZXh0LmZyb21Ob3RoaW5nKCk7XG5cbmV4cG9ydCBjb25zdCBicmFja2V0ZWRUZXJtTm9kZSA9IGNvbnN0cnVjdG9yQnJhY2tldGVkQ29udGV4dC5nZXRCcmFja2V0ZWRUZXJtTm9kZSgpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCcmFja2V0ZWRDb25zdHJ1Y3RvciBleHRlbmRzIENvbnN0cnVjdG9yIHtcbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IHsgVGVybSB9ID0gc2hpbSxcbiAgICAgICAgICB0ZXJtTm9kZSA9IGJyYWNrZXRlZFRlcm1Ob2RlLCAgLy8vXG4gICAgICAgICAgY29udGV4dCA9IGNvbnN0cnVjdG9yQnJhY2tldGVkQ29udGV4dCwgLy8vXG4gICAgICAgICAgdGVybSA9IFRlcm0uZnJvbVRlcm1Ob2RlKHRlcm1Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICB0eXBlID0gbnVsbCxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVGVybUFuZFR5cGUodGVybSwgdHlwZSksXG4gICAgICAgICAgYnJhY2tldGVkQ29uc3RydWN0b3IgPSBuZXcgQnJhY2tldGVkQ29uc3RydWN0b3Ioc3RyaW5nLCB0ZXJtKTtcblxuICAgIHJldHVybiBicmFja2V0ZWRDb25zdHJ1Y3RvcjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImJyYWNrZXRlZFRlcm1Ob2RlIiwiQnJhY2tldGVkQ29uc3RydWN0b3IiLCJjb25zdHJ1Y3RvckJyYWNrZXRlZENvbnRleHQiLCJDb25zdHJ1Y3RvckJyYWNrZXRlZENvbnRleHQiLCJmcm9tTm90aGluZyIsImdldEJyYWNrZXRlZFRlcm1Ob2RlIiwiVGVybSIsInNoaW0iLCJ0ZXJtTm9kZSIsImNvbnRleHQiLCJ0ZXJtIiwiZnJvbVRlcm1Ob2RlIiwidHlwZSIsInN0cmluZyIsInN0cmluZ0Zyb21UZXJtQW5kVHlwZSIsImJyYWNrZXRlZENvbnN0cnVjdG9yIiwiQ29uc3RydWN0b3IiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVVhQSxpQkFBaUI7ZUFBakJBOzs7ZUFFUUM7OzsyREFWSjttRUFDTzttRUFDZ0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUl4QyxJQUFNQyw4QkFBOEJDLHFCQUEyQixDQUFDQyxXQUFXO0FBRXBFLElBQU1KLG9CQUFvQkUsNEJBQTRCRyxvQkFBb0I7QUFFbEUsSUFBQSxBQUFNSixxQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBQ1pHLEtBQUFBO21CQUFQLFNBQU9BO2dCQUNMLElBQU0sQUFBRUUsT0FBU0MsYUFBSSxDQUFiRCxNQUNGRSxXQUFXUixtQkFDWFMsVUFBVVAsNkJBQ1ZRLE9BQU9KLEtBQUtLLFlBQVksQ0FBQ0gsVUFBVUMsVUFDbkNHLE9BQU8sTUFDUEMsU0FBU0MsSUFBQUEsa0NBQXFCLEVBQUNKLE1BQU1FLE9BQ3JDRyx1QkFBdUIsSUFSWmQscUJBUXFDWSxRQUFRSDtnQkFFOUQsT0FBT0s7WUFDVDs7O1dBWG1CZDtFQUE2QmUsb0JBQVcifQ==
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3Rvci9icmFja2V0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgQ29uc3RydWN0b3IgZnJvbSBcIi4uL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQgQ29uc3RydWN0b3JCcmFja2V0ZWRDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2JyYWNrZXRlZC9jb25zdHJ1Y3RvclwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdHJpbmdGcm9tVGVybUFuZFR5cGUgfSBmcm9tIFwiLi4vY29uc3RydWN0b3JcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL2FyZ3VtZW50L3Rlcm1cIik7XG5cbmNvbnN0IGNvbnN0cnVjdG9yQnJhY2tldGVkQ29udGV4dCA9IENvbnN0cnVjdG9yQnJhY2tldGVkQ29udGV4dC5mcm9tTm90aGluZygpO1xuXG5leHBvcnQgY29uc3QgYnJhY2tldGVkVGVybU5vZGUgPSBjb25zdHJ1Y3RvckJyYWNrZXRlZENvbnRleHQuZ2V0QnJhY2tldGVkVGVybU5vZGUoKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnJhY2tldGVkQ29uc3RydWN0b3IgZXh0ZW5kcyBDb25zdHJ1Y3RvciB7XG4gIHVuaWZ5VGVybSh0ZXJtLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCB0ZXJtVW5pZmllZDtcblxuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlIGJyYWNrZXRlZCBjb25zdHJ1Y3Rvci4uLmAsIHRlcm0pO1xuXG4gICAgdGVybVVuaWZpZWQgPSBzdXBlci51bmlmeVRlcm0odGVybSwgY29udGV4dCwgKCkgPT4ge1xuICAgICAgbGV0IHZlcmlmaWVkQWhlYWQgPSBmYWxzZTtcblxuICAgICAgY29uc3QgeyBUZXJtIH0gPSBzaGltLFxuICAgICAgICAgICAgYnJhY2tldGVkVGVybSA9IHRlcm0sIC8vL1xuICAgICAgICAgICAgYnJhY2tldGVkVGVybU5vZGUgPSBicmFja2V0ZWRUZXJtLmdldE5vZGUoKSxcbiAgICAgICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShicmFja2V0ZWRUZXJtTm9kZSk7IC8vL1xuXG4gICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGUodGVybU5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAodGVybSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCB0ZXJtVlZlcmlmaWVkID0gdGVybS52ZXJpZnkoY29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgICAgICAgY29uc3QgdHlwZSA9IHRlcm0uZ2V0VHlwZSgpO1xuXG4gICAgICAgICAgYnJhY2tldGVkVGVybS5zZXRUeXBlKHR5cGUpO1xuXG4gICAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG5cbiAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHRlcm1WVmVyaWZpZWQ7ICAvLy9cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgfSk7XG5cbiAgICBpZiAodGVybVVuaWZpZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlIGJyYWNrZXRlZCBjb25zdHJ1Y3Rvci5gLCB0ZXJtKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVybVVuaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgeyBUZXJtIH0gPSBzaGltLFxuICAgICAgICAgIHRlcm1Ob2RlID0gYnJhY2tldGVkVGVybU5vZGUsICAvLy9cbiAgICAgICAgICBjb250ZXh0ID0gY29uc3RydWN0b3JCcmFja2V0ZWRDb250ZXh0LCAvLy9cbiAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGUodGVybU5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIHR5cGUgPSBudWxsLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UZXJtQW5kVHlwZSh0ZXJtLCB0eXBlKSxcbiAgICAgICAgICBicmFja2V0ZWRDb25zdHJ1Y3RvciA9IG5ldyBCcmFja2V0ZWRDb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pO1xuXG4gICAgcmV0dXJuIGJyYWNrZXRlZENvbnN0cnVjdG9yO1xuICB9XG59XG4iXSwibmFtZXMiOlsiYnJhY2tldGVkVGVybU5vZGUiLCJCcmFja2V0ZWRDb25zdHJ1Y3RvciIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJjb25zdHJ1Y3RvckJyYWNrZXRlZENvbnRleHQiLCJDb25zdHJ1Y3RvckJyYWNrZXRlZENvbnRleHQiLCJmcm9tTm90aGluZyIsImdldEJyYWNrZXRlZFRlcm1Ob2RlIiwidW5pZnlUZXJtIiwidGVybSIsImNvbnRleHQiLCJ2ZXJpZnlBaGVhZCIsInRlcm1VbmlmaWVkIiwidGVybVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmVyaWZpZWRBaGVhZCIsIlRlcm0iLCJzaGltIiwiYnJhY2tldGVkVGVybSIsImdldE5vZGUiLCJ0ZXJtTm9kZSIsImZyb21UZXJtTm9kZSIsInRlcm1WVmVyaWZpZWQiLCJ2ZXJpZnkiLCJ0eXBlIiwiZ2V0VHlwZSIsInNldFR5cGUiLCJkZWJ1ZyIsInN0cmluZyIsInN0cmluZ0Zyb21UZXJtQW5kVHlwZSIsImJyYWNrZXRlZENvbnN0cnVjdG9yIiwiQ29uc3RydWN0b3IiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQWFhQSxpQkFBaUI7ZUFBakJBOzs7ZUFFUUM7OzsyREFiSjttRUFDTzttRUFDZ0I7cUJBRWQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzFCLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUVoQyxJQUFNQyw4QkFBOEJDLHFCQUEyQixDQUFDQyxXQUFXO0FBRXBFLElBQU1OLG9CQUFvQkksNEJBQTRCRyxvQkFBb0I7QUFFbEUsSUFBQSxBQUFNTixxQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBQ25CTyxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVUMsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLFdBQVc7Z0JBQ2xDLElBQUlDO2dCQUVKLElBQU1DLGFBQWFKLEtBQUtLLFNBQVM7Z0JBRWpDSixRQUFRSyxLQUFLLENBQUMsQUFBQyxpQkFBMkIsT0FBWEYsWUFBVyw2Q0FBMkNKO2dCQUVyRkcsY0FBYyx1QkFSR1gsaUNBUUdPLGFBQU4sSUFBSyxhQUFXQyxNQUFNQyxTQUFTO29CQUMzQyxJQUFJTSxnQkFBZ0I7b0JBRXBCLElBQU0sQUFBRUMsT0FBU0MsYUFBSSxDQUFiRCxNQUNGRSxnQkFBZ0JWLE1BQ2hCVCxvQkFBb0JtQixjQUFjQyxPQUFPLElBQ3pDQyxXQUFXbkIsY0FBY0Ysb0JBQW9CLEdBQUc7b0JBRXREUyxPQUFPUSxLQUFLSyxZQUFZLENBQUNELFVBQVVYO29CQUVuQyxJQUFJRCxTQUFTLE1BQU07d0JBQ2pCLElBQU1jLGdCQUFnQmQsS0FBS2UsTUFBTSxDQUFDZCxTQUFTOzRCQUN6QyxJQUFJTTs0QkFFSixJQUFNUyxPQUFPaEIsS0FBS2lCLE9BQU87NEJBRXpCUCxjQUFjUSxPQUFPLENBQUNGOzRCQUV0QlQsZ0JBQWdCTDs0QkFFaEIsT0FBT0s7d0JBQ1Q7d0JBRUFBLGdCQUFnQk8sZUFBZ0IsR0FBRztvQkFDckM7b0JBRUEsT0FBT1A7Z0JBQ1Q7Z0JBRUEsSUFBSUosYUFBYTtvQkFDZkYsUUFBUWtCLEtBQUssQ0FBQyxBQUFDLG1CQUE2QixPQUFYZixZQUFXLDJDQUF5Q0o7Z0JBQ3ZGO2dCQUVBLE9BQU9HO1lBQ1Q7Ozs7WUFFT04sS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQ0wsSUFBTSxBQUFFVyxPQUFTQyxhQUFJLENBQWJELE1BQ0ZJLFdBQVdyQixtQkFDWFUsVUFBVU4sNkJBQ1ZLLE9BQU9RLEtBQUtLLFlBQVksQ0FBQ0QsVUFBVVgsVUFDbkNlLE9BQU8sTUFDUEksU0FBU0MsSUFBQUEsa0NBQXFCLEVBQUNyQixNQUFNZ0IsT0FDckNNLHVCQUF1QixJQW5EWjlCLHFCQW1EcUM0QixRQUFRcEI7Z0JBRTlELE9BQU9zQjtZQUNUOzs7V0F0RG1COUI7RUFBNkIrQixvQkFBVyJ9
@@ -19,6 +19,7 @@ _export(exports, {
19
19
  var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
20
20
  var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
21
21
  var _query = require("./utilities/query");
22
+ var _unification = require("./utilities/unification");
22
23
  var _json = require("./utilities/json");
23
24
  function _class_call_check(instance, Constructor) {
24
25
  if (!(instance instanceof Constructor)) {
@@ -70,6 +71,26 @@ var Constructor = /*#__PURE__*/ function() {
70
71
  return this.term.getType();
71
72
  }
72
73
  },
74
+ {
75
+ key: "unifyTerm",
76
+ value: function unifyTerm(term, context, verifyAhead) {
77
+ var termUnified = false;
78
+ var constructor = this, termString = term.getString(), constructorString = constructor.getString();
79
+ context.trace("Unifying the '".concat(termString, "' term with the '").concat(constructorString, "' constructor..."), term);
80
+ var termUnifiedWithConstructor = (0, _unification.unifyTermWithConstructor)(term, constructor, context);
81
+ if (termUnifiedWithConstructor) {
82
+ var verifiedAhead;
83
+ var type = constructor.getType();
84
+ term.setType(type);
85
+ verifiedAhead = verifyAhead();
86
+ termUnified = verifiedAhead; ///
87
+ }
88
+ if (termUnified) {
89
+ context.debug("...unified the '".concat(termString, "' term with the '").concat(constructorString, "' constructor."), term);
90
+ }
91
+ return termUnified;
92
+ }
93
+ },
73
94
  {
74
95
  key: "verifyWhenDeclared",
75
96
  value: function verifyWhenDeclared(fileContext) {
@@ -129,4 +150,4 @@ function stringFromTermAndType(term, type) {
129
150
  return string;
130
151
  }
131
152
 
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdGVybUZyb21KU09OLCB0ZXJtVG9UZXJtSlNPTiB9IGZyb20gXCIuL3V0aWxpdGllcy9qc29uXCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uc3RydWN0b3JEZWNsYXJhdGlvbi90ZXJtXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uL3R5cGVcIik7XG5cbmNsYXNzIENvbnN0cnVjdG9yIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB0ZXJtKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRUeXBlKCkgeyByZXR1cm4gdGhpcy50ZXJtLmdldFR5cGUoKTsgfVxuXG4gIHZlcmlmeVdoZW5EZWNsYXJlZChmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5EZWNsYXJlZDtcblxuICAgIGNvbnN0IGNvbnN0cnVjdG9yU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3Igd2hlbiBkZWNsYXJlZC4uLmApO1xuXG4gICAgY29uc3QgdGVybVZlcmlmaWVkQXRUb3BMZXZlbCA9IHRoaXMudGVybS52ZXJpZnlXaGVuRGVjbGFyZWQoZmlsZUNvbnRleHQpO1xuXG4gICAgaWYgKHRlcm1WZXJpZmllZEF0VG9wTGV2ZWwpIHtcbiAgICAgIHZlcmlmaWVkV2hlbkRlY2xhcmVkID0gdHJ1ZTsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkV2hlbkRlY2xhcmVkKSB7XG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3Igd2hlbiBkZWNsYXJlZC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRXaGVuRGVjbGFyZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdGVybUpTT04gPSB0ZXJtVG9UZXJtSlNPTih0aGlzLnRlcm0pLFxuICAgICAgICAgIHRlcm0gPSB0ZXJtSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0ZXJtXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgdGVybSA9IHRlcm1Gcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgdHlwZSA9IHRlcm0uZ2V0VHlwZSgpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UZXJtQW5kVHlwZSh0ZXJtLCB0eXBlKSxcbiAgICAgICAgICBjb25zdHJ1Y3RvciA9IG5ldyBDb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IFRlcm0sIFR5cGUgfSA9IHNoaW0sXG4gICAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgIGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbnRleHQgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgIHR5cGUgPSBUeXBlLmZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgICAgdGVybSA9IFRlcm0uZnJvbVRlcm1Ob2RlQW5kVHlwZSh0ZXJtTm9kZSwgdHlwZSwgY29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVRlcm1BbmRUeXBlKHRlcm0sIHR5cGUpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yID0gbmV3IENvbnN0cnVjdG9yKHN0cmluZywgdGVybSk7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIENvbnN0cnVjdG9yXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQ29uc3RydWN0b3I7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdGcm9tVGVybUFuZFR5cGUodGVybSwgdHlwZSkge1xuICBsZXQgc3RyaW5nO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgc3RyaW5nID0gYCR7dGVybVN0cmluZ31gO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZS5nZXROYW1lKCk7XG5cbiAgICBzdHJpbmcgPSBgJHt0ZXJtU3RyaW5nfToke3R5cGVOYW1lfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbInN0cmluZ0Zyb21UZXJtQW5kVHlwZSIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwiQ29uc3RydWN0b3IiLCJzdHJpbmciLCJ0ZXJtIiwiZ2V0U3RyaW5nIiwiZ2V0VGVybSIsImdldFR5cGUiLCJ2ZXJpZnlXaGVuRGVjbGFyZWQiLCJmaWxlQ29udGV4dCIsInZlcmlmaWVkV2hlbkRlY2xhcmVkIiwiY29uc3RydWN0b3JTdHJpbmciLCJ0cmFjZSIsInRlcm1WZXJpZmllZEF0VG9wTGV2ZWwiLCJkZWJ1ZyIsInRvSlNPTiIsInRlcm1KU09OIiwidGVybVRvVGVybUpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJ0ZXJtRnJvbUpTT04iLCJ0eXBlIiwiY29uc3RydWN0b3IiLCJmcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIlRlcm0iLCJzaGltIiwiVHlwZSIsInRlcm1Ob2RlIiwidHlwZU5vZGUiLCJsb2NhbENvbnRleHQiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJjb250ZXh0IiwiZnJvbVR5cGVOb2RlIiwiZnJvbVRlcm1Ob2RlQW5kVHlwZSIsIk9iamVjdCIsImFzc2lnbiIsInRlcm1TdHJpbmciLCJ0eXBlTmFtZSIsImdldE5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXFGQSxPQUEyQjtlQUEzQjs7SUFFZ0JBLHFCQUFxQjtlQUFyQkE7OzsyREFyRkM7NERBQ1E7cUJBRUM7b0JBQ21COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdDLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxpQ0FDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVoQyxJQUFBLEFBQU1FLDRCQUFOO2FBQU1BLFlBQ1FDLE1BQU0sRUFBRUMsSUFBSTtnQ0FEcEJGO1FBRUYsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxJQUFJLEdBQUdBOztrQkFIVkY7O1lBTUpHLEtBQUFBO21CQUFBQSxT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
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3VuaWZpY2F0aW9uXCI7XG5pbXBvcnQgeyB0ZXJtRnJvbUpTT04sIHRlcm1Ub1Rlcm1KU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uL3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb24vdHlwZVwiKTtcblxuY2xhc3MgQ29uc3RydWN0b3Ige1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7IHJldHVybiB0aGlzLnRlcm0uZ2V0VHlwZSgpOyB9XG5cbiAgdW5pZnlUZXJtKHRlcm0sIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IHRlcm1VbmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBjb25zdHJ1Y3RvciA9IHRoaXMsIC8vL1xuICAgICAgICAgIHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yU3RyaW5nID0gY29uc3RydWN0b3IuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gd2l0aCB0aGUgJyR7Y29uc3RydWN0b3JTdHJpbmd9JyBjb25zdHJ1Y3Rvci4uLmAsIHRlcm0pO1xuXG4gICAgY29uc3QgdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IgPSB1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3IodGVybSwgY29uc3RydWN0b3IsIGNvbnRleHQpO1xuXG4gICAgaWYgKHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yKSB7XG4gICAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgICAgY29uc3QgdHlwZSA9IGNvbnN0cnVjdG9yLmdldFR5cGUoKTtcblxuICAgICAgdGVybS5zZXRUeXBlKHR5cGUpO1xuXG4gICAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgICAgdGVybVVuaWZpZWQgPSB2ZXJpZmllZEFoZWFkOyAgLy8vXG4gICAgfVxuXG4gICAgaWYgKHRlcm1VbmlmaWVkKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yLmAsIHRlcm0pO1xuICAgIH1cblxuICAgIHJldHVybiB0ZXJtVW5pZmllZDtcbiAgfVxuXG4gIHZlcmlmeVdoZW5EZWNsYXJlZChmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5EZWNsYXJlZDtcblxuICAgIGNvbnN0IGNvbnN0cnVjdG9yU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3Igd2hlbiBkZWNsYXJlZC4uLmApO1xuXG4gICAgY29uc3QgdGVybVZlcmlmaWVkQXRUb3BMZXZlbCA9IHRoaXMudGVybS52ZXJpZnlXaGVuRGVjbGFyZWQoZmlsZUNvbnRleHQpO1xuXG4gICAgaWYgKHRlcm1WZXJpZmllZEF0VG9wTGV2ZWwpIHtcbiAgICAgIHZlcmlmaWVkV2hlbkRlY2xhcmVkID0gdHJ1ZTsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkV2hlbkRlY2xhcmVkKSB7XG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3Igd2hlbiBkZWNsYXJlZC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRXaGVuRGVjbGFyZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdGVybUpTT04gPSB0ZXJtVG9UZXJtSlNPTih0aGlzLnRlcm0pLFxuICAgICAgICAgIHRlcm0gPSB0ZXJtSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0ZXJtXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgdGVybSA9IHRlcm1Gcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgdHlwZSA9IHRlcm0uZ2V0VHlwZSgpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UZXJtQW5kVHlwZSh0ZXJtLCB0eXBlKSxcbiAgICAgICAgICBjb25zdHJ1Y3RvciA9IG5ldyBDb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IFRlcm0sIFR5cGUgfSA9IHNoaW0sXG4gICAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgIGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbnRleHQgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgIHR5cGUgPSBUeXBlLmZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgICAgdGVybSA9IFRlcm0uZnJvbVRlcm1Ob2RlQW5kVHlwZSh0ZXJtTm9kZSwgdHlwZSwgY29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVRlcm1BbmRUeXBlKHRlcm0sIHR5cGUpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yID0gbmV3IENvbnN0cnVjdG9yKHN0cmluZywgdGVybSk7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIENvbnN0cnVjdG9yXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQ29uc3RydWN0b3I7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdGcm9tVGVybUFuZFR5cGUodGVybSwgdHlwZSkge1xuICBsZXQgc3RyaW5nO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgc3RyaW5nID0gYCR7dGVybVN0cmluZ31gO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZS5nZXROYW1lKCk7XG5cbiAgICBzdHJpbmcgPSBgJHt0ZXJtU3RyaW5nfToke3R5cGVOYW1lfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbInN0cmluZ0Zyb21UZXJtQW5kVHlwZSIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwiQ29uc3RydWN0b3IiLCJzdHJpbmciLCJ0ZXJtIiwiZ2V0U3RyaW5nIiwiZ2V0VGVybSIsImdldFR5cGUiLCJ1bmlmeVRlcm0iLCJjb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJ0ZXJtVW5pZmllZCIsImNvbnN0cnVjdG9yIiwidGVybVN0cmluZyIsImNvbnN0cnVjdG9yU3RyaW5nIiwidHJhY2UiLCJ0ZXJtVW5pZmllZFdpdGhDb25zdHJ1Y3RvciIsInVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvciIsInZlcmlmaWVkQWhlYWQiLCJ0eXBlIiwic2V0VHlwZSIsImRlYnVnIiwidmVyaWZ5V2hlbkRlY2xhcmVkIiwiZmlsZUNvbnRleHQiLCJ2ZXJpZmllZFdoZW5EZWNsYXJlZCIsInRlcm1WZXJpZmllZEF0VG9wTGV2ZWwiLCJ0b0pTT04iLCJ0ZXJtSlNPTiIsInRlcm1Ub1Rlcm1KU09OIiwianNvbiIsImZyb21KU09OIiwidGVybUZyb21KU09OIiwiZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJUZXJtIiwic2hpbSIsIlR5cGUiLCJ0ZXJtTm9kZSIsInR5cGVOb2RlIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiZnJvbVR5cGVOb2RlIiwiZnJvbVRlcm1Ob2RlQW5kVHlwZSIsIk9iamVjdCIsImFzc2lnbiIsInR5cGVOYW1lIiwiZ2V0TmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBb0hBLE9BQTJCO2VBQTNCOztJQUVnQkEscUJBQXFCO2VBQXJCQTs7OzJEQXBIQzs0REFDUTtxQkFFQzsyQkFDZTtvQkFDSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QyxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsaUNBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUM7QUFFaEMsSUFBQSxBQUFNRSw0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