occam-verify-cli 0.0.841 → 0.0.843
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.
- package/lib/log.js +2 -2
- package/lib/substitution/statementForMetavariable.js +67 -10
- package/lib/substitution/termForVariable.js +56 -1
- package/lib/verifier/nodes/metaLevelToIntrinsicLevel.js +70 -20
- package/package.json +2 -2
- package/src/log.js +3 -1
- package/src/substitution/statementForMetavariable.js +70 -6
- package/src/substitution/termForVariable.js +77 -1
- package/src/verifier/nodes/metaLevelToIntrinsicLevel.js +45 -27
package/lib/log.js
CHANGED
|
@@ -138,7 +138,7 @@ function formatMessage(level, message) {
|
|
|
138
138
|
var node = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, tokens = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : null, filePath = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : null;
|
|
139
139
|
var upperCaseLevel = level.toUpperCase();
|
|
140
140
|
if (node === null || tokens === null) {
|
|
141
|
-
message = "".concat(upperCaseLevel, ": ").concat(filePath, " - ").concat(message);
|
|
141
|
+
message = filePath !== null ? "".concat(upperCaseLevel, ": ").concat(filePath, " - ").concat(message) : "".concat(upperCaseLevel, ": ").concat(message);
|
|
142
142
|
} else {
|
|
143
143
|
var leastLineIndex = (0, _lineIndex.leastLineIndexFromNodeAndTokens)(node, tokens), leastLineNumber = leastLineIndex, greatestLineIndex = (0, _lineIndex.greatestLineIndexFromNodeAndTokens)(node, tokens), greatestLineNumber = greatestLineIndex; ///
|
|
144
144
|
if (leastLineNumber === greatestLineNumber) {
|
|
@@ -151,4 +151,4 @@ function formatMessage(level, message) {
|
|
|
151
151
|
return message;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2cuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxldmVscyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgbGVhc3RMaW5lSW5kZXhGcm9tTm9kZUFuZFRva2VucywgZ3JlYXRlc3RMaW5lSW5kZXhGcm9tTm9kZUFuZFRva2VucyB9IGZyb20gXCIuL3V0aWxpdGllcy9saW5lSW5kZXhcIjtcblxuY29uc3QgeyBUUkFDRV9MRVZFTCwgREVCVUdfTEVWRUwsIElORk9fTEVWRUwsIFdBUk5JTkdfTEVWRUwsIEVSUk9SX0xFVkVMLCBGQVRBTF9MRVZFTCB9ID0gbGV2ZWxzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMb2cge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlcywgbG9nTGV2ZWwsIGZvbGxvdykge1xuICAgIHRoaXMubWVzc2FnZXMgPSBtZXNzYWdlcztcbiAgICB0aGlzLmxvZ0xldmVsID0gbG9nTGV2ZWw7XG4gICAgdGhpcy5mb2xsb3cgPSBmb2xsb3c7XG4gIH1cblxuICBnZXRNZXNzYWdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlcztcbiAgfVxuXG4gIGdldExvZ0xldmVsKCkge1xuICAgIHJldHVybiB0aGlzLmxvZ0xldmVsO1xuICB9XG5cbiAgZ2V0Rm9sbG93KCkge1xuICAgIHJldHVybiB0aGlzLmZvbGxvdztcbiAgfVxuXG4gIHRyYWNlKG1lc3NhZ2UsIG5vZGUsIHRva2VucywgZmlsZVBhdGgpIHtcbiAgICBjb25zdCBsZXZlbCA9IFRSQUNFX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZShsZXZlbCwgbWVzc2FnZSwgbm9kZSwgdG9rZW5zLCBmaWxlUGF0aCk7XG4gIH1cblxuICBkZWJ1ZyhtZXNzYWdlLCBub2RlLCB0b2tlbnMsIGZpbGVQYXRoKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBERUJVR19MRVZFTDtcblxuICAgIHRoaXMud3JpdGUobGV2ZWwsIG1lc3NhZ2UsIG5vZGUsIHRva2VucywgZmlsZVBhdGgpO1xuICB9XG5cbiAgaW5mbyhtZXNzYWdlLCBub2RlLCB0b2tlbnMsIGZpbGVQYXRoKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBJTkZPX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZShsZXZlbCwgbWVzc2FnZSwgbm9kZSwgdG9rZW5zLCBmaWxlUGF0aCk7XG4gIH1cblxuICB3YXJuaW5nKG1lc3NhZ2UsIG5vZGUsIHRva2VucywgZmlsZVBhdGgpIHtcbiAgICBjb25zdCBsZXZlbCA9IFdBUk5JTkdfTEVWRUw7XG5cbiAgICB0aGlzLndyaXRlKGxldmVsLCBtZXNzYWdlLCBub2RlLCB0b2tlbnMsIGZpbGVQYXRoKTtcbiAgfVxuXG4gIGVycm9yKG1lc3NhZ2UsIG5vZGUsIHRva2VucywgZmlsZVBhdGgpIHtcbiAgICBjb25zdCBsZXZlbCA9IEVSUk9SX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZShsZXZlbCwgbWVzc2FnZSwgbm9kZSwgdG9rZW5zLCBmaWxlUGF0aCk7XG4gIH1cblxuICBmYXRhbChtZXNzYWdlLCBub2RlLCB0b2tlbnMsIGZpbGVQYXRoKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBGQVRBTF9MRVZFTDtcblxuICAgIHRoaXMud3JpdGUobGV2ZWwsIG1lc3NhZ2UsIG5vZGUsIHRva2VucywgZmlsZVBhdGgpO1xuICB9XG5cbiAgd3JpdGUobGV2ZWwsIG1lc3NhZ2UsIG5vZGUsIHRva2VucywgZmlsZVBhdGgpIHtcbiAgICBjb25zdCBsZXZlbHMgPSBbXG4gICAgICAgICAgICBUUkFDRV9MRVZFTCxcbiAgICAgICAgICAgIERFQlVHX0xFVkVMLFxuICAgICAgICAgICAgSU5GT19MRVZFTCxcbiAgICAgICAgICAgIFdBUk5JTkdfTEVWRUwsXG4gICAgICAgICAgICBFUlJPUl9MRVZFTCxcbiAgICAgICAgICAgIEZBVEFMX0xFVkVMLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgbGV2ZWxJbmRleCA9IGxldmVscy5pbmRleE9mKGxldmVsKSxcbiAgICAgICAgICBsb2dMZXZlbEluZGV4ID0gbGV2ZWxzLmluZGV4T2YodGhpcy5sb2dMZXZlbCk7XG5cbiAgICBpZiAobGV2ZWxJbmRleCA8IGxvZ0xldmVsSW5kZXgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBtZXNzYWdlID0gZm9ybWF0TWVzc2FnZShsZXZlbCwgbWVzc2FnZSwgbm9kZSwgdG9rZW5zLCBmaWxlUGF0aCk7ICAvLy9cblxuICAgIHRoaXMuZm9sbG93ID9cbiAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UpIDpcbiAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKG1lc3NhZ2UpO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IG1lc3NhZ2VzID0gW10sXG4gICAgICAgICAgbG9nTGV2ZWwgPSBUUkFDRV9MRVZFTCxcbiAgICAgICAgICBmb2xsb3cgPSBmYWxzZSxcbiAgICAgICAgICBsb2cgPSBuZXcgTG9nKG1lc3NhZ2VzLCBsb2dMZXZlbCwgZm9sbG93KTtcblxuICAgIHJldHVybiBsb2c7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZvbGxvd0FuZExvZ0xldmVsKGZvbGxvdywgbG9nTGV2ZWwpIHtcbiAgICBjb25zdCBtZXNzYWdlcyA9IGZvbGxvdyA/
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2cuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxldmVscyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgbGVhc3RMaW5lSW5kZXhGcm9tTm9kZUFuZFRva2VucywgZ3JlYXRlc3RMaW5lSW5kZXhGcm9tTm9kZUFuZFRva2VucyB9IGZyb20gXCIuL3V0aWxpdGllcy9saW5lSW5kZXhcIjtcblxuY29uc3QgeyBUUkFDRV9MRVZFTCwgREVCVUdfTEVWRUwsIElORk9fTEVWRUwsIFdBUk5JTkdfTEVWRUwsIEVSUk9SX0xFVkVMLCBGQVRBTF9MRVZFTCB9ID0gbGV2ZWxzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMb2cge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlcywgbG9nTGV2ZWwsIGZvbGxvdykge1xuICAgIHRoaXMubWVzc2FnZXMgPSBtZXNzYWdlcztcbiAgICB0aGlzLmxvZ0xldmVsID0gbG9nTGV2ZWw7XG4gICAgdGhpcy5mb2xsb3cgPSBmb2xsb3c7XG4gIH1cblxuICBnZXRNZXNzYWdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlcztcbiAgfVxuXG4gIGdldExvZ0xldmVsKCkge1xuICAgIHJldHVybiB0aGlzLmxvZ0xldmVsO1xuICB9XG5cbiAgZ2V0Rm9sbG93KCkge1xuICAgIHJldHVybiB0aGlzLmZvbGxvdztcbiAgfVxuXG4gIHRyYWNlKG1lc3NhZ2UsIG5vZGUsIHRva2VucywgZmlsZVBhdGgpIHtcbiAgICBjb25zdCBsZXZlbCA9IFRSQUNFX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZShsZXZlbCwgbWVzc2FnZSwgbm9kZSwgdG9rZW5zLCBmaWxlUGF0aCk7XG4gIH1cblxuICBkZWJ1ZyhtZXNzYWdlLCBub2RlLCB0b2tlbnMsIGZpbGVQYXRoKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBERUJVR19MRVZFTDtcblxuICAgIHRoaXMud3JpdGUobGV2ZWwsIG1lc3NhZ2UsIG5vZGUsIHRva2VucywgZmlsZVBhdGgpO1xuICB9XG5cbiAgaW5mbyhtZXNzYWdlLCBub2RlLCB0b2tlbnMsIGZpbGVQYXRoKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBJTkZPX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZShsZXZlbCwgbWVzc2FnZSwgbm9kZSwgdG9rZW5zLCBmaWxlUGF0aCk7XG4gIH1cblxuICB3YXJuaW5nKG1lc3NhZ2UsIG5vZGUsIHRva2VucywgZmlsZVBhdGgpIHtcbiAgICBjb25zdCBsZXZlbCA9IFdBUk5JTkdfTEVWRUw7XG5cbiAgICB0aGlzLndyaXRlKGxldmVsLCBtZXNzYWdlLCBub2RlLCB0b2tlbnMsIGZpbGVQYXRoKTtcbiAgfVxuXG4gIGVycm9yKG1lc3NhZ2UsIG5vZGUsIHRva2VucywgZmlsZVBhdGgpIHtcbiAgICBjb25zdCBsZXZlbCA9IEVSUk9SX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZShsZXZlbCwgbWVzc2FnZSwgbm9kZSwgdG9rZW5zLCBmaWxlUGF0aCk7XG4gIH1cblxuICBmYXRhbChtZXNzYWdlLCBub2RlLCB0b2tlbnMsIGZpbGVQYXRoKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBGQVRBTF9MRVZFTDtcblxuICAgIHRoaXMud3JpdGUobGV2ZWwsIG1lc3NhZ2UsIG5vZGUsIHRva2VucywgZmlsZVBhdGgpO1xuICB9XG5cbiAgd3JpdGUobGV2ZWwsIG1lc3NhZ2UsIG5vZGUsIHRva2VucywgZmlsZVBhdGgpIHtcbiAgICBjb25zdCBsZXZlbHMgPSBbXG4gICAgICAgICAgICBUUkFDRV9MRVZFTCxcbiAgICAgICAgICAgIERFQlVHX0xFVkVMLFxuICAgICAgICAgICAgSU5GT19MRVZFTCxcbiAgICAgICAgICAgIFdBUk5JTkdfTEVWRUwsXG4gICAgICAgICAgICBFUlJPUl9MRVZFTCxcbiAgICAgICAgICAgIEZBVEFMX0xFVkVMLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgbGV2ZWxJbmRleCA9IGxldmVscy5pbmRleE9mKGxldmVsKSxcbiAgICAgICAgICBsb2dMZXZlbEluZGV4ID0gbGV2ZWxzLmluZGV4T2YodGhpcy5sb2dMZXZlbCk7XG5cbiAgICBpZiAobGV2ZWxJbmRleCA8IGxvZ0xldmVsSW5kZXgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBtZXNzYWdlID0gZm9ybWF0TWVzc2FnZShsZXZlbCwgbWVzc2FnZSwgbm9kZSwgdG9rZW5zLCBmaWxlUGF0aCk7ICAvLy9cblxuICAgIHRoaXMuZm9sbG93ID9cbiAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UpIDpcbiAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKG1lc3NhZ2UpO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IG1lc3NhZ2VzID0gW10sXG4gICAgICAgICAgbG9nTGV2ZWwgPSBUUkFDRV9MRVZFTCxcbiAgICAgICAgICBmb2xsb3cgPSBmYWxzZSxcbiAgICAgICAgICBsb2cgPSBuZXcgTG9nKG1lc3NhZ2VzLCBsb2dMZXZlbCwgZm9sbG93KTtcblxuICAgIHJldHVybiBsb2c7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZvbGxvd0FuZExvZ0xldmVsKGZvbGxvdywgbG9nTGV2ZWwpIHtcbiAgICBjb25zdCBtZXNzYWdlcyA9IGZvbGxvdyA/XG4gICAgICAgICAgICAgICAgICAgICAgIG51bGwgOlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgIGxvZyA9IG5ldyBMb2cobWVzc2FnZXMsIGxvZ0xldmVsLCBmb2xsb3cpO1xuXG4gICAgcmV0dXJuIGxvZztcbiAgfVxufVxuXG5mdW5jdGlvbiBmb3JtYXRNZXNzYWdlKGxldmVsLCBtZXNzYWdlLCBub2RlID0gbnVsbCwgdG9rZW5zID0gbnVsbCwgZmlsZVBhdGggPSBudWxsKSB7XG4gIGNvbnN0IHVwcGVyQ2FzZUxldmVsID0gbGV2ZWwudG9VcHBlckNhc2UoKTtcblxuICBpZiAoKG5vZGUgPT09IG51bGwpIHx8ICh0b2tlbnMgPT09IG51bGwpKSB7XG4gICAgbWVzc2FnZSA9IChmaWxlUGF0aCAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICBgJHt1cHBlckNhc2VMZXZlbH06ICR7ZmlsZVBhdGh9IC0gJHttZXNzYWdlfWA6XG4gICAgICAgICAgICAgICAgYCR7dXBwZXJDYXNlTGV2ZWx9OiAke21lc3NhZ2V9YDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBsZWFzdExpbmVJbmRleCA9IGxlYXN0TGluZUluZGV4RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSxcbiAgICAgICAgICBsZWFzdExpbmVOdW1iZXIgPSBsZWFzdExpbmVJbmRleCwgLy8vXG4gICAgICAgICAgZ3JlYXRlc3RMaW5lSW5kZXggPSBncmVhdGVzdExpbmVJbmRleEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2VucyksXG4gICAgICAgICAgZ3JlYXRlc3RMaW5lTnVtYmVyID0gZ3JlYXRlc3RMaW5lSW5kZXg7IC8vL1xuXG4gICAgaWYgKGxlYXN0TGluZU51bWJlciA9PT0gZ3JlYXRlc3RMaW5lTnVtYmVyKSB7XG4gICAgICBjb25zdCBsaW5lTnVtYmVyID0gbGVhc3RMaW5lTnVtYmVyOyAvLy9cblxuICAgICAgbWVzc2FnZSA9IGAke3VwcGVyQ2FzZUxldmVsfTogJHtmaWxlUGF0aH0gKCR7bGluZU51bWJlcn0pIC0gJHttZXNzYWdlfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1lc3NhZ2UgPSBgJHt1cHBlckNhc2VMZXZlbH06ICR7ZmlsZVBhdGh9ICgke2xlYXN0TGluZU51bWJlcn0tJHtncmVhdGVzdExpbmVOdW1iZXJ9KSAtICR7bWVzc2FnZX1gO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXNzYWdlO1xufVxuIl0sIm5hbWVzIjpbIkxvZyIsIlRSQUNFX0xFVkVMIiwibGV2ZWxzIiwiREVCVUdfTEVWRUwiLCJJTkZPX0xFVkVMIiwiV0FSTklOR19MRVZFTCIsIkVSUk9SX0xFVkVMIiwiRkFUQUxfTEVWRUwiLCJtZXNzYWdlcyIsImxvZ0xldmVsIiwiZm9sbG93IiwiZ2V0TWVzc2FnZXMiLCJnZXRMb2dMZXZlbCIsImdldEZvbGxvdyIsInRyYWNlIiwibWVzc2FnZSIsIm5vZGUiLCJ0b2tlbnMiLCJmaWxlUGF0aCIsImxldmVsIiwid3JpdGUiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZXJyb3IiLCJmYXRhbCIsImxldmVsSW5kZXgiLCJpbmRleE9mIiwibG9nTGV2ZWxJbmRleCIsImZvcm1hdE1lc3NhZ2UiLCJjb25zb2xlIiwibG9nIiwicHVzaCIsImZyb21Ob3RoaW5nIiwiZnJvbUZvbGxvd0FuZExvZ0xldmVsIiwidXBwZXJDYXNlTGV2ZWwiLCJ0b1VwcGVyQ2FzZSIsImxlYXN0TGluZUluZGV4IiwibGVhc3RMaW5lSW5kZXhGcm9tTm9kZUFuZFRva2VucyIsImxlYXN0TGluZU51bWJlciIsImdyZWF0ZXN0TGluZUluZGV4IiwiZ3JlYXRlc3RMaW5lSW5kZXhGcm9tTm9kZUFuZFRva2VucyIsImdyZWF0ZXN0TGluZU51bWJlciIsImxpbmVOdW1iZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBUXFCQTs7O3lCQU5FO3lCQUU2RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFcEYsSUFBUUMsY0FBa0ZDLGlCQUFNLENBQXhGRCxhQUFhRSxjQUFxRUQsaUJBQU0sQ0FBM0VDLGFBQWFDLGFBQXdERixpQkFBTSxDQUE5REUsWUFBWUMsZ0JBQTRDSCxpQkFBTSxDQUFsREcsZUFBZUMsY0FBNkJKLGlCQUFNLENBQW5DSSxhQUFhQyxjQUFnQkwsaUJBQU0sQ0FBdEJLO0FBRTNELElBQUEsQUFBTVAsb0JBQUQsQUFBTDthQUFNQSxJQUNQUSxRQUFRLEVBQUVDLFFBQVEsRUFBRUMsTUFBTTtnQ0FEbkJWO1FBRWpCLElBQUksQ0FBQ1EsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBOztrQkFKR1Y7O1lBT25CVyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFFB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
|
|
@@ -2,13 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
default: function() {
|
|
8
13
|
return StatementForMetavariableSubstitution;
|
|
14
|
+
},
|
|
15
|
+
matchStatementNode: function() {
|
|
16
|
+
return matchStatementNode;
|
|
9
17
|
}
|
|
10
18
|
});
|
|
11
19
|
var _substitution = /*#__PURE__*/ _interop_require_default(require("../substitution"));
|
|
20
|
+
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("./termForVariable"));
|
|
21
|
+
var _intrinsicLevel = /*#__PURE__*/ _interop_require_default(require("../verifier/nodes/intrinsicLevel"));
|
|
12
22
|
var _proof = require("../utilities/proof");
|
|
13
23
|
function _assert_this_initialized(self) {
|
|
14
24
|
if (self === void 0) {
|
|
@@ -103,12 +113,13 @@ function _create_super(Derived) {
|
|
|
103
113
|
var StatementForMetavariableSubstitution = /*#__PURE__*/ function(Substitution) {
|
|
104
114
|
_inherits(StatementForMetavariableSubstitution, Substitution);
|
|
105
115
|
var _super = _create_super(StatementForMetavariableSubstitution);
|
|
106
|
-
function StatementForMetavariableSubstitution(metavariableNode, statementNode) {
|
|
116
|
+
function StatementForMetavariableSubstitution(metavariableNode, statementNode, substitution) {
|
|
107
117
|
_class_call_check(this, StatementForMetavariableSubstitution);
|
|
108
118
|
var _this;
|
|
109
119
|
_this = _super.call(this);
|
|
110
120
|
_this.metavariableNode = metavariableNode;
|
|
111
121
|
_this.statementNode = statementNode;
|
|
122
|
+
_this.substitution = substitution;
|
|
112
123
|
return _this;
|
|
113
124
|
}
|
|
114
125
|
_create_class(StatementForMetavariableSubstitution, [
|
|
@@ -124,21 +135,40 @@ var StatementForMetavariableSubstitution = /*#__PURE__*/ function(Substitution)
|
|
|
124
135
|
return this.statementNode;
|
|
125
136
|
}
|
|
126
137
|
},
|
|
138
|
+
{
|
|
139
|
+
key: "getSubstitution",
|
|
140
|
+
value: function getSubstitution() {
|
|
141
|
+
return this.substitution;
|
|
142
|
+
}
|
|
143
|
+
},
|
|
127
144
|
{
|
|
128
145
|
key: "matchStatementNode",
|
|
129
|
-
value: function matchStatementNode(statementNode) {
|
|
146
|
+
value: function matchStatementNode(statementNode, substitutions, localContextA, localContextB) {
|
|
130
147
|
var statementNodeMatches;
|
|
131
|
-
statementNodeMatches = this.
|
|
148
|
+
statementNodeMatches = this.matchStatementNodeEx(statementNode, substitutions, localContextA, localContextB);
|
|
132
149
|
if (!statementNodeMatches) {
|
|
133
150
|
var bracketedStatementChildNode = (0, _proof.bracketedStatementChildNodeFromStatementNode)(statementNode);
|
|
134
151
|
if (bracketedStatementChildNode !== null) {
|
|
135
152
|
var _$statementNode = bracketedStatementChildNode; ///
|
|
136
|
-
statementNodeMatches = this.
|
|
153
|
+
statementNodeMatches = this.matchStatementNodeEx(_$statementNode, substitutions, localContextA, localContextB);
|
|
137
154
|
}
|
|
138
155
|
}
|
|
139
156
|
return statementNodeMatches;
|
|
140
157
|
}
|
|
141
158
|
},
|
|
159
|
+
{
|
|
160
|
+
key: "matchStatementNodeEx",
|
|
161
|
+
value: function matchStatementNodeEx(statementNode, substitutions, localContextA, localContextB) {
|
|
162
|
+
var statementNodeMatches;
|
|
163
|
+
if (this.substitution === null) {
|
|
164
|
+
statementNodeMatches = this.statementNode.match(statementNode);
|
|
165
|
+
} else {
|
|
166
|
+
var substitution = this.substitution, statementNodeA = statementNode, statementNodeB = this.statementNode; ///
|
|
167
|
+
statementNodeMatches = matchStatementNode(statementNodeA, statementNodeB, substitution, substitutions, localContextA, localContextB);
|
|
168
|
+
}
|
|
169
|
+
return statementNodeMatches;
|
|
170
|
+
}
|
|
171
|
+
},
|
|
142
172
|
{
|
|
143
173
|
key: "matchMetavariableNode",
|
|
144
174
|
value: function matchMetavariableNode(metavariableNode) {
|
|
@@ -150,11 +180,24 @@ var StatementForMetavariableSubstitution = /*#__PURE__*/ function(Substitution)
|
|
|
150
180
|
{
|
|
151
181
|
key: "fromMetavariableNodeAndStatementNode",
|
|
152
182
|
value: function fromMetavariableNodeAndStatementNode(metavariableNode, statementNode) {
|
|
153
|
-
var
|
|
183
|
+
var substitution = null;
|
|
184
|
+
var statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(metavariableNode, statementNode, substitution);
|
|
154
185
|
var bracketedStatementChildNode = (0, _proof.bracketedStatementChildNodeFromStatementNode)(statementNode);
|
|
155
186
|
if (bracketedStatementChildNode !== null) {
|
|
156
187
|
var _$statementNode = bracketedStatementChildNode; ///
|
|
157
|
-
statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(metavariableNode, _$statementNode);
|
|
188
|
+
statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(metavariableNode, _$statementNode, substitution);
|
|
189
|
+
}
|
|
190
|
+
return statementForMetavariableSubstitution;
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
key: "fromMetavariableNodeStatementNodeAndSubstitution",
|
|
195
|
+
value: function fromMetavariableNodeStatementNodeAndSubstitution(metavariableNode, statementNode, substitution) {
|
|
196
|
+
var statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(metavariableNode, statementNode, substitution);
|
|
197
|
+
var bracketedStatementChildNode = (0, _proof.bracketedStatementChildNodeFromStatementNode)(statementNode);
|
|
198
|
+
if (bracketedStatementChildNode !== null) {
|
|
199
|
+
var _$statementNode = bracketedStatementChildNode; ///
|
|
200
|
+
statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(metavariableNode, _$statementNode, substitution);
|
|
158
201
|
}
|
|
159
202
|
return statementForMetavariableSubstitution;
|
|
160
203
|
}
|
|
@@ -162,5 +205,19 @@ var StatementForMetavariableSubstitution = /*#__PURE__*/ function(Substitution)
|
|
|
162
205
|
]);
|
|
163
206
|
return StatementForMetavariableSubstitution;
|
|
164
207
|
}(_substitution.default);
|
|
208
|
+
function matchStatementNode(statementNodeA, statementNodeB, substitution, substitutions, localContextA, localContextB) {
|
|
209
|
+
var statementNodeMatches;
|
|
210
|
+
var termForVariableSubstitution = _termForVariable.default.fromSubstitutionAndSubstitutions(substitution, substitutions);
|
|
211
|
+
substitution = termForVariableSubstitution; ///
|
|
212
|
+
substitutions = [
|
|
213
|
+
substitution
|
|
214
|
+
];
|
|
215
|
+
var nonTerminalNodeA = statementNodeA, nonTerminalNodeB = statementNodeB, nonTerminalNodeVerified = _intrinsicLevel.default.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, function() {
|
|
216
|
+
var verifiedAhead = true;
|
|
217
|
+
return verifiedAhead;
|
|
218
|
+
});
|
|
219
|
+
statementNodeMatches = nonTerminalNodeVerified; ///
|
|
220
|
+
return statementNodeMatches;
|
|
221
|
+
}
|
|
165
222
|
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb25cIjtcblxuaW1wb3J0IHsgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbVN0YXRlbWVudE5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Byb29mXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiBleHRlbmRzIFN1YnN0aXR1dGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5tZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZTtcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhdmFyaWFibGVOb2RlO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpIHtcbiAgICBsZXQgc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG5cbiAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHRoaXMuc3RhdGVtZW50Tm9kZS5tYXRjaChzdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmICghc3RhdGVtZW50Tm9kZU1hdGNoZXMpIHtcbiAgICAgIGNvbnN0IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBpZiAoYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGU7IC8vL1xuXG4gICAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gdGhpcy5zdGF0ZW1lbnROb2RlLm1hdGNoKHN0YXRlbWVudE5vZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSB0aGlzLm1ldGF2YXJpYWJsZU5vZGUubWF0Y2gobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGF2YXJpYWJsZU5vZGVBbmRTdGF0ZW1lbnROb2RlKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUpIHtcbiAgICBsZXQgc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbihtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZTsgLy8vXG5cbiAgICAgIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsIm1ldGF2YXJpYWJsZU5vZGUiLCJzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXZhcmlhYmxlTm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJtYXRjaFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoIiwiYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlIiwiYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbVN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyIsImZyb21NZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsIlN1YnN0aXR1dGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7bUVBSkk7cUJBRW9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTlDLElBQUEsQUFBTUEscURBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUEscUNBQ1BDLGdCQUFnQixFQUFFQyxhQUFhO2dDQUR4QkY7OztRQUlqQixNQUFLQyxnQkFBZ0IsR0FBR0E7UUFDeEIsTUFBS0MsYUFBYSxHQUFHQTs7O2tCQUxKRjs7WUFRbkJHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsZ0JBQWdCO1lBQzlCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixhQUFhO1lBQzNCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkgsYUFBYTtnQkFDOUIsSUFBSUk7Z0JBRUpBLHVCQUF1QixJQUFJLENBQUNKLGFBQWEsQ0FBQ0ssS0FBSyxDQUFDTDtnQkFFaEQsSUFBSSxDQUFDSSxzQkFBc0I7b0JBQ3pCLElBQU1FLDhCQUE4QkMsSUFBQUEsbURBQTRDLEVBQUNQO29CQUVqRixJQUFJTSxnQ0FBZ0MsTUFBTTt3QkFDeEMsSUFBTU4sa0JBQWdCTSw2QkFBNkIsR0FBRzt3QkFFdERGLHVCQUF1QixJQUFJLENBQUNKLGFBQWEsQ0FBQ0ssS0FBSyxDQUFDTDtvQkFDbEQ7Z0JBQ0Y7Z0JBRUEsT0FBT0k7WUFDVDs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JULGdCQUFnQjtnQkFDcEMsSUFBTVUsMEJBQTBCLElBQUksQ0FBQ1YsZ0JBQWdCLENBQUNNLEtBQUssQ0FBQ047Z0JBRTVELE9BQU9VO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EscUNBQXFDWCxnQkFBZ0IsRUFBRUMsYUFBYTtnQkFDekUsSUFBSVcsdUNBQXVDLElBekMxQmIscUNBeUNtRUMsa0JBQWtCQztnQkFFdEcsSUFBTU0sOEJBQThCQyxJQUFBQSxtREFBNEMsRUFBQ1A7Z0JBRWpGLElBQUlNLGdDQUFnQyxNQUFNO29CQUN4QyxJQUFNTixrQkFBZ0JNLDZCQUE2QixHQUFHO29CQUV0REssdUNBQXVDLElBaER4QmIscUNBZ0RpRUMsa0JBQWtCQztnQkFDcEc7Z0JBRUEsT0FBT1c7WUFDVDs7O1dBcERtQmI7RUFBNkNjLHFCQUFZIn0=
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb25cIjtcblxuaW1wb3J0IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiBmcm9tIFwiLi90ZXJtRm9yVmFyaWFibGVcIjtcbmltcG9ydCBpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyL25vZGVzL2ludHJpbnNpY0xldmVsXCI7XG5cbmltcG9ydCB7IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUZyb21TdGF0ZW1lbnROb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9wcm9vZlwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gZXh0ZW5kcyBTdWJzdGl0dXRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb24pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5tZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZTtcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICAgIHRoaXMuc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhdmFyaWFibGVOb2RlO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0U3Vic3RpdHV0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN1YnN0aXR1dGlvbjtcbiAgfVxuXG4gIG1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gICAgbGV0IHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuXG4gICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoU3RhdGVtZW50Tm9kZUV4KHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgaWYgKCFzdGF0ZW1lbnROb2RlTWF0Y2hlcykge1xuICAgICAgY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGlmIChicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZTsgLy8vXG5cbiAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoU3RhdGVtZW50Tm9kZUV4KHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoU3RhdGVtZW50Tm9kZUV4KHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgICBsZXQgc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG5cbiAgICBpZiAodGhpcy5zdWJzdGl0dXRpb24gPT09IG51bGwpIHtcbiAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gdGhpcy5zdGF0ZW1lbnROb2RlLm1hdGNoKHN0YXRlbWVudE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb24gPSB0aGlzLnN1YnN0aXR1dGlvbixcbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGVBID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlQiA9IHRoaXMuc3RhdGVtZW50Tm9kZTsgIC8vL1xuXG4gICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRoaXMubWV0YXZhcmlhYmxlTm9kZS5tYXRjaChtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXZhcmlhYmxlTm9kZUFuZFN0YXRlbWVudE5vZGUobWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbiA9IG51bGw7XG5cbiAgICBsZXQgc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbihtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb24pO1xuXG4gICAgY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBpZiAoYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlOyAvLy9cblxuICAgICAgc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbihtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb24pO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGF2YXJpYWJsZU5vZGVTdGF0ZW1lbnROb2RlQW5kU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbikge1xuICAgIGxldCBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbik7XG5cbiAgICBjb25zdCBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVGcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGU7IC8vL1xuXG4gICAgICBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCBzdGF0ZW1lbnROb2RlTWF0Y2hlcztcblxuICBjb25zdCB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zKTtcblxuICBzdWJzdGl0dXRpb24gPSB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247IC8vL1xuXG4gIHN1YnN0aXR1dGlvbnMgPSBbIC8vL1xuICAgIHN1YnN0aXR1dGlvblxuICBdO1xuXG4gIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBzdGF0ZW1lbnROb2RlQSwgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBzdGF0ZW1lbnROb2RlQiwgIC8vL1xuICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgIH0pO1xuXG4gIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuXG4gIHJldHVybiBzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iLCJtYXRjaFN0YXRlbWVudE5vZGUiLCJtZXRhdmFyaWFibGVOb2RlIiwic3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbiIsImdldE1ldGF2YXJpYWJsZU5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwiZ2V0U3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwic3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaFN0YXRlbWVudE5vZGVFeCIsImJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSIsImJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUZyb21TdGF0ZW1lbnROb2RlIiwibWF0Y2giLCJzdGF0ZW1lbnROb2RlQSIsInN0YXRlbWVudE5vZGVCIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMiLCJmcm9tTWV0YXZhcmlhYmxlTm9kZUFuZFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iLCJmcm9tTWV0YXZhcmlhYmxlTm9kZVN0YXRlbWVudE5vZGVBbmRTdWJzdGl0dXRpb24iLCJTdWJzdGl0dXRpb24iLCJ0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJmcm9tU3Vic3RpdHV0aW9uQW5kU3Vic3RpdHV0aW9ucyIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXIiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJ2ZXJpZmllZEFoZWFkIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O2VBU3FCQTs7SUE0RkxDLGtCQUFrQjtlQUFsQkE7OzttRUFuR1M7c0VBRWU7cUVB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
|
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _substitution = /*#__PURE__*/ _interop_require_default(require("../substitution"));
|
|
12
|
+
var _query = require("../utilities/query");
|
|
12
13
|
function _assert_this_initialized(self) {
|
|
13
14
|
if (self === void 0) {
|
|
14
15
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -99,6 +100,7 @@ function _create_super(Derived) {
|
|
|
99
100
|
return _possible_constructor_return(this, result);
|
|
100
101
|
};
|
|
101
102
|
}
|
|
103
|
+
var termNodeQuery = (0, _query.nodeQuery)("/*/term!"), variableNodeQuery = (0, _query.nodeQuery)("/*/variable!");
|
|
102
104
|
var TermForVariableSubstitution = /*#__PURE__*/ function(Substitution) {
|
|
103
105
|
_inherits(TermForVariableSubstitution, Substitution);
|
|
104
106
|
var _super = _create_super(TermForVariableSubstitution);
|
|
@@ -138,15 +140,68 @@ var TermForVariableSubstitution = /*#__PURE__*/ function(Substitution) {
|
|
|
138
140
|
}
|
|
139
141
|
}
|
|
140
142
|
], [
|
|
143
|
+
{
|
|
144
|
+
key: "fromSubstitutionNode",
|
|
145
|
+
value: function fromSubstitutionNode(substitutionNode) {
|
|
146
|
+
var termNode = termNodeQuery(substitutionNode), variableNode = variableNodeQuery(substitutionNode), termForVariableSubstitution = new TermForVariableSubstitution(variableNode, termNode);
|
|
147
|
+
return termForVariableSubstitution;
|
|
148
|
+
}
|
|
149
|
+
},
|
|
141
150
|
{
|
|
142
151
|
key: "fromVariableNodeAndTermNode",
|
|
143
152
|
value: function fromVariableNodeAndTermNode(variableNode, termNode) {
|
|
144
153
|
var termForVariableSubstitution = new TermForVariableSubstitution(variableNode, termNode);
|
|
145
154
|
return termForVariableSubstitution;
|
|
146
155
|
}
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
key: "fromSubstitutionAndSubstitutions",
|
|
159
|
+
value: function fromSubstitutionAndSubstitutions(substitution, substitutions) {
|
|
160
|
+
var termNode = substitution.getTermNode(), variableNode = substitution.getVariableNode();
|
|
161
|
+
termNode = substituteTermNode(termNode, substitutions); ///
|
|
162
|
+
variableNode = substituteVariableNode(variableNode, substitutions); ///
|
|
163
|
+
var termForVariableSubstitution = new TermForVariableSubstitution(variableNode, termNode);
|
|
164
|
+
return termForVariableSubstitution;
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
key: "fromSubstitutionNodeAndSubstitutions",
|
|
169
|
+
value: function fromSubstitutionNodeAndSubstitutions(substitutionNode, substitutions) {
|
|
170
|
+
var termNode = termNodeQuery(substitutionNode), variableNode = variableNodeQuery(substitutionNode);
|
|
171
|
+
termNode = substituteTermNode(termNode, substitutions); ///
|
|
172
|
+
variableNode = substituteVariableNode(variableNode, substitutions); ///
|
|
173
|
+
var termForVariableSubstitution = new TermForVariableSubstitution(variableNode, termNode);
|
|
174
|
+
return termForVariableSubstitution;
|
|
175
|
+
}
|
|
147
176
|
}
|
|
148
177
|
]);
|
|
149
178
|
return TermForVariableSubstitution;
|
|
150
179
|
}(_substitution.default);
|
|
180
|
+
function substituteTermNode(termNode, substitutions) {
|
|
181
|
+
var termVariableNode = variableNodeQuery(termNode);
|
|
182
|
+
if (termVariableNode !== null) {
|
|
183
|
+
substitutions.some(function(substitution) {
|
|
184
|
+
var variableNodeMatches = substitution.matchVariableNode(termVariableNode);
|
|
185
|
+
if (variableNodeMatches) {
|
|
186
|
+
termNode = substitution.getTermNode(); ///
|
|
187
|
+
return true;
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
return termNode;
|
|
192
|
+
}
|
|
193
|
+
function substituteVariableNode(variableNode, substitutions) {
|
|
194
|
+
substitutions.some(function(substitution) {
|
|
195
|
+
var variableNodeMatches = substitution.matchVariableNode(variableNode);
|
|
196
|
+
if (variableNodeMatches) {
|
|
197
|
+
var termNode = substitution.getTermNode(), termVariableNode = variableNodeQuery(termNode);
|
|
198
|
+
if (termVariableNode !== null) {
|
|
199
|
+
variableNode = termVariableNode; ///
|
|
200
|
+
return true;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
return variableNode;
|
|
205
|
+
}
|
|
151
206
|
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiLyovdGVybSFcIiksXG4gICAgICB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi8qL3ZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGV4dGVuZHMgU3Vic3RpdHV0aW9uIHtcbiAgY29uc3RydWN0b3IodmFyaWFibGVOb2RlLCB0ZXJtTm9kZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZTtcbiAgICB0aGlzLnRlcm1Ob2RlID0gdGVybU5vZGU7XG4gIH1cblxuICBnZXRWYXJpYWJsZU5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGVOb2RlO1xuICB9XG5cbiAgZ2V0VGVybU5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybU5vZGU7XG4gIH1cblxuICBtYXRjaFRlcm1Ob2RlKHRlcm1Ob2RlKSB7XG4gICAgY29uc3QgdGVybU5vZGVNYXRjaGVzID0gdGhpcy50ZXJtTm9kZS5tYXRjaCh0ZXJtTm9kZSk7XG5cbiAgICByZXR1cm4gdGVybU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRoaXMudmFyaWFibGVOb2RlLm1hdGNoKHZhcmlhYmxlTm9kZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGVOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3Vic3RpdHV0aW9uTm9kZShzdWJzdGl0dXRpb25Ob2RlKSB7XG4gICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KHN1YnN0aXR1dGlvbk5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHN1YnN0aXR1dGlvbk5vZGUpLFxuICAgICAgICAgIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24odmFyaWFibGVOb2RlLCB0ZXJtTm9kZSk7XG5cbiAgICByZXR1cm4gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uO1xuICB9XG5cbiAgc3RhdGljIGZyb21WYXJpYWJsZU5vZGVBbmRUZXJtTm9kZSh2YXJpYWJsZU5vZGUsIHRlcm1Ob2RlKSB7XG4gICAgY29uc3QgdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbih2YXJpYWJsZU5vZGUsIHRlcm1Ob2RlKTtcblxuICAgIHJldHVybiB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IHRlcm1Ob2RlID0gc3Vic3RpdHV0aW9uLmdldFRlcm1Ob2RlKCksXG4gICAgICAgIHZhcmlhYmxlTm9kZSA9IHN1YnN0aXR1dGlvbi5nZXRWYXJpYWJsZU5vZGUoKTtcblxuICAgIHRlcm1Ob2RlID0gc3Vic3RpdHV0ZVRlcm1Ob2RlKHRlcm1Ob2RlLCBzdWJzdGl0dXRpb25zKTsgLy8vXG5cbiAgICB2YXJpYWJsZU5vZGUgPSBzdWJzdGl0dXRlVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9ucyk7IC8vL1xuXG4gICAgY29uc3QgdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbih2YXJpYWJsZU5vZGUsIHRlcm1Ob2RlKTtcblxuICAgIHJldHVybiB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbVN1YnN0aXR1dGlvbk5vZGVBbmRTdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbk5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KHN1YnN0aXR1dGlvbk5vZGUpLFxuICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeShzdWJzdGl0dXRpb25Ob2RlKTtcblxuICAgIHRlcm1Ob2RlID0gc3Vic3RpdHV0ZVRlcm1Ob2RlKHRlcm1Ob2RlLCBzdWJzdGl0dXRpb25zKTsgLy8vXG5cbiAgICB2YXJpYWJsZU5vZGUgPSBzdWJzdGl0dXRlVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9ucyk7IC8vL1xuXG4gICAgY29uc3QgdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbih2YXJpYWJsZU5vZGUsIHRlcm1Ob2RlKTtcblxuICAgIHJldHVybiB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gc3Vic3RpdHV0ZVRlcm1Ob2RlKHRlcm1Ob2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IHRlcm1WYXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZSk7XG5cbiAgaWYgKHRlcm1WYXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICBzdWJzdGl0dXRpb25zLnNvbWUoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgY29uc3QgdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbi5tYXRjaFZhcmlhYmxlTm9kZSh0ZXJtVmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKHZhcmlhYmxlTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgdGVybU5vZGUgPSBzdWJzdGl0dXRpb24uZ2V0VGVybU5vZGUoKTsgIC8vL1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1Ob2RlO1xufVxuXG5mdW5jdGlvbiBzdWJzdGl0dXRlVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICBzdWJzdGl0dXRpb25zLnNvbWUoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgIGNvbnN0IHZhcmlhYmxlTm9kZU1hdGNoZXMgPSBzdWJzdGl0dXRpb24ubWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKTtcblxuICAgIGlmICh2YXJpYWJsZU5vZGVNYXRjaGVzKSB7XG4gICAgICBjb25zdCB0ZXJtTm9kZSA9IHN1YnN0aXR1dGlvbi5nZXRUZXJtTm9kZSgpLFxuICAgICAgICAgICAgdGVybVZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICAgICAgaWYgKHRlcm1WYXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyaWFibGVOb2RlID0gdGVybVZhcmlhYmxlTm9kZTsgIC8vL1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHZhcmlhYmxlTm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJ2YXJpYWJsZU5vZGUiLCJ0ZXJtTm9kZSIsImdldFZhcmlhYmxlTm9kZSIsImdldFRlcm1Ob2RlIiwibWF0Y2hUZXJtTm9kZSIsInRlcm1Ob2RlTWF0Y2hlcyIsIm1hdGNoIiwibWF0Y2hWYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZU5vZGVNYXRjaGVzIiwiZnJvbVN1YnN0aXR1dGlvbk5vZGUiLCJzdWJzdGl0dXRpb25Ob2RlIiwidGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbVZhcmlhYmxlTm9kZUFuZFRlcm1Ob2RlIiwiZnJvbVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMiLCJzdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25zIiwic3Vic3RpdHV0ZVRlcm1Ob2RlIiwic3Vic3RpdHV0ZVZhcmlhYmxlTm9kZSIsImZyb21TdWJzdGl0dXRpb25Ob2RlQW5kU3Vic3RpdHV0aW9ucyIsIlN1YnN0aXR1dGlvbiIsInRlcm1WYXJpYWJsZU5vZGUiLCJzb21lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7OzttRUFQSTtxQkFFQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsYUFDMUJDLG9CQUFvQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVyQixJQUFBLEFBQU1GLDRDQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBLDRCQUNQSSxZQUFZLEVBQUVDLFFBQVE7Z0NBRGZMOzs7UUFJakIsTUFBS0ksWUFBWSxHQUFHQTtRQUNwQixNQUFLQyxRQUFRLEdBQUdBOzs7a0JBTENMOztZQVFuQk0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixZQUFZO1lBQzFCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixRQUFRO1lBQ3RCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLGNBQWNILFFBQVE7Z0JBQ3BCLElBQU1JLGtCQUFrQixJQUFJLENBQUNKLFFBQVEsQ0FBQ0ssS0FBSyxDQUFDTDtnQkFFNUMsT0FBT0k7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxrQkFBa0JQLFlBQVk7Z0JBQzVCLElBQU1RLHNCQUFzQixJQUFJLENBQUNSLFlBQVksQ0FBQ00sS0FBSyxDQUFDTjtnQkFFcEQsT0FBT1E7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxxQkFBcUJDLGdCQUFnQjtnQkFDMUMsSUFBTVQsV0FBV0osY0FBY2EsbUJBQ3pCVixlQUFlRCxrQkFBa0JXLG1CQUNqQ0MsOEJBQThCLElBL0JuQmYsNEJBK0JtREksY0FBY0M7Z0JBRWxGLE9BQU9VO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSw0QkFBNEJaLFlBQVksRUFBRUMsUUFBUTtnQkFDdkQsSUFBTVUsOEJBQThCLElBckNuQmYsNEJBcUNtREksY0FBY0M7Z0JBRWxGLE9BQU9VO1lBQ1Q7OztZQUVPRSxLQUFBQTttQkFBUCxTQUFPQSxpQ0FBaUNDLFlBQVksRUFBRUMsYUFBYTtnQkFDakUsSUFBSWQsV0FBV2EsYUFBYVgsV0FBVyxJQUNuQ0gsZUFBZWMsYUFBYVosZUFBZTtnQkFFL0NELFdBQVdlLG1CQUFtQmYsVUFBVWMsZ0JBQWdCLEdBQUc7Z0JBRTNEZixlQUFlaUIsdUJBQXVCakIsY0FBY2UsZ0JBQWdCLEdBQUc7Z0JBRXZFLElBQU1KLDhCQUE4QixJQWxEbkJmLDRCQWtEbURJLGNBQWNDO2dCQUVsRixPQUFPVTtZQUNUOzs7WUFFT08sS0FBQUE7bUJBQVAsU0FBT0EscUNBQXFDUixnQkFBZ0IsRUFBRUssYUFBYTtnQkFDekUsSUFBSWQsV0FBV0osY0FBY2EsbUJBQ3pCVixlQUFlRCxrQkFBa0JXO2dCQUVyQ1QsV0FBV2UsbUJBQW1CZixVQUFVYyxnQkFBZ0IsR0FBRztnQkFFM0RmLGVBQWVpQix1QkFBdUJqQixjQUFjZSxnQkFBZ0IsR0FBRztnQkFFdkUsSUFBTUosOEJBQThCLElBL0RuQmYsNEJBK0RtREksY0FBY0M7Z0JBRWxGLE9BQU9VO1lBQ1Q7OztXQWxFbUJmO0VBQW9DdUIscUJBQVk7QUFxRXJFLFNBQVNILG1CQUFtQmYsUUFBUSxFQUFFYyxhQUFhO0lBQ2pELElBQU1LLG1CQUFtQnJCLGtCQUFrQkU7SUFFM0MsSUFBSW1CLHFCQUFxQixNQUFNO1FBQzdCTCxjQUFjTSxJQUFJLENBQUMsU0FBQ1A7WUFDbEIsSUFBTU4sc0JBQXNCTSxhQUFhUCxpQkFBaUIsQ0FBQ2E7WUFFM0QsSUFBSVoscUJBQXFCO2dCQUN2QlAsV0FBV2EsYUFBYVgsV0FBVyxJQUFLLEdBQUc7Z0JBRTNDLE9BQU87WUFDVDtRQUNGO0lBQ0Y7SUFFQSxPQUFPRjtBQUNUO0FBRUEsU0FBU2dCLHVCQUF1QmpCLFlBQVksRUFBRWUsYUFBYTtJQUN6REEsY0FBY00sSUFBSSxDQUFDLFNBQUNQO1FBQ2xCLElBQU1OLHNCQUFzQk0sYUFBYVAsaUJBQWlCLENBQUNQO1FBRTNELElBQUlRLHFCQUFxQjtZQUN2QixJQUFNUCxXQUFXYSxhQUFhWCxXQUFXLElBQ25DaUIsbUJBQW1CckIsa0JBQWtCRTtZQUUzQyxJQUFJbUIscUJBQXFCLE1BQU07Z0JBQzdCcEIsZUFBZW9CLGtCQUFtQixHQUFHO2dCQUVyQyxPQUFPO1lBQ1Q7UUFDRjtJQUNGO0lBRUEsT0FBT3BCO0FBQ1QifQ==
|
|
@@ -10,8 +10,9 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _local = /*#__PURE__*/ _interop_require_default(require("../../context/local"));
|
|
12
12
|
var _nodes = /*#__PURE__*/ _interop_require_default(require("../../verifier/nodes"));
|
|
13
|
+
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("../../substitution/termForVariable"));
|
|
13
14
|
var _intrinsiclevel = /*#__PURE__*/ _interop_require_default(require("../../mixins/nodesVerifier/intrinsiclevel"));
|
|
14
|
-
var _statementForMetavariable = /*#__PURE__*/
|
|
15
|
+
var _statementForMetavariable = /*#__PURE__*/ _interop_require_wildcard(require("../../substitution/statementForMetavariable"));
|
|
15
16
|
var _query = require("../../utilities/query");
|
|
16
17
|
var _ruleNames = require("../../ruleNames");
|
|
17
18
|
function _assert_this_initialized(self) {
|
|
@@ -79,6 +80,47 @@ function _interop_require_default(obj) {
|
|
|
79
80
|
default: obj
|
|
80
81
|
};
|
|
81
82
|
}
|
|
83
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
84
|
+
if (typeof WeakMap !== "function") return null;
|
|
85
|
+
var cacheBabelInterop = new WeakMap();
|
|
86
|
+
var cacheNodeInterop = new WeakMap();
|
|
87
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
88
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
89
|
+
})(nodeInterop);
|
|
90
|
+
}
|
|
91
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
92
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
93
|
+
return obj;
|
|
94
|
+
}
|
|
95
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
96
|
+
return {
|
|
97
|
+
default: obj
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
101
|
+
if (cache && cache.has(obj)) {
|
|
102
|
+
return cache.get(obj);
|
|
103
|
+
}
|
|
104
|
+
var newObj = {
|
|
105
|
+
__proto__: null
|
|
106
|
+
};
|
|
107
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
108
|
+
for(var key in obj){
|
|
109
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
110
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
111
|
+
if (desc && (desc.get || desc.set)) {
|
|
112
|
+
Object.defineProperty(newObj, key, desc);
|
|
113
|
+
} else {
|
|
114
|
+
newObj[key] = obj[key];
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
newObj.default = obj;
|
|
119
|
+
if (cache) {
|
|
120
|
+
cache.set(obj, newObj);
|
|
121
|
+
}
|
|
122
|
+
return newObj;
|
|
123
|
+
}
|
|
82
124
|
function _possible_constructor_return(self, call) {
|
|
83
125
|
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
84
126
|
return call;
|
|
@@ -127,7 +169,7 @@ function _create_super(Derived) {
|
|
|
127
169
|
return _possible_constructor_return(this, result);
|
|
128
170
|
};
|
|
129
171
|
}
|
|
130
|
-
var
|
|
172
|
+
var variableNodeQuery = (0, _query.nodeQuery)("/*/variable!"), statementNodeQuery = (0, _query.nodeQuery)("/metaArgument/statement"), metavariableNodeQuery = (0, _query.nodeQuery)("/metastatement/metavariable!"), substitutionNodeQuery = (0, _query.nodeQuery)("/metastatement/substitution!");
|
|
131
173
|
var MetaLevelToIntrinsicLevelNodesVerifier = /*#__PURE__*/ function(NodesVerifier) {
|
|
132
174
|
_inherits(MetaLevelToIntrinsicLevelNodesVerifier, NodesVerifier);
|
|
133
175
|
var _super = _create_super(MetaLevelToIntrinsicLevelNodesVerifier);
|
|
@@ -190,24 +232,15 @@ var MetaLevelToIntrinsicLevelNodesVerifier = /*#__PURE__*/ function(NodesVerifie
|
|
|
190
232
|
var metaArgumentNodeVerified = false;
|
|
191
233
|
var statementNodeB = statementNodeQuery(metaArgumentNodeB), metavariableNodeA = metavariableNodeQuery(metastatementNodeA);
|
|
192
234
|
if (metavariableNodeA !== null && statementNodeB !== null) {
|
|
193
|
-
var
|
|
194
|
-
|
|
195
|
-
var variableNode = variableNodeQuery(substitutionNode), variable = fileContextA.findVariableByVariableNode(variableNode);
|
|
196
|
-
if (variable !== null) {
|
|
197
|
-
var termNode = termNodeQuery(substitutionNode);
|
|
198
|
-
debugger;
|
|
199
|
-
}
|
|
200
|
-
} else {
|
|
201
|
-
var metavariableNodeVerified = this.verifyMetavariableNode(metavariableNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
202
|
-
metaArgumentNodeVerified = metavariableNodeVerified; ///
|
|
203
|
-
}
|
|
235
|
+
var substitutionNodeA = substitutionNodeQuery(metastatementNodeA), metavariableNodeVerified = this.verifyMetavariableNode(metavariableNodeA, substitutionNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
236
|
+
metaArgumentNodeVerified = metavariableNodeVerified; ///
|
|
204
237
|
}
|
|
205
238
|
return metaArgumentNodeVerified;
|
|
206
239
|
}
|
|
207
240
|
},
|
|
208
241
|
{
|
|
209
242
|
key: "verifyMetavariableNode",
|
|
210
|
-
value: function verifyMetavariableNode(metavariableNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead) {
|
|
243
|
+
value: function verifyMetavariableNode(metavariableNodeA, substitutionNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead) {
|
|
211
244
|
var metavariableNodeVerified;
|
|
212
245
|
var substitution = substitutions.find(function(substitution) {
|
|
213
246
|
var substitutionMatchesMetavariableNodeA = substitution.matchMetavariableNode(metavariableNodeA);
|
|
@@ -216,11 +249,17 @@ var MetaLevelToIntrinsicLevelNodesVerifier = /*#__PURE__*/ function(NodesVerifie
|
|
|
216
249
|
}
|
|
217
250
|
}) || null;
|
|
218
251
|
if (substitution !== null) {
|
|
219
|
-
var statementNode =
|
|
220
|
-
|
|
252
|
+
var statementNode = substitution.getStatementNode(), localContextA = _local.default.fromFileContext(fileContextA);
|
|
253
|
+
if (substitutionNodeA !== null) {
|
|
254
|
+
var substitutionNode = substitutionNodeA, termForVariableSubstitution = _termForVariable.default.fromSubstitutionNode(substitutionNode), substitution1 = termForVariableSubstitution, statementNodeA = statementNode, statementNodeMatches = (0, _statementForMetavariable.matchStatementNode)(statementNodeA, statementNodeB, substitution1, substitutions, localContextA, localContextB);
|
|
255
|
+
metavariableNodeVerified = statementNodeMatches; ///
|
|
256
|
+
} else {
|
|
257
|
+
var statementNode1 = statementNodeB, statementNodeMatches1 = substitution.matchStatementNode(statementNode1, substitutions, localContextA, localContextB);
|
|
258
|
+
metavariableNodeVerified = statementNodeMatches1; ///
|
|
259
|
+
}
|
|
221
260
|
} else {
|
|
222
|
-
var metavariableNode = metavariableNodeA,
|
|
223
|
-
substitutions.push(
|
|
261
|
+
var substitutionNode1 = substitutionNodeA, metavariableNode = metavariableNodeA, statementNode2 = statementNodeB, substitution2 = substitutionFromSubstitutionNodeMetavariableNodeAndStatementNode(substitutionNode1, metavariableNode, statementNode2);
|
|
262
|
+
substitutions.push(substitution2);
|
|
224
263
|
metavariableNodeVerified = true;
|
|
225
264
|
}
|
|
226
265
|
return metavariableNodeVerified;
|
|
@@ -232,7 +271,7 @@ var MetaLevelToIntrinsicLevelNodesVerifier = /*#__PURE__*/ function(NodesVerifie
|
|
|
232
271
|
var statementNodeVerified;
|
|
233
272
|
var metavariableNodeA = metavariableNodeQuery(metastatementNodeA);
|
|
234
273
|
if (metavariableNodeA !== null) {
|
|
235
|
-
var metavariableNodeVerified = this.verifyMetavariableNode(metavariableNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
274
|
+
var substitutionNodeA = null, metavariableNodeVerified = this.verifyMetavariableNode(metavariableNodeA, substitutionNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
236
275
|
statementNodeVerified = metavariableNodeVerified; ///
|
|
237
276
|
} else {
|
|
238
277
|
var nonTerminalNodeA = metastatementNodeA, nonTerminalNodeB = statementNodeB, nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, childNodesB = nonTerminalNodeBChildNodes, childNodesVerified = _get(_get_prototype_of(MetaLevelToIntrinsicLevelNodesVerifier.prototype), "verifyChildNodes", this).call(this, childNodesA, childNodesB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
@@ -268,5 +307,16 @@ var MetaLevelToIntrinsicLevelNodesVerifier = /*#__PURE__*/ function(NodesVerifie
|
|
|
268
307
|
Object.assign(MetaLevelToIntrinsicLevelNodesVerifier.prototype, _intrinsiclevel.default);
|
|
269
308
|
var metaLevelToIntrinsicLevelNodesVerifier = new MetaLevelToIntrinsicLevelNodesVerifier();
|
|
270
309
|
var _default = metaLevelToIntrinsicLevelNodesVerifier;
|
|
310
|
+
function substitutionFromSubstitutionNodeMetavariableNodeAndStatementNode(substitutionNode, metavariableNode, statementNode) {
|
|
311
|
+
var statementForMetavariableSubstitution;
|
|
312
|
+
if (substitutionNode !== null) {
|
|
313
|
+
var termForVariableSubstitution = _termForVariable.default.fromSubstitutionNode(substitutionNode), substitution = termForVariableSubstitution; ///
|
|
314
|
+
statementForMetavariableSubstitution = _statementForMetavariable.default.fromMetavariableNodeStatementNodeAndSubstitution(metavariableNode, statementNode, substitution);
|
|
315
|
+
} else {
|
|
316
|
+
statementForMetavariableSubstitution = _statementForMetavariable.default.fromMetavariableNodeAndStatementNode(metavariableNode, statementNode);
|
|
317
|
+
}
|
|
318
|
+
var substitution1 = statementForMetavariableSubstitution; ///
|
|
319
|
+
return substitution1;
|
|
320
|
+
}
|
|
271
321
|
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy9tZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi8uLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vLi4vdmVyaWZpZXIvbm9kZXNcIjtcbmltcG9ydCBpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXJNaXhpbnMgZnJvbSBcIi4uLy4uL21peGlucy9ub2Rlc1ZlcmlmaWVyL2ludHJpbnNpY2xldmVsXCI7XG5pbXBvcnQgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi8uLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IFRFUk1fUlVMRV9OQU1FLCBTVEFURU1FTlRfUlVMRV9OQU1FLCBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSwgTUVUQV9BUkdVTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vLi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3Vic3RpdHV0aW9uL3Rlcm0hXCIpLFxuICAgICAgdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvKi92YXJpYWJsZSFcIiksXG4gICAgICBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YUFyZ3VtZW50L3N0YXRlbWVudFwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L21ldGF2YXJpYWJsZSFcIiksXG4gICAgICBzdWJzdGl0dXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXN0YXRlbWVudC9zdWJzdGl0dXRpb24hXCIpO1xuXG5jbGFzcyBNZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllciBleHRlbmRzIE5vZGVzVmVyaWZpZXIge1xuICB2ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0UnVsZU5hbWUoKTtcblxuICAgIHN3aXRjaCAobm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lKSB7XG4gICAgICBjYXNlIE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FOiB7XG4gICAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlQSA9IG5vblRlcm1pbmFsTm9kZUEsIC8vL1xuICAgICAgICAgICAgICBtZXRhQXJndW1lbnROb2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhQXJndW1lbnROb2RlVmVyaWZpZWQ7IC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIFRFUk1fUlVMRV9OQU1FOiB7XG4gICAgICAgIGNvbnN0IHRlcm1Ob2RlQSA9IG5vblRlcm1pbmFsTm9kZUEsIC8vL1xuICAgICAgICAgICAgICBsb2NhbENvbnRleHRBID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dEEpLFxuICAgICAgICAgICAgICB0ZXJtTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlUZXJtTm9kZSh0ZXJtTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRlcm1Ob2RlVmVyaWZpZWQ7IC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3VwZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpO1xuXG4gICAgc3dpdGNoIChub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgTUVUQV9BUkdVTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3QgbWV0YUFyZ3VtZW50Tm9kZUIgPSBub25UZXJtaW5hbE5vZGVCLCAvLy9cbiAgICAgICAgICAgICAgbWV0YUFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlNZXRhQXJndW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlQSwgbWV0YUFyZ3VtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZWQgPSBtZXRhQXJndW1lbnROb2RlVmVyaWZpZWQ7IC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIFNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZUIgPSBub25UZXJtaW5hbE5vZGVCLCAgLy8vXG4gICAgICAgICAgICAgIHN0YXRlbWVudE5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5U3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkID0gc3RhdGVtZW50Tm9kZVZlcmlmaWVkOyAgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlNZXRhQXJndW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlQSwgbWV0YUFyZ3VtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgbWV0YUFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlQiA9IHN0YXRlbWVudE5vZGVRdWVyeShtZXRhQXJndW1lbnROb2RlQiksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZUEgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGVBKTtcblxuICAgIGlmICgobWV0YXZhcmlhYmxlTm9kZUEgIT09IG51bGwpICYmIChzdGF0ZW1lbnROb2RlQiAhPT0gbnVsbCkpIHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbk5vZGUgPSBzdWJzdGl0dXRpb25Ob2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGVBKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkoc3Vic3RpdHV0aW9uTm9kZSksXG4gICAgICAgICAgICAgIHZhcmlhYmxlID0gZmlsZUNvbnRleHRBLmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSk7XG5cbiAgICAgICAgaWYgKHZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KHN1YnN0aXR1dGlvbk5vZGUpO1xuXG4gICAgICAgICAgZGVidWdnZXJcblxuXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgIG1ldGFBcmd1bWVudE5vZGVWZXJpZmllZCA9IG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZDsgIC8vL1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtZXRhQXJndW1lbnROb2RlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBtZXRhdmFyaWFibGVOb2RlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmQoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBID0gc3Vic3RpdHV0aW9uLm1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlQSk7XG5cbiAgICAgIGlmIChzdWJzdGl0dXRpb25NYXRjaGVzTWV0YXZhcmlhYmxlTm9kZUEpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSkgfHwgbnVsbDtcblxuICAgIGlmIChzdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlQiwgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbi5tYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCA9IHN0YXRlbWVudE5vZGVNYXRjaGVzOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlQSwgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgICAgc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uLmZyb21NZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZShtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjsgIC8vL1xuXG4gICAgICBzdWJzdGl0dXRpb25zLnB1c2goc3Vic3RpdHV0aW9uKTtcblxuICAgICAgbWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5U3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IHN0YXRlbWVudE5vZGVWZXJpZmllZDtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVBID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlQSk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlTm9kZUEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICBzdGF0ZW1lbnROb2RlVmVyaWZpZWQgPSBtZXRhdmFyaWFibGVOb2RlVmVyaWZpZWQ7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IG1ldGFzdGF0ZW1lbnROb2RlQSwgIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IHN0YXRlbWVudE5vZGVCLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVCLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgIGNoaWxkTm9kZXNBID0gbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2Rlc0IgPSBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZpZWQgPSBzdXBlci52ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgIHN0YXRlbWVudE5vZGVWZXJpZmllZCA9IGNoaWxkTm9kZXNWZXJpZmllZDsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlUZXJtTm9kZSh0ZXJtTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgdGVybU5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpO1xuXG4gICAgc3dpdGNoIChub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgVEVSTV9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVOb2RlQSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlQSk7XG5cbiAgICAgICAgaWYgKHZhcmlhYmxlTm9kZUEgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCB0ZXJtTm9kZUIgPSBub25UZXJtaW5hbE5vZGVCLCAvLy9cbiAgICAgICAgICAgICAgICBsb2NhbENvbnRleHRBID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dEEpLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQSwgdGVybU5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICB0ZXJtTm9kZVZlcmlmaWVkID0gdmFyaWFibGVOb2RlVmVyaWZpZWQ7IC8vL1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSB0ZXJtTm9kZUEsIC8vL1xuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSB0ZXJtTm9kZUIsIC8vL1xuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3VwZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgdGVybU5vZGVWZXJpZmllZCA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAvLy9cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0ZXJtTm9kZVZlcmlmaWVkO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oTWV0YUxldmVsVG9JbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXIucHJvdG90eXBlLCBpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXJNaXhpbnMpO1xuXG5jb25zdCBtZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllciA9IG5ldyBNZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllcjtcbiJdLCJuYW1lcyI6WyJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJzdWJzdGl0dXRpb25Ob2RlUXVlcnkiLCJNZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllciIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwic3Vic3RpdHV0aW9ucyIsImZpbGVDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJ2ZXJpZnlBaGVhZCIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsIm1ldGFzdGF0ZW1lbnROb2RlQSIsIm1ldGFBcmd1bWVudE5vZGVWZXJpZmllZCIsInZlcmlmeU1ldGFzdGF0ZW1lbnROb2RlIiwiVEVSTV9SVUxFX05BTUUiLCJ0ZXJtTm9kZUEiLCJsb2NhbENvbnRleHRBIiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwidGVybU5vZGVWZXJpZmllZCIsInZlcmlmeVRlcm1Ob2RlIiwibWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZCIsIm5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSIsIk1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIiwibWV0YUFyZ3VtZW50Tm9kZUIiLCJ2ZXJpZnlNZXRhQXJndW1lbnROb2RlIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsInN0YXRlbWVudE5vZGVCIiwic3RhdGVtZW50Tm9kZVZlcmlmaWVkIiwidmVyaWZ5U3RhdGVtZW50Tm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVBIiwic3Vic3RpdHV0aW9uTm9kZSIsInZhcmlhYmxlTm9kZSIsInZhcmlhYmxlIiwiZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUiLCJ0ZXJtTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCIsInZlcmlmeU1ldGF2YXJpYWJsZU5vZGUiLCJzdWJzdGl0dXRpb24iLCJmaW5kIiwic3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwic3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsInN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsIlN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZSIsInB1c2giLCJub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyIsImNoaWxkTm9kZXNBIiwiY2hpbGROb2Rlc0IiLCJjaGlsZE5vZGVzVmVyaWZpZWQiLCJ2ZXJpZnlDaGlsZE5vZGVzIiwidmFyaWFibGVOb2RlQSIsInRlcm1Ob2RlQiIsInZhcmlhYmxlTm9kZVZlcmlmaWVkIiwidmVyaWZ5VmFyaWFibGVOb2RlIiwiTm9kZXNWZXJpZmllciIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllck1peGlucyIsIm1ldGFMZXZlbFRvSW50cmluc2ljTGV2ZWxOb2Rlc1ZlcmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFtTUE7OztlQUFBOzs7NERBak15Qjs0REFDQztxRUFDb0I7K0VBQ0c7cUJBRXZCO3lCQUM0RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXRHLElBQU1BLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyx3QkFDMUJDLG9CQUFvQkQsSUFBQUEsZ0JBQVMsRUFBQyxpQkFDOUJFLHFC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
|
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy9tZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi8uLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vLi4vdmVyaWZpZXIvbm9kZXNcIjtcbmltcG9ydCBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gZnJvbSBcIi4uLy4uL3N1YnN0aXR1dGlvbi90ZXJtRm9yVmFyaWFibGVcIjtcbmltcG9ydCBpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXJNaXhpbnMgZnJvbSBcIi4uLy4uL21peGlucy9ub2Rlc1ZlcmlmaWVyL2ludHJpbnNpY2xldmVsXCI7XG5pbXBvcnQgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi8uLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1hdGNoU3RhdGVtZW50Tm9kZSB9IGZyb20gXCIuLi8uLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlXCI7XG5pbXBvcnQgeyBURVJNX1JVTEVfTkFNRSwgU1RBVEVNRU5UX1JVTEVfTkFNRSwgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUsIE1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi8qL3ZhcmlhYmxlIVwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhQXJndW1lbnQvc3RhdGVtZW50XCIpLFxuICAgICAgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvbWV0YXZhcmlhYmxlIVwiKSxcbiAgICAgIHN1YnN0aXR1dGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L3N1YnN0aXR1dGlvbiFcIik7XG5cbmNsYXNzIE1ldGFMZXZlbFRvSW50cmluc2ljTGV2ZWxOb2Rlc1ZlcmlmaWVyIGV4dGVuZHMgTm9kZXNWZXJpZmllciB7XG4gIHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgc3dpdGNoIChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgLy8vXG4gICAgICAgICAgICAgIG1ldGFBcmd1bWVudE5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5TWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFBcmd1bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgVEVSTV9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3QgdGVybU5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgLy8vXG4gICAgICAgICAgICAgIGxvY2FsQ29udGV4dEEgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0QSksXG4gICAgICAgICAgICAgIHRlcm1Ob2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVRlcm1Ob2RlKHRlcm1Ob2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdGVybU5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBzdXBlci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5TWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVCLmdldFJ1bGVOYW1lKCk7XG5cbiAgICBzd2l0Y2ggKG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSkge1xuICAgICAgY2FzZSBNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRToge1xuICAgICAgICBjb25zdCBtZXRhQXJndW1lbnROb2RlQiA9IG5vblRlcm1pbmFsTm9kZUIsIC8vL1xuICAgICAgICAgICAgICBtZXRhQXJndW1lbnROb2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeU1ldGFBcmd1bWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBtZXRhQXJndW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgbWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZCA9IG1ldGFBcmd1bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgU1RBVEVNRU5UX1JVTEVfTkFNRToge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlQiA9IG5vblRlcm1pbmFsTm9kZUIsICAvLy9cbiAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlTdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZWQgPSBzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7ICAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeU1ldGFBcmd1bWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBtZXRhQXJndW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBtZXRhQXJndW1lbnROb2RlVmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN0YXRlbWVudE5vZGVCID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFBcmd1bWVudE5vZGVCKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlQSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZUEpO1xuXG4gICAgaWYgKChtZXRhdmFyaWFibGVOb2RlQSAhPT0gbnVsbCkgJiYgKHN0YXRlbWVudE5vZGVCICE9PSBudWxsKSkge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uTm9kZUEgPSBzdWJzdGl0dXRpb25Ob2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGVBKSxcbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlQSwgc3Vic3RpdHV0aW9uTm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgbWV0YUFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gbWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFBcmd1bWVudE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZUEsIHN1YnN0aXR1dGlvbk5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBtZXRhdmFyaWFibGVOb2RlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmQoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBID0gc3Vic3RpdHV0aW9uLm1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlQSk7XG5cbiAgICAgIGlmIChzdWJzdGl0dXRpb25NYXRjaGVzTWV0YXZhcmlhYmxlTm9kZUEpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSkgfHwgbnVsbDtcblxuICAgIGlmIChzdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdWJzdGl0dXRpb24uZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgICAgbG9jYWxDb250ZXh0QSA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHRBKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbk5vZGVBICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbk5vZGUgPSBzdWJzdGl0dXRpb25Ob2RlQSwgLy8vXG4gICAgICAgICAgICAgIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tU3Vic3RpdHV0aW9uTm9kZShzdWJzdGl0dXRpb25Ob2RlKSxcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLCAvLy9cbiAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZUEgPSBzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICAgIG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCA9IHN0YXRlbWVudE5vZGVNYXRjaGVzOyAgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbi5tYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgICAgbWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkID0gc3RhdGVtZW50Tm9kZU1hdGNoZXM7ICAvLy9cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uTm9kZSA9IHN1YnN0aXR1dGlvbk5vZGVBLCAvLy9cbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlQSwgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uRnJvbVN1YnN0aXR1dGlvbk5vZGVNZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZShzdWJzdGl0dXRpb25Ob2RlLCBtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgc3Vic3RpdHV0aW9ucy5wdXNoKHN1YnN0aXR1dGlvbik7XG5cbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlQSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZUEpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZU5vZGVBICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25Ob2RlQSA9IG51bGwsIC8vL1xuICAgICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBLCBzdWJzdGl0dXRpb25Ob2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICBzdGF0ZW1lbnROb2RlVmVyaWZpZWQgPSBtZXRhdmFyaWFibGVOb2RlVmVyaWZpZWQ7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IG1ldGFzdGF0ZW1lbnROb2RlQSwgIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IHN0YXRlbWVudE5vZGVCLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVCLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgIGNoaWxkTm9kZXNBID0gbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2Rlc0IgPSBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZpZWQgPSBzdXBlci52ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgIHN0YXRlbWVudE5vZGVWZXJpZmllZCA9IGNoaWxkTm9kZXNWZXJpZmllZDsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlUZXJtTm9kZSh0ZXJtTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgdGVybU5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpO1xuXG4gICAgc3dpdGNoIChub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgVEVSTV9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVOb2RlQSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlQSk7XG5cbiAgICAgICAgaWYgKHZhcmlhYmxlTm9kZUEgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCB0ZXJtTm9kZUIgPSBub25UZXJtaW5hbE5vZGVCLCAvLy9cbiAgICAgICAgICAgICAgICBsb2NhbENvbnRleHRBID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dEEpLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQSwgdGVybU5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICB0ZXJtTm9kZVZlcmlmaWVkID0gdmFyaWFibGVOb2RlVmVyaWZpZWQ7IC8vL1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSB0ZXJtTm9kZUEsIC8vL1xuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSB0ZXJtTm9kZUIsIC8vL1xuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3VwZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgdGVybU5vZGVWZXJpZmllZCA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAvLy9cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0ZXJtTm9kZVZlcmlmaWVkO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oTWV0YUxldmVsVG9JbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXIucHJvdG90eXBlLCBpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXJNaXhpbnMpO1xuXG5jb25zdCBtZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllciA9IG5ldyBNZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllcjtcblxuZnVuY3Rpb24gc3Vic3RpdHV0aW9uRnJvbVN1YnN0aXR1dGlvbk5vZGVNZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZShzdWJzdGl0dXRpb25Ob2RlLCBtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlKSB7XG4gIGxldCBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247XG5cbiAgaWYgKHN1YnN0aXR1dGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVN1YnN0aXR1dGlvbk5vZGUoc3Vic3RpdHV0aW9uTm9kZSksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uOyAvLy9cblxuICAgIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tTWV0YXZhcmlhYmxlTm9kZVN0YXRlbWVudE5vZGVBbmRTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9uKTtcbiAgfSBlbHNlIHtcbiAgICBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbU1ldGF2YXJpYWJsZU5vZGVBbmRTdGF0ZW1lbnROb2RlKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgY29uc3Qgc3Vic3RpdHV0aW9uID0gc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uOyAgLy8vXG5cbiAgcmV0dXJuIHN1YnN0aXR1dGlvbjtcbn1cbiJdLCJuYW1lcyI6WyJ2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsInN1YnN0aXR1dGlvbk5vZGVRdWVyeSIsIk1ldGFMZXZlbFRvSW50cmluc2ljTGV2ZWxOb2Rlc1ZlcmlmaWVyIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJzdWJzdGl0dXRpb25zIiwiZmlsZUNvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInZlcmlmeUFoZWFkIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIk1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwibWV0YXN0YXRlbWVudE5vZGVBIiwibWV0YUFyZ3VtZW50Tm9kZVZlcmlmaWVkIiwidmVyaWZ5TWV0YXN0YXRlbWVudE5vZGUiLCJURVJNX1JVTEVfTkFNRSIsInRlcm1Ob2RlQSIsImxvY2FsQ29udGV4dEEiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJ0ZXJtTm9kZVZlcmlmaWVkIiwidmVyaWZ5VGVybU5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkIiwibm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lIiwiTUVUQV9BUkdVTUVOVF9SVUxFX05BTUUiLCJtZXRhQXJndW1lbnROb2RlQiIsInZlcmlmeU1ldGFBcmd1bWVudE5vZGUiLCJTVEFURU1FTlRfUlVMRV9OQU1FIiwic3RhdGVtZW50Tm9kZUIiLCJzdGF0ZW1lbnROb2RlVmVyaWZpZWQiLCJ2ZXJpZnlTdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZUEiLCJzdWJzdGl0dXRpb25Ob2RlQSIsIm1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCIsInZlcmlmeU1ldGF2YXJpYWJsZU5vZGUiLCJzdWJzdGl0dXRpb24iLCJmaW5kIiwic3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwic3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJzdWJzdGl0dXRpb25Ob2RlIiwidGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbVN1YnN0aXR1dGlvbk5vZGUiLCJzdGF0ZW1lbnROb2RlQSIsInN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbkZyb21TdWJzdGl0dXRpb25Ob2RlTWV0YXZhcmlhYmxlTm9kZUFuZFN0YXRlbWVudE5vZGUiLCJwdXNoIiwibm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwibm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMiLCJjaGlsZE5vZGVzQSIsImNoaWxkTm9kZXNCIiwiY2hpbGROb2Rlc1ZlcmlmaWVkIiwidmVyaWZ5Q2hpbGROb2RlcyIsInZhcmlhYmxlTm9kZUEiLCJ0ZXJtTm9kZUIiLCJ2YXJpYWJsZU5vZGVWZXJpZmllZCIsInZlcmlmeVZhcmlhYmxlTm9kZSIsIk5vZGVzVmVyaWZpZXIiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXJNaXhpbnMiLCJtZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllciIsInN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsIlN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlU3RhdGVtZW50Tm9kZUFuZFN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBb01BOzs7ZUFBQTs7OzREQWxNeUI7NERBQ0M7c0VBQ2M7cUVBQ007Z0ZBQ0c7cUJBRXZCO3lCQUU0RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEcsSUFBTUEsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDLGlCQUM5QkMscUJBQXFCRCxJQUFBQSxnQkFBUyxFQUFDLDRCQUMvQkUsd0JBQXdCRixJQUFBQSxnQkFBUyxFQUFDLGlDQUNsQ0csd0JBQXdCSCxJQUFBQSxnQkFBUyxFQUFDO0FBRXhDLElBQUEsQUFBTUksdURBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCQyxnQkFBZ0IsRUFBRUMsZ0JBQWdCLEVB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-verify-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.843",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.28",
|
|
14
14
|
"necessary": "^14.0.1",
|
|
15
|
-
"occam-custom-grammars": "^5.0.
|
|
15
|
+
"occam-custom-grammars": "^5.0.742",
|
|
16
16
|
"occam-entities": "^1.0.125",
|
|
17
17
|
"occam-file-system": "^6.0.167",
|
|
18
18
|
"occam-grammar-utilities": "^8.0.201",
|
package/src/log.js
CHANGED
|
@@ -107,7 +107,9 @@ function formatMessage(level, message, node = null, tokens = null, filePath = nu
|
|
|
107
107
|
const upperCaseLevel = level.toUpperCase();
|
|
108
108
|
|
|
109
109
|
if ((node === null) || (tokens === null)) {
|
|
110
|
-
message =
|
|
110
|
+
message = (filePath !== null) ?
|
|
111
|
+
`${upperCaseLevel}: ${filePath} - ${message}`:
|
|
112
|
+
`${upperCaseLevel}: ${message}`;
|
|
111
113
|
} else {
|
|
112
114
|
const leastLineIndex = leastLineIndexFromNodeAndTokens(node, tokens),
|
|
113
115
|
leastLineNumber = leastLineIndex, ///
|
|
@@ -2,14 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
import Substitution from "../substitution";
|
|
4
4
|
|
|
5
|
+
import TermForVariableSubstitution from "./termForVariable";
|
|
6
|
+
import intrinsicLevelNodesVerifier from "../verifier/nodes/intrinsicLevel";
|
|
7
|
+
|
|
5
8
|
import { bracketedStatementChildNodeFromStatementNode } from "../utilities/proof";
|
|
6
9
|
|
|
7
10
|
export default class StatementForMetavariableSubstitution extends Substitution {
|
|
8
|
-
constructor(metavariableNode, statementNode) {
|
|
11
|
+
constructor(metavariableNode, statementNode, substitution) {
|
|
9
12
|
super();
|
|
10
13
|
|
|
11
14
|
this.metavariableNode = metavariableNode;
|
|
12
15
|
this.statementNode = statementNode;
|
|
16
|
+
this.substitution = substitution;
|
|
13
17
|
}
|
|
14
18
|
|
|
15
19
|
getMetavariableNode() {
|
|
@@ -20,10 +24,14 @@ export default class StatementForMetavariableSubstitution extends Substitution {
|
|
|
20
24
|
return this.statementNode;
|
|
21
25
|
}
|
|
22
26
|
|
|
23
|
-
|
|
27
|
+
getSubstitution() {
|
|
28
|
+
return this.substitution;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
matchStatementNode(statementNode, substitutions, localContextA, localContextB) {
|
|
24
32
|
let statementNodeMatches;
|
|
25
33
|
|
|
26
|
-
statementNodeMatches = this.
|
|
34
|
+
statementNodeMatches = this.matchStatementNodeEx(statementNode, substitutions, localContextA, localContextB);
|
|
27
35
|
|
|
28
36
|
if (!statementNodeMatches) {
|
|
29
37
|
const bracketedStatementChildNode = bracketedStatementChildNodeFromStatementNode(statementNode);
|
|
@@ -31,13 +39,29 @@ export default class StatementForMetavariableSubstitution extends Substitution {
|
|
|
31
39
|
if (bracketedStatementChildNode !== null) {
|
|
32
40
|
const statementNode = bracketedStatementChildNode; ///
|
|
33
41
|
|
|
34
|
-
statementNodeMatches = this.
|
|
42
|
+
statementNodeMatches = this.matchStatementNodeEx(statementNode, substitutions, localContextA, localContextB);
|
|
35
43
|
}
|
|
36
44
|
}
|
|
37
45
|
|
|
38
46
|
return statementNodeMatches;
|
|
39
47
|
}
|
|
40
48
|
|
|
49
|
+
matchStatementNodeEx(statementNode, substitutions, localContextA, localContextB) {
|
|
50
|
+
let statementNodeMatches;
|
|
51
|
+
|
|
52
|
+
if (this.substitution === null) {
|
|
53
|
+
statementNodeMatches = this.statementNode.match(statementNode);
|
|
54
|
+
} else {
|
|
55
|
+
const substitution = this.substitution,
|
|
56
|
+
statementNodeA = statementNode, ///
|
|
57
|
+
statementNodeB = this.statementNode; ///
|
|
58
|
+
|
|
59
|
+
statementNodeMatches = matchStatementNode(statementNodeA, statementNodeB, substitution, substitutions, localContextA, localContextB);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return statementNodeMatches;
|
|
63
|
+
}
|
|
64
|
+
|
|
41
65
|
matchMetavariableNode(metavariableNode) {
|
|
42
66
|
const metavariableNodeMatches = this.metavariableNode.match(metavariableNode);
|
|
43
67
|
|
|
@@ -45,16 +69,56 @@ export default class StatementForMetavariableSubstitution extends Substitution {
|
|
|
45
69
|
}
|
|
46
70
|
|
|
47
71
|
static fromMetavariableNodeAndStatementNode(metavariableNode, statementNode) {
|
|
48
|
-
|
|
72
|
+
const substitution = null;
|
|
73
|
+
|
|
74
|
+
let statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(metavariableNode, statementNode, substitution);
|
|
75
|
+
|
|
76
|
+
const bracketedStatementChildNode = bracketedStatementChildNodeFromStatementNode(statementNode);
|
|
77
|
+
|
|
78
|
+
if (bracketedStatementChildNode !== null) {
|
|
79
|
+
const statementNode = bracketedStatementChildNode; ///
|
|
80
|
+
|
|
81
|
+
statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(metavariableNode, statementNode, substitution);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return statementForMetavariableSubstitution;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
static fromMetavariableNodeStatementNodeAndSubstitution(metavariableNode, statementNode, substitution) {
|
|
88
|
+
let statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(metavariableNode, statementNode, substitution);
|
|
49
89
|
|
|
50
90
|
const bracketedStatementChildNode = bracketedStatementChildNodeFromStatementNode(statementNode);
|
|
51
91
|
|
|
52
92
|
if (bracketedStatementChildNode !== null) {
|
|
53
93
|
const statementNode = bracketedStatementChildNode; ///
|
|
54
94
|
|
|
55
|
-
statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(metavariableNode, statementNode);
|
|
95
|
+
statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(metavariableNode, statementNode, substitution);
|
|
56
96
|
}
|
|
57
97
|
|
|
58
98
|
return statementForMetavariableSubstitution;
|
|
59
99
|
}
|
|
60
100
|
}
|
|
101
|
+
|
|
102
|
+
export function matchStatementNode(statementNodeA, statementNodeB, substitution, substitutions, localContextA, localContextB) {
|
|
103
|
+
let statementNodeMatches;
|
|
104
|
+
|
|
105
|
+
const termForVariableSubstitution = TermForVariableSubstitution.fromSubstitutionAndSubstitutions(substitution, substitutions);
|
|
106
|
+
|
|
107
|
+
substitution = termForVariableSubstitution; ///
|
|
108
|
+
|
|
109
|
+
substitutions = [ ///
|
|
110
|
+
substitution
|
|
111
|
+
];
|
|
112
|
+
|
|
113
|
+
const nonTerminalNodeA = statementNodeA, ///
|
|
114
|
+
nonTerminalNodeB = statementNodeB, ///
|
|
115
|
+
nonTerminalNodeVerified = intrinsicLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, () => {
|
|
116
|
+
const verifiedAhead = true;
|
|
117
|
+
|
|
118
|
+
return verifiedAhead;
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
statementNodeMatches = nonTerminalNodeVerified; ///
|
|
122
|
+
|
|
123
|
+
return statementNodeMatches;
|
|
124
|
+
}
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
import Substitution from "../substitution";
|
|
4
4
|
|
|
5
|
+
import { nodeQuery } from "../utilities/query";
|
|
6
|
+
|
|
7
|
+
const termNodeQuery = nodeQuery("/*/term!"),
|
|
8
|
+
variableNodeQuery = nodeQuery("/*/variable!");
|
|
9
|
+
|
|
5
10
|
export default class TermForVariableSubstitution extends Substitution {
|
|
6
11
|
constructor(variableNode, termNode) {
|
|
7
12
|
super();
|
|
@@ -30,9 +35,80 @@ export default class TermForVariableSubstitution extends Substitution {
|
|
|
30
35
|
return variableNodeMatches;
|
|
31
36
|
}
|
|
32
37
|
|
|
38
|
+
static fromSubstitutionNode(substitutionNode) {
|
|
39
|
+
const termNode = termNodeQuery(substitutionNode),
|
|
40
|
+
variableNode = variableNodeQuery(substitutionNode),
|
|
41
|
+
termForVariableSubstitution = new TermForVariableSubstitution(variableNode, termNode);
|
|
42
|
+
|
|
43
|
+
return termForVariableSubstitution;
|
|
44
|
+
}
|
|
45
|
+
|
|
33
46
|
static fromVariableNodeAndTermNode(variableNode, termNode) {
|
|
34
47
|
const termForVariableSubstitution = new TermForVariableSubstitution(variableNode, termNode);
|
|
35
48
|
|
|
36
49
|
return termForVariableSubstitution;
|
|
37
50
|
}
|
|
38
|
-
|
|
51
|
+
|
|
52
|
+
static fromSubstitutionAndSubstitutions(substitution, substitutions) {
|
|
53
|
+
let termNode = substitution.getTermNode(),
|
|
54
|
+
variableNode = substitution.getVariableNode();
|
|
55
|
+
|
|
56
|
+
termNode = substituteTermNode(termNode, substitutions); ///
|
|
57
|
+
|
|
58
|
+
variableNode = substituteVariableNode(variableNode, substitutions); ///
|
|
59
|
+
|
|
60
|
+
const termForVariableSubstitution = new TermForVariableSubstitution(variableNode, termNode);
|
|
61
|
+
|
|
62
|
+
return termForVariableSubstitution;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static fromSubstitutionNodeAndSubstitutions(substitutionNode, substitutions) {
|
|
66
|
+
let termNode = termNodeQuery(substitutionNode),
|
|
67
|
+
variableNode = variableNodeQuery(substitutionNode);
|
|
68
|
+
|
|
69
|
+
termNode = substituteTermNode(termNode, substitutions); ///
|
|
70
|
+
|
|
71
|
+
variableNode = substituteVariableNode(variableNode, substitutions); ///
|
|
72
|
+
|
|
73
|
+
const termForVariableSubstitution = new TermForVariableSubstitution(variableNode, termNode);
|
|
74
|
+
|
|
75
|
+
return termForVariableSubstitution;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function substituteTermNode(termNode, substitutions) {
|
|
80
|
+
const termVariableNode = variableNodeQuery(termNode);
|
|
81
|
+
|
|
82
|
+
if (termVariableNode !== null) {
|
|
83
|
+
substitutions.some((substitution) => {
|
|
84
|
+
const variableNodeMatches = substitution.matchVariableNode(termVariableNode);
|
|
85
|
+
|
|
86
|
+
if (variableNodeMatches) {
|
|
87
|
+
termNode = substitution.getTermNode(); ///
|
|
88
|
+
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return termNode;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function substituteVariableNode(variableNode, substitutions) {
|
|
98
|
+
substitutions.some((substitution) => {
|
|
99
|
+
const variableNodeMatches = substitution.matchVariableNode(variableNode);
|
|
100
|
+
|
|
101
|
+
if (variableNodeMatches) {
|
|
102
|
+
const termNode = substitution.getTermNode(),
|
|
103
|
+
termVariableNode = variableNodeQuery(termNode);
|
|
104
|
+
|
|
105
|
+
if (termVariableNode !== null) {
|
|
106
|
+
variableNode = termVariableNode; ///
|
|
107
|
+
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
return variableNode;
|
|
114
|
+
}
|
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
import LocalContext from "../../context/local";
|
|
4
4
|
import NodesVerifier from "../../verifier/nodes";
|
|
5
|
+
import TermForVariableSubstitution from "../../substitution/termForVariable";
|
|
5
6
|
import intrinsicLevelNodesVerifierMixins from "../../mixins/nodesVerifier/intrinsiclevel";
|
|
6
7
|
import StatementForMetavariableSubstitution from "../../substitution/statementForMetavariable";
|
|
7
8
|
|
|
8
9
|
import { nodeQuery } from "../../utilities/query";
|
|
10
|
+
import { matchStatementNode } from "../../substitution/statementForMetavariable";
|
|
9
11
|
import { TERM_RULE_NAME, STATEMENT_RULE_NAME, METASTATEMENT_RULE_NAME, META_ARGUMENT_RULE_NAME } from "../../ruleNames";
|
|
10
12
|
|
|
11
|
-
const
|
|
12
|
-
variableNodeQuery = nodeQuery("/*/variable!"),
|
|
13
|
+
const variableNodeQuery = nodeQuery("/*/variable!"),
|
|
13
14
|
statementNodeQuery = nodeQuery("/metaArgument/statement"),
|
|
14
15
|
metavariableNodeQuery = nodeQuery("/metastatement/metavariable!"),
|
|
15
16
|
substitutionNodeQuery = nodeQuery("/metastatement/substitution!");
|
|
@@ -83,30 +84,16 @@ class MetaLevelToIntrinsicLevelNodesVerifier extends NodesVerifier {
|
|
|
83
84
|
metavariableNodeA = metavariableNodeQuery(metastatementNodeA);
|
|
84
85
|
|
|
85
86
|
if ((metavariableNodeA !== null) && (statementNodeB !== null)) {
|
|
86
|
-
const
|
|
87
|
+
const substitutionNodeA = substitutionNodeQuery(metastatementNodeA),
|
|
88
|
+
metavariableNodeVerified = this.verifyMetavariableNode(metavariableNodeA, substitutionNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
87
89
|
|
|
88
|
-
|
|
89
|
-
const variableNode = variableNodeQuery(substitutionNode),
|
|
90
|
-
variable = fileContextA.findVariableByVariableNode(variableNode);
|
|
91
|
-
|
|
92
|
-
if (variable !== null) {
|
|
93
|
-
const termNode = termNodeQuery(substitutionNode);
|
|
94
|
-
|
|
95
|
-
debugger
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
} else {
|
|
100
|
-
const metavariableNodeVerified = this.verifyMetavariableNode(metavariableNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
101
|
-
|
|
102
|
-
metaArgumentNodeVerified = metavariableNodeVerified; ///
|
|
103
|
-
}
|
|
90
|
+
metaArgumentNodeVerified = metavariableNodeVerified; ///
|
|
104
91
|
}
|
|
105
92
|
|
|
106
93
|
return metaArgumentNodeVerified;
|
|
107
94
|
}
|
|
108
95
|
|
|
109
|
-
verifyMetavariableNode(metavariableNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead) {
|
|
96
|
+
verifyMetavariableNode(metavariableNodeA, substitutionNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead) {
|
|
110
97
|
let metavariableNodeVerified;
|
|
111
98
|
|
|
112
99
|
const substitution = substitutions.find((substitution) => {
|
|
@@ -118,15 +105,28 @@ class MetaLevelToIntrinsicLevelNodesVerifier extends NodesVerifier {
|
|
|
118
105
|
}) || null;
|
|
119
106
|
|
|
120
107
|
if (substitution !== null) {
|
|
121
|
-
const statementNode =
|
|
122
|
-
|
|
108
|
+
const statementNode = substitution.getStatementNode(),
|
|
109
|
+
localContextA = LocalContext.fromFileContext(fileContextA);
|
|
123
110
|
|
|
124
|
-
|
|
111
|
+
if (substitutionNodeA !== null) {
|
|
112
|
+
const substitutionNode = substitutionNodeA, ///
|
|
113
|
+
termForVariableSubstitution = TermForVariableSubstitution.fromSubstitutionNode(substitutionNode),
|
|
114
|
+
substitution = termForVariableSubstitution, ///
|
|
115
|
+
statementNodeA = statementNode, ///
|
|
116
|
+
statementNodeMatches = matchStatementNode(statementNodeA, statementNodeB, substitution, substitutions, localContextA, localContextB);
|
|
117
|
+
|
|
118
|
+
metavariableNodeVerified = statementNodeMatches; ///
|
|
119
|
+
} else {
|
|
120
|
+
const statementNode = statementNodeB, ///
|
|
121
|
+
statementNodeMatches = substitution.matchStatementNode(statementNode, substitutions, localContextA, localContextB);
|
|
122
|
+
|
|
123
|
+
metavariableNodeVerified = statementNodeMatches; ///
|
|
124
|
+
}
|
|
125
125
|
} else {
|
|
126
|
-
const
|
|
126
|
+
const substitutionNode = substitutionNodeA, ///
|
|
127
|
+
metavariableNode = metavariableNodeA, ///
|
|
127
128
|
statementNode = statementNodeB, ///
|
|
128
|
-
|
|
129
|
-
substitution = statementForMetavariableSubstitution; ///
|
|
129
|
+
substitution = substitutionFromSubstitutionNodeMetavariableNodeAndStatementNode(substitutionNode, metavariableNode, statementNode);
|
|
130
130
|
|
|
131
131
|
substitutions.push(substitution);
|
|
132
132
|
|
|
@@ -142,7 +142,8 @@ class MetaLevelToIntrinsicLevelNodesVerifier extends NodesVerifier {
|
|
|
142
142
|
const metavariableNodeA = metavariableNodeQuery(metastatementNodeA);
|
|
143
143
|
|
|
144
144
|
if (metavariableNodeA !== null) {
|
|
145
|
-
const
|
|
145
|
+
const substitutionNodeA = null, ///
|
|
146
|
+
metavariableNodeVerified = this.verifyMetavariableNode(metavariableNodeA, substitutionNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
146
147
|
|
|
147
148
|
statementNodeVerified = metavariableNodeVerified; ///
|
|
148
149
|
} else {
|
|
@@ -194,3 +195,20 @@ Object.assign(MetaLevelToIntrinsicLevelNodesVerifier.prototype, intrinsicLevelNo
|
|
|
194
195
|
const metaLevelToIntrinsicLevelNodesVerifier = new MetaLevelToIntrinsicLevelNodesVerifier();
|
|
195
196
|
|
|
196
197
|
export default metaLevelToIntrinsicLevelNodesVerifier;
|
|
198
|
+
|
|
199
|
+
function substitutionFromSubstitutionNodeMetavariableNodeAndStatementNode(substitutionNode, metavariableNode, statementNode) {
|
|
200
|
+
let statementForMetavariableSubstitution;
|
|
201
|
+
|
|
202
|
+
if (substitutionNode !== null) {
|
|
203
|
+
const termForVariableSubstitution = TermForVariableSubstitution.fromSubstitutionNode(substitutionNode),
|
|
204
|
+
substitution = termForVariableSubstitution; ///
|
|
205
|
+
|
|
206
|
+
statementForMetavariableSubstitution = StatementForMetavariableSubstitution.fromMetavariableNodeStatementNodeAndSubstitution(metavariableNode, statementNode, substitution);
|
|
207
|
+
} else {
|
|
208
|
+
statementForMetavariableSubstitution = StatementForMetavariableSubstitution.fromMetavariableNodeAndStatementNode(metavariableNode, statementNode);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
const substitution = statementForMetavariableSubstitution; ///
|
|
212
|
+
|
|
213
|
+
return substitution;
|
|
214
|
+
}
|