occam-verify-cli 0.0.971 → 0.0.974
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/context/file.js +1 -8
- package/lib/resolve/complexSubstitutionAgainstSimpleSubstitution.js +76 -0
- package/lib/resolve/substitution.js +27 -0
- package/lib/resolve/substitutions.js +8 -70
- package/lib/substitution/statementForMetavariable.js +2 -2
- package/lib/substitution.js +8 -1
- package/lib/substitutions.js +19 -7
- package/lib/type.js +3 -3
- package/lib/unify/complexSubstitutionStatementWithSimpleSubstitutionStatement.js +26 -0
- package/lib/unify/qualifiedStatement.js +117 -0
- package/lib/unify/statementWithCombinator.js +29 -0
- package/lib/unify/statementWithCombinators.js +4 -14
- package/lib/unify/termWithBracketedConstructor.js +3 -3
- package/lib/unify/termWithConstructor.js +37 -0
- package/lib/unify/termWithConstructors.js +6 -33
- package/lib/unify/unqualifiedStatement.js +25 -0
- package/lib/verifier/statementAsCombinator.js +2 -2
- package/lib/verify/assertion/contained.js +4 -4
- package/lib/verify/assertion/defined.js +6 -4
- package/lib/verify/assertion/type.js +5 -3
- package/lib/verify/conclusion.js +2 -2
- package/lib/verify/consequent.js +2 -2
- package/lib/verify/declaration.js +4 -4
- package/lib/verify/equality.js +11 -7
- package/lib/verify/frame.js +2 -2
- package/lib/verify/judgement.js +37 -29
- package/lib/verify/premise.js +3 -3
- package/lib/verify/statement/qualified.js +3 -3
- package/lib/verify/statement/unqualified.js +9 -53
- package/lib/verify/statement.js +8 -47
- package/lib/verify/term.js +11 -5
- package/package.json +2 -2
- package/src/context/file.js +0 -6
- package/src/resolve/complexSubstitutionAgainstSimpleSubstitution.js +94 -0
- package/src/resolve/substitution.js +19 -0
- package/src/resolve/substitutions.js +9 -112
- package/src/substitution/statementForMetavariable.js +1 -1
- package/src/substitution.js +6 -0
- package/src/substitutions.js +17 -6
- package/src/type.js +3 -3
- package/src/unify/complexSubstitutionStatementWithSimpleSubstitutionStatement.js +18 -0
- package/src/unify/{statement/qualified.js → qualifiedStatement.js} +1 -1
- package/src/unify/statementWithCombinator.js +22 -0
- package/src/unify/statementWithCombinators.js +3 -20
- package/src/unify/termWithBracketedConstructor.js +1 -1
- package/src/unify/termWithConstructor.js +39 -0
- package/src/unify/termWithConstructors.js +1 -37
- package/src/unify/{statement/unqualified.js → unqualifiedStatement.js} +1 -1
- package/src/verifier/statementAsCombinator.js +2 -2
- package/src/verify/assertion/contained.js +6 -6
- package/src/verify/assertion/defined.js +9 -4
- package/src/verify/assertion/type.js +6 -4
- package/src/verify/conclusion.js +1 -1
- package/src/verify/consequent.js +1 -1
- package/src/verify/declaration.js +4 -4
- package/src/verify/equality.js +12 -8
- package/src/verify/frame.js +1 -1
- package/src/verify/judgement.js +58 -50
- package/src/verify/premise.js +3 -3
- package/src/verify/statement/qualified.js +1 -1
- package/src/verify/statement/unqualified.js +8 -13
- package/src/verify/statement.js +3 -56
- package/src/verify/term.js +13 -6
- package/lib/unify/statement/qualified.js +0 -117
- package/lib/unify/statement/unqualified.js +0 -25
package/lib/substitution.js
CHANGED
|
@@ -53,6 +53,13 @@ var Substitution = /*#__PURE__*/ function() {
|
|
|
53
53
|
return resolved;
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
|
+
{
|
|
57
|
+
key: "getVariableNode",
|
|
58
|
+
value: function getVariableNode() {
|
|
59
|
+
var variableNode = null;
|
|
60
|
+
return variableNode;
|
|
61
|
+
}
|
|
62
|
+
},
|
|
56
63
|
{
|
|
57
64
|
key: "getMetavariableNode",
|
|
58
65
|
value: function getMetavariableNode() {
|
|
@@ -119,4 +126,4 @@ var Substitution = /*#__PURE__*/ function() {
|
|
|
119
126
|
return Substitution;
|
|
120
127
|
}();
|
|
121
128
|
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJzdGl0dXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YnN0aXR1dGlvbiB7XG4gIGlzU2ltcGxlKCkge1xuICAgIGNvbnN0IHNpbXBsZSA9IHRydWU7XG5cbiAgICByZXR1cm4gc2ltcGxlO1xuICB9XG5cbiAgaXNDb21wbGV4KCkge1xuICAgIGNvbnN0IHNpbXBsZSA9IHRoaXMuaXNTaW1wbGUoKSxcbiAgICAgICAgICBjb21wbGV4ID0gIXNpbXBsZTtcblxuICAgIHJldHVybiBjb21wbGV4O1xuICB9XG5cbiAgaXNSZXNvbHZlZCgpIHtcbiAgICBjb25zdCBzaW1wbGUgPSB0aGlzLmlzU2ltcGxlKCksXG4gICAgICAgICAgcmVzb2x2ZWQgPSBzaW1wbGU7IC8vL1xuXG4gICAgcmV0dXJuIHJlc29sdmVkO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVOb2RlKCkge1xuICAgIGNvbnN0IHZhcmlhYmxlTm9kZSA9IG51bGw7XG5cbiAgICByZXR1cm4gdmFyaWFibGVOb2RlO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTm9kZSgpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbnVsbDtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVOb2RlO1xuICB9XG5cbiAgbWF0Y2hUZXJtTm9kZSh0ZXJtTm9kZSkge1xuICAgIGNvbnN0IHRlcm1Ob2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIHRlcm1Ob2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICAgIHJldHVybiB2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZShtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25Ob2RlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZUFuZFN1YnN0aXR1dGlvbk5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlTm9kZUFuZFN1YnN0aXR1dGlvbk5vZGVNYXRjaGVzO1xuICB9XG5cbiAgdW5pZnlXaXRoRXF1aXZhbGVuY2UoZXF1aXZhbGVuY2UsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgICBsZXQgdW5pZmllZFdpdGhFcXVpdmFsZW5jZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIHVuaWZpZWRXaXRoRXF1aXZhbGVuY2U7XG4gIH1cblxuICB1bmlmeVdpdGhFcXVpdmFsZW5jZXMoZXF1aXZhbGVuY2VzLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gICAgY29uc3QgdW5pZmllZFdpdGhFcXVpdmFsZW5jZXMgPSBlcXVpdmFsZW5jZXMuc29tZSgoZXF1aXZhbGVuY2UpID0+IHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvblVuaWZpZWRXaXRoRXF1aXZhbGVuY2UgPSB0aGlzLnVuaWZ5V2l0aEVxdWl2YWxlbmNlKGVxdWl2YWxlbmNlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvblVuaWZpZWRXaXRoRXF1aXZhbGVuY2UpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdW5pZmllZFdpdGhFcXVpdmFsZW5jZXM7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTdWJzdGl0dXRpb24iLCJpc1NpbXBsZSIsInNpbXBsZSIsImlzQ29tcGxleCIsImNvbXBsZXgiLCJpc1Jlc29sdmVkIiwicmVzb2x2ZWQiLCJnZXRWYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZU5vZGUiLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1hdGNoVGVybU5vZGUiLCJ0ZXJtTm9kZSIsInRlcm1Ob2RlTWF0Y2hlcyIsIm1hdGNoVmFyaWFibGVOb2RlIiwidmFyaWFibGVOb2RlTWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZSIsInN1YnN0aXR1dGlvbk5vZGUiLCJtZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZU1hdGNoZXMiLCJ1bmlmeVdpdGhFcXVpdmFsZW5jZSIsImVxdWl2YWxlbmNlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwidW5pZmllZFdpdGhFcXVpdmFsZW5jZSIsInVuaWZ5V2l0aEVxdWl2YWxlbmNlcyIsImVxdWl2YWxlbmNlcyIsInVuaWZpZWRXaXRoRXF1aXZhbGVuY2VzIiwic29tZSIsInN1YnN0aXR1dGlvblVuaWZpZWRXaXRoRXF1aXZhbGVuY2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBRXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFOLElBQUEsQUFBTUEsNkJBQU47YUFBTUE7Z0NBQUFBOztrQkFBQUE7O1lBQ25CQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsU0FBUztnQkFFZixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1ELFNBQVMsSUFBSSxDQUFDRCxRQUFRLElBQ3RCRyxVQUFVLENBQUNGO2dCQUVqQixPQUFPRTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1ILFNBQVMsSUFBSSxDQUFDRCxRQUFRLElBQ3RCSyxXQUFXSixRQUFRLEdBQUc7Z0JBRTVCLE9BQU9JO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsZUFBZTtnQkFFckIsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxtQkFBbUI7Z0JBRXpCLE9BQU9BO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsY0FBY0MsUUFBUTtnQkFDcEIsSUFBTUMsa0JBQWtCO2dCQUV4QixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLGtCQUFrQk4sWUFBWTtnQkFDNUIsSUFBTU8sc0JBQXNCO2dCQUU1QixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkMsYUFBYTtnQkFDOUIsSUFBTUMsdUJBQXVCO2dCQUU3QixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLHNCQUFzQlQsZ0JBQWdCO2dCQUNwQyxJQUFNVSwwQkFBMEI7Z0JBRWhDLE9BQU9BO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEseUNBQXlDWCxnQkFBZ0IsRUFBRVksZ0JBQWdCO2dCQUN6RSxJQUFNQyw2Q0FBNkM7Z0JBRW5ELE9BQU9BO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEscUJBQXFCQyxXQUFXLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhO2dCQUMzRSxJQUFJQyx5QkFBeUI7Z0JBRTdCLE9BQU9BO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCQyxZQUFZLEVBQUVMLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhOztnQkFDN0UsSUFBTUksMEJBQTBCRCxhQUFhRSxJQUFJLENBQUMsU0FBQ1I7b0JBQ2pELElBQU1TLHFDQUFxQyxNQUFLVixvQkFBb0IsQ0FBQ0MsYUFBYUMsZUFBZUMsZUFBZUM7b0JBRWhILElBQUlNLG9DQUFvQzt3QkFDdEMsT0FBTztvQkFDVDtnQkFDRjtnQkFFQSxPQUFPRjtZQUNUOzs7V0EvRW1CaEMifQ==
|
package/lib/substitutions.js
CHANGED
|
@@ -157,8 +157,20 @@ var Substitutions = /*#__PURE__*/ function() {
|
|
|
157
157
|
key: "findSubstitutionByVariableNode",
|
|
158
158
|
value: function findSubstitutionByVariableNode(variableNode) {
|
|
159
159
|
var substitution = this.findSubstitution(function(substitution) {
|
|
160
|
-
var
|
|
161
|
-
if (
|
|
160
|
+
var variableNodeMatches = substitution.matchVariableNode(variableNode);
|
|
161
|
+
if (variableNodeMatches) {
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
return substitution;
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
key: "findSubstitutionByMetavariableNode",
|
|
170
|
+
value: function findSubstitutionByMetavariableNode(metavariableNode) {
|
|
171
|
+
var substitution = this.findSubstitution(function(substitution) {
|
|
172
|
+
var metavariableNodeMatches = substitution.matchMetavariableNode(metavariableNode);
|
|
173
|
+
if (metavariableNodeMatches) {
|
|
162
174
|
return true;
|
|
163
175
|
}
|
|
164
176
|
});
|
|
@@ -169,8 +181,8 @@ var Substitutions = /*#__PURE__*/ function() {
|
|
|
169
181
|
key: "findSubstitutionsByMetavariableNode",
|
|
170
182
|
value: function findSubstitutionsByMetavariableNode(metavariableNode) {
|
|
171
183
|
var substitutions = this.findSubstitutions(function(substitution) {
|
|
172
|
-
var
|
|
173
|
-
if (
|
|
184
|
+
var metavariableNodeMatches = substitution.matchMetavariableNode(metavariableNode);
|
|
185
|
+
if (metavariableNodeMatches) {
|
|
174
186
|
return true;
|
|
175
187
|
}
|
|
176
188
|
});
|
|
@@ -205,8 +217,8 @@ var Substitutions = /*#__PURE__*/ function() {
|
|
|
205
217
|
key: "findSubstitutionsByMetavariableNodeAndSubstitutionNode",
|
|
206
218
|
value: function findSubstitutionsByMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode) {
|
|
207
219
|
var substitutions = this.findSubstitutions(function(substitution) {
|
|
208
|
-
var
|
|
209
|
-
if (
|
|
220
|
+
var metavariableNodeAndSubstitutionNodeMatch = substitution.matchMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode);
|
|
221
|
+
if (metavariableNodeAndSubstitutionNodeMatch) {
|
|
210
222
|
return true;
|
|
211
223
|
}
|
|
212
224
|
});
|
|
@@ -328,4 +340,4 @@ var Substitutions = /*#__PURE__*/ function() {
|
|
|
328
340
|
return Substitutions;
|
|
329
341
|
}();
|
|
330
342
|
|
|
331
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJzdGl0dXRpb25zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGZpbmQsIGZpcnN0LCBwcnVuZSwgY29tcHJlc3MsIHJpZ2h0RGlmZmVyZW5jZSB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWJzdGl0dXRpb25zIHtcbiAgY29uc3RydWN0b3IoYXJyYXksIHNhdmVkQXJyYXkpIHtcbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG4gICAgdGhpcy5zYXZlZEFycmF5ID0gc2F2ZWRBcnJheTtcbiAgfVxuXG4gIGdldEFycmF5KCkge1xuICAgIHJldHVybiB0aGlzLmFycmF5O1xuICB9XG5cbiAgZ2V0U2F2ZWRBcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5zYXZlZEFycmF5O1xuICB9XG5cbiAgZ2V0Rmlyc3RTdWJzdGl0dXRpb24oKSB7XG4gICAgbGV0IGZpcnN0U3Vic3RpdHV0aW9uID0gbnVsbDtcblxuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuYXJyYXkubGVuZ3RoO1xuXG4gICAgaWYgKGxlbmd0aCA+IDApIHtcbiAgICAgIGZpcnN0U3Vic3RpdHV0aW9uID0gZmlyc3QodGhpcy5hcnJheSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpcnN0U3Vic3RpdHV0aW9uO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTm9kZXMoKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZXMgPSBbXTtcblxuICAgIHRoaXMuZm9yRWFjaFN1YnN0aXR1dGlvbigoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gc3Vic3RpdHV0aW9uLmdldE1ldGF2YXJpYWJsZU5vZGUoKTtcblxuICAgICAgaWYgKG1ldGF2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgbWV0YXZhcmlhYmxlTm9kZXMucHVzaChtZXRhdmFyaWFibGVOb2RlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbXByZXNzKG1ldGF2YXJpYWJsZU5vZGVzLCAobWV0YXZhcmlhYmxlTm9kZUEsIG1ldGF2YXJpYWJsZU5vZGVCKSA9PiB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlQU1hdGNoZXNNZXRhdmFyaWFibGVOb2RlQiA9IG1ldGF2YXJpYWJsZU5vZGVBLm1hdGNoKG1ldGF2YXJpYWJsZU5vZGVCKTtcblxuICAgICAgaWYgKG1ldGF2YXJpYWJsZU5vZGVBTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVCKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVzO1xuICB9XG5cbiAgZmluZFN1YnN0aXR1dGlvbihjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5hcnJheS5maW5kKGNhbGxiYWNrKSB8fCBudWxsOyB9ICAvLy9cblxuICBzb21lU3Vic3RpdHV0aW9uKGNhbGxiYWNrKSB7IHJldHVybiB0aGlzLmFycmF5LnNvbWUoY2FsbGJhY2spOyB9XG5cbiAgZXZlcnlTdWJzdGl0dXRpb24oY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuYXJyYXkuZXZlcnkoY2FsbGJhY2spOyB9XG5cbiAgZm9yRWFjaFN1YnN0aXR1dGlvbihjYWxsYmFjaykgeyB0aGlzLmFycmF5LmZvckVhY2goY2FsbGJhY2spOyB9XG5cbiAgZmluZFN1YnN0aXR1dGlvbnMoY2FsbGJhY2spIHtcbiAgICBjb25zdCBhcnJheSA9IGZpbmQodGhpcy5hcnJheSwgY2FsbGJhY2spLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21BcnJheShhcnJheSk7XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9ucztcbiAgfVxuXG4gIGZpbHRlclN1YnN0aXR1dGlvbihjYWxsYmFjaykge1xuICAgIGNvbnN0IGFycmF5ID0gdGhpcy5hcnJheS5maWx0ZXIoY2FsbGJhY2spLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21BcnJheShhcnJheSk7XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9ucztcbiAgfVxuXG4gIGZpbmRTaW1wbGVTdWJzdGl0dXRpb24oKSB7XG4gICAgY29uc3Qgc2ltcGxlU3Vic3RpdHV0aW9uID0gdGhpcy5maW5kU3Vic3RpdHV0aW9uKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvblNpbXBsZSA9IHN1YnN0aXR1dGlvbi5pc1NpbXBsZSgpO1xuXG4gICAgICBpZiAoc3Vic3RpdHV0aW9uU2ltcGxlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNpbXBsZVN1YnN0aXR1dGlvbjtcbiAgfVxuXG4gIGZpbmRTdWJzdGl0dXRpb25CeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb24gPSB0aGlzLmZpbmRTdWJzdGl0dXRpb24oKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uTWF0Y2hlc1ZhcmlhYmxlTm9kZSA9IHN1YnN0aXR1dGlvbi5tYXRjaFZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpO1xuXG4gICAgICBpZiAoc3Vic3RpdHV0aW9uTWF0Y2hlc1ZhcmlhYmxlTm9kZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzdWJzdGl0dXRpb247XG4gIH1cblxuICBmaW5kU3Vic3RpdHV0aW9uc0J5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IHRoaXMuZmluZFN1YnN0aXR1dGlvbnMoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUgPSBzdWJzdGl0dXRpb24ubWF0Y2hNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICBpZiAoc3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9ucztcbiAgfVxuXG4gIGZpbmRTaW1wbGVTdWJzdGl0dXRpb25CeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSB0aGlzLmZpbmRTdWJzdGl0dXRpb25zQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIHNpbXBsZVN1YnN0aXR1dGlvbnMgPSBzdWJzdGl0dXRpb25zLmZpbHRlclN1YnN0aXR1dGlvbigoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25TaW1wbGUgPSBzdWJzdGl0dXRpb24uaXNTaW1wbGUoKTtcblxuICAgICAgICAgICAgaWYgKHN1YnN0aXR1dGlvblNpbXBsZSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBmaXJzdFNpbXBsZVN1YnN0aXR1dGlvbiA9IHNpbXBsZVN1YnN0aXR1dGlvbnMuZ2V0Rmlyc3RTdWJzdGl0dXRpb24oKSxcbiAgICAgICAgICBzaW1wbGVTdWJzdGl0dXRpb24gPSBmaXJzdFNpbXBsZVN1YnN0aXR1dGlvbjsgLy8vXG5cbiAgICByZXR1cm4gc2ltcGxlU3Vic3RpdHV0aW9uO1xuICB9XG5cbiAgZmluZENvbXBsZXhTdWJzdGl0dXRpb25zQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gdGhpcy5maW5kU3Vic3RpdHV0aW9uc0J5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBjb21wbGV4U3Vic3RpdHV0aW9ucyA9IHN1YnN0aXR1dGlvbnMuZmlsdGVyU3Vic3RpdHV0aW9uKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbkNvbXBsZXggPSBzdWJzdGl0dXRpb24uaXNDb21wbGV4KCk7XG5cbiAgICAgICAgICAgIGlmIChzdWJzdGl0dXRpb25Db21wbGV4KSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvbXBsZXhTdWJzdGl0dXRpb25zO1xuICB9XG5cbiAgZmluZFN1YnN0aXR1dGlvbnNCeU1ldGF2YXJpYWJsZU5vZGVBbmRTdWJzdGl0dXRpb25Ob2RlKG1ldGF2YXJpYWJsZU5vZGUsIHN1YnN0aXR1dGlvbk5vZGUpIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gdGhpcy5maW5kU3Vic3RpdHV0aW9ucygoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25NYXRjaGVzTWV0YXZhcmlhYmxlTm9kZUFuZFN1YnN0aXR1dGlvbk5vZGUgPSBzdWJzdGl0dXRpb24ubWF0Y2hNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZShtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25Ob2RlKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbk1hdGNoZXNNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzdWJzdGl0dXRpb25zO1xuICB9XG5cbiAgZmluZENvbXBsZXhTdWJzdGl0dXRpb25CeU1ldGF2YXJpYWJsZU5vZGVBbmRTdWJzdGl0dXRpb25Ob2RlKG1ldGF2YXJpYWJsZU5vZGUsIHN1YnN0aXR1dGlvbk5vZGUpIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gdGhpcy5maW5kU3Vic3RpdHV0aW9uc0J5TWV0YXZhcmlhYmxlTm9kZUFuZFN1YnN0aXR1dGlvbk5vZGUobWV0YXZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9uTm9kZSksXG4gICAgICAgICAgY29tcGxleFN1YnN0aXR1dGlvbnMgPSBzdWJzdGl0dXRpb25zLmZpbHRlclN1YnN0aXR1dGlvbigoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25Db21wbGV4ID0gc3Vic3RpdHV0aW9uLmlzQ29tcGxleCgpO1xuXG4gICAgICAgICAgICBpZiAoc3Vic3RpdHV0aW9uQ29tcGxleCkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBmaXJzdENvbXBsZXhTdWJzdGl0dXRpb24gPSBjb21wbGV4U3Vic3RpdHV0aW9ucy5nZXRGaXJzdFN1YnN0aXR1dGlvbigpLFxuICAgICAgICAgIGNvbXBsZXhTdWJzdGl0dXRpb24gPSBmaXJzdENvbXBsZXhTdWJzdGl0dXRpb247IC8vL1xuXG4gICAgcmV0dXJuIGNvbXBsZXhTdWJzdGl0dXRpb247XG4gIH1cblxuICBhZGRTdWJzdGl0dXRpb24oc3Vic3RpdHV0aW9uLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gICAgdGhpcy5hcnJheS5wdXNoKHN1YnN0aXR1dGlvbik7XG5cbiAgICBjb25zdCBzdWJzdGl0dXRpb25Ob2RlID0gc3Vic3RpdHV0aW9uLmdldE5vZGUoKSxcbiAgICAgICAgICBzdWJzdGl0dXRpb25TdHJpbmcgPSBzdWJzdGl0dXRpb24uYXNTdHJpbmcobG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICBsb2NhbENvbnRleHRCLnRyYWNlKGBBZGRlZCB0aGUgJHtzdWJzdGl0dXRpb25TdHJpbmd9IHN1YnN0aXR1dGlvbi5gLCBzdWJzdGl0dXRpb25Ob2RlKTtcbiAgfVxuXG4gIHJlbW92ZVN1YnN0aXR1dGlvbihzdWJzdGl0dXRpb24sIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25BID0gc3Vic3RpdHV0aW9uOyAvLy9cblxuICAgIHBydW5lKHRoaXMuYXJyYXksIChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbkIgPSBzdWJzdGl0dXRpb247IC8vL1xuXG4gICAgICBpZiAoc3Vic3RpdHV0aW9uQSAhPT0gc3Vic3RpdHV0aW9uQikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IHN1YnN0aXR1dGlvbk5vZGUgPSBzdWJzdGl0dXRpb24uZ2V0Tm9kZSgpLFxuICAgICAgICAgIHN1YnN0aXR1dGlvblN0cmluZyA9IHN1YnN0aXR1dGlvbi5hc1N0cmluZyhsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIGxvY2FsQ29udGV4dEIudHJhY2UoYFJlbW92ZWQgdGhlICR7c3Vic3RpdHV0aW9uU3RyaW5nfSBzdWJzdGl0dXRpb24uYCwgc3Vic3RpdHV0aW9uTm9kZSk7XG4gIH1cblxuICB1bmlmeVdpdGhFcXVpdmFsZW5jZXMoZXF1aXZhbGVuY2VzLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gICAgY29uc3QgdW5pZmllZFdpdGhFcXVpdmFsZW5jZXMgPSB0aGlzLmV2ZXJ5U3Vic3RpdHV0aW9uKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSB0aGlzLCAvLy9cbiAgICAgICAgICAgIHN1YnN0aXR1dGlvblVuaWZpZWRXaXRoRXF1aXZhbGVuY2UgPSBzdWJzdGl0dXRpb24udW5pZnlXaXRoRXF1aXZhbGVuY2VzKGVxdWl2YWxlbmNlcywgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIGlmIChzdWJzdGl0dXRpb25VbmlmaWVkV2l0aEVxdWl2YWxlbmNlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVuaWZpZWRXaXRoRXF1aXZhbGVuY2VzO1xuICB9XG5cbiAgYXJlUmVzb2x2ZWQoKSB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSB0aGlzLmV2ZXJ5U3Vic3RpdHV0aW9uKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvblJlc29sdmVkID0gc3Vic3RpdHV0aW9uLmlzUmVzb2x2ZWQoKTtcblxuICAgICAgcmV0dXJuIHN1YnN0aXR1dGlvblJlc29sdmVkO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc29sdmVkO1xuICB9XG5cbiAgc25hcHNob3QoKSB7XG4gICAgdGhpcy5zYXZlZEFycmF5ID0gW1xuICAgICAgLi4udGhpcy5hcnJheVxuICAgIF07XG4gIH1cblxuICByb2xsYmFjayhsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gICAgY29uc3QgYXJyYXkgPSBbXG4gICAgICAuLi50aGlzLmFycmF5XG4gICAgXTtcblxuICAgIHJpZ2h0RGlmZmVyZW5jZSh0aGlzLnNhdmVkQXJyYXksIGFycmF5KTtcblxuICAgIGFycmF5LmZvckVhY2goKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgdGhpcy5yZW1vdmVTdWJzdGl0dXRpb24oc3Vic3RpdHV0aW9uLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYXJyYXkgPSBbXG4gICAgICAuLi50aGlzLnNhdmVkQXJyYXlcbiAgICBdO1xuXG4gICAgdGhpcy5zYXZlZEFycmF5ID0gbnVsbDtcbiAgfVxuXG4gIGNvbnRpbnVlKCkge1xuICAgIHRoaXMuc2F2ZWRBcnJheSA9IG51bGw7XG4gIH1cblxuICBhc1N0cmluZyhsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gICAgbGV0IHN0cmluZyA9IHRoaXMuYXJyYXkucmVkdWNlKChzdHJpbmcsIHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uU3RyaW5nID0gc3Vic3RpdHV0aW9uLmFzU3RyaW5nKGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICBzdHJpbmcgPSAoc3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvblN0cmluZyA6XG4gICAgICAgICAgICAgICAgICAgYCR7c3RyaW5nfSwgJHtzdWJzdGl0dXRpb25TdHJpbmd9YDtcblxuICAgICAgcmV0dXJuIHN0cmluZztcbiAgICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gICAgaWYgKHN0cmluZyAhPT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgICBzdHJpbmcgPSBgICR7c3RyaW5nfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQXJyYXkoYXJyYXkpIHtcbiAgICBjb25zdCBzYXZlZEFycmF5ID0gW10sXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IG5ldyBTdWJzdGl0dXRpb25zKGFycmF5LCBzYXZlZEFycmF5KTtcblxuICAgIHJldHVybiBzdWJzdGl0dXRpb25zO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGFycmF5ID0gW10sXG4gICAgICAgICAgc2F2ZWRBcnJheSA9IG51bGwsXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IG5ldyBTdWJzdGl0dXRpb25zKGFycmF5LCBzYXZlZEFycmF5KTtcblxuICAgIHJldHVybiBzdWJzdGl0dXRpb25zO1xuICB9XG59XG4iXSwibmFtZXMiOlsiU3Vic3RpdHV0aW9ucyIsImFycmF5Iiwic2F2ZWRBcnJheSIsImdldEFycmF5IiwiZ2V0U2F2ZWRBcnJheSIsImdldEZpcnN0U3Vic3RpdHV0aW9uIiwiZmlyc3RTdWJzdGl0dXRpb24iLCJsZW5ndGgiLCJmaXJzdCIsImdldE1ldGF2YXJpYWJsZU5vZGVzIiwibWV0YXZhcmlhYmxlTm9kZXMiLCJmb3JFYWNoU3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uIiwibWV0YXZhcmlhYmxlTm9kZSIsImdldE1ldGF2YXJpYWJsZU5vZGUiLCJwdXNoIiwiY29tcHJlc3MiLCJtZXRhdmFyaWFibGVOb2RlQSIsIm1ldGF2YXJpYWJsZU5vZGVCIiwibWV0YXZhcmlhYmxlTm9kZUFNYXRjaGVzTWV0YXZhcmlhYmxlTm9kZUIiLCJtYXRjaCIsImZpbmRTdWJzdGl0dXRpb24iLCJjYWxsYmFjayIsImZpbmQiLCJzb21lU3Vic3RpdHV0aW9uIiwic29tZSIsImV2ZXJ5U3Vic3RpdHV0aW9uIiwiZXZlcnkiLCJmb3JFYWNoIiwiZmluZFN1YnN0aXR1dGlvbnMiLCJzdWJzdGl0dXRpb25zIiwiZnJvbUFycmF5IiwiZmlsdGVyU3Vic3RpdHV0aW9uIiwiZmlsdGVyIiwiZmluZFNpbXBsZVN1YnN0aXR1dGlvbiIsInNpbXBsZVN1YnN0aXR1dGlvbiIsInN1YnN0aXR1dGlvblNpbXBsZSIsImlzU2ltcGxlIiwiZmluZFN1YnN0aXR1dGlvbkJ5VmFyaWFibGVOb2RlIiwidmFyaWFibGVOb2RlIiwic3Vic3RpdHV0aW9uTWF0Y2hlc1ZhcmlhYmxlTm9kZSIsIm1hdGNoVmFyaWFibGVOb2RlIiwiZmluZFN1YnN0aXR1dGlvbnNCeU1ldGF2YXJpYWJsZU5vZGUiLCJzdWJzdGl0dXRpb25NYXRjaGVzTWV0YXZhcmlhYmxlTm9kZSIsIm1hdGNoTWV0YXZhcmlhYmxlTm9kZSIsImZpbmRTaW1wbGVTdWJzdGl0dXRpb25CeU1ldGF2YXJpYWJsZU5vZGUiLCJzaW1wbGVTdWJzdGl0dXRpb25zIiwiZmlyc3RTaW1wbGVTdWJzdGl0dXRpb24iLCJmaW5kQ29tcGxleFN1YnN0aXR1dGlvbnNCeU1ldGF2YXJpYWJsZU5vZGUiLCJjb21wbGV4U3Vic3RpdHV0aW9ucyIsInN1YnN0aXR1dGlvbkNvbXBsZXgiLCJpc0NvbXBsZXgiLCJmaW5kU3Vic3RpdHV0aW9uc0J5TWV0YXZhcmlhYmxlTm9kZUFuZFN1YnN0aXR1dGlvbk5vZGUiLCJzdWJzdGl0dXRpb25Ob2RlIiwic3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBbmRTdWJzdGl0dXRpb25Ob2RlIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZSIsImZpbmRDb21wbGV4U3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZSIsImZpcnN0Q29tcGxleFN1YnN0aXR1dGlvbiIsImNvbXBsZXhTdWJzdGl0dXRpb24iLCJhZGRTdWJzdGl0dXRpb24iLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsImdldE5vZGUiLCJzdWJzdGl0dXRpb25TdHJpbmciLCJhc1N0cmluZyIsInRyYWNlIiwicmVtb3ZlU3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uQSIsInBydW5lIiwic3Vic3RpdHV0aW9uQiIsInVuaWZ5V2l0aEVxdWl2YWxlbmNlcyIsImVxdWl2YWxlbmNlcyIsInVuaWZpZWRXaXRoRXF1aXZhbGVuY2VzIiwic3Vic3RpdHV0aW9uVW5pZmllZFdpdGhFcXVpdmFsZW5jZSIsImFyZVJlc29sdmVkIiwicmVzb2x2ZWQiLCJzdWJzdGl0dXRpb25SZXNvbHZlZCIsImlzUmVzb2x2ZWQiLCJzbmFwc2hvdCIsInJvbGxiYWNrIiwicmlnaHREaWZmZXJlbmNlIiwiY29udGludWUiLCJzdHJpbmciLCJyZWR1Y2UiLCJFTVBUWV9TVFJJTkciLCJmcm9tTm90aGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFLcUJBOzs7eUJBSFE7cUJBQ2lDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0MsSUFBQSxBQUFNQSw4QkFBTjthQUFNQSxjQUNQQyxLQUFLLEVBQUVDLFVBQVU7Z0NBRFZGO1FBRWpCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTs7a0JBSERGOztZQU1uQkcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixLQUFLO1lBQ25COzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixVQUFVO1lBQ3hCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUlDLG9CQUFvQjtnQkFFeEIsSUFBTUMsU0FBUyxJQUFJLENBQUNOLEtBQUssQ0FBQ00sTUFBTTtnQkFFaEMsSUFBSUEsU0FBUyxHQUFHO29CQUNkRCxvQkFBb0JFLElBQUFBLFlBQUssRUFBQyxJQUFJLENBQUNQLEtBQUs7Z0JBQ3RDO2dCQUVBLE9BQU9LO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsb0JBQW9CLEVBQUU7Z0JBRTVCLElBQUksQ0FBQ0MsbUJBQW1CLENBQUMsU0FBQ0M7b0JBQ3hCLElBQU1DLG1CQUFtQkQsYUFBYUUsbUJBQW1CO29CQUV6RCxJQUFJRCxxQkFBcUIsTUFBTTt3QkFDN0JILGtCQUFrQkssSUFBSSxDQUFDRjtvQkFDekI7Z0JBQ0Y7Z0JBRUFHLElBQUFBLGVBQVEsRUFBQ04sbUJBQW1CLFNBQUNPLG1CQUFtQkM7b0JBQzlDLElBQU1DLDRDQUE0Q0Ysa0JBQWtCRyxLQUFLLENBQUNGO29CQUUxRSxJQUFJQywyQ0FBMkM7d0JBQzdDLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRUEsT0FBT1Q7WUFDVDs7O1lBRUFXLEtBQUFBO21CQUFBQSxTQUFBQSxpQkFBaUJDLFFBQVE7Z0JBQUksT0FBTyxJQUFJLENBQUNyQixLQUFLLENBQUNzQixJQUFJLENBQUNELGFBQWE7WUFBTSxFQUFHLEdBQUc7OztZQUU3RUUsS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQkYsUUFBUTtnQkFBSSxPQUFPLElBQUksQ0FBQ3JCLEtBQUssQ0FBQ3dCLElBQUksQ0FBQ0g7WUFBVzs7O1lBRS9ESSxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCSixRQUFRO2dCQUFJLE9BQU8sSUFBSSxDQUFDckIsS0FBSyxDQUFDMEIsS0FBSyxDQUFDTDtZQUFXOzs7WUFFakVYLEtBQUFBO21CQUFBQSxTQUFBQSxvQkFBb0JXLFFBQVE7Z0JBQUksSUFBSSxDQUFDckIsS0FBSyxDQUFDMkIsT0FBTyxDQUFDTjtZQUFXOzs7WUFFOURPLEtBQUFBO21CQUFBQSxTQUFBQSxrQkFBa0JQLFFBQVE7Z0JBQ3hCLElBQU1yQixRQUFRc0IsSUFBQUEsV0FBSSxFQUFDLElBQUksQ0FBQ3RCLEtBQUssRUFBRXFCLFdBQ3pCUSxnQkFBZ0I5QixBQTFETEEsY0EwRG1CK0IsU0FBUyxDQUFDOUI7Z0JBRTlDLE9BQU82QjtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQlYsUUFBUTtnQkFDekIsSUFBTXJCLFFBQVEsSUFBSSxDQUFDQSxLQUFLLENBQUNnQyxNQUFNLENBQUNYLFdBQzFCUSxnQkFBZ0I5QixBQWpFTEEsY0FpRW1CK0IsU0FBUyxDQUFDOUI7Z0JBRTlDLE9BQU82QjtZQUNUOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLHFCQUFxQixJQUFJLENBQUNkLGdCQUFnQixDQUFDLFNBQUNUO29CQUNoRCxJQUFNd0IscUJBQXFCeEIsYUFBYXlCLFFBQVE7b0JBRWhELElBQUlELG9CQUFvQjt3QkFDdEIsT0FBTztvQkFDVDtnQkFDRjtnQkFFQSxPQUFPRDtZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLCtCQUErQkMsWUFBWTtnQkFDekMsSUFBTTNCLGVBQWUsSUFBSSxDQUFDUyxnQkFBZ0IsQ0FBQyxTQUFDVDtvQkFDMUMsSUFBTTRCLGtDQUFrQzVCLGFBQWE2QixpQkFBaUIsQ0FBQ0Y7b0JBRXZFLElBQUlDLGlDQUFpQzt3QkFDbkMsT0FBTztvQkFDVDtnQkFDRjtnQkFFQSxPQUFPNUI7WUFDVDs7O1lBRUE4QixLQUFBQTttQkFBQUEsU0FBQUEsb0NBQW9DN0IsZ0JBQWdCO2dCQUNsRCxJQUFNaUIsZ0JBQWdCLElBQUksQ0FBQ0QsaUJBQWlCLENBQUMsU0FBQ2pCO29CQUM1QyxJQUFNK0Isc0NBQXNDL0IsYUFBYWdDLHFCQUFxQixDQUFDL0I7b0JBRS9FLElBQUk4QixxQ0FBcUM7d0JBQ3ZDLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRUEsT0FBT2I7WUFDVDs7O1lBRUFlLEtBQUFBO21CQUFBQSxTQUFBQSx5Q0FBeUNoQyxnQkFBZ0I7Z0JBQ3ZELElBQU1pQixnQkFBZ0IsSUFBSSxDQUFDWSxtQ0FBbUMsQ0FBQzdCLG1CQUN6RGlDLHNCQUFzQmhCLGNBQWNFLGtCQUFrQixDQUFDLFNBQUNwQjtvQkFDdEQsSUFBTXdCLHFCQUFxQnhCLGFBQWF5QixRQUFRO29CQUVoRCxJQUFJRCxvQkFBb0I7d0JBQ3RCLE9BQU87b0JBQ1Q7Z0JBQ0YsSUFDQVcsMEJBQTBCRCxvQkFBb0J6QyxvQkFBb0IsSUFDbEU4QixxQkFBcUJZLHlCQUF5QixHQUFHO2dCQUV2RCxPQUFPWjtZQUNUOzs7WUFFQWEsS0FBQUE7bUJBQUFBLFNBQUFBLDJDQUEyQ25DLGdCQUFnQjtnQkFDekQsSUFBTWlCLGdCQUFnQixJQUFJLENBQUNZLG1DQUFtQyxDQUFDN0IsbUJBQ3pEb0MsdUJBQXVCbkIsY0FBY0Usa0JBQWtCLENBQUMsU0FBQ3BCO29CQUN2RCxJQUFNc0Msc0JBQXNCdEMsYUFBYXVDLFNBQVM7b0JBRWxELElBQUlELHFCQUFxQjt3QkFDdkIsT0FBTztvQkFDVDtnQkFDRjtnQkFFTixPQUFPRDtZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLHVEQUF1RHZDLGdCQUFnQixFQUFFd0MsZ0JBQWdCO2dCQUN2RixJQUFNdkIsZ0JBQWdCLElBQUksQ0FBQ0QsaUJBQWlCLENBQUMsU0FBQ2pCO29CQUM1QyxJQUFNMEMseURBQXlEMUMsYUFBYTJDLHdDQUF3QyxDQUFDMUMsa0JBQWtCd0M7b0JBRXZJLElBQUlDLHdEQUF3RDt3QkFDMUQsT0FBTztvQkFDVDtnQkFDRjtnQkFFQSxPQUFPeEI7WUFDVDs7O1lBRUEwQixLQUFBQTttQkFBQUEsU0FBQUEsNkRBQTZEM0MsZ0JBQWdCLEVBQUV3QyxnQkFBZ0I7Z0JBQzdGLElBQU12QixnQkFBZ0IsSUFBSSxDQUFDc0Isc0RBQXNELENBQUN2QyxrQkFBa0J3QyxtQkFDOUZKLHVCQUF1Qm5CLGNBQWNFLGtCQUFrQixDQUFDLFNBQUNwQjtvQkFDdkQsSUFBTXNDLHNCQUFzQnRDLGFBQWF1QyxTQUFTO29CQUVsRCxJQUFJRCxxQkFBcUI7d0JBQ3ZCLE9BQU87b0JBQ1Q7Z0JBQ0YsSUFDQU8sMkJBQTJCUixxQkFBcUI1QyxvQkFBb0IsSUFDcEVxRCxzQkFBc0JELDBCQUEwQixHQUFHO2dCQUV6RCxPQUFPQztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLGdCQUFnQi9DLFlBQVksRUFBRWdELGFBQWEsRUFBRUMsYUFBYTtnQkFDeEQsSUFBSSxDQUFDNUQsS0FBSyxDQUFDYyxJQUFJLENBQUNIO2dCQUVoQixJQUFNeUMsbUJBQW1CekMsYUFBYWtELE9BQU8sSUFDdkNDLHFCQUFxQm5ELGFBQWFvRCxRQUFRLENBQUNKLGVBQWVDO2dCQUVoRUEsY0FBY0ksS0FBSyxDQUFDLEFBQUMsYUFBK0IsT0FBbkJGLG9CQUFtQixtQkFBaUJWO1lBQ3ZFOzs7WUFFQWEsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQnRELFlBQVksRUFBRWdELGFBQWEsRUFBRUMsYUFBYTtnQkFDM0QsSUFBTU0sZ0JBQWdCdkQsY0FBYyxHQUFHO2dCQUV2Q3dELElBQUFBLFlBQUssRUFBQyxJQUFJLENBQUNuRSxLQUFLLEVBQUUsU0FBQ1c7b0JBQ2pCLElBQU15RCxnQkFBZ0J6RCxjQUFjLEdBQUc7b0JBRXZDLElBQUl1RCxrQkFBa0JFLGVBQWU7d0JBQ25DLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRUEsSUFBTWhCLG1CQUFtQnpDLGFBQWFrRCxPQUFPLElBQ3ZDQyxxQkFBcUJuRCxhQUFhb0QsUUFBUSxDQUFDSixlQUFlQztnQkFFaEVBLGNBQWNJLEtBQUssQ0FBQyxBQUFDLGVBQWlDLE9BQW5CRixvQkFBbUIsbUJBQWlCVjtZQUN6RTs7O1lBRUFpQixLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCQyxZQUFZLEVBQUVYLGFBQWEsRUFBRUMsYUFBYTs7Z0JBQzlELElBQU1XLDBCQUEwQixJQUFJLENBQUM5QyxpQkFBaUIsQ0FBQyxTQUFDZDtvQkFDdEQsSUFBTWtCLHVCQUNBMkMscUNBQXFDN0QsYUFBYTBELHFCQUFxQixDQUFDQyxjQUFjekMsZUFBZThCLGVBQWVDO29CQUUxSCxJQUFJWSxvQ0FBb0M7d0JBQ3RDLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRUEsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxXQUFXLElBQUksQ0FBQ2pELGlCQUFpQixDQUFDLFNBQUNkO29CQUN2QyxJQUFNZ0UsdUJBQXVCaEUsYUFBYWlFLFVBQVU7b0JBRXBELE9BQU9EO2dCQUNUO2dCQUVBLE9BQU9EO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDNUUsVUFBVSxHQUNiLHFCQUFHLElBQUksQ0FBQ0QsS0FBSztZQUVqQjs7O1lBRUE4RSxLQUFBQTttQkFBQUEsU0FBQUEsU0FBU25CLGFBQWEsRUFBRUMsYUFBYTs7Z0JBQ25DLElBQU01RCxRQUNKLHFCQUFHLElBQUksQ0FBQ0EsS0FBSztnQkFHZitFLElBQUFBLHNCQUFlLEVBQUMsSUFBSSxDQUFDOUUsVUFBVSxFQUFFRDtnQkFFakNBLE1BQU0yQixPQUFPLENBQUMsU0FBQ2hCO29CQUNiLE1BQUtzRCxrQkFBa0IsQ0FBQ3RELGNBQWNnRCxlQUFlQztnQkFDdkQ7Z0JBRUEsSUFBSSxDQUFDNUQsS0FBSyxHQUNSLHFCQUFHLElBQUksQ0FBQ0MsVUFBVTtnQkFHcEIsSUFBSSxDQUFDQSxVQUFVLEdBQUc7WUFDcEI7OztZQUVBK0UsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQy9FLFVBQVUsR0FBRztZQUNwQjs7O1lBRUE4RCxLQUFBQTttQkFBQUEsU0FBQUEsU0FBU0osYUFBYSxFQUFFQyxhQUFhO2dCQUNuQyxJQUFJcUIsU0FBUyxJQUFJLENBQUNqRixLQUFLLENBQUNrRixNQUFNLENBQUMsU0FBQ0QsUUFBUXRFO29CQUN0QyxJQUFNbUQscUJBQXFCbkQsYUFBYW9ELFFBQVEsQ0FBQ0osZUFBZUM7b0JBRWhFcUIsU0FBUyxBQUFDQSxXQUFXLE9BQ1ZuQixxQkFDRSxBQUFDLEdBQWFBLE9BQVhtQixRQUFPLE1BQXVCLE9BQW5CbkI7b0JBRTNCLE9BQU9tQjtnQkFDVCxHQUFHRSx1QkFBWTtnQkFFZixJQUFJRixXQUFXRSx1QkFBWSxFQUFFO29CQUMzQkYsU0FBUyxBQUFDLElBQVUsT0FBUEE7Z0JBQ2Y7Z0JBRUEsT0FBT0E7WUFDVDs7OztZQUVPbkQsS0FBQUE7bUJBQVAsU0FBT0EsVUFBVTlCLEtBQUs7Z0JBQ3BCLElBQU1DLGFBQWEsRUFBRSxFQUNmNEIsZ0JBQWdCLElBbFFMOUIsY0FrUXVCQyxPQUFPQztnQkFFL0MsT0FBTzRCO1lBQ1Q7OztZQUVPdUQsS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQ0wsSUFBTXBGLFFBQVEsRUFBRSxFQUNWQyxhQUFhLE1BQ2I0QixnQkFBZ0IsSUExUUw5QixjQTBRdUJDLE9BQU9DO2dCQUUvQyxPQUFPNEI7WUFDVDs7O1dBN1FtQjlCIn0=
|
|
343
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJzdGl0dXRpb25zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGZpbmQsIGZpcnN0LCBwcnVuZSwgY29tcHJlc3MsIHJpZ2h0RGlmZmVyZW5jZSB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWJzdGl0dXRpb25zIHtcbiAgY29uc3RydWN0b3IoYXJyYXksIHNhdmVkQXJyYXkpIHtcbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG4gICAgdGhpcy5zYXZlZEFycmF5ID0gc2F2ZWRBcnJheTtcbiAgfVxuXG4gIGdldEFycmF5KCkge1xuICAgIHJldHVybiB0aGlzLmFycmF5O1xuICB9XG5cbiAgZ2V0U2F2ZWRBcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5zYXZlZEFycmF5O1xuICB9XG5cbiAgZ2V0Rmlyc3RTdWJzdGl0dXRpb24oKSB7XG4gICAgbGV0IGZpcnN0U3Vic3RpdHV0aW9uID0gbnVsbDtcblxuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuYXJyYXkubGVuZ3RoO1xuXG4gICAgaWYgKGxlbmd0aCA+IDApIHtcbiAgICAgIGZpcnN0U3Vic3RpdHV0aW9uID0gZmlyc3QodGhpcy5hcnJheSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpcnN0U3Vic3RpdHV0aW9uO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTm9kZXMoKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZXMgPSBbXTtcblxuICAgIHRoaXMuZm9yRWFjaFN1YnN0aXR1dGlvbigoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gc3Vic3RpdHV0aW9uLmdldE1ldGF2YXJpYWJsZU5vZGUoKTtcblxuICAgICAgaWYgKG1ldGF2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgbWV0YXZhcmlhYmxlTm9kZXMucHVzaChtZXRhdmFyaWFibGVOb2RlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbXByZXNzKG1ldGF2YXJpYWJsZU5vZGVzLCAobWV0YXZhcmlhYmxlTm9kZUEsIG1ldGF2YXJpYWJsZU5vZGVCKSA9PiB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlQU1hdGNoZXNNZXRhdmFyaWFibGVOb2RlQiA9IG1ldGF2YXJpYWJsZU5vZGVBLm1hdGNoKG1ldGF2YXJpYWJsZU5vZGVCKTtcblxuICAgICAgaWYgKG1ldGF2YXJpYWJsZU5vZGVBTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVCKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVzO1xuICB9XG5cbiAgZmluZFN1YnN0aXR1dGlvbihjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5hcnJheS5maW5kKGNhbGxiYWNrKSB8fCBudWxsOyB9ICAvLy9cblxuICBzb21lU3Vic3RpdHV0aW9uKGNhbGxiYWNrKSB7IHJldHVybiB0aGlzLmFycmF5LnNvbWUoY2FsbGJhY2spOyB9XG5cbiAgZXZlcnlTdWJzdGl0dXRpb24oY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuYXJyYXkuZXZlcnkoY2FsbGJhY2spOyB9XG5cbiAgZm9yRWFjaFN1YnN0aXR1dGlvbihjYWxsYmFjaykgeyB0aGlzLmFycmF5LmZvckVhY2goY2FsbGJhY2spOyB9XG5cbiAgZmluZFN1YnN0aXR1dGlvbnMoY2FsbGJhY2spIHtcbiAgICBjb25zdCBhcnJheSA9IGZpbmQodGhpcy5hcnJheSwgY2FsbGJhY2spLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21BcnJheShhcnJheSk7XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9ucztcbiAgfVxuXG4gIGZpbHRlclN1YnN0aXR1dGlvbihjYWxsYmFjaykge1xuICAgIGNvbnN0IGFycmF5ID0gdGhpcy5hcnJheS5maWx0ZXIoY2FsbGJhY2spLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21BcnJheShhcnJheSk7XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9ucztcbiAgfVxuXG4gIGZpbmRTaW1wbGVTdWJzdGl0dXRpb24oKSB7XG4gICAgY29uc3Qgc2ltcGxlU3Vic3RpdHV0aW9uID0gdGhpcy5maW5kU3Vic3RpdHV0aW9uKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvblNpbXBsZSA9IHN1YnN0aXR1dGlvbi5pc1NpbXBsZSgpO1xuXG4gICAgICBpZiAoc3Vic3RpdHV0aW9uU2ltcGxlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNpbXBsZVN1YnN0aXR1dGlvbjtcbiAgfVxuXG4gIGZpbmRTdWJzdGl0dXRpb25CeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb24gPSB0aGlzLmZpbmRTdWJzdGl0dXRpb24oKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgY29uc3QgdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbi5tYXRjaFZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpO1xuXG4gICAgICBpZiAodmFyaWFibGVOb2RlTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzdWJzdGl0dXRpb247XG4gIH1cblxuICBmaW5kU3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb24gPSB0aGlzLmZpbmRTdWJzdGl0dXRpb24oKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSBzdWJzdGl0dXRpb24ubWF0Y2hNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICBpZiAobWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9uO1xuICB9XG4gIGZpbmRTdWJzdGl0dXRpb25zQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gdGhpcy5maW5kU3Vic3RpdHV0aW9ucygoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbi5tYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgIGlmIChtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzdWJzdGl0dXRpb25zO1xuICB9XG5cbiAgZmluZFNpbXBsZVN1YnN0aXR1dGlvbkJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IHRoaXMuZmluZFN1YnN0aXR1dGlvbnNCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgc2ltcGxlU3Vic3RpdHV0aW9ucyA9IHN1YnN0aXR1dGlvbnMuZmlsdGVyU3Vic3RpdHV0aW9uKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvblNpbXBsZSA9IHN1YnN0aXR1dGlvbi5pc1NpbXBsZSgpO1xuXG4gICAgICAgICAgICBpZiAoc3Vic3RpdHV0aW9uU2ltcGxlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGZpcnN0U2ltcGxlU3Vic3RpdHV0aW9uID0gc2ltcGxlU3Vic3RpdHV0aW9ucy5nZXRGaXJzdFN1YnN0aXR1dGlvbigpLFxuICAgICAgICAgIHNpbXBsZVN1YnN0aXR1dGlvbiA9IGZpcnN0U2ltcGxlU3Vic3RpdHV0aW9uOyAvLy9cblxuICAgIHJldHVybiBzaW1wbGVTdWJzdGl0dXRpb247XG4gIH1cblxuICBmaW5kQ29tcGxleFN1YnN0aXR1dGlvbnNCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSB0aGlzLmZpbmRTdWJzdGl0dXRpb25zQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIGNvbXBsZXhTdWJzdGl0dXRpb25zID0gc3Vic3RpdHV0aW9ucy5maWx0ZXJTdWJzdGl0dXRpb24oKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uQ29tcGxleCA9IHN1YnN0aXR1dGlvbi5pc0NvbXBsZXgoKTtcblxuICAgICAgICAgICAgaWYgKHN1YnN0aXR1dGlvbkNvbXBsZXgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICByZXR1cm4gY29tcGxleFN1YnN0aXR1dGlvbnM7XG4gIH1cblxuICBmaW5kU3Vic3RpdHV0aW9uc0J5TWV0YXZhcmlhYmxlTm9kZUFuZFN1YnN0aXR1dGlvbk5vZGUobWV0YXZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9uTm9kZSkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSB0aGlzLmZpbmRTdWJzdGl0dXRpb25zKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVBbmRTdWJzdGl0dXRpb25Ob2RlTWF0Y2ggPSBzdWJzdGl0dXRpb24ubWF0Y2hNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZShtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25Ob2RlKTtcblxuICAgICAgaWYgKG1ldGF2YXJpYWJsZU5vZGVBbmRTdWJzdGl0dXRpb25Ob2RlTWF0Y2gpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9ucztcbiAgfVxuXG4gIGZpbmRDb21wbGV4U3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZShtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25Ob2RlKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IHRoaXMuZmluZFN1YnN0aXR1dGlvbnNCeU1ldGF2YXJpYWJsZU5vZGVBbmRTdWJzdGl0dXRpb25Ob2RlKG1ldGF2YXJpYWJsZU5vZGUsIHN1YnN0aXR1dGlvbk5vZGUpLFxuICAgICAgICAgIGNvbXBsZXhTdWJzdGl0dXRpb25zID0gc3Vic3RpdHV0aW9ucy5maWx0ZXJTdWJzdGl0dXRpb24oKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uQ29tcGxleCA9IHN1YnN0aXR1dGlvbi5pc0NvbXBsZXgoKTtcblxuICAgICAgICAgICAgaWYgKHN1YnN0aXR1dGlvbkNvbXBsZXgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmlyc3RDb21wbGV4U3Vic3RpdHV0aW9uID0gY29tcGxleFN1YnN0aXR1dGlvbnMuZ2V0Rmlyc3RTdWJzdGl0dXRpb24oKSxcbiAgICAgICAgICBjb21wbGV4U3Vic3RpdHV0aW9uID0gZmlyc3RDb21wbGV4U3Vic3RpdHV0aW9uOyAvLy9cblxuICAgIHJldHVybiBjb21wbGV4U3Vic3RpdHV0aW9uO1xuICB9XG5cbiAgYWRkU3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbiwgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICAgIHRoaXMuYXJyYXkucHVzaChzdWJzdGl0dXRpb24pO1xuXG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uTm9kZSA9IHN1YnN0aXR1dGlvbi5nZXROb2RlKCksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uU3RyaW5nID0gc3Vic3RpdHV0aW9uLmFzU3RyaW5nKGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgbG9jYWxDb250ZXh0Qi50cmFjZShgQWRkZWQgdGhlICR7c3Vic3RpdHV0aW9uU3RyaW5nfSBzdWJzdGl0dXRpb24uYCwgc3Vic3RpdHV0aW9uTm9kZSk7XG4gIH1cblxuICByZW1vdmVTdWJzdGl0dXRpb24oc3Vic3RpdHV0aW9uLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uQSA9IHN1YnN0aXR1dGlvbjsgLy8vXG5cbiAgICBwcnVuZSh0aGlzLmFycmF5LCAoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25CID0gc3Vic3RpdHV0aW9uOyAvLy9cblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbkEgIT09IHN1YnN0aXR1dGlvbkIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBzdWJzdGl0dXRpb25Ob2RlID0gc3Vic3RpdHV0aW9uLmdldE5vZGUoKSxcbiAgICAgICAgICBzdWJzdGl0dXRpb25TdHJpbmcgPSBzdWJzdGl0dXRpb24uYXNTdHJpbmcobG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICBsb2NhbENvbnRleHRCLnRyYWNlKGBSZW1vdmVkIHRoZSAke3N1YnN0aXR1dGlvblN0cmluZ30gc3Vic3RpdHV0aW9uLmAsIHN1YnN0aXR1dGlvbk5vZGUpO1xuICB9XG5cbiAgdW5pZnlXaXRoRXF1aXZhbGVuY2VzKGVxdWl2YWxlbmNlcywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICAgIGNvbnN0IHVuaWZpZWRXaXRoRXF1aXZhbGVuY2VzID0gdGhpcy5ldmVyeVN1YnN0aXR1dGlvbigoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gdGhpcywgLy8vXG4gICAgICAgICAgICBzdWJzdGl0dXRpb25VbmlmaWVkV2l0aEVxdWl2YWxlbmNlID0gc3Vic3RpdHV0aW9uLnVuaWZ5V2l0aEVxdWl2YWxlbmNlcyhlcXVpdmFsZW5jZXMsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICBpZiAoc3Vic3RpdHV0aW9uVW5pZmllZFdpdGhFcXVpdmFsZW5jZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB1bmlmaWVkV2l0aEVxdWl2YWxlbmNlcztcbiAgfVxuXG4gIGFyZVJlc29sdmVkKCkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gdGhpcy5ldmVyeVN1YnN0aXR1dGlvbigoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25SZXNvbHZlZCA9IHN1YnN0aXR1dGlvbi5pc1Jlc29sdmVkKCk7XG5cbiAgICAgIHJldHVybiBzdWJzdGl0dXRpb25SZXNvbHZlZDtcbiAgICB9KTtcblxuICAgIHJldHVybiByZXNvbHZlZDtcbiAgfVxuXG4gIHNuYXBzaG90KCkge1xuICAgIHRoaXMuc2F2ZWRBcnJheSA9IFtcbiAgICAgIC4uLnRoaXMuYXJyYXlcbiAgICBdO1xuICB9XG5cbiAgcm9sbGJhY2sobG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICAgIGNvbnN0IGFycmF5ID0gW1xuICAgICAgLi4udGhpcy5hcnJheVxuICAgIF07XG5cbiAgICByaWdodERpZmZlcmVuY2UodGhpcy5zYXZlZEFycmF5LCBhcnJheSk7XG5cbiAgICBhcnJheS5mb3JFYWNoKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgIHRoaXMucmVtb3ZlU3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbiwgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFycmF5ID0gW1xuICAgICAgLi4udGhpcy5zYXZlZEFycmF5XG4gICAgXTtcblxuICAgIHRoaXMuc2F2ZWRBcnJheSA9IG51bGw7XG4gIH1cblxuICBjb250aW51ZSgpIHtcbiAgICB0aGlzLnNhdmVkQXJyYXkgPSBudWxsO1xuICB9XG5cbiAgYXNTdHJpbmcobG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICAgIGxldCBzdHJpbmcgPSB0aGlzLmFycmF5LnJlZHVjZSgoc3RyaW5nLCBzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvblN0cmluZyA9IHN1YnN0aXR1dGlvbi5hc1N0cmluZyhsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgc3RyaW5nID0gKHN0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICBzdWJzdGl0dXRpb25TdHJpbmcgOlxuICAgICAgICAgICAgICAgICAgIGAke3N0cmluZ30sICR7c3Vic3RpdHV0aW9uU3RyaW5nfWA7XG5cbiAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgfSwgRU1QVFlfU1RSSU5HKTtcblxuICAgIGlmIChzdHJpbmcgIT09IEVNUFRZX1NUUklORykge1xuICAgICAgc3RyaW5nID0gYCAke3N0cmluZ31gO1xuICAgIH1cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZnJvbUFycmF5KGFycmF5KSB7XG4gICAgY29uc3Qgc2F2ZWRBcnJheSA9IFtdLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBuZXcgU3Vic3RpdHV0aW9ucyhhcnJheSwgc2F2ZWRBcnJheSk7XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9ucztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBhcnJheSA9IFtdLFxuICAgICAgICAgIHNhdmVkQXJyYXkgPSBudWxsLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBuZXcgU3Vic3RpdHV0aW9ucyhhcnJheSwgc2F2ZWRBcnJheSk7XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9ucztcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlN1YnN0aXR1dGlvbnMiLCJhcnJheSIsInNhdmVkQXJyYXkiLCJnZXRBcnJheSIsImdldFNhdmVkQXJyYXkiLCJnZXRGaXJzdFN1YnN0aXR1dGlvbiIsImZpcnN0U3Vic3RpdHV0aW9uIiwibGVuZ3RoIiwiZmlyc3QiLCJnZXRNZXRhdmFyaWFibGVOb2RlcyIsIm1ldGF2YXJpYWJsZU5vZGVzIiwiZm9yRWFjaFN1YnN0aXR1dGlvbiIsInN1YnN0aXR1dGlvbiIsIm1ldGF2YXJpYWJsZU5vZGUiLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwicHVzaCIsImNvbXByZXNzIiwibWV0YXZhcmlhYmxlTm9kZUEiLCJtZXRhdmFyaWFibGVOb2RlQiIsIm1ldGF2YXJpYWJsZU5vZGVBTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVCIiwibWF0Y2giLCJmaW5kU3Vic3RpdHV0aW9uIiwiY2FsbGJhY2siLCJmaW5kIiwic29tZVN1YnN0aXR1dGlvbiIsInNvbWUiLCJldmVyeVN1YnN0aXR1dGlvbiIsImV2ZXJ5IiwiZm9yRWFjaCIsImZpbmRTdWJzdGl0dXRpb25zIiwic3Vic3RpdHV0aW9ucyIsImZyb21BcnJheSIsImZpbHRlclN1YnN0aXR1dGlvbiIsImZpbHRlciIsImZpbmRTaW1wbGVTdWJzdGl0dXRpb24iLCJzaW1wbGVTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25TaW1wbGUiLCJpc1NpbXBsZSIsImZpbmRTdWJzdGl0dXRpb25CeVZhcmlhYmxlTm9kZSIsInZhcmlhYmxlTm9kZSIsInZhcmlhYmxlTm9kZU1hdGNoZXMiLCJtYXRjaFZhcmlhYmxlTm9kZSIsImZpbmRTdWJzdGl0dXRpb25CeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YXZhcmlhYmxlTm9kZSIsImZpbmRTdWJzdGl0dXRpb25zQnlNZXRhdmFyaWFibGVOb2RlIiwiZmluZFNpbXBsZVN1YnN0aXR1dGlvbkJ5TWV0YXZhcmlhYmxlTm9kZSIsInNpbXBsZVN1YnN0aXR1dGlvbnMiLCJmaXJzdFNpbXBsZVN1YnN0aXR1dGlvbiIsImZpbmRDb21wbGV4U3Vic3RpdHV0aW9uc0J5TWV0YXZhcmlhYmxlTm9kZSIsImNvbXBsZXhTdWJzdGl0dXRpb25zIiwic3Vic3RpdHV0aW9uQ29tcGxleCIsImlzQ29tcGxleCIsImZpbmRTdWJzdGl0dXRpb25zQnlNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZSIsInN1YnN0aXR1dGlvbk5vZGUiLCJtZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZU1hdGNoIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZSIsImZpbmRDb21wbGV4U3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZSIsImZpcnN0Q29tcGxleFN1YnN0aXR1dGlvbiIsImNvbXBsZXhTdWJzdGl0dXRpb24iLCJhZGRTdWJzdGl0dXRpb24iLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsImdldE5vZGUiLCJzdWJzdGl0dXRpb25TdHJpbmciLCJhc1N0cmluZyIsInRyYWNlIiwicmVtb3ZlU3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uQSIsInBydW5lIiwic3Vic3RpdHV0aW9uQiIsInVuaWZ5V2l0aEVxdWl2YWxlbmNlcyIsImVxdWl2YWxlbmNlcyIsInVuaWZpZWRXaXRoRXF1aXZhbGVuY2VzIiwic3Vic3RpdHV0aW9uVW5pZmllZFdpdGhFcXVpdmFsZW5jZSIsImFyZVJlc29sdmVkIiwicmVzb2x2ZWQiLCJzdWJzdGl0dXRpb25SZXNvbHZlZCIsImlzUmVzb2x2ZWQiLCJzbmFwc2hvdCIsInJvbGxiYWNrIiwicmlnaHREaWZmZXJlbmNlIiwiY29udGludWUiLCJzdHJpbmciLCJyZWR1Y2UiLCJFTVBUWV9TVFJJTkciLCJmcm9tTm90aGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFLcUJBOzs7eUJBSFE7cUJBQ2lDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0MsSUFBQSxBQUFNQSw4QkFBTjthQUFNQSxjQUNQQyxLQUFLLEVBQUVDLFVBQVU7Z0NBRFZGO1FBRWpCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTs7a0JBSERGOztZQU1uQkcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixLQUFLO1lBQ25COzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixVQUFVO1lBQ3hCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUlDLG9CQUFvQjtnQkFFeEIsSUFBTUMsU0FBUyxJQUFJLENBQUNOLEtBQUssQ0FBQ00sTUFBTTtnQkFFaEMsSUFBSUEsU0FBUyxHQUFHO29CQUNkRCxvQkFBb0JFLElBQUFBLFlBQUssRUFBQyxJQUFJLENBQUNQLEtBQUs7Z0JBQ3RDO2dCQUVBLE9BQU9LO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsb0JBQW9CLEVBQUU7Z0JBRTVCLElBQUksQ0FBQ0MsbUJBQW1CLENBQUMsU0FBQ0M7b0JBQ3hCLElBQU1DLG1CQUFtQkQsYUFBYUUsbUJBQW1CO29CQUV6RCxJQUFJRCxxQkFBcUIsTUFBTTt3QkFDN0JILGtCQUFrQkssSUFBSSxDQUFDRjtvQkFDekI7Z0JBQ0Y7Z0JBRUFHLElBQUFBLGVBQVEsRUFBQ04sbUJBQW1CLFNBQUNPLG1CQUFtQkM7b0JBQzlDLElBQU1DLDRDQUE0Q0Ysa0JBQWtCRyxLQUFLLENBQUNGO29CQUUxRSxJQUFJQywyQ0FBMkM7d0JBQzdDLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRUEsT0FBT1Q7WUFDVDs7O1lBRUFXLEtBQUFBO21CQUFBQSxTQUFBQSxpQkFBaUJDLFFBQVE7Z0JBQUksT0FBTyxJQUFJLENBQUNyQixLQUFLLENBQUNzQixJQUFJLENBQUNELGFBQWE7WUFBTSxFQUFHLEdBQUc7OztZQUU3RUUsS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQkYsUUFBUTtnQkFBSSxPQUFPLElBQUksQ0FBQ3JCLEtBQUssQ0FBQ3dCLElBQUksQ0FBQ0g7WUFBVzs7O1lBRS9ESSxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCSixRQUFRO2dCQUFJLE9BQU8sSUFBSSxDQUFDckIsS0FBSyxDQUFDMEIsS0FBSyxDQUFDTDtZQUFXOzs7WUFFakVYLEtBQUFBO21CQUFBQSxTQUFBQSxvQkFBb0JXLFFBQVE7Z0JBQUksSUFBSSxDQUFDckIsS0FBSyxDQUFDMkIsT0FBTyxDQUFDTjtZQUFXOzs7WUFFOURPLEtBQUFBO21CQUFBQSxTQUFBQSxrQkFBa0JQLFFBQVE7Z0JBQ3hCLElBQU1yQixRQUFRc0IsSUFBQUEsV0FBSSxFQUFDLElBQUksQ0FBQ3RCLEtBQUssRUFBRXFCLFdBQ3pCUSxnQkFBZ0I5QixBQTFETEEsY0EwRG1CK0IsU0FBUyxDQUFDOUI7Z0JBRTlDLE9BQU82QjtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQlYsUUFBUTtnQkFDekIsSUFBTXJCLFFBQVEsSUFBSSxDQUFDQSxLQUFLLENBQUNnQyxNQUFNLENBQUNYLFdBQzFCUSxnQkFBZ0I5QixBQWpFTEEsY0FpRW1CK0IsU0FBUyxDQUFDOUI7Z0JBRTlDLE9BQU82QjtZQUNUOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLHFCQUFxQixJQUFJLENBQUNkLGdCQUFnQixDQUFDLFNBQUNUO29CQUNoRCxJQUFNd0IscUJBQXFCeEIsYUFBYXlCLFFBQVE7b0JBRWhELElBQUlELG9CQUFvQjt3QkFDdEIsT0FBTztvQkFDVDtnQkFDRjtnQkFFQSxPQUFPRDtZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLCtCQUErQkMsWUFBWTtnQkFDekMsSUFBTTNCLGVBQWUsSUFBSSxDQUFDUyxnQkFBZ0IsQ0FBQyxTQUFDVDtvQkFDMUMsSUFBTTRCLHNCQUFzQjVCLGFBQWE2QixpQkFBaUIsQ0FBQ0Y7b0JBRTNELElBQUlDLHFCQUFxQjt3QkFDdkIsT0FBTztvQkFDVDtnQkFDRjtnQkFFQSxPQUFPNUI7WUFDVDs7O1lBRUE4QixLQUFBQTttQkFBQUEsU0FBQUEsbUNBQW1DN0IsZ0JBQWdCO2dCQUNqRCxJQUFNRCxlQUFlLElBQUksQ0FBQ1MsZ0JBQWdCLENBQUMsU0FBQ1Q7b0JBQzFDLElBQU0rQiwwQkFBMEIvQixhQUFhZ0MscUJBQXFCLENBQUMvQjtvQkFFbkUsSUFBSThCLHlCQUF5Qjt3QkFDM0IsT0FBTztvQkFDVDtnQkFDRjtnQkFFQSxPQUFPL0I7WUFDVDs7O1lBQ0FpQyxLQUFBQTttQkFBQUEsU0FBQUEsb0NBQW9DaEMsZ0JBQWdCO2dCQUNsRCxJQUFNaUIsZ0JBQWdCLElBQUksQ0FBQ0QsaUJBQWlCLENBQUMsU0FBQ2pCO29CQUM1QyxJQUFNK0IsMEJBQTBCL0IsYUFBYWdDLHFCQUFxQixDQUFDL0I7b0JBRW5FLElBQUk4Qix5QkFBeUI7d0JBQzNCLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRUEsT0FBT2I7WUFDVDs7O1lBRUFnQixLQUFBQTttQkFBQUEsU0FBQUEseUNBQXlDakMsZ0JBQWdCO2dCQUN2RCxJQUFNaUIsZ0JBQWdCLElBQUksQ0FBQ2UsbUNBQW1DLENBQUNoQyxtQkFDekRrQyxzQkFBc0JqQixjQUFjRSxrQkFBa0IsQ0FBQyxTQUFDcEI7b0JBQ3RELElBQU13QixxQkFBcUJ4QixhQUFheUIsUUFBUTtvQkFFaEQsSUFBSUQsb0JBQW9CO3dCQUN0QixPQUFPO29CQUNUO2dCQUNGLElBQ0FZLDBCQUEwQkQsb0JBQW9CMUMsb0JBQW9CLElBQ2xFOEIscUJBQXFCYSx5QkFBeUIsR0FBRztnQkFFdkQsT0FBT2I7WUFDVDs7O1lBRUFjLEtBQUFBO21CQUFBQSxTQUFBQSwyQ0FBMkNwQyxnQkFBZ0I7Z0JBQ3pELElBQU1pQixnQkFBZ0IsSUFBSSxDQUFDZSxtQ0FBbUMsQ0FBQ2hDLG1CQUN6RHFDLHVCQUF1QnBCLGNBQWNFLGtCQUFrQixDQUFDLFNBQUNwQjtvQkFDdkQsSUFBTXVDLHNCQUFzQnZDLGFBQWF3QyxTQUFTO29CQUVsRCxJQUFJRCxxQkFBcUI7d0JBQ3ZCLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRU4sT0FBT0Q7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSx1REFBdUR4QyxnQkFBZ0IsRUFBRXlDLGdCQUFnQjtnQkFDdkYsSUFBTXhCLGdCQUFnQixJQUFJLENBQUNELGlCQUFpQixDQUFDLFNBQUNqQjtvQkFDNUMsSUFBTTJDLDJDQUEyQzNDLGFBQWE0Qyx3Q0FBd0MsQ0FBQzNDLGtCQUFrQnlDO29CQUV6SCxJQUFJQywwQ0FBMEM7d0JBQzVDLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRUEsT0FBT3pCO1lBQ1Q7OztZQUVBMkIsS0FBQUE7bUJBQUFBLFNBQUFBLDZEQUE2RDVDLGdCQUFnQixFQUFFeUMsZ0JBQWdCO2dCQUM3RixJQUFNeEIsZ0JBQWdCLElBQUksQ0FBQ3VCLHNEQUFzRCxDQUFDeEMsa0JBQWtCeUMsbUJBQzlGSix1QkFBdUJwQixjQUFjRSxrQkFBa0IsQ0FBQyxTQUFDcEI7b0JBQ3ZELElBQU11QyxzQkFBc0J2QyxhQUFhd0MsU0FBUztvQkFFbEQsSUFBSUQscUJBQXFCO3dCQUN2QixPQUFPO29CQUNUO2dCQUNGLElBQ0FPLDJCQUEyQlIscUJBQXFCN0Msb0JBQW9CLElBQ3BFc0Qsc0JBQXNCRCwwQkFBMEIsR0FBRztnQkFFekQsT0FBT0M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxnQkFBZ0JoRCxZQUFZLEVBQUVpRCxhQUFhLEVBQUVDLGFBQWE7Z0JBQ3hELElBQUksQ0FBQzdELEtBQUssQ0FBQ2MsSUFBSSxDQUFDSDtnQkFFaEIsSUFBTTBDLG1CQUFtQjFDLGFBQWFtRCxPQUFPLElBQ3ZDQyxxQkFBcUJwRCxhQUFhcUQsUUFBUSxDQUFDSixlQUFlQztnQkFFaEVBLGNBQWNJLEtBQUssQ0FBQyxBQUFDLGFBQStCLE9BQW5CRixvQkFBbUIsbUJBQWlCVjtZQUN2RTs7O1lBRUFhLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUJ2RCxZQUFZLEVBQUVpRCxhQUFhLEVBQUVDLGFBQWE7Z0JBQzNELElBQU1NLGdCQUFnQnhELGNBQWMsR0FBRztnQkFFdkN5RCxJQUFBQSxZQUFLLEVBQUMsSUFBSSxDQUFDcEUsS0FBSyxFQUFFLFNBQUNXO29CQUNqQixJQUFNMEQsZ0JBQWdCMUQsY0FBYyxHQUFHO29CQUV2QyxJQUFJd0Qsa0JBQWtCRSxlQUFlO3dCQUNuQyxPQUFPO29CQUNUO2dCQUNGO2dCQUVBLElBQU1oQixtQkFBbUIxQyxhQUFhbUQsT0FBTyxJQUN2Q0MscUJBQXFCcEQsYUFBYXFELFFBQVEsQ0FBQ0osZUFBZUM7Z0JBRWhFQSxjQUFjSSxLQUFLLENBQUMsQUFBQyxlQUFpQyxPQUFuQkYsb0JBQW1CLG1CQUFpQlY7WUFDekU7OztZQUVBaUIsS0FBQUE7bUJBQUFBLFNBQUFBLHNCQUFzQkMsWUFBWSxFQUFFWCxhQUFhLEVBQUVDLGFBQWE7O2dCQUM5RCxJQUFNVywwQkFBMEIsSUFBSSxDQUFDL0MsaUJBQWlCLENBQUMsU0FBQ2Q7b0JBQ3RELElBQU1rQix1QkFDQTRDLHFDQUFxQzlELGFBQWEyRCxxQkFBcUIsQ0FBQ0MsY0FBYzFDLGVBQWUrQixlQUFlQztvQkFFMUgsSUFBSVksb0NBQW9DO3dCQUN0QyxPQUFPO29CQUNUO2dCQUNGO2dCQUVBLE9BQU9EO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsV0FBVyxJQUFJLENBQUNsRCxpQkFBaUIsQ0FBQyxTQUFDZDtvQkFDdkMsSUFBTWlFLHVCQUF1QmpFLGFBQWFrRSxVQUFVO29CQUVwRCxPQUFPRDtnQkFDVDtnQkFFQSxPQUFPRDtZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQzdFLFVBQVUsR0FDYixxQkFBRyxJQUFJLENBQUNELEtBQUs7WUFFakI7OztZQUVBK0UsS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVNuQixhQUFhLEVBQUVDLGFBQWE7O2dCQUNuQyxJQUFNN0QsUUFDSixxQkFBRyxJQUFJLENBQUNBLEtBQUs7Z0JBR2ZnRixJQUFBQSxzQkFBZSxFQUFDLElBQUksQ0FBQy9FLFVBQVUsRUFBRUQ7Z0JBRWpDQSxNQUFNMkIsT0FBTyxDQUFDLFNBQUNoQjtvQkFDYixNQUFLdUQsa0JBQWtCLENBQUN2RCxjQUFjaUQsZUFBZUM7Z0JBQ3ZEO2dCQUVBLElBQUksQ0FBQzdELEtBQUssR0FDUixxQkFBRyxJQUFJLENBQUNDLFVBQVU7Z0JBR3BCLElBQUksQ0FBQ0EsVUFBVSxHQUFHO1lBQ3BCOzs7WUFFQWdGLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNoRixVQUFVLEdBQUc7WUFDcEI7OztZQUVBK0QsS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVNKLGFBQWEsRUFBRUMsYUFBYTtnQkFDbkMsSUFBSXFCLFNBQVMsSUFBSSxDQUFDbEYsS0FBSyxDQUFDbUYsTUFBTSxDQUFDLFNBQUNELFFBQVF2RTtvQkFDdEMsSUFBTW9ELHFCQUFxQnBELGFBQWFxRCxRQUFRLENBQUNKLGVBQWVDO29CQUVoRXFCLFNBQVMsQUFBQ0EsV0FBVyxPQUNWbkIscUJBQ0UsQUFBQyxHQUFhQSxPQUFYbUIsUUFBTyxNQUF1QixPQUFuQm5CO29CQUUzQixPQUFPbUI7Z0JBQ1QsR0FBR0UsdUJBQVk7Z0JBRWYsSUFBSUYsV0FBV0UsdUJBQVksRUFBRTtvQkFDM0JGLFNBQVMsQUFBQyxJQUFVLE9BQVBBO2dCQUNmO2dCQUVBLE9BQU9BO1lBQ1Q7Ozs7WUFFT3BELEtBQUFBO21CQUFQLFNBQU9BLFVBQVU5QixLQUFLO2dCQUNwQixJQUFNQyxhQUFhLEVBQUUsRUFDZjRCLGdCQUFnQixJQTdRTDlCLGNBNlF1QkMsT0FBT0M7Z0JBRS9DLE9BQU80QjtZQUNUOzs7WUFFT3dELEtBQUFBO21CQUFQLFNBQU9BO2dCQUNMLElBQU1yRixRQUFRLEVBQUUsRUFDVkMsYUFBYSxNQUNiNEIsZ0JBQWdCLElBclJMOUIsY0FxUnVCQyxPQUFPQztnQkFFL0MsT0FBTzRCO1lBQ1Q7OztXQXhSbUI5QiJ9
|
package/lib/type.js
CHANGED
|
@@ -192,8 +192,8 @@ var Type = /*#__PURE__*/ function() {
|
|
|
192
192
|
{
|
|
193
193
|
key: "matchTypeNode",
|
|
194
194
|
value: function matchTypeNode(typeNode) {
|
|
195
|
-
var typeName = (0, _name.typeNameFromTypeNode)(typeNode),
|
|
196
|
-
return
|
|
195
|
+
var typeName = (0, _name.typeNameFromTypeNode)(typeNode), typeNameMatches = this.matchTypeName(typeName), typeNodeMatches = typeNameMatches; ///
|
|
196
|
+
return typeNodeMatches;
|
|
197
197
|
}
|
|
198
198
|
},
|
|
199
199
|
{
|
|
@@ -247,4 +247,4 @@ var ObjectType = /*#__PURE__*/ function(Type) {
|
|
|
247
247
|
}(Type);
|
|
248
248
|
var objectType = ObjectType.fromNothing();
|
|
249
249
|
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBPQkpFQ1RfVFlQRV9OQU1FIH0gZnJvbSBcIi4vdHlwZU5hbWVzXCI7XG5cbmltcG9ydCB7IHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25hbWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVHlwZSB7XG4gIGNvbnN0cnVjdG9yKG5hbWUsIHN1cGVyVHlwZSkge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5zdXBlclR5cGUgPSBzdXBlclR5cGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRTdXBlclR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VwZXJUeXBlO1xuICB9XG5cbiAgaXNFcXVhbFRvKHR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvID0gKHRoaXMgPT09IHR5cGUpO1xuXG4gICAgcmV0dXJuIGVxdWFsVG87XG4gIH1cblxuICBpc1N1YlR5cGVPZih0eXBlKSB7XG4gICAgbGV0IHN1YlR5cGVPZiA9IGZhbHNlO1xuXG4gICAgbGV0IHN1cGVyVHlwZSA9IHRoaXMuc3VwZXJUeXBlO1xuXG4gICAgd2hpbGUgKHN1cGVyVHlwZSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHN1cGVyVHlwZSA9PT0gdHlwZSkge1xuICAgICAgICBzdWJUeXBlT2YgPSB0cnVlO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBzdXBlclR5cGUgPSBzdXBlclR5cGUuZ2V0U3VwZXJUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YlR5cGVPZjtcbiAgfVxuXG4gIGlzU3VwZXJUeXBlT2YodHlwZSkge1xuICAgIGxldCBzdXBlclR5cGVPZiA9IGZhbHNlO1xuXG4gICAgbGV0IHN1cGVyVHlwZSA9IHR5cGUuZ2V0U3VwZXJUeXBlKCk7XG5cbiAgICB3aGlsZSAoc3VwZXJUeXBlICE9PSBudWxsKSB7XG4gICAgICBpZiAoc3VwZXJUeXBlID09PSB0aGlzKSB7XG4gICAgICAgIHN1cGVyVHlwZU9mID0gdHJ1ZTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlLmdldFN1cGVyVHlwZSgpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlclR5cGVPZjtcbiAgfVxuXG4gIGlzQ29tcGFyYWJsZVRvKHR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mID0gdGhpcy5pc1N1YlR5cGVPZih0eXBlKSxcbiAgICAgICAgICBzdXBlclR5cGVPZiA9IHRoaXMuaXNTdXBlclR5cGVPZih0eXBlKSxcbiAgICAgICAgICBjb21wYXJhYmxlVG8gPSBlcXVhbFRvIHx8IHN1YlR5cGVPZiB8fCBzdXBlclR5cGVPZjtcblxuICAgIHJldHVybiBjb21wYXJhYmxlVG87XG4gIH1cblxuICBpc0VxdWFsVG9PclN1YlR5cGVPZih0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUbyA9IHRoaXMuaXNFcXVhbFRvKHR5cGUpLFxuICAgICAgICAgIHN1YlR5cGVPZiA9IHRoaXMuaXNTdWJUeXBlT2YodHlwZSksXG4gICAgICAgICAgZXF1YWxUb09yU3ViVHlwZU9mID0gZXF1YWxUbyB8fCBzdWJUeXBlT2Y7XG5cbiAgICByZXR1cm4gZXF1YWxUb09yU3ViVHlwZU9mO1xuICB9XG5cbiAgaXNFcXVhbFRvT3JTdXBlclR5cGVPZih0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUbyA9IHRoaXMuaXNFcXVhbFRvKHR5cGUpLFxuICAgICAgICAgIHN1cGVyVHlwZU9mID0gdGhpcy5pc1N1cGVyVHlwZU9mKHR5cGUpLFxuICAgICAgICAgIGVxdWFsVG9PclN1cGVyVHlwZU9mID0gZXF1YWxUbyB8fCBzdXBlclR5cGVPZjtcblxuICAgIHJldHVybiBlcXVhbFRvT3JTdXBlclR5cGVPZjtcbiAgfVxuXG4gIG1hdGNoKHR5cGUpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gKHR5cGUgPT09IHRoaXMpOyAgLy8vXG5cbiAgICByZXR1cm4gbWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoTmFtZShuYW1lKSB7XG4gICAgY29uc3Qgbm9kZU1hdGNoZXMgPSAodGhpcy5uYW1lID09PSBuYW1lKTtcblxuICAgIHJldHVybiBub2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoVHlwZU5hbWUodHlwZU5hbWUpIHtcbiAgICBjb25zdCB0eXBlTmFtZU1hdGNoZXMgPSAodGhpcy5uYW1lID09PSB0eXBlTmFtZSk7XG5cbiAgICByZXR1cm4gdHlwZU5hbWVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hUeXBlTm9kZSh0eXBlTm9kZSkge1xuICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgIHR5cGVOYW1lTWF0Y2hlcyA9IHRoaXMubWF0Y2hUeXBlTmFtZSh0eXBlTmFtZSksXG4gICAgICAgICAgdHlwZU5vZGVNYXRjaGVzID0gdHlwZU5hbWVNYXRjaGVzOyAgLy8vXG5cbiAgICByZXR1cm4gdHlwZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgYXNTdHJpbmcodG9rZW5zLCBub1N1cGVyVHlwZSA9IGZhbHNlKSB7XG4gICAgbGV0IHN0cmluZztcblxuICAgIGlmIChub1N1cGVyVHlwZSkge1xuICAgICAgc3RyaW5nID0gYCR7dGhpcy5uYW1lfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSB0aGlzLnN1cGVyVHlwZS5nZXROYW1lKCk7XG5cbiAgICAgIHN0cmluZyA9IGAke3RoaXMubmFtZX06JHtzdXBlclR5cGVOYW1lfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZU5hbWUodHlwZU5hbWUpIHtcbiAgICBjb25zdCBuYW1lID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICBzdXBlclR5cGUgPSBvYmplY3RUeXBlLCAvLy9cbiAgICAgICAgICB0eXBlID0gbmV3IFR5cGUobmFtZSwgc3VwZXJUeXBlKTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21UeXBlTmFtZUFuZFN1cGVyVHlwZSh0eXBlTmFtZSwgc3VwZXJUeXBlKSB7XG4gICAgY29uc3QgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgdHlwZSA9IG5ldyBUeXBlKG5hbWUsIHN1cGVyVHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxufVxuXG5jbGFzcyBPYmplY3RUeXBlIGV4dGVuZHMgVHlwZSB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBuYW1lID0gT0JKRUNUX1RZUEVfTkFNRSxcbiAgICAgICAgICBzdXBlclR5cGUgPSBudWxsLFxuICAgICAgICAgIG9iamVjdFR5cGUgPSBuZXcgT2JqZWN0VHlwZShuYW1lLCBzdXBlclR5cGUpO1xuXG4gICAgcmV0dXJuIG9iamVjdFR5cGU7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IG9iamVjdFR5cGUgPSBPYmplY3RUeXBlLmZyb21Ob3RoaW5nKCk7XG4iXSwibmFtZXMiOlsiVHlwZSIsIm9iamVjdFR5cGUiLCJuYW1lIiwic3VwZXJUeXBlIiwiZ2V0TmFtZSIsImdldFN1cGVyVHlwZSIsImlzRXF1YWxUbyIsInR5cGUiLCJlcXVhbFRvIiwiaXNTdWJUeXBlT2YiLCJzdWJUeXBlT2YiLCJpc1N1cGVyVHlwZU9mIiwic3VwZXJUeXBlT2YiLCJpc0NvbXBhcmFibGVUbyIsImNvbXBhcmFibGVUbyIsImlzRXF1YWxUb09yU3ViVHlwZU9mIiwiZXF1YWxUb09yU3ViVHlwZU9mIiwiaXNFcXVhbFRvT3JTdXBlclR5cGVPZiIsImVxdWFsVG9PclN1cGVyVHlwZU9mIiwibWF0Y2giLCJtYXRjaGVzIiwibWF0Y2hOYW1lIiwibm9kZU1hdGNoZXMiLCJtYXRjaFR5cGVOYW1lIiwidHlwZU5hbWUiLCJ0eXBlTmFtZU1hdGNoZXMiLCJtYXRjaFR5cGVOb2RlIiwidHlwZU5vZGUiLCJ0eXBlTmFtZUZyb21UeXBlTm9kZSIsInR5cGVOb2RlTWF0Y2hlcyIsImFzU3RyaW5nIiwidG9rZW5zIiwibm9TdXBlclR5cGUiLCJzdHJpbmciLCJzdXBlclR5cGVOYW1lIiwiZnJvbVR5cGVOYW1lIiwiZnJvbVR5cGVOYW1lQW5kU3VwZXJUeXBlIiwiT2JqZWN0VHlwZSIsImZyb21Ob3RoaW5nIiwiT0JKRUNUX1RZUEVfTkFNRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztlQU1xQkE7O0lBbUpSQyxVQUFVO2VBQVZBOzs7eUJBdkpvQjtvQkFFSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEIsSUFBQSxBQUFNRCxxQkFBTjthQUFNQSxLQUNQRSxJQUFJLEVBQUVDLFNBQVM7Z0NBRFJIO1FBRWpCLElBQUksQ0FBQ0UsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTs7a0JBSEFIOztZQU1uQkksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixTQUFTO1lBQ3ZCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVVDLElBQUk7Z0JBQ1osSUFBTUMsVUFBVyxJQUFJLEtBQUtEO2dCQUUxQixPQUFPQztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFlBQVlGLElBQUk7Z0JBQ2QsSUFBSUcsWUFBWTtnQkFFaEIsSUFBSVAsWUFBWSxJQUFJLENBQUNBLFNBQVM7Z0JBRTlCLE1BQU9BLGNBQWMsS0FBTTtvQkFDekIsSUFBSUEsY0FBY0ksTUFBTTt3QkFDdEJHLFlBQVk7d0JBRVo7b0JBQ0Y7b0JBRUFQLFlBQVlBLFVB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
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../unifier/metaLevel"));
|
|
12
|
+
function _interop_require_default(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement(complexSubstitutionStatementNode, simpleSubstitutionStatementNode, substitutions, localContextA, localContextB) {
|
|
18
|
+
var complexSubstitutionStatementWithSimpleSubstitutionStatement;
|
|
19
|
+
var nodeA = complexSubstitutionStatementNode, nodeB = simpleSubstitutionStatementNode; ///
|
|
20
|
+
localContextA = localContextB; ///
|
|
21
|
+
var unified = _metaLevel.default.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
|
|
22
|
+
complexSubstitutionStatementWithSimpleSubstitutionStatement = unified; ///
|
|
23
|
+
return complexSubstitutionStatementWithSimpleSubstitutionStatement;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9jb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50V2l0aFNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG1ldGFMZXZlbFVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvbWV0YUxldmVsXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5Q29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFdpdGhTaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnQoY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgbGV0IGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50O1xuXG4gIGNvbnN0IG5vZGVBID0gY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgbm9kZUIgPSBzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlOyAgLy8vXG5cbiAgbG9jYWxDb250ZXh0QSA9IGxvY2FsQ29udGV4dEI7ICAvLy9cblxuICBjb25zdCB1bmlmaWVkID0gbWV0YUxldmVsVW5pZmllci51bmlmeShub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gIGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50ID0gdW5pZmllZDsgIC8vL1xuXG4gIHJldHVybiBjb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50V2l0aFNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudDtcbn1cbiJdLCJuYW1lcyI6WyJ1bmlmeUNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50IiwiY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUiLCJzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwiY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFdpdGhTaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnQiLCJub2RlQSIsIm5vZGVCIiwidW5pZmllZCIsIm1ldGFMZXZlbFVuaWZpZXIiLCJ1bmlmeSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7OztnRUFGSzs7Ozs7O0FBRWQsU0FBU0EsaUVBQWlFQyxnQ0FBZ0MsRUFBRUMsK0JBQStCLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhO0lBQ3JNLElBQUlDO0lBRUosSUFBTUMsUUFBUU4sa0NBQ1JPLFFBQVFOLGlDQUFrQyxHQUFHO0lBRW5ERSxnQkFBZ0JDLGVBQWdCLEdBQUc7SUFFbkMsSUFBTUksVUFBVUMsa0JBQWdCLENBQUNDLEtBQUssQ0FBQ0osT0FBT0MsT0FBT0wsZUFBZUMsZUFBZUM7SUFFbkZDLDhEQUE4REcsU0FBVSxHQUFHO0lBRTNFLE9BQU9IO0FBQ1QifQ==
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unifyQualifiedStatement;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _query = require("../utilities/query");
|
|
12
|
+
var statementNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/statement!"), metavariableNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/reference/metavariable!");
|
|
13
|
+
var unifyQualifiedStatementFunctions = [
|
|
14
|
+
unifyQualifiedStatementAWithRule,
|
|
15
|
+
unifyQualifiedStatementAWithAxiom,
|
|
16
|
+
unifyQualifiedStatementAWithLemma,
|
|
17
|
+
unifyQualifiedStatementAWithTheorem,
|
|
18
|
+
unifyQualifiedStatementAWithConjecture,
|
|
19
|
+
unifyQualifiedStatementAWithReference
|
|
20
|
+
];
|
|
21
|
+
function unifyQualifiedStatement(qualifiedStatementNode, substitutions, localContext) {
|
|
22
|
+
var qualifiedStatementUnified;
|
|
23
|
+
var qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
24
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement..."), qualifiedStatementNode);
|
|
25
|
+
qualifiedStatementUnified = unifyQualifiedStatementFunctions.some(function(unifyQualifiedStatementFunction) {
|
|
26
|
+
var qualifiedStatementUnified = unifyQualifiedStatementFunction(qualifiedStatementNode, substitutions, localContext);
|
|
27
|
+
return qualifiedStatementUnified;
|
|
28
|
+
});
|
|
29
|
+
if (qualifiedStatementUnified) {
|
|
30
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement."), qualifiedStatementNode);
|
|
31
|
+
}
|
|
32
|
+
return qualifiedStatementUnified;
|
|
33
|
+
}
|
|
34
|
+
function unifyQualifiedStatementAWithRule(qualifiedStatementNode, substitutions, localContext) {
|
|
35
|
+
var qualifiedStatementUnifiedWithRule = false;
|
|
36
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), rule = localContext.findRuleByMetavariableNode(metavariableNode);
|
|
37
|
+
if (rule !== null) {
|
|
38
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
39
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' rule..."), qualifiedStatementNode);
|
|
40
|
+
var statementUnified = rule.unifyStatement(statementNode, localContext);
|
|
41
|
+
qualifiedStatementUnifiedWithRule = statementUnified; ///
|
|
42
|
+
if (qualifiedStatementUnifiedWithRule) {
|
|
43
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' rule."), qualifiedStatementNode);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return qualifiedStatementUnifiedWithRule;
|
|
47
|
+
}
|
|
48
|
+
function unifyQualifiedStatementAWithAxiom(qualifiedStatementNode, substitutions, localContext) {
|
|
49
|
+
var qualifiedStatementUnifiedWithAxiom = false;
|
|
50
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), axiom = localContext.findAxiomByMetavariableNode(metavariableNode);
|
|
51
|
+
if (axiom !== null) {
|
|
52
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
53
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' axiom..."), qualifiedStatementNode);
|
|
54
|
+
var statementUnified = axiom.unifyStatement(statementNode, localContext);
|
|
55
|
+
qualifiedStatementUnifiedWithAxiom = statementUnified; ///
|
|
56
|
+
if (qualifiedStatementUnifiedWithAxiom) {
|
|
57
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' axiom."), qualifiedStatementNode);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return qualifiedStatementUnifiedWithAxiom;
|
|
61
|
+
}
|
|
62
|
+
function unifyQualifiedStatementAWithLemma(qualifiedStatementNode, substitutions, localContext) {
|
|
63
|
+
var qualifiedStatementUnifiedWithLemma = false;
|
|
64
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), lemma = localContext.findLemmaByMetavariableNode(metavariableNode);
|
|
65
|
+
if (lemma !== null) {
|
|
66
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
67
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' lemma..."), qualifiedStatementNode);
|
|
68
|
+
var statementUnified = lemma.unifyStatement(statementNode, localContext);
|
|
69
|
+
qualifiedStatementUnifiedWithLemma = statementUnified; ///
|
|
70
|
+
if (qualifiedStatementUnifiedWithLemma) {
|
|
71
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' lemma."), qualifiedStatementNode);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return qualifiedStatementUnifiedWithLemma;
|
|
75
|
+
}
|
|
76
|
+
function unifyQualifiedStatementAWithTheorem(qualifiedStatementNode, substitutions, localContext) {
|
|
77
|
+
var qualifiedStatementUnifiedWithTheorem = false;
|
|
78
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), theorem = localContext.findTheoremByMetavariableNode(metavariableNode);
|
|
79
|
+
if (theorem !== null) {
|
|
80
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
81
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' theorem..."), qualifiedStatementNode);
|
|
82
|
+
var statementUnified = theorem.unifyStatement(statementNode, localContext);
|
|
83
|
+
qualifiedStatementUnifiedWithTheorem = statementUnified; ///
|
|
84
|
+
if (qualifiedStatementUnifiedWithTheorem) {
|
|
85
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' theorem."), qualifiedStatementNode);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return qualifiedStatementUnifiedWithTheorem;
|
|
89
|
+
}
|
|
90
|
+
function unifyQualifiedStatementAWithConjecture(qualifiedStatementNode, substitutions, localContext) {
|
|
91
|
+
var qualifiedStatementUnifiedWithConjecture = false;
|
|
92
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), conjecture = localContext.findConjectureByMetavariableNode(metavariableNode);
|
|
93
|
+
if (conjecture !== null) {
|
|
94
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
95
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' conjecture..."), qualifiedStatementNode);
|
|
96
|
+
var statementUnified = conjecture.unifyStatement(statementNode, localContext);
|
|
97
|
+
qualifiedStatementUnifiedWithConjecture = statementUnified; ///
|
|
98
|
+
if (qualifiedStatementUnifiedWithConjecture) {
|
|
99
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' conjecture."), qualifiedStatementNode);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return qualifiedStatementUnifiedWithConjecture;
|
|
103
|
+
}
|
|
104
|
+
function unifyQualifiedStatementAWithReference(qualifiedStatementNode, substitutions, localContext) {
|
|
105
|
+
var qualifiedStatementUnifiedWithReference = false;
|
|
106
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), metavariableString = localContext.nodeAsString(metavariableNode), metavariablePresent = localContext.isMetavariablePresentByMetavariableNode(metavariableNode), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
107
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' reference..."), qualifiedStatementNode);
|
|
108
|
+
if (metavariablePresent) {
|
|
109
|
+
debugger;
|
|
110
|
+
}
|
|
111
|
+
if (qualifiedStatementUnifiedWithReference) {
|
|
112
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(metavariableString, "' reference."), qualifiedStatementNode);
|
|
113
|
+
}
|
|
114
|
+
return qualifiedStatementUnifiedWithReference;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9xdWFsaWZpZWRTdGF0ZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZFN0YXRlbWVudC9yZWZlcmVuY2UvbWV0YXZhcmlhYmxlIVwiKTtcblxuY29uc3QgdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhSdWxlLFxuICB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoQXhpb20sXG4gIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhMZW1tYSxcbiAgdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aFRoZW9yZW0sXG4gIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhDb25qZWN0dXJlLFxuICB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUmVmZXJlbmNlXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgY29uc3QgcXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50Li4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZCA9IHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkID0gdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbihxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQ7XG4gIH0pO1xuXG4gIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50LmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhSdWxlKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSdWxlID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgcnVsZSA9IGxvY2FsQ29udGV4dC5maW5kUnVsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAocnVsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBydWxlLi4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gcnVsZS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSdWxlID0gc3RhdGVtZW50VW5pZmllZDsgIC8vL1xuXG4gICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUnVsZSkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJ1bGUuYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUnVsZTtcbn1cblxuZnVuY3Rpb24gdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aEF4aW9tKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhBeGlvbSA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGF4aW9tID0gbG9jYWxDb250ZXh0LmZpbmRBeGlvbUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAoYXhpb20gIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgYXhpb20uLi5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSBheGlvbS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhBeGlvbSA9IHN0YXRlbWVudFVuaWZpZWQ7IC8vL1xuXG4gICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoQXhpb20pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBheGlvbS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhBeGlvbTtcbn1cblxuZnVuY3Rpb24gdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aExlbW1hKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhMZW1tYSA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGxlbW1hID0gbG9jYWxDb250ZXh0LmZpbmRMZW1tYUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAobGVtbWEgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbGVtbWEuLi5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSBsZW1tYS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhMZW1tYSA9IHN0YXRlbWVudFVuaWZpZWQ7IC8vL1xuXG4gICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoTGVtbWEpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBsZW1tYS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhMZW1tYTtcbn1cblxuZnVuY3Rpb24gdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aFRoZW9yZW0ocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW0gPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICB0aGVvcmVtID0gbG9jYWxDb250ZXh0LmZpbmRUaGVvcmVtQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGlmICh0aGVvcmVtICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIHF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHRoZW9yZW0uLi5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSB0aGVvcmVtLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW0gPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW0pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyB0aGVvcmVtLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW07XG59XG5cbmZ1bmN0aW9uIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhDb25qZWN0dXJlKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhDb25qZWN0dXJlID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgY29uamVjdHVyZSA9IGxvY2FsQ29udGV4dC5maW5kQ29uamVjdHVyZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAoY29uamVjdHVyZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBjb25qZWN0dXJlLi4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gY29uamVjdHVyZS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhDb25qZWN0dXJlID0gc3RhdGVtZW50VW5pZmllZDsgLy8vXG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhDb25qZWN0dXJlKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgY29uamVjdHVyZS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhDb25qZWN0dXJlO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUmVmZXJlbmNlKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSZWZlcmVuY2UgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICBtZXRhdmFyaWFibGVTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICBtZXRhdmFyaWFibGVQcmVzZW50ID0gbG9jYWxDb250ZXh0LmlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJlZmVyZW5jZS4uLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChtZXRhdmFyaWFibGVQcmVzZW50KSB7XG5cbiAgICBkZWJ1Z2dlclxuXG4gIH1cblxuICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSZWZlcmVuY2UpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgcmVmZXJlbmNlLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUmVmZXJlbmNlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbnMiLCJ1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUnVsZSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhBeGlvbSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhMZW1tYSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhUaGVvcmVtIiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aENvbmplY3R1cmUiLCJ1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUmVmZXJlbmNlIiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHQiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkIiwicXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJzb21lIiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbiIsImRlYnVnIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSdWxlIiwibWV0YXZhcmlhYmxlTm9kZSIsInJ1bGUiLCJmaW5kUnVsZUJ5TWV0YXZhcmlhYmxlTm9kZSIsInN0YXRlbWVudE5vZGUiLCJtZXRhdmFyaWFibGVTdHJpbmciLCJzdGF0ZW1lbnRVbmlmaWVkIiwidW5pZnlTdGF0ZW1lbnQiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aEF4aW9tIiwiYXhpb20iLCJmaW5kQXhpb21CeU1ldGF2YXJpYWJsZU5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aExlbW1hIiwibGVtbWEiLCJmaW5kTGVtbWFCeU1ldGF2YXJpYWJsZU5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW0iLCJ0aGVvcmVtIiwiZmluZFRoZW9yZW1CeU1ldGF2YXJpYWJsZU5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aENvbmplY3R1cmUiLCJjb25qZWN0dXJlIiwiZmluZENvbmplY3R1cmVCeU1ldGF2YXJpYWJsZU5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFJlZmVyZW5jZSIsIm1ldGF2YXJpYWJsZVByZXNlbnQiLCJpc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdCQTs7O2VBQXdCQTs7O3FCQWRFO0FBRTFCLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyxtQ0FDL0JDLHdCQUF3QkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV4QyxJQUFNRSxtQ0FBbUM7SUFDdkNDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0NBQ0Q7QUFFYyxTQUFTVix3QkFBd0JXLHNCQUFzQixFQUFFQyxhQUFhLEVBQUVDLFlBQVk7SUFDakcsSUFBSUM7SUFFSixJQUFNQywyQkFBMkJGLGFBQWFHLFlBQVksQ0FBQ0w7SUFFM0RFLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGlCQUF5QyxPQUF6QkYsMEJBQXlCLDZCQUEyQko7SUFFeEZHLDRCQUE0QlYsaUNBQWlDYyxJQUFJLENBQUMsU0FBQ0M7UUFDakUsSUFBTUwsNEJBQTRCSyxnQ0FBZ0NSLHdCQUF3QkMsZUFBZUM7UUFFekcsT0FBT0M7SUFDVDtJQUVBLElBQUlBLDJCQUEyQjtRQUM3QkQsYUFBYU8sS0FBSyxDQUFDLEFBQUMsbUJBQTJDLE9BQXpCTCwwQkFBeUIsMkJBQXlCSjtJQUMxRjtJQUVBLE9BQU9HO0FBQ1Q7QUFF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
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unifyStatementWithCombinator;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _statementWithCombinator = /*#__PURE__*/ _interop_require_default(require("../unifier/statementWithCombinator"));
|
|
12
|
+
function _interop_require_default(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function unifyStatementWithCombinator(statementNode, combinator, assignments, stated, localContext) {
|
|
18
|
+
var statementUnifiedWithCombinator;
|
|
19
|
+
var statementString = localContext.nodeAsString(statementNode), combinatorString = combinator.getString();
|
|
20
|
+
localContext.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."), statementNode);
|
|
21
|
+
var combinatorStatementNode = combinator.getStatementNode();
|
|
22
|
+
statementUnifiedWithCombinator = _statementWithCombinator.default.unify(statementNode, combinatorStatementNode, assignments, stated, localContext);
|
|
23
|
+
if (statementUnifiedWithCombinator) {
|
|
24
|
+
localContext.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."), statementNode);
|
|
25
|
+
}
|
|
26
|
+
return statementUnifiedWithCombinator;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHN0YXRlbWVudFdpdGhDb21iaW5hdG9yVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvclwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yKHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3IsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbWJpbmF0b3JTdHJpbmcgPSBjb21iaW5hdG9yLmdldFN0cmluZygpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlID0gY29tYmluYXRvci5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yID0gc3RhdGVtZW50V2l0aENvbWJpbmF0b3JVbmlmaWVyLnVuaWZ5KHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gIGlmIChzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3I7XG59XG4iXSwibmFtZXMiOlsidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciIsInN0YXRlbWVudE5vZGUiLCJjb21iaW5hdG9yIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJjb21iaW5hdG9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRXaXRoQ29tYmluYXRvclVuaWZpZXIiLCJ1bmlmeSIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7OzhFQUZtQjs7Ozs7O0FBRTVCLFNBQVNBLDZCQUE2QkMsYUFBYSxFQUFFQyxVQUFVLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO0lBQy9HLElBQUlDO0lBRUosSUFBTUMsa0JBQWtCRixhQUFhRyxZQUFZLENBQUNQLGdCQUM1Q1EsbUJBQW1CUCxXQUFXUSxTQUFTO0lBRTdDTCxhQUFhTSxLQUFLLENBQUMsQUFBQyxpQkFBd0RGLE9BQXhDRixpQkFBZ0IsMEJBQXlDLE9BQWpCRSxrQkFBaUIsb0JBQWtCUjtJQUUvRyxJQUFNVywwQkFBMEJWLFdBQVdXLGdCQUFnQjtJQUUzRFAsaUNBQWlDUSxnQ0FBOEIsQ0FBQ0MsS0FBSyxDQUFDZCxlQUFlVyx5QkFBeUJULGFBQWFDLFFBQVFDO0lBRW5JLElBQUlDLGdDQUFnQztRQUNsQ0QsYUFBYVcsS0FBSyxDQUFDLEFBQUMsbUJBQTBEUCxPQUF4Q0YsaUJBQWdCLDBCQUF5QyxPQUFqQkUsa0JBQWlCLGtCQUFnQlI7SUFDakg7SUFFQSxPQUFPSztBQUNUIn0=
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return unifyStatementWithCombinators;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _statementWithCombinator = /*#__PURE__*/ _interop_require_default(require("../
|
|
11
|
+
var _statementWithCombinator = /*#__PURE__*/ _interop_require_default(require("../unify/statementWithCombinator"));
|
|
12
12
|
function _interop_require_default(obj) {
|
|
13
13
|
return obj && obj.__esModule ? obj : {
|
|
14
14
|
default: obj
|
|
@@ -17,24 +17,14 @@ function _interop_require_default(obj) {
|
|
|
17
17
|
function unifyStatementWithCombinators(statementNode, assignments, stated, localContext) {
|
|
18
18
|
var statementUnifiedWithCombinators;
|
|
19
19
|
var combinators = localContext.getCombinators();
|
|
20
|
+
assignments = null; ///
|
|
20
21
|
statementUnifiedWithCombinators = combinators.some(function(combinator) {
|
|
21
|
-
var statementUnifiedWithCombinator =
|
|
22
|
+
var statementUnifiedWithCombinator = (0, _statementWithCombinator.default)(statementNode, combinator, assignments, stated, localContext);
|
|
22
23
|
if (statementUnifiedWithCombinator) {
|
|
23
24
|
return true;
|
|
24
25
|
}
|
|
25
26
|
});
|
|
26
27
|
return statementUnifiedWithCombinators;
|
|
27
28
|
}
|
|
28
|
-
function unifyStatementWithCombinator(statementNode, combinator, assignments, stated, localContext) {
|
|
29
|
-
var statementUnifiedWithCombinator;
|
|
30
|
-
var statementString = localContext.nodeAsString(statementNode), combinatorString = combinator.getString();
|
|
31
|
-
localContext.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."), statementNode);
|
|
32
|
-
var combinatorStatementNode = combinator.getStatementNode();
|
|
33
|
-
statementUnifiedWithCombinator = _statementWithCombinator.default.unify(statementNode, combinatorStatementNode, assignments, stated, localContext);
|
|
34
|
-
if (statementUnifiedWithCombinator) {
|
|
35
|
-
localContext.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."), statementNode);
|
|
36
|
-
}
|
|
37
|
-
return statementUnifiedWithCombinator;
|
|
38
|
-
}
|
|
39
29
|
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIGZyb20gXCIuLi91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvclwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9ycyhzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvcnM7XG5cbiAgY29uc3QgY29tYmluYXRvcnMgPSBsb2NhbENvbnRleHQuZ2V0Q29tYmluYXRvcnMoKTtcblxuICBhc3NpZ25tZW50cyA9IG51bGw7IC8vL1xuXG4gIHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvcnMgPSBjb21iaW5hdG9ycy5zb21lKChjb21iaW5hdG9yKSA9PiB7XG4gICAgY29uc3Qgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yID0gdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvcihzdGF0ZW1lbnROb2RlLCBjb21iaW5hdG9yLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvcikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9ycztcbn1cbiJdLCJuYW1lcyI6WyJ1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9ycyIsInN0YXRlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvcnMiLCJjb21iaW5hdG9ycyIsImdldENvbWJpbmF0b3JzIiwic29tZSIsImNvbWJpbmF0b3IiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IiLCJ1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7OzhFQUZpQjs7Ozs7O0FBRTFCLFNBQVNBLDhCQUE4QkMsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsWUFBWTtJQUNwRyxJQUFJQztJQUVKLElBQU1DLGNBQWNGLGFBQWFHLGNBQWM7SUFFL0NMLGNBQWMsTUFBTSxHQUFHO0lBRXZCRyxrQ0FBa0NDLFlBQVlFLElBQUksQ0FBQyxTQUFDQztRQUNsRCxJQUFNQyxpQ0FBaUNDLElBQUFBLGdDQUE0QixFQUFDVixlQUFlUSxZQUFZUCxhQUFhQyxRQUFRQztRQUVwSCxJQUFJTSxnQ0FBZ0M7WUFDbEMsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPTDtBQUNUIn0=
|
|
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
|
|
12
12
|
var _bracketed = /*#__PURE__*/ _interop_require_default(require("../constructor/bracketed"));
|
|
13
|
+
var _termWithConstructor = /*#__PURE__*/ _interop_require_default(require("../unify/termWithConstructor"));
|
|
13
14
|
var _query = require("../utilities/query");
|
|
14
|
-
var _termWithConstructors = require("../unify/termWithConstructors");
|
|
15
15
|
function _interop_require_default(obj) {
|
|
16
16
|
return obj && obj.__esModule ? obj : {
|
|
17
17
|
default: obj
|
|
@@ -22,7 +22,7 @@ function unifyTermWithBracketedConstructor(termNode, terms, localContext, verify
|
|
|
22
22
|
var termUnifiedWithBracketedConstructor;
|
|
23
23
|
var termString = localContext.nodeAsString(termNode), bracketedTerms = [];
|
|
24
24
|
localContext.trace("Unifying the '".concat(termString, "' term with the bracketed constructor..."), termNode);
|
|
25
|
-
termUnifiedWithBracketedConstructor = (0,
|
|
25
|
+
termUnifiedWithBracketedConstructor = (0, _termWithConstructor.default)(termNode, bracketedTerms, _bracketed.default, localContext, function() {
|
|
26
26
|
var verifiedAhead;
|
|
27
27
|
var bracketedTermNode = termNode; ///
|
|
28
28
|
termNode = termNodeQuery(bracketedTermNode); ///
|
|
@@ -36,4 +36,4 @@ function unifyTermWithBracketedConstructor(termNode, terms, localContext, verify
|
|
|
36
36
|
return termUnifiedWithBracketedConstructor;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi4vc2hpbVwiO1xuaW1wb3J0IGJyYWNrZXRlZENvbnN0cnVjdG9yIGZyb20gXCIuLi9jb25zdHJ1Y3Rvci9icmFja2V0ZWRcIjtcbmltcG9ydCB1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3IgZnJvbSBcIi4uL3VuaWZ5L3Rlcm1XaXRoQ29uc3RydWN0b3JcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0vYXJndW1lbnQvdGVybVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlUZXJtV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yKHRlcm1Ob2RlLCB0ZXJtcywgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3I7XG5cbiAgY29uc3QgdGVybVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpLFxuICAgICAgICBicmFja2V0ZWRUZXJtcyA9IFtdO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlIGJyYWNrZXRlZCBjb25zdHJ1Y3Rvci4uLmAsIHRlcm1Ob2RlKTtcblxuICB0ZXJtVW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciA9IHVuaWZ5VGVybVdpdGhDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgYnJhY2tldGVkVGVybXMsIGJyYWNrZXRlZENvbnN0cnVjdG9yLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgIGNvbnN0IGJyYWNrZXRlZFRlcm1Ob2RlID0gdGVybU5vZGU7IC8vL1xuXG4gICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGJyYWNrZXRlZFRlcm1Ob2RlKTsgLy8vXG5cbiAgICBjb25zdCB7IHZlcmlmeVRlcm0gfSA9IHNoaW0sXG4gICAgICAgICAgdGVybVZWZXJpZmllZCA9IHZlcmlmeVRlcm0odGVybU5vZGUsIHRlcm1zLCBsb2NhbENvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgIHZlcmlmaWVkQWhlYWQgPSB0ZXJtVlZlcmlmaWVkOyAgLy8vXG5cbiAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgfSk7XG5cbiAgaWYgKHRlcm1VbmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSBicmFja2V0ZWQgY29uc3RydWN0b3IuYCwgdGVybU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1VbmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0ZXJtTm9kZSIsInRlcm1zIiwibG9jYWxDb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJ0ZXJtVW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciIsInRlcm1TdHJpbmciLCJub2RlQXNTdHJpbmciLCJicmFja2V0ZWRUZXJtcyIsInRyYWNlIiwidW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yIiwiYnJhY2tldGVkQ29uc3RydWN0b3IiLCJ2ZXJpZmllZEFoZWFkIiwiYnJhY2tldGVkVGVybU5vZGUiLCJ2ZXJpZnlUZXJtIiwic2hpbSIsInRlcm1WVmVyaWZpZWQiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7OzsyREFSUDtnRUFDZ0I7MEVBQ0k7cUJBRVg7Ozs7OztBQUUxQixJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFakIsU0FBU0Ysa0NBQWtDRyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsWUFBWSxFQUFFQyxXQUFXO0lBQ2xHLElBQUlDO0lBRUosSUFBTUMsYUFBYUgsYUFBYUksWUFBWSxDQUFDTixXQUN2Q08saUJBQWlCLEVBQUU7SUFFekJMLGFBQWFNLEtBQUssQ0FBQyxBQUFDLGlCQUEyQixPQUFYSCxZQUFXLDZDQUEyQ0w7SUFFMUZJLHNDQUFzQ0ssSUFBQUEsNEJBQXdCLEVBQUNULFVBQVVPLGdCQUFnQkcsa0JBQW9CLEVBQUVSLGNBQWM7UUFDM0gsSUFBSVM7UUFFSixJQUFNQyxvQkFBb0JaLFVBQVUsR0FBRztRQUV2Q0EsV0FBV0YsY0FBY2Msb0JBQW9CLEdBQUc7UUFFaEQsSUFBTSxBQUFFQyxhQUFlQyxhQUFJLENBQW5CRCxZQUNGRSxnQkFBZ0JGLFdBQVdiLFVBQVVDLE9BQU9DLGNBQWNDO1FBRWhFUSxnQkFBZ0JJLGVBQWdCLEdBQUc7UUFFbkMsT0FBT0o7SUFDVDtJQUVBLElBQUlQLHFDQUFxQztRQUN2Q0YsYUFBYWMsS0FBSyxDQUFDLEFBQUMsbUJBQTZCLE9BQVhYLFlBQVcsMkNBQXlDTDtJQUM1RjtJQUVBLE9BQU9JO0FBQ1QifQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return unifyTermWithConstructor;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _term = /*#__PURE__*/ _interop_require_default(require("../term"));
|
|
12
|
+
var _termWithConstructor = /*#__PURE__*/ _interop_require_default(require("../unifier/termWithConstructor"));
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function unifyTermWithConstructor(termNode, terms, constructor, localContext, verifyAhead) {
|
|
19
|
+
var termUnifiedWithConstructor = false;
|
|
20
|
+
var termString = localContext.nodeAsString(termNode), constructorString = constructor.getString(), constructorTermNode = constructor.getTermNode();
|
|
21
|
+
localContext.trace("Unifying the '".concat(termString, "' term with the '").concat(constructorString, "' constructor..."), termNode);
|
|
22
|
+
var termNodeA = termNode, constructorTermNodeB = constructorTermNode, unified = _termWithConstructor.default.unify(termNodeA, constructorTermNodeB, localContext);
|
|
23
|
+
if (unified) {
|
|
24
|
+
var verifiedAhead;
|
|
25
|
+
var type = constructor.getType(), term = _term.default.fromTermNodeAndType(termNode, type);
|
|
26
|
+
terms.push(term);
|
|
27
|
+
verifiedAhead = verifyAhead();
|
|
28
|
+
terms.pop();
|
|
29
|
+
termUnifiedWithConstructor = verifiedAhead; ///
|
|
30
|
+
}
|
|
31
|
+
if (termUnifiedWithConstructor) {
|
|
32
|
+
localContext.debug("...unified the '".concat(termString, "' term with the '").concat(constructorString, "' constructor."), termNode);
|
|
33
|
+
}
|
|
34
|
+
return termUnifiedWithConstructor;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aENvbnN0cnVjdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGVybSBmcm9tIFwiLi4vdGVybVwiO1xuaW1wb3J0IHRlcm1XaXRoQ29uc3RydWN0b3JVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL3Rlcm1XaXRoQ29uc3RydWN0b3JcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yKHRlcm1Ob2RlLCB0ZXJtcywgY29uc3RydWN0b3IsIGxvY2FsQ29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yID0gZmFsc2U7XG5cbiAgY29uc3QgdGVybVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpLFxuICAgICAgICBjb25zdHJ1Y3RvclN0cmluZyA9IGNvbnN0cnVjdG9yLmdldFN0cmluZygpLFxuICAgICAgICBjb25zdHJ1Y3RvclRlcm1Ob2RlID0gY29uc3RydWN0b3IuZ2V0VGVybU5vZGUoKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yLi4uYCwgdGVybU5vZGUpO1xuXG4gIGNvbnN0IHRlcm1Ob2RlQSA9IHRlcm1Ob2RlLCAgLy8vXG4gICAgICAgIGNvbnN0cnVjdG9yVGVybU5vZGVCID0gY29uc3RydWN0b3JUZXJtTm9kZSwgIC8vL1xuICAgICAgICB1bmlmaWVkID0gdGVybVdpdGhDb25zdHJ1Y3RvclVuaWZpZXIudW5pZnkodGVybU5vZGVBLCBjb25zdHJ1Y3RvclRlcm1Ob2RlQiwgbG9jYWxDb250ZXh0KTtcblxuICBpZiAodW5pZmllZCkge1xuICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgY29uc3QgdHlwZSA9IGNvbnN0cnVjdG9yLmdldFR5cGUoKSxcbiAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGVBbmRUeXBlKHRlcm1Ob2RlLCB0eXBlKTtcblxuICAgIHRlcm1zLnB1c2godGVybSk7XG5cbiAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgIHRlcm1zLnBvcCgpO1xuXG4gICAgdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IgPSB2ZXJpZmllZEFoZWFkOyAgLy8vXG4gIH1cblxuICBpZiAodGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3IuYCwgdGVybU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvciIsInRlcm1Ob2RlIiwidGVybXMiLCJjb25zdHJ1Y3RvciIsImxvY2FsQ29udGV4dCIsInZlcmlmeUFoZWFkIiwidGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IiLCJ0ZXJtU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiY29uc3RydWN0b3JTdHJpbmciLCJnZXRTdHJpbmciLCJjb25zdHJ1Y3RvclRlcm1Ob2RlIiwiZ2V0VGVybU5vZGUiLCJ0cmFjZSIsInRlcm1Ob2RlQSIsImNvbnN0cnVjdG9yVGVybU5vZGVCIiwidW5pZmllZCIsInRlcm1XaXRoQ29uc3RydWN0b3JVbmlmaWVyIiwidW5pZnkiLCJ2ZXJpZmllZEFoZWFkIiwidHlwZSIsImdldFR5cGUiLCJ0ZXJtIiwiVGVybSIsImZyb21UZXJtTm9kZUFuZFR5cGUiLCJwdXNoIiwicG9wIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUtBOzs7ZUFBd0JBOzs7MkRBSFA7MEVBQ3NCOzs7Ozs7QUFFeEIsU0FBU0EseUJBQXlCQyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsV0FBVyxFQUFFQyxZQUFZLEVBQUVDLFdBQVc7SUFDdEcsSUFBSUMsNkJBQTZCO0lBRWpDLElBQU1DLGFBQWFILGFBQWFJLFlBQVksQ0FBQ1AsV0FDdkNRLG9CQUFvQk4sWUFBWU8sU0FBUyxJQUN6Q0Msc0JBQXNCUixZQUFZUyxXQUFXO0lBRW5EUixhQUFhUyxLQUFLLENBQUMsQUFBQyxpQkFBOENKLE9BQTlCRixZQUFXLHFCQUFxQyxPQUFsQkUsbUJBQWtCLHFCQUFtQlI7SUFFdkcsSUFBTWEsWUFBWWIsVUFDWmMsdUJBQXVCSixxQkFDdkJLLFVBQVVDLDRCQUEwQixDQUFDQyxLQUFLLENBQUNKLFdBQVdDLHNCQUFzQlg7SUFFbEYsSUFBSVksU0FBUztRQUNYLElBQUlHO1FBRUosSUFBTUMsT0FBT2pCLFlBQVlrQixPQUFPLElBQzFCQyxPQUFPQyxhQUFJLENBQUNDLG1CQUFtQixDQUFDdkIsVUFBVW1CO1FBRWhEbEIsTUFBTXVCLElBQUksQ0FBQ0g7UUFFWEgsZ0JBQWdCZDtRQUVoQkgsTUFBTXdCLEdBQUc7UUFFVHBCLDZCQUE2QmEsZUFBZ0IsR0FBRztJQUNsRDtJQUVBLElBQUliLDRCQUE0QjtRQUM5QkYsYUFBYXVCLEtBQUssQ0FBQyxBQUFDLG1CQUFnRGxCLE9BQTlCRixZQUFXLHFCQUFxQyxPQUFsQkUsbUJBQWtCLG1CQUFpQlI7SUFDekc7SUFFQSxPQUFPSztBQUNUIn0=
|