occam-verify-cli 0.0.968 → 0.0.971
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/bin/action/verify.js +6 -8
- package/lib/constants.js +5 -1
- package/lib/context/file.js +48 -53
- package/lib/context/local.js +45 -39
- package/lib/context/release.js +3 -3
- package/lib/declaration.js +9 -7
- package/lib/equivalence.js +23 -21
- package/lib/judgement.js +3 -3
- package/lib/label.js +3 -3
- package/lib/log.js +3 -3
- package/lib/metaType.js +7 -7
- package/lib/metavariable.js +7 -7
- package/lib/node/term/bracketed.js +16 -0
- package/lib/proofStep.js +3 -29
- package/lib/releaseContext/initialise.js +11 -17
- package/lib/resolve/substitutions.js +99 -0
- package/lib/rule.js +10 -6
- package/lib/substitution/statementForMetavariable.js +93 -98
- package/lib/substitution/termForVariable.js +45 -54
- package/lib/substitution.js +51 -9
- package/lib/substitutions.js +165 -12
- package/lib/term.js +8 -1
- package/lib/topLevelAssertion.js +10 -6
- package/lib/type.js +5 -5
- package/lib/unifier/metaLevel.js +10 -3
- package/lib/unifier/statementWithCombinator.js +6 -6
- package/lib/unifier.js +2 -2
- package/lib/unify/metavariableWithStatement.js +13 -48
- package/lib/unify/metavariableWithStatementGivenSubstitution.js +39 -0
- package/lib/unify/premiseWithProofStep.js +3 -3
- package/lib/unify/statement/qualified.js +117 -0
- package/lib/unify/statement/unqualified.js +25 -0
- package/lib/unify/statementWithBracketedCombinator.js +3 -3
- package/lib/unify/statementWithCombinators.js +5 -5
- package/lib/unify/statementWithMetaType.js +3 -3
- package/lib/unify/statementWithSttaemetnGivenEquivalences.js +45 -0
- package/lib/unify/suppositionWithProffStep.js +3 -3
- package/lib/unify/variableWithTerm.js +11 -26
- package/lib/utilities/array.js +5 -14
- package/lib/utilities/assertion.js +24 -0
- package/lib/utilities/brackets.js +60 -0
- package/lib/utilities/message.js +52 -0
- package/lib/utilities/name.js +7 -7
- package/lib/utilities/node.js +10 -17
- package/lib/utilities/string.js +1 -7
- package/lib/utilities/subproof.js +19 -0
- package/lib/utilities/unify.js +30 -11
- package/lib/variable.js +8 -8
- package/lib/verifier/metaLevel.js +6 -6
- package/lib/verifier/statementAsCombinator.js +2 -2
- package/lib/verify/assertion/contained.js +66 -32
- package/lib/verify/assertion/defined.js +51 -46
- package/lib/verify/assertion/subproof.js +9 -9
- package/lib/verify/assertion/type.js +11 -11
- package/lib/verify/conclusion.js +6 -6
- package/lib/verify/consequent.js +6 -6
- package/lib/verify/declaration/metavariable.js +2 -2
- package/lib/verify/declaration.js +34 -20
- package/lib/verify/equality.js +13 -13
- package/lib/verify/frame.js +38 -24
- package/lib/verify/judgement.js +13 -13
- package/lib/verify/metavariable.js +2 -2
- package/lib/verify/premise.js +5 -5
- package/lib/verify/proofStep.js +15 -24
- package/lib/verify/statement/qualified.js +15 -124
- package/lib/verify/statement/unqualified.js +23 -24
- package/lib/verify/statement.js +24 -24
- package/lib/verify/statementGivenMetaType.js +3 -3
- package/lib/verify/supposition.js +5 -5
- package/package.json +2 -2
- package/src/constants.js +1 -0
- package/src/context/file.js +49 -55
- package/src/context/local.js +34 -31
- package/src/context/release.js +2 -2
- package/src/declaration.js +12 -10
- package/src/equivalence.js +27 -26
- package/src/judgement.js +2 -2
- package/src/label.js +2 -2
- package/src/log.js +1 -1
- package/src/metaType.js +7 -7
- package/src/metavariable.js +7 -7
- package/src/node/term/bracketed.js +9 -0
- package/src/proofStep.js +3 -48
- package/src/releaseContext/initialise.js +13 -24
- package/src/resolve/substitutions.js +134 -0
- package/src/rule.js +10 -5
- package/src/substitution/statementForMetavariable.js +99 -85
- package/src/substitution/termForVariable.js +50 -65
- package/src/substitution.js +46 -8
- package/src/substitutions.js +176 -10
- package/src/term.js +6 -0
- package/src/topLevelAssertion.js +10 -5
- package/src/type.js +4 -4
- package/src/unifier/metaLevel.js +11 -3
- package/src/unifier/statementWithCombinator.js +5 -5
- package/src/unifier.js +1 -1
- package/src/unify/metavariableWithStatement.js +17 -71
- package/src/unify/metavariableWithStatementGivenSubstitution.js +39 -0
- package/src/unify/premiseWithProofStep.js +1 -1
- package/src/unify/statement/qualified.js +183 -0
- package/src/unify/statement/unqualified.js +24 -0
- package/src/unify/statementWithBracketedCombinator.js +2 -2
- package/src/unify/statementWithCombinators.js +4 -4
- package/src/unify/statementWithMetaType.js +2 -2
- package/src/unify/statementWithSttaemetnGivenEquivalences.js +51 -0
- package/src/unify/suppositionWithProffStep.js +1 -1
- package/src/unify/variableWithTerm.js +14 -35
- package/src/utilities/array.js +1 -16
- package/src/utilities/assertion.js +19 -0
- package/src/utilities/brackets.js +56 -0
- package/src/utilities/name.js +8 -8
- package/src/utilities/node.js +14 -17
- package/src/utilities/string.js +2 -2
- package/src/utilities/subproof.js +18 -0
- package/src/utilities/unify.js +24 -12
- package/src/variable.js +11 -11
- package/src/verifier/metaLevel.js +5 -5
- package/src/verifier/statementAsCombinator.js +2 -2
- package/src/verify/assertion/contained.js +80 -38
- package/src/verify/assertion/defined.js +64 -55
- package/src/verify/assertion/subproof.js +8 -8
- package/src/verify/assertion/type.js +11 -11
- package/src/verify/conclusion.js +8 -8
- package/src/verify/consequent.js +8 -8
- package/src/verify/declaration/metavariable.js +4 -3
- package/src/verify/declaration.js +46 -23
- package/src/verify/equality.js +13 -13
- package/src/verify/frame.js +48 -28
- package/src/verify/judgement.js +13 -13
- package/src/verify/metavariable.js +3 -3
- package/src/verify/premise.js +6 -6
- package/src/verify/proofStep.js +14 -31
- package/src/verify/statement/qualified.js +18 -199
- package/src/verify/statement/unqualified.js +25 -31
- package/src/verify/statement.js +23 -23
- package/src/verify/statementGivenMetaType.js +2 -2
- package/src/verify/supposition.js +6 -6
- package/lib/unify/statementAtainstStatement.js +0 -49
- package/lib/utilities/lineIndex.js +0 -52
- package/lib/utilities/match.js +0 -59
- package/lib/utilities/verify.js +0 -19
- package/src/unify/statementAtainstStatement.js +0 -56
- package/src/utilities/match.js +0 -53
- package/src/utilities/verify.js +0 -14
- /package/src/utilities/{lineIndex.js → message.js} +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
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 resolveSubstitutions;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
12
|
+
var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
|
|
13
|
+
var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../unifier/metaLevel"));
|
|
14
|
+
function _interop_require_default(obj) {
|
|
15
|
+
return obj && obj.__esModule ? obj : {
|
|
16
|
+
default: obj
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function resolveSubstitutions(substitutions, fileContextA, localContextB) {
|
|
20
|
+
var substitutionsResolved = substitutions.areResolved();
|
|
21
|
+
if (!substitutionsResolved) {
|
|
22
|
+
var localContextA = _local.default.fromFileContext(fileContextA), metavariableNodes = substitutions.getMetavariableNodes();
|
|
23
|
+
substitutionsResolved = metavariableNodes.every(function(metavariableNode) {
|
|
24
|
+
var complexSubstitutions = substitutions.findComplexSubstitutionsByMetavariableNode(metavariableNode), complexSubstitutionsResolved = resolveComplexSubstitutions(complexSubstitutions, substitutions, localContextA, localContextB);
|
|
25
|
+
if (complexSubstitutionsResolved) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return substitutionsResolved;
|
|
31
|
+
}
|
|
32
|
+
function resolveComplexSubstitution(complexSubstitution, substitutions, localContextA, localContextB) {
|
|
33
|
+
var complexSubstitutionResolved = false;
|
|
34
|
+
var metavariableNode = complexSubstitution.getMetavariableNode(), simpleSubstitution = substitutions.findSimpleSubstitutionByMetavariableNode(metavariableNode);
|
|
35
|
+
if (simpleSubstitution !== null) {
|
|
36
|
+
var complexSubstitutionResolvedAgainstSimpleSubstitution = resolveComplexSubstitutionAgainstSimpleSubstitution(complexSubstitution, simpleSubstitution, substitutions, localContextA, localContextB);
|
|
37
|
+
complexSubstitutionResolved = complexSubstitutionResolvedAgainstSimpleSubstitution; ///
|
|
38
|
+
}
|
|
39
|
+
return complexSubstitutionResolved;
|
|
40
|
+
}
|
|
41
|
+
function resolveComplexSubstitutions(complexSubstitutions, substitutions, localContextA, localContextB) {
|
|
42
|
+
var complexSubstitutionsResolved = complexSubstitutions.everySubstitution(function(complexSubstitution) {
|
|
43
|
+
var complexSubstitutionResolved = resolveComplexSubstitution(complexSubstitution, substitutions, localContextA, localContextB);
|
|
44
|
+
if (complexSubstitutionResolved) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
return complexSubstitutionsResolved;
|
|
49
|
+
}
|
|
50
|
+
function resolveComplexSubstitutionAgainstSimpleSubstitution(complexSubstitution, simpleSubstitution, substitutions, localContextA, localContextB) {
|
|
51
|
+
var complexSubstitutionResolvedAgainstSimpleSubstitution = false;
|
|
52
|
+
var statementNode = complexSubstitution.getStatementNode(), simpleSubstitutionString = simpleSubstitution.asString(localContextA, localContextB), complexSubstitutionString = complexSubstitution.asString(localContextA, localContextB);
|
|
53
|
+
localContextB.trace("Resolving the complex ".concat(complexSubstitutionString, " substitution against the simple ").concat(simpleSubstitutionString, " substitution..."), statementNode);
|
|
54
|
+
var transformedSubstitution = transformedSubstitutionFromComplexSubstitutionSimpleSubstitutionAndSubstitutions(complexSubstitution, simpleSubstitution, substitutions, localContextA, localContextB);
|
|
55
|
+
if (transformedSubstitution !== null) {
|
|
56
|
+
var variableNode = transformedSubstitution.getVariableNode(), substitution = substitutions.findSubstitutionByVariableNode(variableNode);
|
|
57
|
+
if (substitution === null) {
|
|
58
|
+
simpleSubstitution = transformedSubstitution; ///
|
|
59
|
+
substitutions.addSubstitution(simpleSubstitution, localContextA, localContextB);
|
|
60
|
+
substitutions.removeSubstitution(complexSubstitution, localContextA, localContextB);
|
|
61
|
+
complexSubstitutionResolvedAgainstSimpleSubstitution = true;
|
|
62
|
+
} else {
|
|
63
|
+
var termNode = transformedSubstitution.getTermNode(), termNodeMatches = substitution.matchTermNode(termNode);
|
|
64
|
+
if (termNodeMatches) {
|
|
65
|
+
substitutions.removeSubstitution(complexSubstitution, localContextA, localContextB);
|
|
66
|
+
complexSubstitutionResolvedAgainstSimpleSubstitution = true;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (complexSubstitutionResolvedAgainstSimpleSubstitution) {
|
|
71
|
+
localContextB.debug("...resolved the complex ".concat(complexSubstitutionString, " substitution against the simple ").concat(simpleSubstitutionString, " substitution."), statementNode);
|
|
72
|
+
}
|
|
73
|
+
return complexSubstitutionResolvedAgainstSimpleSubstitution;
|
|
74
|
+
}
|
|
75
|
+
function unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement(complexSubstitutionStatementNode, simpleSubstitutionStatementNode, substitutions, localContextA, localContextB) {
|
|
76
|
+
var complexSubstitutionStatementWithSimpleSubstitutionStatement;
|
|
77
|
+
var nodeA = complexSubstitutionStatementNode, nodeB = simpleSubstitutionStatementNode; ///
|
|
78
|
+
localContextA = localContextB; ///
|
|
79
|
+
var unified = _metaLevel.default.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
|
|
80
|
+
complexSubstitutionStatementWithSimpleSubstitutionStatement = unified; ///
|
|
81
|
+
return complexSubstitutionStatementWithSimpleSubstitutionStatement;
|
|
82
|
+
}
|
|
83
|
+
function transformedSubstitutionFromComplexSubstitutionSimpleSubstitutionAndSubstitutions(complexSubstitution, simpleSubstitution, substitutions, localContextA, localContextB) {
|
|
84
|
+
var transformedSubstitution;
|
|
85
|
+
var substitution = complexSubstitution.getSubstitution();
|
|
86
|
+
transformedSubstitution = substitution.transformed(substitutions);
|
|
87
|
+
if (transformedSubstitution !== null) {
|
|
88
|
+
var simpleSubstitutionStatementNode = simpleSubstitution.getStatementNode(), complexSubstitutionStatementNode = complexSubstitution.getStatementNode();
|
|
89
|
+
substitutions = _substitutions.default.fromNothing(); ///
|
|
90
|
+
var complexSubstitutionStatementWithSimpleSubstitutionStatement = unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement(complexSubstitutionStatementNode, simpleSubstitutionStatementNode, substitutions, localContextA, localContextB);
|
|
91
|
+
if (complexSubstitutionStatementWithSimpleSubstitutionStatement) {
|
|
92
|
+
var substitution1 = transformedSubstitution; ///
|
|
93
|
+
transformedSubstitution = substitution1.transformed(substitutions);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return transformedSubstitution;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNvbHZlL3N1YnN0aXR1dGlvbnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBMb2NhbENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbG9jYWxcIjtcbmltcG9ydCBTdWJzdGl0dXRpb25zIGZyb20gXCIuLi9zdWJzdGl0dXRpb25zXCI7XG5pbXBvcnQgbWV0YUxldmVsVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci9tZXRhTGV2ZWxcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVzb2x2ZVN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCBzdWJzdGl0dXRpb25zUmVzb2x2ZWQgPSBzdWJzdGl0dXRpb25zLmFyZVJlc29sdmVkKCk7XG5cbiAgaWYgKCFzdWJzdGl0dXRpb25zUmVzb2x2ZWQpIHtcbiAgICBjb25zdCBsb2NhbENvbnRleHRBID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dEEpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGVzID0gc3Vic3RpdHV0aW9ucy5nZXRNZXRhdmFyaWFibGVOb2RlcygpO1xuXG4gICAgc3Vic3RpdHV0aW9uc1Jlc29sdmVkID0gbWV0YXZhcmlhYmxlTm9kZXMuZXZlcnkoKG1ldGF2YXJpYWJsZU5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGNvbXBsZXhTdWJzdGl0dXRpb25zID0gc3Vic3RpdHV0aW9ucy5maW5kQ29tcGxleFN1YnN0aXR1dGlvbnNCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICBjb21wbGV4U3Vic3RpdHV0aW9uc1Jlc29sdmVkID0gcmVzb2x2ZUNvbXBsZXhTdWJzdGl0dXRpb25zKGNvbXBsZXhTdWJzdGl0dXRpb25zLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgaWYgKGNvbXBsZXhTdWJzdGl0dXRpb25zUmVzb2x2ZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gc3Vic3RpdHV0aW9uc1Jlc29sdmVkO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlQ29tcGxleFN1YnN0aXR1dGlvbihjb21wbGV4U3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCBjb21wbGV4U3Vic3RpdHV0aW9uUmVzb2x2ZWQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gY29tcGxleFN1YnN0aXR1dGlvbi5nZXRNZXRhdmFyaWFibGVOb2RlKCksXG4gICAgICAgIHNpbXBsZVN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZmluZFNpbXBsZVN1YnN0aXR1dGlvbkJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAoc2ltcGxlU3Vic3RpdHV0aW9uICE9PSBudWxsKSB7XG4gICAgY29uc3QgY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbiA9IHJlc29sdmVDb21wbGV4U3Vic3RpdHV0aW9uQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbihjb21wbGV4U3Vic3RpdHV0aW9uLCBzaW1wbGVTdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkID0gY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbjsgLy8vXG4gIH1cblxuICByZXR1cm4gY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlQ29tcGxleFN1YnN0aXR1dGlvbnMoY29tcGxleFN1YnN0aXR1dGlvbnMsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgY29uc3QgY29tcGxleFN1YnN0aXR1dGlvbnNSZXNvbHZlZCA9IGNvbXBsZXhTdWJzdGl0dXRpb25zLmV2ZXJ5U3Vic3RpdHV0aW9uKChjb21wbGV4U3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgY29uc3QgY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkID0gcmVzb2x2ZUNvbXBsZXhTdWJzdGl0dXRpb24oY29tcGxleFN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICBpZiAoY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBjb21wbGV4U3Vic3RpdHV0aW9uc1Jlc29sdmVkO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlQ29tcGxleFN1YnN0aXR1dGlvbkFnYWluc3RTaW1wbGVTdWJzdGl0dXRpb24oY29tcGxleFN1YnN0aXR1dGlvbiwgc2ltcGxlU3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCBjb21wbGV4U3Vic3RpdHV0aW9uUmVzb2x2ZWRBZ2FpbnN0U2ltcGxlU3Vic3RpdHV0aW9uID0gZmFsc2U7XG5cbiAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IGNvbXBsZXhTdWJzdGl0dXRpb24uZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICBzaW1wbGVTdWJzdGl0dXRpb25TdHJpbmcgPSBzaW1wbGVTdWJzdGl0dXRpb24uYXNTdHJpbmcobG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiksXG4gICAgICAgIGNvbXBsZXhTdWJzdGl0dXRpb25TdHJpbmcgPSBjb21wbGV4U3Vic3RpdHV0aW9uLmFzU3RyaW5nKGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gIGxvY2FsQ29udGV4dEIudHJhY2UoYFJlc29sdmluZyB0aGUgY29tcGxleCAke2NvbXBsZXhTdWJzdGl0dXRpb25TdHJpbmd9IHN1YnN0aXR1dGlvbiBhZ2FpbnN0IHRoZSBzaW1wbGUgJHtzaW1wbGVTdWJzdGl0dXRpb25TdHJpbmd9IHN1YnN0aXR1dGlvbi4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkU3Vic3RpdHV0aW9uID0gdHJhbnNmb3JtZWRTdWJzdGl0dXRpb25Gcm9tQ29tcGxleFN1YnN0aXR1dGlvblNpbXBsZVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMoY29tcGxleFN1YnN0aXR1dGlvbiwgc2ltcGxlU3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICBpZiAodHJhbnNmb3JtZWRTdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCB2YXJpYWJsZU5vZGUgPSB0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbi5nZXRWYXJpYWJsZU5vZGUoKSxcbiAgICAgICAgICBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmRTdWJzdGl0dXRpb25CeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbiA9PT0gbnVsbCkge1xuICAgICAgc2ltcGxlU3Vic3RpdHV0aW9uID0gdHJhbnNmb3JtZWRTdWJzdGl0dXRpb247IC8vL1xuXG4gICAgICBzdWJzdGl0dXRpb25zLmFkZFN1YnN0aXR1dGlvbihzaW1wbGVTdWJzdGl0dXRpb24sIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICBzdWJzdGl0dXRpb25zLnJlbW92ZVN1YnN0aXR1dGlvbihjb21wbGV4U3Vic3RpdHV0aW9uLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbiA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRlcm1Ob2RlID0gdHJhbnNmb3JtZWRTdWJzdGl0dXRpb24uZ2V0VGVybU5vZGUoKSxcbiAgICAgICAgICAgIHRlcm1Ob2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbi5tYXRjaFRlcm1Ob2RlKHRlcm1Ob2RlKTtcblxuICAgICAgaWYgKHRlcm1Ob2RlTWF0Y2hlcykge1xuICAgICAgICBzdWJzdGl0dXRpb25zLnJlbW92ZVN1YnN0aXR1dGlvbihjb21wbGV4U3Vic3RpdHV0aW9uLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgICBjb21wbGV4U3Vic3RpdHV0aW9uUmVzb2x2ZWRBZ2FpbnN0U2ltcGxlU3Vic3RpdHV0aW9uID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbikge1xuICAgIGxvY2FsQ29udGV4dEIuZGVidWcoYC4uLnJlc29sdmVkIHRoZSBjb21wbGV4ICR7Y29tcGxleFN1YnN0aXR1dGlvblN0cmluZ30gc3Vic3RpdHV0aW9uIGFnYWluc3QgdGhlIHNpbXBsZSAke3NpbXBsZVN1YnN0aXR1dGlvblN0cmluZ30gc3Vic3RpdHV0aW9uLmAsIHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGNvbXBsZXhTdWJzdGl0dXRpb25SZXNvbHZlZEFnYWluc3RTaW1wbGVTdWJzdGl0dXRpb247XG59XG5cbmZ1bmN0aW9uIHVuaWZ5Q29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFdpdGhTaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnQoY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgbGV0IGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50O1xuXG4gIGNvbnN0IG5vZGVBID0gY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgbm9kZUIgPSBzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlOyAgLy8vXG5cbiAgbG9jYWxDb250ZXh0QSA9IGxvY2FsQ29udGV4dEI7ICAvLy9cblxuICBjb25zdCB1bmlmaWVkID0gbWV0YUxldmVsVW5pZmllci51bmlmeShub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gIGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50ID0gdW5pZmllZDsgIC8vL1xuXG4gIHJldHVybiBjb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50V2l0aFNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtZWRTdWJzdGl0dXRpb25Gcm9tQ29tcGxleFN1YnN0aXR1dGlvblNpbXBsZVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMoY29tcGxleFN1YnN0aXR1dGlvbiwgc2ltcGxlU3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCB0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbjtcblxuICBjb25zdCBzdWJzdGl0dXRpb24gPSBjb21wbGV4U3Vic3RpdHV0aW9uLmdldFN1YnN0aXR1dGlvbigpO1xuXG4gIHRyYW5zZm9ybWVkU3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uLnRyYW5zZm9ybWVkKHN1YnN0aXR1dGlvbnMpO1xuXG4gIGlmICh0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUgPSBzaW1wbGVTdWJzdGl0dXRpb24uZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgIGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlID0gY29tcGxleFN1YnN0aXR1dGlvbi5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgICBzdWJzdGl0dXRpb25zID0gU3Vic3RpdHV0aW9ucy5mcm9tTm90aGluZygpOyAgLy8vXG5cbiAgICBjb25zdCBjb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50V2l0aFNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudCA9IHVuaWZ5Q29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFdpdGhTaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnQoY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgaWYgKGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50KSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb24gPSB0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbjsgLy8vXG5cbiAgICAgIHRyYW5zZm9ybWVkU3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uLnRyYW5zZm9ybWVkKHN1YnN0aXR1dGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbjtcbn1cbiJdLCJuYW1lcyI6WyJyZXNvbHZlU3Vic3RpdHV0aW9ucyIsInN1YnN0aXR1dGlvbnMiLCJmaWxlQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwic3Vic3RpdHV0aW9uc1Jlc29sdmVkIiwiYXJlUmVzb2x2ZWQiLCJsb2NhbENvbnRleHRBIiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwibWV0YXZhcmlhYmxlTm9kZXMiLCJnZXRNZXRhdmFyaWFibGVOb2RlcyIsImV2ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZSIsImNvbXBsZXhTdWJzdGl0dXRpb25zIiwiZmluZENvbXBsZXhTdWJzdGl0dXRpb25zQnlNZXRhdmFyaWFibGVOb2RlIiwiY29tcGxleFN1YnN0aXR1dGlvbnNSZXNvbHZlZCIsInJlc29sdmVDb21wbGV4U3Vic3RpdHV0aW9ucyIsInJlc29sdmVDb21wbGV4U3Vic3RpdHV0aW9uIiwiY29tcGxleFN1YnN0aXR1dGlvbiIsImNvbXBsZXhTdWJzdGl0dXRpb25SZXNvbHZlZCIsImdldE1ldGF2YXJpYWJsZU5vZGUiLCJzaW1wbGVTdWJzdGl0dXRpb24iLCJmaW5kU2ltcGxlU3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVOb2RlIiwiY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbiIsInJlc29sdmVDb21wbGV4U3Vic3RpdHV0aW9uQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbiIsImV2ZXJ5U3Vic3RpdHV0aW9uIiwic3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJzaW1wbGVTdWJzdGl0dXRpb25TdHJpbmciLCJhc1N0cmluZyIsImNvbXBsZXhTdWJzdGl0dXRpb25TdHJpbmciLCJ0cmFjZSIsInRyYW5zZm9ybWVkU3Vic3RpdHV0aW9uIiwidHJhbnNmb3JtZWRTdWJzdGl0dXRpb25Gcm9tQ29tcGxleFN1YnN0aXR1dGlvblNpbXBsZVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMiLCJ2YXJpYWJsZU5vZGUiLCJnZXRWYXJpYWJsZU5vZGUiLCJzdWJzdGl0dXRpb24iLCJmaW5kU3Vic3RpdHV0aW9uQnlWYXJpYWJsZU5vZGUiLCJhZGRTdWJzdGl0dXRpb24iLCJyZW1vdmVTdWJzdGl0dXRpb24iLCJ0ZXJtTm9kZSIsImdldFRlcm1Ob2RlIiwidGVybU5vZGVNYXRjaGVzIiwibWF0Y2hUZXJtTm9kZSIsImRlYnVnIiwidW5pZnlDb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50V2l0aFNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudCIsImNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlIiwic2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZSIsImNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50Iiwibm9kZUEiLCJub2RlQiIsInVuaWZpZWQiLCJtZXRhTGV2ZWxVbmlmaWVyIiwidW5pZnkiLCJnZXRTdWJzdGl0dXRpb24iLCJ0cmFuc2Zvcm1lZCIsIlN1YnN0aXR1dGlvbnMiLCJmcm9tTm90aGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUF3QkE7Ozs0REFKQztvRUFDQztnRUFDRzs7Ozs7O0FBRWQsU0FBU0EscUJBQXFCQyxhQUFhLEVBQUVDLFlBQVksRUFBRUMsYUFBYTtJQUNyRixJQUFJQyx3QkFBd0JILGNBQWNJLFdBQVc7SUFFckQsSUFBSSxDQUFDRCx1QkFBdUI7UUFDMUIsSUFBTUUsZ0JBQWdCQyxjQUFZLENBQUNDLGVBQWUsQ0FBQ04sZUFDN0NPLG9CQUFvQlIsY0FBY1Msb0JBQW9CO1FBRTVETix3QkFBd0JLLGtCQUFrQkUsS0FBSyxDQUFDLFNBQUNDO1lBQy9DLElBQU1DLHVCQUF1QlosY0FBY2EsMENBQTBDLENBQUNGLG1CQUNoRkcsK0JBQStCQyw0QkFBNEJILHNCQUFzQlosZUFBZUssZUFBZUg7WUFFckgsSUFBSVksOEJBQThCO2dCQUNoQyxPQUFPO1lBQ1Q7UUFDRjtJQUNGO0lBRUEsT0FBT1g7QUFDVDtBQUVBLFNBQVNhLDJCQUEyQkMsbUJBQW1CLEVBQUVqQixhQUFhLEVBQUVLLGFBQWEsRUFBRUgsYUFBYTtJQUNsRyxJQUFJZ0IsOEJBQThCO0lBRWxDLElBQU1QLG1CQUFtQk0sb0JBQW9CRSxtQkFBbUIsSUFDMURDLHFCQUFxQnBCLGNBQWNxQix3Q0FBd0MsQ0FBQ1Y7SUFFbEYsSUFBSVMsdUJBQXVCLE1BQU07UUFDL0IsSUFBTUUs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
|
package/lib/rule.js
CHANGED
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _substitutions = /*#__PURE__*/ _interop_require_default(require("./substitutions"));
|
|
12
|
+
var _substitutions1 = /*#__PURE__*/ _interop_require_default(require("./resolve/substitutions"));
|
|
12
13
|
var _premisesWithProofSteps = /*#__PURE__*/ _interop_require_default(require("./unify/premisesWithProofSteps"));
|
|
13
14
|
var _conclusionWithStatement = /*#__PURE__*/ _interop_require_default(require("./unify/conclusionWithStatement"));
|
|
14
15
|
function _class_call_check(instance, Constructor) {
|
|
@@ -75,7 +76,10 @@ var Rule = /*#__PURE__*/ function() {
|
|
|
75
76
|
var substitutions = _substitutions.default.fromNothing(), proofSteps = localContext.getProofSteps(), premisesA = this.premises, proofStepsB = proofSteps, fileContextA = this.fileContext, localContextB = localContext, premisesUnified = (0, _premisesWithProofSteps.default)(premisesA, proofStepsB, substitutions, fileContextA, localContextB);
|
|
76
77
|
if (premisesUnified) {
|
|
77
78
|
var conclusionA = this.conclusion, conclusionUnified = (0, _conclusionWithStatement.default)(conclusionA, statementNode, substitutions, fileContextA, localContextB);
|
|
78
|
-
|
|
79
|
+
if (conclusionUnified) {
|
|
80
|
+
var substitutionsResolved = (0, _substitutions1.default)(substitutions, fileContextA, localContextB);
|
|
81
|
+
statementUnified = substitutionsResolved; ///
|
|
82
|
+
}
|
|
79
83
|
}
|
|
80
84
|
return statementUnified;
|
|
81
85
|
}
|
|
@@ -83,13 +87,13 @@ var Rule = /*#__PURE__*/ function() {
|
|
|
83
87
|
{
|
|
84
88
|
key: "matchMetavariableNode",
|
|
85
89
|
value: function matchMetavariableNode(metavariableNode) {
|
|
86
|
-
var
|
|
87
|
-
var
|
|
88
|
-
if (
|
|
90
|
+
var metavariableNodeMatches = this.labels.some(function(label) {
|
|
91
|
+
var metavariableNodeMatches = label.matchMetavariableNode(metavariableNode);
|
|
92
|
+
if (metavariableNodeMatches) {
|
|
89
93
|
return true;
|
|
90
94
|
}
|
|
91
95
|
});
|
|
92
|
-
return
|
|
96
|
+
return metavariableNodeMatches;
|
|
93
97
|
}
|
|
94
98
|
}
|
|
95
99
|
], [
|
|
@@ -104,4 +108,4 @@ var Rule = /*#__PURE__*/ function() {
|
|
|
104
108
|
return Rule;
|
|
105
109
|
}();
|
|
106
110
|
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3Vic3RpdHV0aW9ucyBmcm9tIFwiLi9zdWJzdGl0dXRpb25zXCI7XG5pbXBvcnQgcmVzb2x2ZVN1YnN0aXR1dGlvbnMgZnJvbSBcIi4vcmVzb2x2ZS9zdWJzdGl0dXRpb25zXCI7XG5pbXBvcnQgdW5pZnlQcmVtaXNlc1dpdGhQcm9vZlN0ZXBzIGZyb20gXCIuL3VuaWZ5L3ByZW1pc2VzV2l0aFByb29mU3RlcHNcIjtcbmltcG9ydCB1bmlmeUNvbmNsdXNpb25XaXRoU3RhdGVtZW50IGZyb20gXCIuL3VuaWZ5L2NvbmNsdXNpb25XaXRoU3RhdGVtZW50XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJ1bGUge1xuICBjb25zdHJ1Y3RvcihsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBmaWxlQ29udGV4dCkge1xuICAgIHRoaXMubGFiZWxzID0gbGFiZWxzO1xuICAgIHRoaXMucHJlbWlzZXMgPSBwcmVtaXNlcztcbiAgICB0aGlzLmNvbmNsdXNpb24gPSBjb25jbHVzaW9uO1xuICAgIHRoaXMuZmlsZUNvbnRleHQgPSBmaWxlQ29udGV4dDtcbiAgfVxuXG4gIGdldExhYmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbHM7XG4gIH1cblxuICBnZXRQcmVtaXNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wcmVtaXNlcztcbiAgfVxuXG4gIGdldENvbmNsdXNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uY2x1c2lvbjtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgcHJvb2ZTdGVwcyA9IGxvY2FsQ29udGV4dC5nZXRQcm9vZlN0ZXBzKCksXG4gICAgICAgICAgcHJlbWlzZXNBID0gdGhpcy5wcmVtaXNlcyxcbiAgICAgICAgICBwcm9vZlN0ZXBzQiA9IHByb29mU3RlcHMsIC8vL1xuICAgICAgICAgIGZpbGVDb250ZXh0QSA9IHRoaXMuZmlsZUNvbnRleHQsICAvLy9cbiAgICAgICAgICBsb2NhbENvbnRleHRCID0gbG9jYWxDb250ZXh0LCAvLy9cbiAgICAgICAgICBwcmVtaXNlc1VuaWZpZWQgPSB1bmlmeVByZW1pc2VzV2l0aFByb29mU3RlcHMocHJlbWlzZXNBLCBwcm9vZlN0ZXBzQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIGlmIChwcmVtaXNlc1VuaWZpZWQpIHtcbiAgICAgIGNvbnN0IGNvbmNsdXNpb25BID0gdGhpcy5jb25jbHVzaW9uLCAgLy8vXG4gICAgICAgICAgICBjb25jbHVzaW9uVW5pZmllZCA9IHVuaWZ5Q29uY2x1c2lvbldpdGhTdGF0ZW1lbnQoY29uY2x1c2lvbkEsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIGlmIChjb25jbHVzaW9uVW5pZmllZCkge1xuICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25zUmVzb2x2ZWQgPSByZXNvbHZlU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICAgIHN0YXRlbWVudFVuaWZpZWQgPSBzdWJzdGl0dXRpb25zUmVzb2x2ZWQ7IC8vL1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkO1xuICB9XG5cbiAgbWF0Y2hNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRoaXMubGFiZWxzLnNvbWUoKGxhYmVsKSA9PiB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IGxhYmVsLm1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgc3RhdGljIGZyb21MYWJlbHNQcmVtaXNlc0NvbmNsdXNpb25BbmRGaWxlQ29udGV4dChsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHJ1bGUgPSBuZXcgUnVsZShsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBmaWxlQ29udGV4dCk7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlJ1bGUiLCJsYWJlbHMiLCJwcmVtaXNlcyIsImNvbmNsdXNpb24iLCJmaWxlQ29udGV4dCIsImdldExhYmVscyIsImdldFByZW1pc2VzIiwiZ2V0Q29uY2x1c2lvbiIsImdldEZpbGVDb250ZXh0IiwidW5pZnlTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwibG9jYWxDb250ZXh0Iiwic3RhdGVtZW50VW5pZmllZCIsInN1YnN0aXR1dGlvbnMiLCJTdWJzdGl0dXRpb25zIiwiZnJvbU5vdGhpbmciLCJwcm9vZlN0ZXBzIiwiZ2V0UHJvb2ZTdGVwcyIsInByZW1pc2VzQSIsInByb29mU3RlcHNCIiwiZmlsZUNvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInByZW1pc2VzVW5pZmllZCIsInVuaWZ5UHJlbWlzZXNXaXRoUHJvb2ZTdGVwcyIsImNvbmNsdXNpb25BIiwiY29uY2x1c2lvblVuaWZpZWQiLCJ1bmlmeUNvbmNsdXNpb25XaXRoU3RhdGVtZW50Iiwic3Vic3RpdHV0aW9uc1Jlc29sdmVkIiwicmVzb2x2ZVN1YnN0aXR1dGlvbnMiLCJtYXRjaE1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMiLCJzb21lIiwibGFiZWwiLCJmcm9tTGFiZWxzUHJlbWlzZXNDb25jbHVzaW9uQW5kRmlsZUNvbnRleHQiLCJydWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU9xQkE7OztvRUFMSztxRUFDTzs2RUFDTzs4RUFDQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFBLEFBQU1BLHFCQUFOO2FBQU1BLEtBQ1BDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLFdBQVc7Z0NBRGxDSjtRQUVqQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTs7a0JBTEZKOztZQVFuQkssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixNQUFNO1lBQ3BCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixRQUFRO1lBQ3RCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixVQUFVO1lBQ3hCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixXQUFXO1lBQ3pCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBLGVBQWVDLGFBQWEsRUFBRUMsWUFBWTtnQkFDeEMsSUFBSUMsbUJBQW1CO2dCQUV2QixJQUFNQyxnQkFBZ0JDLHNCQUFhLENBQUNDLFdBQVcsSUFDekNDLGFBQWFMLGFBQWFNLGFBQWEsSUFDdkNDLFlBQVksSUFBSSxDQUFDaEIsUUFBUSxFQUN6QmlCLGNBQWNILFlBQ2RJLGVBQWUsSUFBSSxDQUFDaEIsV0FBVyxFQUMvQmlCLGdCQUFnQlYsY0FDaEJXLGtCQUFrQkMsSUFBQUEsK0JBQTJCLEVBQUNMLFdBQVdDLGFBQWFOLGVBQWVPLGNBQWNDO2dCQUV6RyxJQUFJQyxpQkFBaUI7b0JBQ25CLElBQU1FLGNBQWMsSUFBSSxDQUFDckIsVUFBVSxFQUM3QnNCLG9CQUFvQkMsSUFBQUEsZ0NBQTRCLEVBQUNGLGFBQWFkLGVBQWVHLGVBQWVPLGNBQWNDO29CQUVoSCxJQUFJSSxtQkFBbUI7d0JBQ3JCLElBQU1FLHdCQUF3QkMsSUFBQUEsdUJBQW9CLEVBQUNmLGVBQWVPLGNBQWNDO3dCQUVoRlQsbUJBQW1CZSx1QkFBdUIsR0FBRztvQkFDL0M7Z0JBQ0Y7Z0JBRUEsT0FBT2Y7WUFDVDs7O1lBRUFpQixLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCQyxnQkFBZ0I7Z0JBQ3BDLElBQU1DLDBCQUEwQixJQUFJLENBQUM5QixNQUFNLENBQUMrQixJQUFJLENBQUMsU0FBQ0M7b0JBQ2hELElBQU1GLDBCQUEwQkUsTUFBTUoscUJBQXFCLENBQUNDO29CQUU1RCxJQUFJQyx5QkFBeUI7d0JBQzNCLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRUEsT0FBT0E7WUFDVDs7OztZQUVPRyxLQUFBQTttQkFBUCxTQUFPQSwyQ0FBMkNqQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxXQUFXO2dCQUN6RixJQUFNK0IsT0FBTyxJQTlESW5DLEtBOERLQyxRQUFRQyxVQUFVQyxZQUFZQztnQkFFcEQsT0FBTytCO1lBQ1Q7OztXQWpFbUJuQyJ9
|
|
@@ -8,20 +8,10 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return StatementForMetavariableSubstitution;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
|
|
12
11
|
var _substitution = /*#__PURE__*/ _interop_require_default(require("../substitution"));
|
|
13
|
-
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("
|
|
14
|
-
var _statementAtainstStatement = /*#__PURE__*/ _interop_require_default(require("../unify/statementAtainstStatement"));
|
|
12
|
+
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("../substitution/termForVariable"));
|
|
15
13
|
var _query = require("../utilities/query");
|
|
16
|
-
var
|
|
17
|
-
function _array_like_to_array(arr, len) {
|
|
18
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
19
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
20
|
-
return arr2;
|
|
21
|
-
}
|
|
22
|
-
function _array_without_holes(arr) {
|
|
23
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
24
|
-
}
|
|
14
|
+
var _brackets = require("../utilities/brackets");
|
|
25
15
|
function _assert_this_initialized(self) {
|
|
26
16
|
if (self === void 0) {
|
|
27
17
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -75,12 +65,6 @@ function _interop_require_default(obj) {
|
|
|
75
65
|
default: obj
|
|
76
66
|
};
|
|
77
67
|
}
|
|
78
|
-
function _iterable_to_array(iter) {
|
|
79
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
80
|
-
}
|
|
81
|
-
function _non_iterable_spread() {
|
|
82
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
83
|
-
}
|
|
84
68
|
function _possible_constructor_return(self, call) {
|
|
85
69
|
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
86
70
|
return call;
|
|
@@ -94,21 +78,10 @@ function _set_prototype_of(o, p) {
|
|
|
94
78
|
};
|
|
95
79
|
return _set_prototype_of(o, p);
|
|
96
80
|
}
|
|
97
|
-
function _to_consumable_array(arr) {
|
|
98
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
99
|
-
}
|
|
100
81
|
function _type_of(obj) {
|
|
101
82
|
"@swc/helpers - typeof";
|
|
102
83
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
103
84
|
}
|
|
104
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
105
|
-
if (!o) return;
|
|
106
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
107
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
108
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
109
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
110
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
111
|
-
}
|
|
112
85
|
function _is_native_reflect_construct() {
|
|
113
86
|
try {
|
|
114
87
|
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
@@ -117,31 +90,31 @@ function _is_native_reflect_construct() {
|
|
|
117
90
|
return !!result;
|
|
118
91
|
})();
|
|
119
92
|
}
|
|
120
|
-
var
|
|
93
|
+
var statementNodeQuery = (0, _query.nodeQuery)("/substitution/statement!"), metavariableNodeQuery = (0, _query.nodeQuery)("/*/metavariable!");
|
|
121
94
|
var StatementForMetavariableSubstitution = /*#__PURE__*/ function(Substitution) {
|
|
122
95
|
_inherits(StatementForMetavariableSubstitution, Substitution);
|
|
123
|
-
function StatementForMetavariableSubstitution(
|
|
96
|
+
function StatementForMetavariableSubstitution(statementNode, metavariableNode, substitution) {
|
|
124
97
|
_class_call_check(this, StatementForMetavariableSubstitution);
|
|
125
98
|
var _this;
|
|
126
99
|
_this = _call_super(this, StatementForMetavariableSubstitution);
|
|
127
|
-
_this.metavariableNode = metavariableNode;
|
|
128
100
|
_this.statementNode = statementNode;
|
|
101
|
+
_this.metavariableNode = metavariableNode;
|
|
129
102
|
_this.substitution = substitution;
|
|
130
103
|
return _this;
|
|
131
104
|
}
|
|
132
105
|
_create_class(StatementForMetavariableSubstitution, [
|
|
133
|
-
{
|
|
134
|
-
key: "getMetavariableNode",
|
|
135
|
-
value: function getMetavariableNode() {
|
|
136
|
-
return this.metavariableNode;
|
|
137
|
-
}
|
|
138
|
-
},
|
|
139
106
|
{
|
|
140
107
|
key: "getStatementNode",
|
|
141
108
|
value: function getStatementNode() {
|
|
142
109
|
return this.statementNode;
|
|
143
110
|
}
|
|
144
111
|
},
|
|
112
|
+
{
|
|
113
|
+
key: "getMetavariableNode",
|
|
114
|
+
value: function getMetavariableNode() {
|
|
115
|
+
return this.metavariableNode;
|
|
116
|
+
}
|
|
117
|
+
},
|
|
145
118
|
{
|
|
146
119
|
key: "getSubstitution",
|
|
147
120
|
value: function getSubstitution() {
|
|
@@ -155,10 +128,30 @@ var StatementForMetavariableSubstitution = /*#__PURE__*/ function(Substitution)
|
|
|
155
128
|
return node;
|
|
156
129
|
}
|
|
157
130
|
},
|
|
131
|
+
{
|
|
132
|
+
key: "isSimple",
|
|
133
|
+
value: function isSimple() {
|
|
134
|
+
var simple = this.substitution === null;
|
|
135
|
+
return simple;
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
key: "transformed",
|
|
140
|
+
value: function transformed(substitutions) {
|
|
141
|
+
var transformedSubstitution = null;
|
|
142
|
+
var transformedStatementNode = transformStatementNode(this.statementNode, substitutions);
|
|
143
|
+
if (transformedStatementNode !== null) {
|
|
144
|
+
var substitution = null, statementNode = transformedStatementNode, metavariableNode = this.metavariableNode, statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(statementNode, metavariableNode, substitution);
|
|
145
|
+
transformedSubstitution = statementForMetavariableSubstitution; ///
|
|
146
|
+
}
|
|
147
|
+
return transformedSubstitution;
|
|
148
|
+
}
|
|
149
|
+
},
|
|
158
150
|
{
|
|
159
151
|
key: "matchStatementNode",
|
|
160
152
|
value: function matchStatementNode(statementNode) {
|
|
161
|
-
|
|
153
|
+
statementNode = (0, _brackets.stripBracketsFromStatement)(statementNode); ///
|
|
154
|
+
var statementNodeMatches = this.statementNode.match(statementNode);
|
|
162
155
|
return statementNodeMatches;
|
|
163
156
|
}
|
|
164
157
|
},
|
|
@@ -170,87 +163,89 @@ var StatementForMetavariableSubstitution = /*#__PURE__*/ function(Substitution)
|
|
|
170
163
|
}
|
|
171
164
|
},
|
|
172
165
|
{
|
|
173
|
-
key: "
|
|
174
|
-
value: function
|
|
175
|
-
var
|
|
176
|
-
|
|
177
|
-
statementNodeMatches = unifyStatement(statementNodeA, statementNodeB, substitution, substitutions, localContextA, localContextB);
|
|
178
|
-
if (!statementNodeMatches) {
|
|
179
|
-
var bracketedStatementChildNode = (0, _match.bracketedStatementChildNodeFromStatementNode)(statementNode);
|
|
180
|
-
if (bracketedStatementChildNode !== null) {
|
|
181
|
-
var statementNodeA1 = bracketedStatementChildNode; ///
|
|
182
|
-
statementNodeMatches = unifyStatement(statementNodeA1, statementNodeB, substitution, substitutions, localContextA, localContextB);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
return statementNodeMatches;
|
|
186
|
-
}
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
key: "unifyWithEquivalence",
|
|
190
|
-
value: function unifyWithEquivalence(equivalence, substitutions, localContextA, localContextB) {
|
|
191
|
-
var unifiedWithEquivalence = false; ///
|
|
192
|
-
var metavariableNode = metavariableNodeQuery(this.statementNode);
|
|
193
|
-
if (metavariableNode !== null) {
|
|
194
|
-
substitutions = _to_consumable_array(substitutions);
|
|
195
|
-
var metaLevelUnifier = _shim.default.metaLevelUnifier, nodeA = this.metavariableNode, nodeB = metavariableNode, unified = metaLevelUnifier.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
|
|
196
|
-
unifiedWithEquivalence = unified; ///
|
|
197
|
-
}
|
|
198
|
-
return unifiedWithEquivalence;
|
|
166
|
+
key: "matchMetavariableNodeAndSubstitutionNode",
|
|
167
|
+
value: function matchMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode) {
|
|
168
|
+
var metavariableNodeAndSubstitutionNodeMatches = false;
|
|
169
|
+
return metavariableNodeAndSubstitutionNodeMatches;
|
|
199
170
|
}
|
|
200
171
|
},
|
|
201
172
|
{
|
|
202
173
|
key: "asString",
|
|
203
174
|
value: function asString(localContextA, localContextB) {
|
|
204
|
-
var
|
|
175
|
+
var string;
|
|
176
|
+
var statementNodeB = this.statementNode, statementStringB = localContextB.nodeAsString(statementNodeB), metavariableNodeA = this.metavariableNode, metavariableStringA = localContextA.nodeAsString(metavariableNodeA);
|
|
177
|
+
if (this.substitution === null) {
|
|
178
|
+
string = "[".concat(statementStringB, " for ").concat(metavariableStringA, "]");
|
|
179
|
+
} else {
|
|
180
|
+
var substitutionString = this.substitution.asString(localContextA, localContextA);
|
|
181
|
+
string = "[".concat(statementStringB, " for ").concat(metavariableStringA).concat(substitutionString, "]");
|
|
182
|
+
}
|
|
205
183
|
return string;
|
|
206
184
|
}
|
|
207
185
|
}
|
|
208
186
|
], [
|
|
209
187
|
{
|
|
210
|
-
key: "
|
|
211
|
-
value: function
|
|
212
|
-
var statementForMetavariableSubstitution;
|
|
213
|
-
var
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(metavariableNode, _$statementNode, substitution);
|
|
188
|
+
key: "fromSubstitutionNode",
|
|
189
|
+
value: function fromSubstitutionNode(substitutionNode) {
|
|
190
|
+
var statementForMetavariableSubstitution = null;
|
|
191
|
+
var statementNode = statementNodeQuery(substitutionNode), metavariableNode = metavariableNodeQuery(substitutionNode);
|
|
192
|
+
if (statementNode !== null) {
|
|
193
|
+
statementNode = (0, _brackets.stripBracketsFromStatement)(statementNode); ///
|
|
194
|
+
var substitution = null;
|
|
195
|
+
statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(statementNode, metavariableNode, substitution);
|
|
219
196
|
}
|
|
220
197
|
return statementForMetavariableSubstitution;
|
|
221
198
|
}
|
|
222
199
|
},
|
|
223
200
|
{
|
|
224
|
-
key: "
|
|
225
|
-
value: function
|
|
226
|
-
|
|
227
|
-
var substitution = null;
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(metavariableNode, _$statementNode, substitution);
|
|
237
|
-
}
|
|
201
|
+
key: "fromStatementNodeAndMetavariableNode",
|
|
202
|
+
value: function fromStatementNodeAndMetavariableNode(statementNode, metavariableNode) {
|
|
203
|
+
statementNode = (0, _brackets.stripBracketsFromStatement)(statementNode); ///
|
|
204
|
+
var substitution = null, statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(statementNode, metavariableNode, substitution);
|
|
205
|
+
return statementForMetavariableSubstitution;
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
key: "fromStatementNodeMetavariableNodeAndSubstitutionNode",
|
|
210
|
+
value: function fromStatementNodeMetavariableNodeAndSubstitutionNode(statementNode, metavariableNode, substitutionNode) {
|
|
211
|
+
statementNode = (0, _brackets.stripBracketsFromStatement)(statementNode); ///
|
|
212
|
+
var substitution = substitutionFromSubstitutionNode(substitutionNode), statementForMetavariableSubstitution = new StatementForMetavariableSubstitution(statementNode, metavariableNode, substitution);
|
|
238
213
|
return statementForMetavariableSubstitution;
|
|
239
214
|
}
|
|
240
215
|
}
|
|
241
216
|
]);
|
|
242
217
|
return StatementForMetavariableSubstitution;
|
|
243
218
|
}(_substitution.default);
|
|
244
|
-
function
|
|
245
|
-
var
|
|
219
|
+
function substitutionFromSubstitutionNode(substitutionNode) {
|
|
220
|
+
var substitution = null;
|
|
246
221
|
if (substitution === null) {
|
|
247
|
-
var
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
222
|
+
var termForVariableSubstitution = _termForVariable.default.fromSubstitutionNode(substitutionNode);
|
|
223
|
+
if (termForVariableSubstitution !== null) {
|
|
224
|
+
substitution = termForVariableSubstitution; ///
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
if (substitution === null) {
|
|
228
|
+
var statementForMetavariableSubstitution = StatementForMetavariableSubstitution.fromSubstitutionNode(substitutionNode);
|
|
229
|
+
if (statementForMetavariableSubstitution !== null) {
|
|
230
|
+
substitution = statementForMetavariableSubstitution; ///
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return substitution;
|
|
234
|
+
}
|
|
235
|
+
function transformStatementNode(statementNode, substitutions) {
|
|
236
|
+
var transformedStatementNode = null;
|
|
237
|
+
var metavariableNode = metavariableNodeQuery(statementNode);
|
|
238
|
+
if (metavariableNode !== null) {
|
|
239
|
+
substitutions.someSubstitution(function(substitution) {
|
|
240
|
+
var substitutionMatchesVariableNode = substitution.matchVariableNode(metavariableNode);
|
|
241
|
+
if (substitutionMatchesVariableNode) {
|
|
242
|
+
var _$statementNode = substitution.getStatementNode();
|
|
243
|
+
transformedStatementNode = _$statementNode; ////
|
|
244
|
+
return true;
|
|
245
|
+
}
|
|
246
|
+
});
|
|
252
247
|
}
|
|
253
|
-
return
|
|
248
|
+
return transformedStatementNode;
|
|
254
249
|
}
|
|
255
250
|
|
|
256
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi4vc2hpbVwiO1xuaW1wb3J0IFN1YnN0aXR1dGlvbiBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uXCI7XG5pbXBvcnQgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuL3Rlcm1Gb3JWYXJpYWJsZVwiO1xuaW1wb3J0IHVuaWZ5U3RhdGVtZW50V2l0aFN0YXRlbWVudCBmcm9tIFwiLi4vdW5pZnkvc3RhdGVtZW50QXRhaW5zdFN0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBtYXRjaFN0YXRlbWVudE1vZHVsb0JyYWNrZXRzLCBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVGcm9tU3RhdGVtZW50Tm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbWF0Y2hcIjtcblxuY29uc3QgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC9tZXRhdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gZXh0ZW5kcyBTdWJzdGl0dXRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb24pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5tZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZTtcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICAgIHRoaXMuc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhdmFyaWFibGVOb2RlO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0U3Vic3RpdHV0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN1YnN0aXR1dGlvbjtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhdGVtZW50Tm9kZTsgIC8vL1xuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBtYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGVBID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZUIgPSB0aGlzLnN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnROb2Rlc01hdGNoID0gbWF0Y2hTdGF0ZW1lbnRNb2R1bG9CcmFja2V0cyhzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIpLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gc3RhdGVtZW50Tm9kZXNNYXRjaDsgLy8vXG5cbiAgICByZXR1cm4gc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzID0gdGhpcy5tZXRhdmFyaWFibGVOb2RlLm1hdGNoKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICAgIGxldCBzdGF0ZW1lbnROb2RlTWF0Y2hlcztcblxuICAgIGNvbnN0IHN1YnN0aXR1dGlvbiA9IHRoaXMuc3Vic3RpdHV0aW9uLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnROb2RlQSA9IHN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnROb2RlQiA9IHRoaXMuc3RhdGVtZW50Tm9kZTsgLy8vXG5cbiAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIGlmICghc3RhdGVtZW50Tm9kZU1hdGNoZXMpIHtcbiAgICAgIGNvbnN0IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBpZiAoYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGVBID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlOyAvLy9cblxuICAgICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG4gIH1cblxuICB1bmlmeVdpdGhFcXVpdmFsZW5jZShlcXVpdmFsZW5jZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICAgIGxldCB1bmlmaWVkV2l0aEVxdWl2YWxlbmNlID0gZmFsc2U7ICAvLy9cblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkodGhpcy5zdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgICBzdWJzdGl0dXRpb25zID0gWyAvLy9cbiAgICAgICAgLi4uc3Vic3RpdHV0aW9uc1xuICAgICAgXTtcblxuICAgICAgY29uc3QgeyBtZXRhTGV2ZWxVbmlmaWVyIH0gPSBzaGltLFxuICAgICAgICAgICAgbm9kZUEgPSB0aGlzLm1ldGF2YXJpYWJsZU5vZGUsIC8vL1xuICAgICAgICAgICAgbm9kZUIgPSBtZXRhdmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgICAgIHVuaWZpZWQgPSBtZXRhTGV2ZWxVbmlmaWVyLnVuaWZ5KG5vZGVBLCBub2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIHVuaWZpZWRXaXRoRXF1aXZhbGVuY2UgPSB1bmlmaWVkOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gdW5pZmllZFdpdGhFcXVpdmFsZW5jZTtcbiAgfVxuXG4gIGFzU3RyaW5nKGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlQiA9IHRoaXMuc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFN0cmluZ0IgPSBsb2NhbENvbnRleHRCLm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlQiksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZUEgPSB0aGlzLm1ldGF2YXJpYWJsZU5vZGUsICAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVTdHJpbmdBID0gbG9jYWxDb250ZXh0QS5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZUEpLFxuICAgICAgICAgIHN0cmluZyA9IGBbJHtzdGF0ZW1lbnRTdHJpbmdCfSBmb3IgJHttZXRhdmFyaWFibGVTdHJpbmdBfV1gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXZhcmlhYmxlTm9kZUFuZFN0YXRlbWVudE5vZGUobWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSkge1xuICAgIGxldCBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247XG5cbiAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBudWxsO1xuXG4gICAgc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbihtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb24pO1xuXG4gICAgY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBpZiAoYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlOyAvLy9cblxuICAgICAgc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbihtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb24pO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGF2YXJpYWJsZU5vZGVTdGF0ZW1lbnROb2RlQW5kU3Vic3RpdHV0aW9uTm9kZShtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25Ob2RlKSB7XG4gICAgbGV0IHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjtcblxuICAgIGxldCBzdWJzdGl0dXRpb24gPSBudWxsO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tU3Vic3RpdHV0aW9uTm9kZShzdWJzdGl0dXRpb25Ob2RlKTtcblxuICAgICAgc3Vic3RpdHV0aW9uID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uOyAvLy9cbiAgICB9XG5cbiAgICBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbik7XG5cbiAgICBjb25zdCBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVGcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGU7IC8vL1xuXG4gICAgICBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBsZXQgc3RhdGVtZW50VW5pZmllZDtcblxuICBpZiAoc3Vic3RpdHV0aW9uID09PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZUFNYXRjaGVzU3RhdGVtZW50Tm9kZUIgPSBzdGF0ZW1lbnROb2RlQi5tYXRjaChzdGF0ZW1lbnROb2RlQSk7XG5cbiAgICBzdGF0ZW1lbnRVbmlmaWVkID0gc3RhdGVtZW50Tm9kZUFNYXRjaGVzU3RhdGVtZW50Tm9kZUI7IC8vL1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWRXaXRoU3RhdGVtZW50ID0gdW5pZnlTdGF0ZW1lbnRXaXRoU3RhdGVtZW50KHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIHN0YXRlbWVudFVuaWZpZWQgPSBzdGF0ZW1lbnRVbmlmaWVkV2l0aFN0YXRlbWVudDsgLy8vXG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbn0iXSwibmFtZXMiOlsiU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZSIsInN0YXRlbWVudE5vZGUiLCJzdWJzdGl0dXRpb24iLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsImdldFN1YnN0aXR1dGlvbiIsImdldE5vZGUiLCJub2RlIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZUEiLCJzdGF0ZW1lbnROb2RlQiIsInN0YXRlbWVudE5vZGVzTWF0Y2giLCJtYXRjaFN0YXRlbWVudE1vZHVsb0JyYWNrZXRzIiwic3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaE1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyIsIm1hdGNoIiwidW5pZnlTdGF0ZW1lbnQiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUiLCJicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVGcm9tU3RhdGVtZW50Tm9kZSIsInVuaWZ5V2l0aEVxdWl2YWxlbmNlIiwiZXF1aXZhbGVuY2UiLCJ1bmlmaWVkV2l0aEVxdWl2YWxlbmNlIiwibWV0YUxldmVsVW5pZmllciIsInNoaW0iLCJub2RlQSIsIm5vZGVCIiwidW5pZmllZCIsInVuaWZ5IiwiYXNTdHJpbmciLCJzdGF0ZW1lbnRTdHJpbmdCIiwibm9kZUFzU3RyaW5nIiwibWV0YXZhcmlhYmxlTm9kZUEiLCJtZXRhdmFyaWFibGVTdHJpbmdBIiwic3RyaW5nIiwiZnJvbU1ldGF2YXJpYWJsZU5vZGVBbmRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbU1ldGF2YXJpYWJsZU5vZGVTdGF0ZW1lbnROb2RlQW5kU3Vic3RpdHV0aW9uTm9kZSIsInN1YnN0aXR1dGlvbk5vZGUiLCJ0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJmcm9tU3Vic3RpdHV0aW9uTm9kZSIsIlN1YnN0aXR1dGlvbiIsInN0YXRlbWVudFVuaWZpZWQiLCJzdGF0ZW1lbnROb2RlQU1hdGNoZXNTdGF0ZW1lbnROb2RlQiIsInN0YXRlbWVudFVuaWZpZWRXaXRoU3RhdGVtZW50IiwidW5pZnlTdGF0ZW1lbnRXaXRoU3RhdGVtZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVlxQkE7OzsyREFWSjttRUFDUTtzRUFDZTtnRkFDQTtxQkFFZDtxQkFDaUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTNGLElBQU1DLHdCQUF3QkMs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
|
|
251
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb25cIjtcbmltcG9ydCBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gZnJvbSBcIi4uL3N1YnN0aXR1dGlvbi90ZXJtRm9yVmFyaWFibGVcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgc3RyaXBCcmFja2V0c0Zyb21TdGF0ZW1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2JyYWNrZXRzXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdWJzdGl0dXRpb24vc3RhdGVtZW50IVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi8qL21ldGF2YXJpYWJsZSFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiBleHRlbmRzIFN1YnN0aXR1dGlvbiB7XG4gIGNvbnN0cnVjdG9yKHN0YXRlbWVudE5vZGUsIG1ldGF2YXJpYWJsZU5vZGUsIHN1YnN0aXR1dGlvbikge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICAgIHRoaXMubWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGU7XG4gICAgdGhpcy5zdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb247XG4gIH1cblxuICBnZXRTdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRNZXRhdmFyaWFibGVOb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGF2YXJpYWJsZU5vZGU7XG4gIH1cblxuICBnZXRTdWJzdGl0dXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3Vic3RpdHV0aW9uO1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5zdGF0ZW1lbnROb2RlOyAgLy8vXG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGlzU2ltcGxlKCkge1xuICAgIGNvbnN0IHNpbXBsZSA9ICh0aGlzLnN1YnN0aXR1dGlvbiA9PT0gbnVsbCk7XG5cbiAgICByZXR1cm4gc2ltcGxlO1xuICB9XG5cbiAgdHJhbnNmb3JtZWQoc3Vic3RpdHV0aW9ucykge1xuICAgIGxldCB0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbiA9IG51bGw7XG5cbiAgICBjb25zdCB0cmFuc2Zvcm1lZFN0YXRlbWVudE5vZGUgPSB0cmFuc2Zvcm1TdGF0ZW1lbnROb2RlKHRoaXMuc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICBpZiAodHJhbnNmb3JtZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBudWxsLFxuICAgICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHRyYW5zZm9ybWVkU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gdGhpcy5tZXRhdmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgICAgIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24oc3RhdGVtZW50Tm9kZSwgbWV0YXZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9uKTtcblxuICAgICAgdHJhbnNmb3JtZWRTdWJzdGl0dXRpb24gPSBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gdHJhbnNmb3JtZWRTdWJzdGl0dXRpb247XG4gIH1cblxuICBtYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSkge1xuICAgIHN0YXRlbWVudE5vZGUgPSBzdHJpcEJyYWNrZXRzRnJvbVN0YXRlbWVudChzdGF0ZW1lbnROb2RlKTsgLy8vXG5cbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHRoaXMuc3RhdGVtZW50Tm9kZS5tYXRjaChzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSB0aGlzLm1ldGF2YXJpYWJsZU5vZGUubWF0Y2gobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGF2YXJpYWJsZU5vZGVBbmRTdWJzdGl0dXRpb25Ob2RlKG1ldGF2YXJpYWJsZU5vZGUsIHN1YnN0aXR1dGlvbk5vZGUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZU1hdGNoZXM7XG4gIH1cblxuICBhc1N0cmluZyhsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gICAgbGV0IHN0cmluZztcblxuICAgIGNvbnN0IHN0YXRlbWVudE5vZGVCID0gdGhpcy5zdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgc3RhdGVtZW50U3RyaW5nQiA9IGxvY2FsQ29udGV4dEIubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGVCKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlQSA9IHRoaXMubWV0YXZhcmlhYmxlTm9kZSwgIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZ0EgPSBsb2NhbENvbnRleHRBLm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlQSk7XG5cbiAgICBpZiAodGhpcy5zdWJzdGl0dXRpb24gPT09IG51bGwpIHtcbiAgICAgIHN0cmluZyA9IGBbJHtzdGF0ZW1lbnRTdHJpbmdCfSBmb3IgJHttZXRhdmFyaWFibGVTdHJpbmdBfV1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25TdHJpbmcgPSB0aGlzLnN1YnN0aXR1dGlvbi5hc1N0cmluZyhsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRBKTtcblxuICAgICAgc3RyaW5nID0gYFske3N0YXRlbWVudFN0cmluZ0J9IGZvciAke21ldGF2YXJpYWJsZVN0cmluZ0F9JHtzdWJzdGl0dXRpb25TdHJpbmd9XWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3Vic3RpdHV0aW9uTm9kZShzdWJzdGl0dXRpb25Ob2RlKSB7XG4gICAgbGV0IHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IG51bGw7XG5cbiAgICBsZXQgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShzdWJzdGl0dXRpb25Ob2RlKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShzdWJzdGl0dXRpb25Ob2RlKTtcblxuICAgIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBzdGF0ZW1lbnROb2RlID0gc3RyaXBCcmFja2V0c0Zyb21TdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSk7IC8vL1xuXG4gICAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBudWxsO1xuXG4gICAgICBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uKHN0YXRlbWVudE5vZGUsIG1ldGF2YXJpYWJsZU5vZGUsIHN1YnN0aXR1dGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RhdGVtZW50Tm9kZUFuZE1ldGF2YXJpYWJsZU5vZGUoc3RhdGVtZW50Tm9kZSwgbWV0YXZhcmlhYmxlTm9kZSkge1xuICAgIHN0YXRlbWVudE5vZGUgPSBzdHJpcEJyYWNrZXRzRnJvbVN0YXRlbWVudChzdGF0ZW1lbnROb2RlKTsgLy8vXG5cbiAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBudWxsLFxuICAgICAgICAgIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24oc3RhdGVtZW50Tm9kZSwgbWV0YXZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9uKTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0YXRlbWVudE5vZGVNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZShzdGF0ZW1lbnROb2RlLCBtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25Ob2RlKSB7XG4gICAgc3RhdGVtZW50Tm9kZSA9IHN0cmlwQnJhY2tldHNGcm9tU3RhdGVtZW50KHN0YXRlbWVudE5vZGUpOyAvLy9cblxuICAgIGNvbnN0IHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbkZyb21TdWJzdGl0dXRpb25Ob2RlKHN1YnN0aXR1dGlvbk5vZGUpLFxuICAgICAgICAgIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24oc3RhdGVtZW50Tm9kZSwgbWV0YXZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9uKTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gc3Vic3RpdHV0aW9uRnJvbVN1YnN0aXR1dGlvbk5vZGUoc3Vic3RpdHV0aW9uTm9kZSkge1xuICBsZXQgc3Vic3RpdHV0aW9uID0gbnVsbDtcblxuICBpZiAoc3Vic3RpdHV0aW9uID09PSBudWxsKSB7XG4gICAgY29uc3QgdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLmZyb21TdWJzdGl0dXRpb25Ob2RlKHN1YnN0aXR1dGlvbk5vZGUpO1xuXG4gICAgaWYgKHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgc3Vic3RpdHV0aW9uID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uOyAvLy9cbiAgICB9XG4gIH1cblxuICBpZiAoc3Vic3RpdHV0aW9uID09PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uLmZyb21TdWJzdGl0dXRpb25Ob2RlKHN1YnN0aXR1dGlvbk5vZGUpO1xuXG4gICAgaWYgKHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgc3Vic3RpdHV0aW9uID0gc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uOyAgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN1YnN0aXR1dGlvbjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gIGxldCB0cmFuc2Zvcm1lZFN0YXRlbWVudE5vZGUgPSBudWxsO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKG1ldGF2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICBzdWJzdGl0dXRpb25zLnNvbWVTdWJzdGl0dXRpb24oKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uTWF0Y2hlc1ZhcmlhYmxlTm9kZSA9IHN1YnN0aXR1dGlvbi5tYXRjaFZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbk1hdGNoZXNWYXJpYWJsZU5vZGUpIHtcbiAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN1YnN0aXR1dGlvbi5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgICAgICAgdHJhbnNmb3JtZWRTdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZTsgLy8vL1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkU3RhdGVtZW50Tm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbiIsImdldFN0YXRlbWVudE5vZGUiLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwiZ2V0U3Vic3RpdHV0aW9uIiwiZ2V0Tm9kZSIsIm5vZGUiLCJpc1NpbXBsZSIsInNpbXBsZSIsInRyYW5zZm9ybWVkIiwic3Vic3RpdHV0aW9ucyIsInRyYW5zZm9ybWVkU3Vic3RpdHV0aW9uIiwidHJhbnNmb3JtZWRTdGF0ZW1lbnROb2RlIiwidHJhbnNmb3JtU3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInN0cmlwQnJhY2tldHNGcm9tU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaCIsIm1hdGNoTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZSIsInN1YnN0aXR1dGlvbk5vZGUiLCJtZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZU1hdGNoZXMiLCJhc1N0cmluZyIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwic3RyaW5nIiwic3RhdGVtZW50Tm9kZUIiLCJzdGF0ZW1lbnRTdHJpbmdCIiwibm9kZUFzU3RyaW5nIiwibWV0YXZhcmlhYmxlTm9kZUEiLCJtZXRhdmFyaWFibGVTdHJpbmdBIiwic3Vic3RpdHV0aW9uU3RyaW5nIiwiZnJvbVN1YnN0aXR1dGlvbk5vZGUiLCJmcm9tU3RhdGVtZW50Tm9kZUFuZE1ldGF2YXJpYWJsZU5vZGUiLCJmcm9tU3RhdGVtZW50Tm9kZU1ldGF2YXJpYWJsZU5vZGVBbmRTdWJzdGl0dXRpb25Ob2RlIiwic3Vic3RpdHV0aW9uRnJvbVN1YnN0aXR1dGlvbk5vZGUiLCJTdWJzdGl0dXRpb24iLCJ0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJzb21lU3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uTWF0Y2hlc1ZhcmlhYmxlTm9kZSIsIm1hdGNoVmFyaWFibGVOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVdxQkE7OzttRUFUSTtzRUFDZTtxQkFFZDt3QkFDaUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFM0MsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLDZCQUMvQkMsd0JBQXdCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXpCLElBQUEsQUFBTUYscURBQU47Y0FBTUE7YUFBQUEscUNBQ1BJLGFBQWEsRUFBRUMsZ0JB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
|