occam-verify-cli 0.0.1111 → 0.0.1112
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/combinator/bracketed.js +15 -65
- package/lib/combinator.js +4 -8
- package/lib/constructor/bracketed.js +24 -101
- package/lib/constructor.js +4 -8
- package/lib/context/file.js +41 -12
- package/lib/context/local.js +45 -25
- package/lib/context/release.js +2 -2
- package/lib/dom/assertion/contained.js +246 -0
- package/lib/dom/assertion/defined.js +266 -0
- package/lib/dom/assertion/subproof.js +210 -0
- package/lib/dom/assertion/type.js +240 -0
- package/lib/{axiom.js → dom/axiom.js} +18 -8
- package/lib/dom/conclusion.js +171 -0
- package/lib/{conjecture.js → dom/conjecture.js} +18 -8
- package/lib/dom/consequent.js +171 -0
- package/lib/dom/declaration/combinator.js +105 -0
- package/lib/dom/declaration/constructor.js +140 -0
- package/lib/dom/declaration/metavariable.js +154 -0
- package/lib/dom/declaration/type.js +140 -0
- package/lib/dom/declaration/variable.js +155 -0
- package/lib/{declaration.js → dom/declaration.js} +62 -18
- package/lib/dom/derivation.js +137 -0
- package/lib/dom/equality.js +260 -0
- package/lib/dom/error.js +85 -0
- package/lib/dom/frame.js +372 -0
- package/lib/dom/judgement.js +198 -0
- package/lib/dom/label.js +190 -0
- package/lib/{lemma.js → dom/lemma.js} +19 -9
- package/lib/{metaLemma.js → dom/metaLemma.js} +19 -9
- package/lib/dom/metaType.js +261 -0
- package/lib/dom/metatheorem.js +273 -0
- package/lib/dom/metavariable.js +463 -0
- package/lib/dom/premise.js +221 -0
- package/lib/dom/proof.js +154 -0
- package/lib/dom/proofStep.js +239 -0
- package/lib/dom/reference.js +218 -0
- package/lib/dom/rule.js +311 -0
- package/lib/dom/statement.js +379 -0
- package/lib/dom/subDerivation.js +137 -0
- package/lib/dom/subproof.js +211 -0
- package/lib/dom/supposition.js +221 -0
- package/lib/dom/term.js +354 -0
- package/lib/{theorem.js → dom/theorem.js} +18 -8
- package/lib/dom/topLevelAssertion.js +306 -0
- package/lib/dom/type.js +327 -0
- package/lib/dom/variable.js +328 -0
- package/lib/dom.js +27 -0
- package/lib/equivalences.js +307 -0
- package/lib/index.js +40 -35
- package/lib/mixins/proofStep/unify.js +86 -0
- package/lib/mixins/statement/verify.js +27 -2
- package/lib/mixins/term/verify.js +24 -4
- package/lib/substitution/frame.js +3 -3
- package/lib/substitution/statement.js +17 -16
- package/lib/substitution/term.js +10 -7
- package/lib/substitution.js +4 -31
- package/lib/substitutions.js +24 -56
- package/lib/unifier/equality.js +2 -3
- package/lib/unifier/label.js +3 -3
- package/lib/unifier/metaLevel.js +9 -8
- package/lib/unifier/metavariable.js +3 -3
- package/lib/unifier/statementWithCombinator.js +5 -5
- package/lib/unifier/termWithConstructor.js +3 -3
- package/lib/utilities/json.js +26 -40
- package/lib/utilities/string.js +6 -8
- package/lib/utilities/subproof.js +2 -2
- package/lib/utilities/substitutions.js +7 -6
- package/lib/utilities/verification.js +22 -14
- package/lib/verifier/combinator.js +4 -4
- package/lib/verifier/constructor.js +3 -3
- package/lib/verifier/topLevel.js +15 -21
- package/package.json +1 -1
- package/src/combinator/bracketed.js +11 -4
- package/src/combinator.js +3 -10
- package/src/constructor/bracketed.js +17 -5
- package/src/constructor.js +3 -9
- package/src/context/file.js +42 -11
- package/src/context/local.js +26 -34
- package/src/context/release.js +1 -1
- package/src/{assertion → dom/assertion}/contained.js +10 -8
- package/src/{assertion → dom/assertion}/defined.js +14 -11
- package/src/{assertion → dom/assertion}/subproof.js +11 -62
- package/src/{assertion → dom/assertion}/type.js +11 -8
- package/src/{axiom.js → dom/axiom.js} +6 -9
- package/src/dom/conclusion.js +95 -0
- package/src/{conjecture.js → dom/conjecture.js} +5 -8
- package/src/dom/consequent.js +95 -0
- package/src/{declaration → dom/declaration}/combinator.js +8 -5
- package/src/{declaration → dom/declaration}/constructor.js +8 -4
- package/src/{declaration → dom/declaration}/metavariable.js +8 -5
- package/src/{declaration → dom/declaration}/type.js +8 -4
- package/src/{declaration → dom/declaration}/variable.js +9 -6
- package/src/{declaration.js → dom/declaration.js} +11 -16
- package/src/{derivation.js → dom/derivation.js} +9 -12
- package/src/{equality.js → dom/equality.js} +11 -14
- package/src/{error.js → dom/error.js} +6 -3
- package/src/{frame.js → dom/frame.js} +14 -23
- package/src/{judgement.js → dom/judgement.js} +8 -11
- package/src/{label.js → dom/label.js} +9 -16
- package/src/{lemma.js → dom/lemma.js} +5 -9
- package/src/{metaLemma.js → dom/metaLemma.js} +6 -9
- package/src/{metaType.js → dom/metaType.js} +7 -10
- package/src/{metatheorem.js → dom/metatheorem.js} +6 -10
- package/src/{metavariable.js → dom/metavariable.js} +79 -77
- package/src/dom/premise.js +173 -0
- package/src/{proof.js → dom/proof.js} +8 -11
- package/src/dom/proofStep.js +173 -0
- package/src/{reference.js → dom/reference.js} +48 -20
- package/src/{rule.js → dom/rule.js} +13 -17
- package/src/{statement.js → dom/statement.js} +142 -71
- package/src/{subDerivation.js → dom/subDerivation.js} +9 -12
- package/src/{subproof.js → dom/subproof.js} +14 -47
- package/src/dom/supposition.js +173 -0
- package/src/{term.js → dom/term.js} +24 -45
- package/src/{theorem.js → dom/theorem.js} +5 -8
- package/src/{topLevelAssertion.js → dom/topLevelAssertion.js} +12 -14
- package/src/{type.js → dom/type.js} +9 -12
- package/src/{variable.js → dom/variable.js} +20 -28
- package/src/dom.js +13 -0
- package/src/equivalences.js +278 -0
- package/src/index.js +39 -34
- package/src/mixins/proofStep/unify.js +115 -0
- package/src/mixins/statement/verify.js +33 -1
- package/src/mixins/term/verify.js +33 -3
- package/src/substitution/frame.js +2 -2
- package/src/substitution/statement.js +20 -18
- package/src/substitution/term.js +12 -5
- package/src/substitution.js +4 -29
- package/src/substitutions.js +35 -73
- package/src/unifier/equality.js +1 -2
- package/src/unifier/label.js +2 -2
- package/src/unifier/metaLevel.js +9 -7
- package/src/unifier/metavariable.js +2 -2
- package/src/unifier/statementWithCombinator.js +4 -4
- package/src/unifier/termWithConstructor.js +2 -2
- package/src/utilities/json.js +23 -42
- package/src/utilities/string.js +8 -6
- package/src/utilities/subproof.js +2 -2
- package/src/utilities/substitutions.js +7 -5
- package/src/utilities/verification.js +29 -13
- package/src/verifier/combinator.js +3 -3
- package/src/verifier/constructor.js +3 -3
- package/src/verifier/topLevel.js +20 -21
- package/lib/assertion/contained.js +0 -232
- package/lib/assertion/defined.js +0 -211
- package/lib/assertion/subproof.js +0 -203
- package/lib/assertion/type.js +0 -185
- package/lib/conclusion.js +0 -130
- package/lib/consequent.js +0 -130
- package/lib/declaration/combinator.js +0 -90
- package/lib/declaration/constructor.js +0 -90
- package/lib/declaration/metavariable.js +0 -104
- package/lib/declaration/type.js +0 -90
- package/lib/declaration/variable.js +0 -105
- package/lib/derivation.js +0 -91
- package/lib/equality.js +0 -209
- package/lib/error.js +0 -70
- package/lib/frame.js +0 -331
- package/lib/judgement.js +0 -147
- package/lib/label.js +0 -141
- package/lib/metaType.js +0 -255
- package/lib/metatheorem.js +0 -263
- package/lib/metavariable.js +0 -399
- package/lib/mixins/statement/qualified/unify.js +0 -69
- package/lib/mixins/statement/unify.js +0 -42
- package/lib/mixins/statement/unifyIndependenntly.js +0 -46
- package/lib/mixins/term/unify.js +0 -40
- package/lib/premise.js +0 -184
- package/lib/proof.js +0 -103
- package/lib/proofStep.js +0 -179
- package/lib/reference.js +0 -145
- package/lib/rule.js +0 -259
- package/lib/shim.js +0 -14
- package/lib/statement/qualified.js +0 -152
- package/lib/statement/unqualified.js +0 -175
- package/lib/statement.js +0 -270
- package/lib/subDerivation.js +0 -91
- package/lib/subproof.js +0 -181
- package/lib/supposition.js +0 -184
- package/lib/term.js +0 -318
- package/lib/topLevelAssertion.js +0 -305
- package/lib/type.js +0 -321
- package/lib/utilities/equivalences.js +0 -178
- package/lib/variable.js +0 -281
- package/src/conclusion.js +0 -96
- package/src/consequent.js +0 -96
- package/src/mixins/statement/qualified/unify.js +0 -103
- package/src/mixins/statement/unify.js +0 -41
- package/src/mixins/statement/unifyIndependenntly.js +0 -58
- package/src/mixins/term/unify.js +0 -36
- package/src/premise.js +0 -183
- package/src/proofStep.js +0 -181
- package/src/shim.js +0 -5
- package/src/statement/qualified.js +0 -133
- package/src/statement/unqualified.js +0 -166
- package/src/supposition.js +0 -183
- package/src/utilities/equivalences.js +0 -183
|
@@ -1,46 +0,0 @@
|
|
|
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 _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _verification = require("../../utilities/verification");
|
|
12
|
-
function unifyIndependentlyAsDefinedAssertion(statement, substitutions, generalContext, specificContext) {
|
|
13
|
-
var unifiedIndependentlyAsDefinedAssertion = false;
|
|
14
|
-
var context = generalContext, definedAssertion = (0, _verification.definedAssertionFromStatement)(statement, context);
|
|
15
|
-
if (definedAssertion !== null) {
|
|
16
|
-
var statementString = statement.getString();
|
|
17
|
-
specificContext.trace("Unifying the '".concat(statementString, "' statement as a defined assertion independently..."));
|
|
18
|
-
var context1 = specificContext, definedAssertionUnifiedIndependently = definedAssertion.unifyIndependently(substitutions, context1);
|
|
19
|
-
unifiedIndependentlyAsDefinedAssertion = definedAssertionUnifiedIndependently; ///
|
|
20
|
-
if (unifiedIndependentlyAsDefinedAssertion) {
|
|
21
|
-
specificContext.debug("...unified the '".concat(statementString, "' statement as a defined assertion independently."));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return unifiedIndependentlyAsDefinedAssertion;
|
|
25
|
-
}
|
|
26
|
-
function unifyIndependentlyAsContainedAssertion(statement, substitutions, generalContext, specificContext) {
|
|
27
|
-
var unifiedIndependentlyAsContainedAssertion = false;
|
|
28
|
-
var context = generalContext, containedAssertion = (0, _verification.containedAssertionFromStatement)(statement, context);
|
|
29
|
-
if (containedAssertion !== null) {
|
|
30
|
-
var statementString = statement.getString();
|
|
31
|
-
specificContext.trace("Unifying the '".concat(statementString, "' statement as a contained assertion independently..."));
|
|
32
|
-
var context1 = specificContext, containedAssertionUnifiedIndependently = containedAssertion.unifyIndependently(substitutions, context1);
|
|
33
|
-
unifiedIndependentlyAsContainedAssertion = containedAssertionUnifiedIndependently; ///
|
|
34
|
-
if (unifiedIndependentlyAsContainedAssertion) {
|
|
35
|
-
specificContext.debug("...unified the '".concat(statementString, "' statement as a contained assertion independently."));
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return unifiedIndependentlyAsContainedAssertion;
|
|
39
|
-
}
|
|
40
|
-
var unifyIndependentlyMixins = [
|
|
41
|
-
unifyIndependentlyAsDefinedAssertion,
|
|
42
|
-
unifyIndependentlyAsContainedAssertion
|
|
43
|
-
];
|
|
44
|
-
var _default = unifyIndependentlyMixins;
|
|
45
|
-
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taXhpbnMvc3RhdGVtZW50L3VuaWZ5SW5kZXBlbmRlbm50bHkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGRlZmluZWRBc3NlcnRpb25Gcm9tU3RhdGVtZW50LCBjb250YWluZWRBc3NlcnRpb25Gcm9tU3RhdGVtZW50IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92ZXJpZmljYXRpb25cIjtcblxuZnVuY3Rpb24gdW5pZnlJbmRlcGVuZGVudGx5QXNEZWZpbmVkQXNzZXJ0aW9uKHN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkge1xuICBsZXQgdW5pZmllZEluZGVwZW5kZW50bHlBc0RlZmluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBjb25zdCBjb250ZXh0ID0gZ2VuZXJhbENvbnRleHQsIC8vL1xuICAgICAgICBkZWZpbmVkQXNzZXJ0aW9uID0gZGVmaW5lZEFzc2VydGlvbkZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTtcblxuICBpZiAoZGVmaW5lZEFzc2VydGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKTtcblxuICAgIHNwZWNpZmljQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uIGluZGVwZW5kZW50bHkuLi5gKTtcblxuICAgIGNvbnN0IGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQsICAvLy9cbiAgICAgICAgICBkZWZpbmVkQXNzZXJ0aW9uVW5pZmllZEluZGVwZW5kZW50bHkgPSBkZWZpbmVkQXNzZXJ0aW9uLnVuaWZ5SW5kZXBlbmRlbnRseShzdWJzdGl0dXRpb25zLCBjb250ZXh0KTtcblxuICAgIHVuaWZpZWRJbmRlcGVuZGVudGx5QXNEZWZpbmVkQXNzZXJ0aW9uID0gZGVmaW5lZEFzc2VydGlvblVuaWZpZWRJbmRlcGVuZGVudGx5OyAvLy9cblxuICAgIGlmICh1bmlmaWVkSW5kZXBlbmRlbnRseUFzRGVmaW5lZEFzc2VydGlvbikge1xuICAgICAgc3BlY2lmaWNDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBkZWZpbmVkIGFzc2VydGlvbiBpbmRlcGVuZGVudGx5LmApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmlmaWVkSW5kZXBlbmRlbnRseUFzRGVmaW5lZEFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdW5pZnlJbmRlcGVuZGVudGx5QXNDb250YWluZWRBc3NlcnRpb24oc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSB7XG4gIGxldCB1bmlmaWVkSW5kZXBlbmRlbnRseUFzQ29udGFpbmVkQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgY29udGV4dCA9IGdlbmVyYWxDb250ZXh0LCAvLy9cbiAgICAgICAgY29udGFpbmVkQXNzZXJ0aW9uID0gY29udGFpbmVkQXNzZXJ0aW9uRnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpO1xuXG4gIGlmIChjb250YWluZWRBc3NlcnRpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7XG5cbiAgICBzcGVjaWZpY0NvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uIGluZGVwZW5kZW50bHkuLi5gKTtcblxuICAgIGNvbnN0IGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQsICAvLy9cbiAgICAgICAgICBjb250YWluZWRBc3NlcnRpb25VbmlmaWVkSW5kZXBlbmRlbnRseSA9IGNvbnRhaW5lZEFzc2VydGlvbi51bmlmeUluZGVwZW5kZW50bHkoc3Vic3RpdHV0aW9ucywgY29udGV4dCk7XG5cbiAgICB1bmlmaWVkSW5kZXBlbmRlbnRseUFzQ29udGFpbmVkQXNzZXJ0aW9uID0gY29udGFpbmVkQXNzZXJ0aW9uVW5pZmllZEluZGVwZW5kZW50bHk7IC8vL1xuXG4gICAgaWYgKHVuaWZpZWRJbmRlcGVuZGVudGx5QXNDb250YWluZWRBc3NlcnRpb24pIHtcbiAgICAgIHNwZWNpZmljQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbiBpbmRlcGVuZGVudGx5LmApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmlmaWVkSW5kZXBlbmRlbnRseUFzQ29udGFpbmVkQXNzZXJ0aW9uO1xufVxuXG5jb25zdCB1bmlmeUluZGVwZW5kZW50bHlNaXhpbnMgPSBbXG4gIHVuaWZ5SW5kZXBlbmRlbnRseUFzRGVmaW5lZEFzc2VydGlvbixcbiAgdW5pZnlJbmRlcGVuZGVudGx5QXNDb250YWluZWRBc3NlcnRpb25cbl07XG5cbmV4cG9ydCBkZWZhdWx0IHVuaWZ5SW5kZXBlbmRlbnRseU1peGlucztcbiJdLCJuYW1lcyI6WyJ1bmlmeUluZGVwZW5kZW50bHlBc0RlZmluZWRBc3NlcnRpb24iLCJzdGF0ZW1lbnQiLCJzdWJzdGl0dXRpb25zIiwiZ2VuZXJhbENvbnRleHQiLCJzcGVjaWZpY0NvbnRleHQiLCJ1bmlmaWVkSW5kZXBlbmRlbnRseUFzRGVmaW5lZEFzc2VydGlvbiIsImNvbnRleHQiLCJkZWZpbmVkQXNzZXJ0aW9uIiwiZGVmaW5lZEFzc2VydGlvbkZyb21TdGF0ZW1lbnQiLCJzdGF0ZW1lbnRTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsImRlZmluZWRBc3NlcnRpb25VbmlmaWVkSW5kZXBlbmRlbnRseSIsInVuaWZ5SW5kZXBlbmRlbnRseSIsImRlYnVnIiwidW5pZnlJbmRlcGVuZGVudGx5QXNDb250YWluZWRBc3NlcnRpb24iLCJ1bmlmaWVkSW5kZXBlbmRlbnRseUFzQ29udGFpbmVkQXNzZXJ0aW9uIiwiY29udGFpbmVkQXNzZXJ0aW9uIiwiY29udGFpbmVkQXNzZXJ0aW9uRnJvbVN0YXRlbWVudCIsImNvbnRhaW5lZEFzc2VydGlvblVuaWZpZWRJbmRlcGVuZGVudGx5IiwidW5pZnlJbmRlcGVuZGVudGx5TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF5REE7OztlQUFBOzs7NEJBdkQrRTtBQUUvRSxTQUFTQSxxQ0FBcUNDLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxjQUFjLEVBQUVDLGVBQWU7SUFDckcsSUFBSUMseUNBQXlDO0lBRTdDLElBQU1DLFVBQVVILGdCQUNWSSxtQkFBbUJDLElBQUFBLDJDQUE2QixFQUFDUCxXQUFXSztJQUVsRSxJQUFJQyxxQkFBcUIsTUFBTTtRQUM3QixJQUFNRSxrQkFBa0JSLFVBQVVTLFNBQVM7UUFFM0NOLGdCQUFnQk8sS0FBSyxDQUFDLEFBQUMsaUJBQWdDLE9BQWhCRixpQkFBZ0I7UUFFdkQsSUFBTUgsV0FBVUYsaUJBQ1ZRLHVDQUF1Q0wsaUJBQWlCTSxrQkFBa0IsQ0FBQ1gsZUFBZUk7UUFFaEdELHlDQUF5Q08sc0NBQXNDLEdBQUc7UUFFbEYsSUFBSVAsd0NBQXdDO1lBQzFDRCxnQkFBZ0JVLEtBQUssQ0FBQyxBQUFDLG1CQUFrQyxPQUFoQkwsaUJBQWdCO1FBQzNEO0lBQ0Y7SUFFQSxPQUFPSjtBQUNUO0FBRUEsU0FBU1UsdUNBQXVDZCxTQUFTLEVBQUVDLGFBQWEsRUFBRUMsY0FBYyxFQUFFQyxlQUFlO0lBQ3ZHLElBQUlZLDJDQUEyQztJQUUvQyxJQUFNVixVQUFVSCxnQkFDVmMscUJBQXFCQyxJQUFBQSw2Q0FBK0IsRUFBQ2pCLFdBQVdLO0lBRXRFLElBQUlXLHVCQUF1QixNQUFNO1FBQy9CLElBQU1SLGtCQUFrQlIsVUFBVVMsU0FBUztRQUUzQ04sZ0JBQWdCTyxLQUFLLENBQUMsQUFBQyxpQkFBZ0MsT0FBaEJGLGlCQUFnQjtRQUV2RCxJQUFNSCxXQUFVRixpQkFDVmUseUNBQXlDRixtQkFBbUJKLGtCQUFrQixDQUFDWCxlQUFlSTtRQUVwR1UsMkNBQTJDRyx3Q0FBd0MsR0FBRztRQUV0RixJQUFJSCwwQ0FBMEM7WUFDNUNaLGdCQUFnQlUsS0FBSyxDQUFDLEFBQUMsbUJBQWtDLE9BQWhCTCxpQkFBZ0I7UUFDM0Q7SUFDRjtJQUVBLE9BQU9PO0FBQ1Q7QUFFQSxJQUFNSSwyQkFBMkI7SUFDL0JwQjtJQUNBZTtDQUNEO0lBRUQsV0FBZUsifQ==
|
package/lib/mixins/term/unify.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
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 _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _bracketed = /*#__PURE__*/ _interop_require_default(require("../../constructor/bracketed"));
|
|
12
|
-
function _interop_require_default(obj) {
|
|
13
|
-
return obj && obj.__esModule ? obj : {
|
|
14
|
-
default: obj
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
function unifyWithBracketedConstructor(term, context, verifyAhead) {
|
|
18
|
-
var unifiedWithBracketedConstructor;
|
|
19
|
-
var bracketedConstructor = _bracketed.default.fromNothing();
|
|
20
|
-
unifiedWithBracketedConstructor = bracketedConstructor.unifyTerm(term, context, verifyAhead);
|
|
21
|
-
return unifiedWithBracketedConstructor;
|
|
22
|
-
}
|
|
23
|
-
function unifyWithConstructors(term, context, verifyAhead) {
|
|
24
|
-
var unifiedWithConstructors;
|
|
25
|
-
var constructors = context.getConstructors();
|
|
26
|
-
unifiedWithConstructors = constructors.some(function(constructor) {
|
|
27
|
-
var unifiedWithConstructor = constructor.unifyTerm(term, context, verifyAhead);
|
|
28
|
-
if (unifiedWithConstructor) {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
return unifiedWithConstructors;
|
|
33
|
-
}
|
|
34
|
-
var unifyMixins = [
|
|
35
|
-
unifyWithBracketedConstructor,
|
|
36
|
-
unifyWithConstructors
|
|
37
|
-
];
|
|
38
|
-
var _default = unifyMixins;
|
|
39
|
-
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taXhpbnMvdGVybS91bmlmeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEJyYWNrZXRlZENvbnN0cnVjdG9yIGZyb20gXCIuLi8uLi9jb25zdHJ1Y3Rvci9icmFja2V0ZWRcIjtcblxuZnVuY3Rpb24gdW5pZnlXaXRoQnJhY2tldGVkQ29uc3RydWN0b3IodGVybSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3I7XG5cbiAgY29uc3QgYnJhY2tldGVkQ29uc3RydWN0b3IgPSBCcmFja2V0ZWRDb25zdHJ1Y3Rvci5mcm9tTm90aGluZygpO1xuXG4gIHVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3IgPSBicmFja2V0ZWRDb25zdHJ1Y3Rvci51bmlmeVRlcm0odGVybSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gIHJldHVybiB1bmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yO1xufVxuXG5mdW5jdGlvbiB1bmlmeVdpdGhDb25zdHJ1Y3RvcnModGVybSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQ29uc3RydWN0b3JzO1xuXG4gIGNvbnN0IGNvbnN0cnVjdG9ycyA9IGNvbnRleHQuZ2V0Q29uc3RydWN0b3JzKCk7XG5cbiAgdW5pZmllZFdpdGhDb25zdHJ1Y3RvcnMgPSBjb25zdHJ1Y3RvcnMuc29tZSgoY29uc3RydWN0b3IpID0+IHtcbiAgICBjb25zdCB1bmlmaWVkV2l0aENvbnN0cnVjdG9yID0gY29uc3RydWN0b3IudW5pZnlUZXJtKHRlcm0sIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgIGlmICh1bmlmaWVkV2l0aENvbnN0cnVjdG9yKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB1bmlmaWVkV2l0aENvbnN0cnVjdG9ycztcbn1cblxuY29uc3QgdW5pZnlNaXhpbnMgPSBbXG4gIHVuaWZ5V2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yLFxuICB1bmlmeVdpdGhDb25zdHJ1Y3RvcnNcbl07XG5cbmV4cG9ydCBkZWZhdWx0IHVuaWZ5TWl4aW5zO1xuIl0sIm5hbWVzIjpbInVuaWZ5V2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yIiwidGVybSIsImNvbnRleHQiLCJ2ZXJpZnlBaGVhZCIsInVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3IiLCJicmFja2V0ZWRDb25zdHJ1Y3RvciIsIkJyYWNrZXRlZENvbnN0cnVjdG9yIiwiZnJvbU5vdGhpbmciLCJ1bmlmeVRlcm0iLCJ1bmlmeVdpdGhDb25zdHJ1Y3RvcnMiLCJ1bmlmaWVkV2l0aENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9ycyIsImdldENvbnN0cnVjdG9ycyIsInNvbWUiLCJjb25zdHJ1Y3RvciIsInVuaWZpZWRXaXRoQ29uc3RydWN0b3IiLCJ1bmlmeU1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbUNBOzs7ZUFBQTs7O2dFQWpDaUM7Ozs7OztBQUVqQyxTQUFTQSw4QkFBOEJDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxXQUFXO0lBQy9ELElBQUlDO0lBRUosSUFBTUMsdUJBQXVCQyxrQkFBb0IsQ0FBQ0MsV0FBVztJQUU3REgsa0NBQWtDQyxxQkFBcUJHLFNBQVMsQ0FBQ1AsTUFBTUMsU0FBU0M7SUFFaEYsT0FBT0M7QUFDVDtBQUVBLFNBQVNLLHNCQUFzQlIsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLFdBQVc7SUFDdkQsSUFBSU87SUFFSixJQUFNQyxlQUFlVCxRQUFRVSxlQUFlO0lBRTVDRiwwQkFBMEJDLGFBQWFFLElBQUksQ0FBQyxTQUFDQztRQUMzQyxJQUFNQyx5QkFBeUJELFlBQVlOLFNBQVMsQ0FBQ1AsTUFBTUMsU0FBU0M7UUFFcEUsSUFBSVksd0JBQXdCO1lBQzFCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0w7QUFDVDtBQUVBLElBQU1NLGNBQWM7SUFDbEJoQjtJQUNBUztDQUNEO0lBRUQsV0FBZU8ifQ==
|
package/lib/premise.js
DELETED
|
@@ -1,184 +0,0 @@
|
|
|
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 _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
|
|
12
|
-
var _query = require("./utilities/query");
|
|
13
|
-
var _assignments = require("./utilities/assignments");
|
|
14
|
-
var _verification = require("./utilities/verification");
|
|
15
|
-
var _json = require("./utilities/json");
|
|
16
|
-
function _class_call_check(instance, Constructor) {
|
|
17
|
-
if (!(instance instanceof Constructor)) {
|
|
18
|
-
throw new TypeError("Cannot call a class as a function");
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
function _defineProperties(target, props) {
|
|
22
|
-
for(var i = 0; i < props.length; i++){
|
|
23
|
-
var descriptor = props[i];
|
|
24
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
25
|
-
descriptor.configurable = true;
|
|
26
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
27
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
31
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
32
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
33
|
-
return Constructor;
|
|
34
|
-
}
|
|
35
|
-
function _interop_require_default(obj) {
|
|
36
|
-
return obj && obj.__esModule ? obj : {
|
|
37
|
-
default: obj
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
var unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/premise/unqualifiedStatement");
|
|
41
|
-
var Premise = /*#__PURE__*/ function() {
|
|
42
|
-
function Premise(unqualifiedStatement) {
|
|
43
|
-
_class_call_check(this, Premise);
|
|
44
|
-
this.unqualifiedStatement = unqualifiedStatement;
|
|
45
|
-
}
|
|
46
|
-
_create_class(Premise, [
|
|
47
|
-
{
|
|
48
|
-
key: "getUnqualifiedStatement",
|
|
49
|
-
value: function getUnqualifiedStatement() {
|
|
50
|
-
return this.unqualifiedStatement;
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
key: "getString",
|
|
55
|
-
value: function getString() {
|
|
56
|
-
return this.unqualifiedStatement.getString();
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
key: "getStatement",
|
|
61
|
-
value: function getStatement() {
|
|
62
|
-
return this.unqualifiedStatement.getStatement();
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
key: "unifyIndependently",
|
|
67
|
-
value: function unifyIndependently(substitutions, generalContext, specificContext) {
|
|
68
|
-
var unifiedIndependently;
|
|
69
|
-
var premise = this, premiseString = premise.getString();
|
|
70
|
-
specificContext.trace("Unifying the '".concat(premiseString, "' premise independently..."));
|
|
71
|
-
var unqualifiedStatementResolvedIndependently = this.unqualifiedStatement.unifyIndependently(substitutions, generalContext, specificContext);
|
|
72
|
-
unifiedIndependently = unqualifiedStatementResolvedIndependently; ///
|
|
73
|
-
if (unifiedIndependently) {
|
|
74
|
-
specificContext.trace("...unified the '".concat(premiseString, "' premise independently."));
|
|
75
|
-
}
|
|
76
|
-
return unifiedIndependently;
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
key: "unifyProofStep",
|
|
81
|
-
value: function unifyProofStep(proofStep, substitutions, generalContext, specificContext) {
|
|
82
|
-
var proofStepUnified = false;
|
|
83
|
-
var subproof = proofStep.getSubproof(), statement = proofStep.getStatement();
|
|
84
|
-
substitutions.snapshot();
|
|
85
|
-
var subproofUnified = false, statementUnified = false;
|
|
86
|
-
if (false) {
|
|
87
|
-
///
|
|
88
|
-
} else if (subproof !== null) {
|
|
89
|
-
subproofUnified = this.unifySubproof(subproof, substitutions, generalContext, specificContext);
|
|
90
|
-
} else if (statement !== null) {
|
|
91
|
-
statementUnified = this.unifyStatement(statement, substitutions, generalContext, specificContext);
|
|
92
|
-
}
|
|
93
|
-
if (subproofUnified || statementUnified) {
|
|
94
|
-
substitutions.resolve(generalContext, specificContext);
|
|
95
|
-
proofStepUnified = true;
|
|
96
|
-
}
|
|
97
|
-
var context = specificContext; ///
|
|
98
|
-
proofStepUnified ? substitutions.continue() : substitutions.rollback(context);
|
|
99
|
-
return proofStepUnified;
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
key: "unifyStatement",
|
|
104
|
-
value: function unifyStatement(statement, substitutions, generalContext, specificContext) {
|
|
105
|
-
var statementUnified;
|
|
106
|
-
var premise = this, premiseString = premise.getString(), statementString = statement.getString();
|
|
107
|
-
specificContext.trace("Unifying the '".concat(statementString, "' statement with the '").concat(premiseString, "' premise..."));
|
|
108
|
-
statementUnified = this.unqualifiedStatement.unifyStatement(statement, substitutions, generalContext, specificContext);
|
|
109
|
-
if (statementUnified) {
|
|
110
|
-
specificContext.debug("...unified the '".concat(statementString, "' statement with the '").concat(premiseString, "' premise."));
|
|
111
|
-
}
|
|
112
|
-
return statementUnified;
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
key: "unifySubproof",
|
|
117
|
-
value: function unifySubproof(subproof, substitutions, generalContext, specificContext) {
|
|
118
|
-
var subproofUnified = false;
|
|
119
|
-
var premise = this, subproofString = subproof.getString(), premiseStatement = premise.getStatement(), premiseStatementString = premiseStatement.getString();
|
|
120
|
-
specificContext.trace("Unifying the '".concat(subproofString, "' subproof with the premise's '").concat(premiseStatementString, "' statement..."));
|
|
121
|
-
var context = generalContext, statement = this.unqualifiedStatement.getStatement(), subproofAssertion = (0, _verification.subproofAssertionFromStatement)(statement, context);
|
|
122
|
-
if (subproofAssertion !== null) {
|
|
123
|
-
subproofUnified = subproofAssertion.unifySubproof(subproof, substitutions, generalContext, specificContext);
|
|
124
|
-
}
|
|
125
|
-
if (subproofUnified) {
|
|
126
|
-
specificContext.debug("...unified the '".concat(subproofString, "' subproof with the premise's '").concat(premiseStatementString, "' statement."));
|
|
127
|
-
}
|
|
128
|
-
return subproofUnified;
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
key: "verify",
|
|
133
|
-
value: function verify(context) {
|
|
134
|
-
var verified = false;
|
|
135
|
-
var premiseString = this.getString(); ///
|
|
136
|
-
context.trace("Verifying the '".concat(premiseString, "' premise..."));
|
|
137
|
-
var stated = true, assignments = [], unqualifiedStatementVerified = this.unqualifiedStatement.verify(assignments, stated, context);
|
|
138
|
-
if (unqualifiedStatementVerified) {
|
|
139
|
-
var assignmentsAssigned = (0, _assignments.assignAssignments)(assignments, context);
|
|
140
|
-
if (assignmentsAssigned) {
|
|
141
|
-
var ProofStep = _shim.default.ProofStep, proofStep = ProofStep.fromUnqualifiedStatement(this.unqualifiedStatement);
|
|
142
|
-
context.addProofStep(proofStep);
|
|
143
|
-
verified = true;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
if (verified) {
|
|
147
|
-
context.debug("...verified the '".concat(premiseString, "' premise."));
|
|
148
|
-
}
|
|
149
|
-
return verified;
|
|
150
|
-
}
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
key: "toJSON",
|
|
154
|
-
value: function toJSON() {
|
|
155
|
-
var unqualifiedStatementJSON = (0, _json.unqualifiedStatementToUnqualifiedStatementJSON)(this.unqualifiedStatement), unqualifiedStatement = unqualifiedStatementJSON, json = {
|
|
156
|
-
unqualifiedStatement: unqualifiedStatement
|
|
157
|
-
};
|
|
158
|
-
return json;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
], [
|
|
162
|
-
{
|
|
163
|
-
key: "fromJSON",
|
|
164
|
-
value: function fromJSON(json, fileContext) {
|
|
165
|
-
var unqualifiedStatement = (0, _json.unqualifiedStatementFromJSON)(json, fileContext), premise = new Premise(unqualifiedStatement);
|
|
166
|
-
return premise;
|
|
167
|
-
}
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
key: "fromPremiseNode",
|
|
171
|
-
value: function fromPremiseNode(suppositionNode, fileContext) {
|
|
172
|
-
var UnqualifiedStatement = _shim.default.UnqualifiedStatement, unqualifiedStatementNode = unqualifiedStatementNodeQuery(suppositionNode), unqualifiedStatement = UnqualifiedStatement.fromUnqualifiedStatementNode(unqualifiedStatementNode, fileContext), premise = new Premise(unqualifiedStatement);
|
|
173
|
-
return premise;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
]);
|
|
177
|
-
return Premise;
|
|
178
|
-
}();
|
|
179
|
-
Object.assign(_shim.default, {
|
|
180
|
-
Premise: Premise
|
|
181
|
-
});
|
|
182
|
-
var _default = Premise;
|
|
183
|
-
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVtaXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgYXNzaWduQXNzaWdubWVudHMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcbmltcG9ydCB7IHN1YnByb29mQXNzZXJ0aW9uRnJvbVN0YXRlbWVudCB9IGZyb20gXCIuL3V0aWxpdGllcy92ZXJpZmljYXRpb25cIjtcbmltcG9ydCB7IHVucXVhbGlmaWVkU3RhdGVtZW50RnJvbUpTT04sIHVucXVhbGlmaWVkU3RhdGVtZW50VG9VbnF1YWxpZmllZFN0YXRlbWVudEpTT04gfSBmcm9tIFwiLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcmVtaXNlL3VucXVhbGlmaWVkU3RhdGVtZW50XCIpO1xuXG5jbGFzcyBQcmVtaXNlIHtcbiAgY29uc3RydWN0b3IodW5xdWFsaWZpZWRTdGF0ZW1lbnQpIHtcbiAgICB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50ID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRVbnF1YWxpZmllZFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHsgcmV0dXJuIHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7IH1cblxuICBnZXRTdGF0ZW1lbnQoKSB7IHJldHVybiB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50LmdldFN0YXRlbWVudCgpOyB9XG5cbiAgdW5pZnlJbmRlcGVuZGVudGx5KHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpIHtcbiAgICBsZXQgdW5pZmllZEluZGVwZW5kZW50bHk7XG5cbiAgICBjb25zdCBwcmVtaXNlID0gdGhpcywgLy8vXG4gICAgICAgICAgcHJlbWlzZVN0cmluZyA9IHByZW1pc2UuZ2V0U3RyaW5nKCk7XG5cbiAgICBzcGVjaWZpY0NvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtwcmVtaXNlU3RyaW5nfScgcHJlbWlzZSBpbmRlcGVuZGVudGx5Li4uYCk7XG5cbiAgICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudFJlc29sdmVkSW5kZXBlbmRlbnRseSA9IHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQudW5pZnlJbmRlcGVuZGVudGx5KHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgdW5pZmllZEluZGVwZW5kZW50bHkgPSB1bnF1YWxpZmllZFN0YXRlbWVudFJlc29sdmVkSW5kZXBlbmRlbnRseTsgIC8vL1xuXG4gICAgaWYgKHVuaWZpZWRJbmRlcGVuZGVudGx5KSB7XG4gICAgICBzcGVjaWZpY0NvbnRleHQudHJhY2UoYC4uLnVuaWZpZWQgdGhlICcke3ByZW1pc2VTdHJpbmd9JyBwcmVtaXNlIGluZGVwZW5kZW50bHkuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuaWZpZWRJbmRlcGVuZGVudGx5O1xuICB9XG5cbiAgdW5pZnlQcm9vZlN0ZXAocHJvb2ZTdGVwLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSB7XG4gICAgbGV0IHByb29mU3RlcFVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN1YnByb29mID0gcHJvb2ZTdGVwLmdldFN1YnByb29mKCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gcHJvb2ZTdGVwLmdldFN0YXRlbWVudCgpO1xuXG4gICAgc3Vic3RpdHV0aW9ucy5zbmFwc2hvdCgpO1xuXG4gICAgbGV0IHN1YnByb29mVW5pZmllZCA9IGZhbHNlLFxuICAgICAgICBzdGF0ZW1lbnRVbmlmaWVkID0gZmFsc2U7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAoc3VicHJvb2YgIT09IG51bGwpIHtcbiAgICAgIHN1YnByb29mVW5pZmllZCA9IHRoaXMudW5pZnlTdWJwcm9vZihzdWJwcm9vZiwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG4gICAgfSBlbHNlIGlmIChzdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIHN0YXRlbWVudFVuaWZpZWQgPSB0aGlzLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHN1YnByb29mVW5pZmllZCB8fCBzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICBzdWJzdGl0dXRpb25zLnJlc29sdmUoZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICAgIHByb29mU3RlcFVuaWZpZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQ7ICAvLy9cblxuICAgIHByb29mU3RlcFVuaWZpZWQgP1xuICAgICAgc3Vic3RpdHV0aW9ucy5jb250aW51ZSgpIDpcbiAgICAgICAgc3Vic3RpdHV0aW9ucy5yb2xsYmFjayhjb250ZXh0KTtcblxuICAgIHJldHVybiBwcm9vZlN0ZXBVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgICBjb25zdCBwcmVtaXNlID0gdGhpcywgLy8vXG4gICAgICAgICAgcHJlbWlzZVN0cmluZyA9IHByZW1pc2UuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpO1xuXG4gICAgc3BlY2lmaWNDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlICcke3ByZW1pc2VTdHJpbmd9JyBwcmVtaXNlLi4uYCk7XG5cbiAgICBzdGF0ZW1lbnRVbmlmaWVkID0gdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudC51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgIHNwZWNpZmljQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlICcke3ByZW1pc2VTdHJpbmd9JyBwcmVtaXNlLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlTdWJwcm9vZihzdWJwcm9vZiwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkge1xuICAgIGxldCBzdWJwcm9vZlVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHByZW1pc2UgPSB0aGlzLCAvLy9cbiAgICAgICAgICBzdWJwcm9vZlN0cmluZyA9IHN1YnByb29mLmdldFN0cmluZygpLFxuICAgICAgICAgIHByZW1pc2VTdGF0ZW1lbnQgPSBwcmVtaXNlLmdldFN0YXRlbWVudCgpLFxuICAgICAgICAgIHByZW1pc2VTdGF0ZW1lbnRTdHJpbmcgPSBwcmVtaXNlU3RhdGVtZW50LmdldFN0cmluZygpO1xuXG4gICAgc3BlY2lmaWNDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3VicHJvb2ZTdHJpbmd9JyBzdWJwcm9vZiB3aXRoIHRoZSBwcmVtaXNlJ3MgJyR7cHJlbWlzZVN0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC4uLmApO1xuXG4gICAgY29uc3QgY29udGV4dCA9IGdlbmVyYWxDb250ZXh0LFxuICAgICAgICAgIHN0YXRlbWVudCA9IHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQuZ2V0U3RhdGVtZW50KCksXG4gICAgICAgICAgc3VicHJvb2ZBc3NlcnRpb24gPSBzdWJwcm9vZkFzc2VydGlvbkZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTtcblxuICAgIGlmIChzdWJwcm9vZkFzc2VydGlvbiAhPT0gbnVsbCkge1xuICAgICAgc3VicHJvb2ZVbmlmaWVkID0gc3VicHJvb2ZBc3NlcnRpb24udW5pZnlTdWJwcm9vZihzdWJwcm9vZiwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHN1YnByb29mVW5pZmllZCkge1xuICAgICAgc3BlY2lmaWNDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdWJwcm9vZlN0cmluZ30nIHN1YnByb29mIHdpdGggdGhlIHByZW1pc2UncyAnJHtwcmVtaXNlU3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50LmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJwcm9vZlVuaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnkoY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgcHJlbWlzZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtwcmVtaXNlU3RyaW5nfScgcHJlbWlzZS4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVkID0gdHJ1ZSxcbiAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50LnZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBhc3NpZ25tZW50c0Fzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudHMoYXNzaWdubWVudHMsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoYXNzaWdubWVudHNBc3NpZ25lZCkge1xuICAgICAgICBjb25zdCB7IFByb29mU3RlcCB9ID0gc2hpbSxcbiAgICAgICAgICAgICAgcHJvb2ZTdGVwID0gUHJvb2ZTdGVwLmZyb21VbnF1YWxpZmllZFN0YXRlbWVudCh0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50KTtcblxuICAgICAgICBjb250ZXh0LmFkZFByb29mU3RlcChwcm9vZlN0ZXApO1xuXG4gICAgICAgIHZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtwcmVtaXNlU3RyaW5nfScgcHJlbWlzZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRKU09OID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb1VucXVhbGlmaWVkU3RhdGVtZW50SlNPTih0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50KSxcbiAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudCA9IHVucXVhbGlmaWVkU3RhdGVtZW50SlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50ID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgcHJlbWlzZSA9IG5ldyBQcmVtaXNlKHVucXVhbGlmaWVkU3RhdGVtZW50KTtcblxuICAgIHJldHVybiBwcmVtaXNlO1xuICB9XG5cbiAgc3RhdGljIGZyb21QcmVtaXNlTm9kZShzdXBwb3NpdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBVbnF1YWxpZmllZFN0YXRlbWVudCB9ID0gc2hpbSxcbiAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShzdXBwb3NpdGlvbk5vZGUpLFxuICAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50ID0gVW5xdWFsaWZpZWRTdGF0ZW1lbnQuZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBwcmVtaXNlID0gbmV3IFByZW1pc2UodW5xdWFsaWZpZWRTdGF0ZW1lbnQpO1xuXG4gICAgcmV0dXJuIHByZW1pc2VcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgUHJlbWlzZVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IFByZW1pc2U7XG4iXSwibmFtZXMiOlsidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJQcmVtaXNlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJnZXRVbnF1YWxpZmllZFN0YXRlbWVudCIsImdldFN0cmluZyIsImdldFN0YXRlbWVudCIsInVuaWZ5SW5kZXBlbmRlbnRseSIsInN1YnN0aXR1dGlvbnMiLCJnZW5lcmFsQ29udGV4dCIsInNwZWNpZmljQ29udGV4dCIsInVuaWZpZWRJbmRlcGVuZGVudGx5IiwicHJlbWlzZSIsInByZW1pc2VTdHJpbmciLCJ0cmFjZSIsInVucXVhbGlmaWVkU3RhdGVtZW50UmVzb2x2ZWRJbmRlcGVuZGVudGx5IiwidW5pZnlQcm9vZlN0ZXAiLCJwcm9vZlN0ZXAiLCJwcm9vZlN0ZXBVbmlmaWVkIiwic3VicHJvb2YiLCJnZXRTdWJwcm9vZiIsInN0YXRlbWVudCIsInNuYXBzaG90Iiwic3VicHJvb2ZVbmlmaWVkIiwic3RhdGVtZW50VW5pZmllZCIsInVuaWZ5U3VicHJvb2YiLCJ1bmlmeVN0YXRlbWVudCIsInJlc29sdmUiLCJjb250ZXh0IiwiY29udGludWUiLCJyb2xsYmFjayIsInN0YXRlbWVudFN0cmluZyIsImRlYnVnIiwic3VicHJvb2ZTdHJpbmciLCJwcmVtaXNlU3RhdGVtZW50IiwicHJlbWlzZVN0YXRlbWVudFN0cmluZyIsInN1YnByb29mQXNzZXJ0aW9uIiwic3VicHJvb2ZBc3NlcnRpb25Gcm9tU3RhdGVtZW50IiwidmVyaWZ5IiwidmVyaWZpZWQiLCJzdGF0ZWQiLCJhc3NpZ25tZW50cyIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJhc3NpZ25tZW50c0Fzc2lnbmVkIiwiYXNzaWduQXNzaWdubWVudHMiLCJQcm9vZlN0ZXAiLCJzaGltIiwiZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50IiwiYWRkUHJvb2ZTdGVwIiwidG9KU09OIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRKU09OIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRUb1VucXVhbGlmaWVkU3RhdGVtZW50SlNPTiIsImpzb24iLCJmcm9tSlNPTiIsImZpbGVDb250ZXh0IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRGcm9tSlNPTiIsImZyb21QcmVtaXNlTm9kZSIsInN1cHBvc2l0aW9uTm9kZSIsIlVucXVhbGlmaWVkU3RhdGVtZW50IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsIk9iamVjdCIsImFzc2lnbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBc0xBOzs7ZUFBQTs7OzJEQXBMaUI7cUJBRVM7MkJBQ1E7NEJBQ2E7b0JBQzhDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FB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
|
package/lib/proof.js
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
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 _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
|
|
12
|
-
var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
|
|
13
|
-
var _query = require("./utilities/query");
|
|
14
|
-
function _class_call_check(instance, Constructor) {
|
|
15
|
-
if (!(instance instanceof Constructor)) {
|
|
16
|
-
throw new TypeError("Cannot call a class as a function");
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function _defineProperties(target, props) {
|
|
20
|
-
for(var i = 0; i < props.length; i++){
|
|
21
|
-
var descriptor = props[i];
|
|
22
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
-
descriptor.configurable = true;
|
|
24
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
29
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
-
return Constructor;
|
|
32
|
-
}
|
|
33
|
-
function _interop_require_default(obj) {
|
|
34
|
-
return obj && obj.__esModule ? obj : {
|
|
35
|
-
default: obj
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
var derivationNodeQuery = (0, _query.nodeQuery)("/proof/derivation");
|
|
39
|
-
var Proof = /*#__PURE__*/ function() {
|
|
40
|
-
function Proof(derivation) {
|
|
41
|
-
_class_call_check(this, Proof);
|
|
42
|
-
this.derivation = derivation;
|
|
43
|
-
}
|
|
44
|
-
_create_class(Proof, [
|
|
45
|
-
{
|
|
46
|
-
key: "getDerivation",
|
|
47
|
-
value: function getDerivation() {
|
|
48
|
-
return this.derivation;
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
key: "getLastProofStep",
|
|
53
|
-
value: function getLastProofStep() {
|
|
54
|
-
return this.derivation.getLastProofStep();
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
key: "getStatement",
|
|
59
|
-
value: function getStatement() {
|
|
60
|
-
var lastProofStep = this.getLastProofStep(), lastProofStepStatement = lastProofStep.getStatement(), statement = lastProofStepStatement; ///
|
|
61
|
-
return statement;
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
key: "verify",
|
|
66
|
-
value: function verify(substitutions, conclusion, context) {
|
|
67
|
-
var verified = false;
|
|
68
|
-
var localContext = _local.default.fromContext(context); ///
|
|
69
|
-
context = localContext; ///
|
|
70
|
-
var derivationVerified = this.derivation.verify(substitutions, context);
|
|
71
|
-
if (derivationVerified) {
|
|
72
|
-
var lastProofStep = context.getLastProofStep();
|
|
73
|
-
if (lastProofStep !== null) {
|
|
74
|
-
var statement = this.getStatement(), conclusionStatement = conclusion.getStatement(), conclusionStatementEqualToStatement = conclusionStatement.isEqualTo(statement);
|
|
75
|
-
if (conclusionStatementEqualToStatement) {
|
|
76
|
-
verified = true;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return verified;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
], [
|
|
84
|
-
{
|
|
85
|
-
key: "fromProofNode",
|
|
86
|
-
value: function fromProofNode(proofNode, fileContext) {
|
|
87
|
-
var proof = null;
|
|
88
|
-
if (proofNode !== null) {
|
|
89
|
-
var Derivation = _shim.default.Derivation, derivationNode = derivationNodeQuery(proofNode), derivation = Derivation.fromDerivationNode(derivationNode, fileContext);
|
|
90
|
-
proof = new Proof(derivation);
|
|
91
|
-
}
|
|
92
|
-
return proof;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
]);
|
|
96
|
-
return Proof;
|
|
97
|
-
}();
|
|
98
|
-
Object.assign(_shim.default, {
|
|
99
|
-
Proof: Proof
|
|
100
|
-
});
|
|
101
|
-
var _default = Proof;
|
|
102
|
-
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9vZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBkZXJpdmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Byb29mL2Rlcml2YXRpb25cIik7XG5cbmNsYXNzIFByb29mIHtcbiAgY29uc3RydWN0b3IoZGVyaXZhdGlvbikge1xuICAgIHRoaXMuZGVyaXZhdGlvbiA9IGRlcml2YXRpb247XG4gIH1cblxuICBnZXREZXJpdmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmRlcml2YXRpb247XG4gIH1cblxuICBnZXRMYXN0UHJvb2ZTdGVwKCkgeyByZXR1cm4gdGhpcy5kZXJpdmF0aW9uLmdldExhc3RQcm9vZlN0ZXAoKTsgfVxuXG4gIGdldFN0YXRlbWVudCgpIHtcbiAgICBjb25zdCBsYXN0UHJvb2ZTdGVwID0gdGhpcy5nZXRMYXN0UHJvb2ZTdGVwKCksXG4gICAgICAgICAgbGFzdFByb29mU3RlcFN0YXRlbWVudCA9IGxhc3RQcm9vZlN0ZXAuZ2V0U3RhdGVtZW50KCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gbGFzdFByb29mU3RlcFN0YXRlbWVudDsgLy8vXG5cbiAgICByZXR1cm4gc3RhdGVtZW50O1xuICB9XG5cbiAgdmVyaWZ5KHN1YnN0aXR1dGlvbnMsIGNvbmNsdXNpb24sIGNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tQ29udGV4dChjb250ZXh0KTsgLy8vXG5cbiAgICBjb250ZXh0ID0gbG9jYWxDb250ZXh0OyAvLy9cblxuICAgIGNvbnN0IGRlcml2YXRpb25WZXJpZmllZCA9IHRoaXMuZGVyaXZhdGlvbi52ZXJpZnkoc3Vic3RpdHV0aW9ucywgY29udGV4dCk7XG5cbiAgICBpZiAoZGVyaXZhdGlvblZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBsYXN0UHJvb2ZTdGVwID0gY29udGV4dC5nZXRMYXN0UHJvb2ZTdGVwKCk7XG5cbiAgICAgIGlmIChsYXN0UHJvb2ZTdGVwICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlbWVudCA9IHRoaXMuZ2V0U3RhdGVtZW50KCksXG4gICAgICAgICAgICAgIGNvbmNsdXNpb25TdGF0ZW1lbnQgPSBjb25jbHVzaW9uLmdldFN0YXRlbWVudCgpLFxuICAgICAgICAgICAgICBjb25jbHVzaW9uU3RhdGVtZW50RXF1YWxUb1N0YXRlbWVudCA9IGNvbmNsdXNpb25TdGF0ZW1lbnQuaXNFcXVhbFRvKHN0YXRlbWVudCk7XG5cbiAgICAgICAgaWYgKGNvbmNsdXNpb25TdGF0ZW1lbnRFcXVhbFRvU3RhdGVtZW50KSB7XG4gICAgICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIGZyb21Qcm9vZk5vZGUocHJvb2ZOb2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCBwcm9vZiA9IG51bGw7XG5cbiAgICBpZiAocHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB7IERlcml2YXRpb24gfSA9IHNoaW0sXG4gICAgICAgICAgICBkZXJpdmF0aW9uTm9kZSA9IGRlcml2YXRpb25Ob2RlUXVlcnkocHJvb2ZOb2RlKSxcbiAgICAgICAgICAgIGRlcml2YXRpb24gPSBEZXJpdmF0aW9uLmZyb21EZXJpdmF0aW9uTm9kZShkZXJpdmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICBwcm9vZiA9IG5ldyBQcm9vZihkZXJpdmF0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvb2Y7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIFByb29mXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgUHJvb2Y7XG4iXSwibmFtZXMiOlsiZGVyaXZhdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIlByb29mIiwiZGVyaXZhdGlvbiIsImdldERlcml2YXRpb24iLCJnZXRMYXN0UHJvb2ZTdGVwIiwiZ2V0U3RhdGVtZW50IiwibGFzdFByb29mU3RlcCIsImxhc3RQcm9vZlN0ZXBTdGF0ZW1lbnQiLCJzdGF0ZW1lbnQiLCJ2ZXJpZnkiLCJzdWJzdGl0dXRpb25zIiwiY29uY2x1c2lvbiIsImNvbnRleHQiLCJ2ZXJpZmllZCIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21Db250ZXh0IiwiZGVyaXZhdGlvblZlcmlmaWVkIiwiY29uY2x1c2lvblN0YXRlbWVudCIsImNvbmNsdXNpb25TdGF0ZW1lbnRFcXVhbFRvU3RhdGVtZW50IiwiaXNFcXVhbFRvIiwiZnJvbVByb29mTm9kZSIsInByb29mTm9kZSIsImZpbGVDb250ZXh0IiwicHJvb2YiLCJEZXJpdmF0aW9uIiwic2hpbSIsImRlcml2YXRpb25Ob2RlIiwiZnJvbURlcml2YXRpb25Ob2RlIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF5RUE7OztlQUFBOzs7MkRBdkVpQjs0REFDUTtxQkFFQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQSxzQkFBc0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFdEMsSUFBQSxBQUFNQyxzQkFBTjthQUFNQSxNQUNRQyxVQUFVO2dDQURsQkQ7UUFFRixJQUFJLENBQUNDLFVBQVUsR0FBR0E7O2tCQUZoQkQ7O1lBS0pFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsVUFBVTtZQUN4Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBcUIsT0FBTyxJQUFJLENBQUNGLFVBQVUsQ0FBQ0UsZ0JBQWdCO1lBQUk7OztZQUVoRUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGdCQUFnQixJQUFJLENBQUNGLGdCQUFnQixJQUNyQ0cseUJBQXlCRCxjQUFjRCxZQUFZLElBQ25ERyxZQUFZRCx3QkFBd0IsR0FBRztnQkFFN0MsT0FBT0M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxhQUFhLEVBQUVDLFVBQVUsRUFBRUMsT0FBTztnQkFDdkMsSUFBSUMsV0FBVztnQkFFZixJQUFNQyxlQUFlQyxjQUFZLENBQUNDLFdBQVcsQ0FBQ0osVUFBVSxHQUFHO2dCQUUzREEsVUFBVUUsY0FBYyxHQUFHO2dCQUUzQixJQUFNRyxxQkFBcUIsSUFBSSxDQUFDZixVQUFVLENBQUNPLE1BQU0sQ0FBQ0MsZUFBZUU7Z0JBRWpFLElBQUlLLG9CQUFvQjtvQkFDdEIsSUFBTVgsZ0JBQWdCTSxRQUFRUixnQkFBZ0I7b0JBRTlDLElBQUlFLGtCQUFrQixNQUFNO3dCQUMxQixJQUFNRSxZQUFZLElBQUksQ0FBQ0gsWUFBWSxJQUM3QmEsc0JBQXNCUCxXQUFXTixZQUFZLElBQzdDYyxzQ0FBc0NELG9CQUFvQkUsU0FBUyxDQUFDWjt3QkFFMUUsSUFBSVcscUNBQXFDOzRCQUN2Q04sV0FBVzt3QkFDYjtvQkFDRjtnQkFDRjtnQkFFQSxPQUFPQTtZQUNUOzs7O1lBRU9RLEtBQUFBO21CQUFQLFNBQU9BLGNBQWNDLFNBQVMsRUFBRUMsV0FBVztnQkFDekMsSUFBSUMsUUFBUTtnQkFFWixJQUFJRixjQUFjLE1BQU07b0JBQ3RCLElBQU0sQUFBRUcsYUFBZUMsYUFBSSxDQUFuQkQsWUFDRkUsaUJBQWlCNUIsb0JBQW9CdUIsWUFDckNwQixhQUFhdUIsV0FBV0csa0JBQWtCLENBQUNELGdCQUFnQko7b0JBRWpFQyxRQUFRLElBckRSdkIsTUFxRGtCQztnQkFDcEI7Z0JBRUEsT0FBT3NCO1lBQ1Q7OztXQXpESXZCOztBQTRETjRCLE9BQU9DLE1BQU0sQ0FBQ0osYUFBSSxFQUFFO0lBQ2xCekIsT0FBQUE7QUFDRjtJQUVBLFdBQWVBIn0=
|
package/lib/proofStep.js
DELETED
|
@@ -1,179 +0,0 @@
|
|
|
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 _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
|
|
12
|
-
var _query = require("./utilities/query");
|
|
13
|
-
var _assignments = require("./utilities/assignments");
|
|
14
|
-
function _class_call_check(instance, Constructor) {
|
|
15
|
-
if (!(instance instanceof Constructor)) {
|
|
16
|
-
throw new TypeError("Cannot call a class as a function");
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function _defineProperties(target, props) {
|
|
20
|
-
for(var i = 0; i < props.length; i++){
|
|
21
|
-
var descriptor = props[i];
|
|
22
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
-
descriptor.configurable = true;
|
|
24
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
29
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
-
return Constructor;
|
|
32
|
-
}
|
|
33
|
-
function _interop_require_default(obj) {
|
|
34
|
-
return obj && obj.__esModule ? obj : {
|
|
35
|
-
default: obj
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
var subproofNodeQuery = (0, _query.nodeQuery)("/proofStep/subproof"), statementNodeQuery = (0, _query.nodeQuery)("/proofStep|lastProofStep/statement"), referenceNodeQuery = (0, _query.nodeQuery)("/proofStep|lastProofStep/reference");
|
|
39
|
-
var ProofStep = /*#__PURE__*/ function() {
|
|
40
|
-
function ProofStep(subproof, statement, reference) {
|
|
41
|
-
_class_call_check(this, ProofStep);
|
|
42
|
-
this.subproof = subproof;
|
|
43
|
-
this.statement = statement;
|
|
44
|
-
this.reference = reference;
|
|
45
|
-
}
|
|
46
|
-
_create_class(ProofStep, [
|
|
47
|
-
{
|
|
48
|
-
key: "getSubproof",
|
|
49
|
-
value: function getSubproof() {
|
|
50
|
-
return this.subproof;
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
key: "getQualifiedStatement",
|
|
55
|
-
value: function getQualifiedStatement() {
|
|
56
|
-
return this.qualifiedStatement;
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
key: "getUnqualifiedStatement",
|
|
61
|
-
value: function getUnqualifiedStatement() {
|
|
62
|
-
return this.unqualifiedStatement;
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
key: "getStatement",
|
|
67
|
-
value: function getStatement() {
|
|
68
|
-
var statement = null;
|
|
69
|
-
if (this.qualifiedStatement !== null) {
|
|
70
|
-
statement = this.qualifiedStatement.getStatement();
|
|
71
|
-
}
|
|
72
|
-
if (this.unqualifiedStatement !== null) {
|
|
73
|
-
statement = this.unqualifiedStatement.getStatement();
|
|
74
|
-
}
|
|
75
|
-
return statement;
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
key: "unifyStatement",
|
|
80
|
-
value: function unifyStatement(statement, context) {
|
|
81
|
-
var statementUnified = false;
|
|
82
|
-
if (this.qualifiedStatement !== null || this.unqualifiedStatement !== null) {
|
|
83
|
-
var statementString = statement.getString();
|
|
84
|
-
context.trace("Unifying the '".concat(statementString, "' statement..."));
|
|
85
|
-
var Substitutions = _shim.default.Substitutions, specificContext = context, generalContext = context, substitutions = Substitutions.fromNothing();
|
|
86
|
-
if (this.qualifiedStatement !== null) {
|
|
87
|
-
statementUnified = this.qualifiedStatement.unifyStatement(statement, substitutions, generalContext, specificContext);
|
|
88
|
-
}
|
|
89
|
-
if (this.unqualifiedStatement !== null) {
|
|
90
|
-
statementUnified = this.unqualifiedStatement.unifyStatement(statement, substitutions, generalContext, specificContext);
|
|
91
|
-
}
|
|
92
|
-
var substitutionsLength = substitutions.getLength();
|
|
93
|
-
if (substitutionsLength > 0) {
|
|
94
|
-
statementUnified = false;
|
|
95
|
-
}
|
|
96
|
-
if (statementUnified) {
|
|
97
|
-
context.debug("...unified the '".concat(statementString, "' statement."));
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return statementUnified;
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
key: "unifySubproofAssertion",
|
|
105
|
-
value: function unifySubproofAssertion(subproofAssertion, context) {
|
|
106
|
-
var subproofAssertionUnified = false;
|
|
107
|
-
if (this.subproof !== null) {
|
|
108
|
-
var subproofAssertionString = subproofAssertion.getString();
|
|
109
|
-
context.trace("Unifying the '".concat(subproofAssertionString, "' subproof assertion..."));
|
|
110
|
-
var Substitutions = _shim.default.Substitutions, specificContext = context, generalContext = context, substitutions = Substitutions.fromNothing();
|
|
111
|
-
subproofAssertionUnified = this.subproof.unifySubproofAssertion(subproofAssertion, substitutions, generalContext, specificContext);
|
|
112
|
-
if (subproofAssertionUnified) {
|
|
113
|
-
var substitutionsLength = substitutions.getLength();
|
|
114
|
-
if (substitutionsLength > 0) {
|
|
115
|
-
subproofAssertionUnified = false;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
if (subproofAssertionUnified) {
|
|
119
|
-
context.debug("...unified the '".concat(subproofAssertionString, "' subproof assertion."));
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return subproofAssertionUnified;
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
key: "verify",
|
|
127
|
-
value: function verify(substitutions, context) {
|
|
128
|
-
var verified = false;
|
|
129
|
-
var stated = false;
|
|
130
|
-
var assignments = [];
|
|
131
|
-
var subproofVerified = false, qualifiedStatementVerified = false, unqualifiedStatementVerified = false;
|
|
132
|
-
if (this.subproof !== null) {
|
|
133
|
-
subproofVerified = this.subproof.verify(substitutions, context);
|
|
134
|
-
}
|
|
135
|
-
if (this.qualifiedStatement !== null) {
|
|
136
|
-
stated = true;
|
|
137
|
-
qualifiedStatementVerified = this.qualifiedStatement.verify(substitutions, assignments, stated, context);
|
|
138
|
-
}
|
|
139
|
-
if (this.unqualifiedStatement !== null) {
|
|
140
|
-
stated = false;
|
|
141
|
-
unqualifiedStatementVerified = this.unqualifiedStatement.verify(assignments, stated, context);
|
|
142
|
-
}
|
|
143
|
-
if (subproofVerified || qualifiedStatementVerified || unqualifiedStatementVerified) {
|
|
144
|
-
var assignmentsAssigned = (0, _assignments.assignAssignments)(assignments, context);
|
|
145
|
-
if (assignmentsAssigned) {
|
|
146
|
-
verified = true;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
if (verified) {
|
|
150
|
-
var proofStep = this; ///
|
|
151
|
-
context.addProofStep(proofStep);
|
|
152
|
-
}
|
|
153
|
-
return verified;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
], [
|
|
157
|
-
{
|
|
158
|
-
key: "fromProofStepNode",
|
|
159
|
-
value: function fromProofStepNode(proofStepNode, fileContext) {
|
|
160
|
-
var Subproof = _shim.default.Subproof, QualifiedStatement = _shim.default.QualifiedStatement, UnqualifiedStatement = _shim.default.UnqualifiedStatement, subproofNode = subproofNodeQuery(proofStepNode), qualifiedStatementNode = qualifiedStatementNodeQuery(proofStepNode), unqualifiedStatementNode = unqualifiedStatementNodeQuery(proofStepNode), subproof = Subproof.fromSubproofNode(subproofNode, fileContext), qualifiedStatement = QualifiedStatement.fromQualifiedStatementNode(qualifiedStatementNode, fileContext), unqualifiedStatement = UnqualifiedStatement.fromUnqualifiedStatementNode(unqualifiedStatementNode, fileContext), proofStep = new ProofStep(subproof, qualifiedStatement, unqualifiedStatement);
|
|
161
|
-
return proofStep;
|
|
162
|
-
}
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
key: "fromUnqualifiedStatement",
|
|
166
|
-
value: function fromUnqualifiedStatement(unqualifiedStatement) {
|
|
167
|
-
var subproof = null, qualifiedStatement = null, proofStep = new ProofStep(subproof, qualifiedStatement, unqualifiedStatement);
|
|
168
|
-
return proofStep;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
]);
|
|
172
|
-
return ProofStep;
|
|
173
|
-
}();
|
|
174
|
-
Object.assign(_shim.default, {
|
|
175
|
-
ProofStep: ProofStep
|
|
176
|
-
});
|
|
177
|
-
var _default = ProofStep;
|
|
178
|
-
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9vZlN0ZXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuL3NoaW1cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBhc3NpZ25Bc3NpZ25tZW50cyB9IGZyb20gXCIuL3V0aWxpdGllcy9hc3NpZ25tZW50c1wiO1xuXG5jb25zdCBzdWJwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9vZlN0ZXAvc3VicHJvb2ZcIiksXG4gICAgICBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJvb2ZTdGVwfGxhc3RQcm9vZlN0ZXAvc3RhdGVtZW50XCIpLFxuICAgICAgcmVmZXJlbmNlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Byb29mU3RlcHxsYXN0UHJvb2ZTdGVwL3JlZmVyZW5jZVwiKTtcblxuY2xhc3MgUHJvb2ZTdGVwIHtcbiAgY29uc3RydWN0b3Ioc3VicHJvb2YsIHN0YXRlbWVudCwgcmVmZXJlbmNlKSB7XG4gICAgdGhpcy5zdWJwcm9vZiA9IHN1YnByb29mO1xuICAgIHRoaXMuc3RhdGVtZW50ID0gc3RhdGVtZW50O1xuICAgIHRoaXMucmVmZXJlbmNlID0gcmVmZXJlbmNlO1xuICB9XG5cbiAgZ2V0U3VicHJvb2YoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VicHJvb2Y7XG4gIH1cblxuICBnZXRRdWFsaWZpZWRTdGF0ZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMucXVhbGlmaWVkU3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0VW5xdWFsaWZpZWRTdGF0ZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnQoKSB7XG4gICAgbGV0IHN0YXRlbWVudCA9IG51bGw7XG5cbiAgICBpZiAodGhpcy5xdWFsaWZpZWRTdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIHN0YXRlbWVudCA9IHRoaXMucXVhbGlmaWVkU3RhdGVtZW50LmdldFN0YXRlbWVudCgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBzdGF0ZW1lbnQgPSB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50LmdldFN0YXRlbWVudCgpO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnQ7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllZCA9IGZhbHNlO1xuXG4gICAgaWYgKCh0aGlzLnF1YWxpZmllZFN0YXRlbWVudCAhPT0gbnVsbCkgfHwgKHRoaXMudW5xdWFsaWZpZWRTdGF0ZW1lbnQgIT09IG51bGwpKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuLi5gKTtcblxuICAgICAgY29uc3QgeyBTdWJzdGl0dXRpb25zIH0gPSBzaGltLFxuICAgICAgICAgICAgc3BlY2lmaWNDb250ZXh0ID0gY29udGV4dCwgLy8vXG4gICAgICAgICAgICBnZW5lcmFsQ29udGV4dCA9IGNvbnRleHQsIC8vL1xuICAgICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKTtcblxuICAgICAgaWYgKHRoaXMucXVhbGlmaWVkU3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICAgIHN0YXRlbWVudFVuaWZpZWQgPSB0aGlzLnF1YWxpZmllZFN0YXRlbWVudC51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy51bnF1YWxpZmllZFN0YXRlbWVudCAhPT0gbnVsbCkge1xuICAgICAgICBzdGF0ZW1lbnRVbmlmaWVkID0gdGhpcy51bnF1YWxpZmllZFN0YXRlbWVudC51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25zTGVuZ3RoID0gc3Vic3RpdHV0aW9ucy5nZXRMZW5ndGgoKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbnNMZW5ndGggPiAwKSB7XG4gICAgICAgIHN0YXRlbWVudFVuaWZpZWQgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50LmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlTdWJwcm9vZkFzc2VydGlvbihzdWJwcm9vZkFzc2VydGlvbiwgY29udGV4dCkge1xuICAgIGxldCBzdWJwcm9vZkFzc2VydGlvblVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLnN1YnByb29mICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJwcm9vZkFzc2VydGlvblN0cmluZyA9IHN1YnByb29mQXNzZXJ0aW9uLmdldFN0cmluZygpO1xuXG4gICAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3VicHJvb2ZBc3NlcnRpb25TdHJpbmd9JyBzdWJwcm9vZiBhc3NlcnRpb24uLi5gKTtcblxuICAgICAgY29uc3QgeyBTdWJzdGl0dXRpb25zIH0gPSBzaGltLFxuICAgICAgICAgICAgc3BlY2lmaWNDb250ZXh0ID0gY29udGV4dCwgLy8vXG4gICAgICAgICAgICBnZW5lcmFsQ29udGV4dCA9IGNvbnRleHQsIC8vL1xuICAgICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKTtcblxuICAgICAgc3VicHJvb2ZBc3NlcnRpb25VbmlmaWVkID0gdGhpcy5zdWJwcm9vZi51bmlmeVN1YnByb29mQXNzZXJ0aW9uKHN1YnByb29mQXNzZXJ0aW9uLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgICAgaWYgKHN1YnByb29mQXNzZXJ0aW9uVW5pZmllZCkge1xuICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25zTGVuZ3RoID0gc3Vic3RpdHV0aW9ucy5nZXRMZW5ndGgoKTtcblxuICAgICAgICBpZiAoc3Vic3RpdHV0aW9uc0xlbmd0aCA+IDApIHtcbiAgICAgICAgICBzdWJwcm9vZkFzc2VydGlvblVuaWZpZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc3VicHJvb2ZBc3NlcnRpb25VbmlmaWVkKSB7XG4gICAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N1YnByb29mQXNzZXJ0aW9uU3RyaW5nfScgc3VicHJvb2YgYXNzZXJ0aW9uLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdWJwcm9vZkFzc2VydGlvblVuaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnkoc3Vic3RpdHV0aW9ucywgY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgbGV0IHN0YXRlZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgYXNzaWdubWVudHMgPSBbXTtcblxuICAgIGxldCBzdWJwcm9vZlZlcmlmaWVkID0gZmFsc2UsXG4gICAgICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2UsXG4gICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLnN1YnByb29mICE9PSBudWxsKSB7XG4gICAgICBzdWJwcm9vZlZlcmlmaWVkID0gdGhpcy5zdWJwcm9vZi52ZXJpZnkoc3Vic3RpdHV0aW9ucywgY29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucXVhbGlmaWVkU3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBzdGF0ZWQgPSB0cnVlO1xuXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHRoaXMucXVhbGlmaWVkU3RhdGVtZW50LnZlcmlmeShzdWJzdGl0dXRpb25zLCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy51bnF1YWxpZmllZFN0YXRlbWVudCAhPT0gbnVsbCkge1xuICAgICAgc3RhdGVkID0gZmFsc2U7XG5cbiAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB0aGlzLnVucXVhbGlmaWVkU3RhdGVtZW50LnZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAoc3VicHJvb2ZWZXJpZmllZCB8fCBxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCB8fCB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBhc3NpZ25tZW50c0Fzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudHMoYXNzaWdubWVudHMsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoYXNzaWdubWVudHNBc3NpZ25lZCkge1xuICAgICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBwcm9vZlN0ZXAgPSB0aGlzOyAvLy9cblxuICAgICAgY29udGV4dC5hZGRQcm9vZlN0ZXAocHJvb2ZTdGVwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVByb29mU3RlcE5vZGUocHJvb2ZTdGVwTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IFN1YnByb29mLCBRdWFsaWZpZWRTdGF0ZW1lbnQsIFVucXVhbGlmaWVkU3RhdGVtZW50IH0gPSBzaGltLFxuICAgICAgICAgIHN1YnByb29mTm9kZSA9IHN1YnByb29mTm9kZVF1ZXJ5KHByb29mU3RlcE5vZGUpLFxuICAgICAgICAgIHF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkocHJvb2ZTdGVwTm9kZSksXG4gICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkocHJvb2ZTdGVwTm9kZSksXG4gICAgICAgICAgc3VicHJvb2YgPSBTdWJwcm9vZi5mcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHF1YWxpZmllZFN0YXRlbWVudCA9IFF1YWxpZmllZFN0YXRlbWVudC5mcm9tUXVhbGlmaWVkU3RhdGVtZW50Tm9kZShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnQgPSBVbnF1YWxpZmllZFN0YXRlbWVudC5mcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHByb29mU3RlcCA9IG5ldyBQcm9vZlN0ZXAoc3VicHJvb2YsIHF1YWxpZmllZFN0YXRlbWVudCwgdW5xdWFsaWZpZWRTdGF0ZW1lbnQpO1xuXG4gICAgcmV0dXJuIHByb29mU3RlcDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnQpIHtcbiAgICBjb25zdCBzdWJwcm9vZiA9IG51bGwsXG4gICAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50ID0gbnVsbCxcbiAgICAgICAgICBwcm9vZlN0ZXAgPSBuZXcgUHJvb2ZTdGVwKHN1YnByb29mLCBxdWFsaWZpZWRTdGF0ZW1lbnQsIHVucXVhbGlmaWVkU3RhdGVtZW50KTtcblxuICAgIHJldHVybiBwcm9vZlN0ZXA7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIFByb29mU3RlcFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IFByb29mU3RlcDsiXSwibmFtZXMiOlsic3VicHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJyZWZlcmVuY2VOb2RlUXVlcnkiLCJQcm9vZlN0ZXAiLCJzdWJwcm9vZiIsInN0YXRlbWVudCIsInJlZmVyZW5jZSIsImdldFN1YnByb29mIiwiZ2V0UXVhbGlmaWVkU3RhdGVtZW50IiwicXVhbGlmaWVkU3RhdGVtZW50IiwiZ2V0VW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudCIsImdldFN0YXRlbWVudCIsInVuaWZ5U3RhdGVtZW50IiwiY29udGV4dCIsInN0YXRlbWVudFVuaWZpZWQiLCJzdGF0ZW1lbnRTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsIlN1YnN0aXR1dGlvbnMiLCJzaGltIiwic3BlY2lmaWNDb250ZXh0IiwiZ2VuZXJhbENvbnRleHQiLCJzdWJzdGl0dXRpb25zIiwiZnJvbU5vdGhpbmciLCJzdWJzdGl0dXRpb25zTGVuZ3RoIiwiZ2V0TGVuZ3RoIiwiZGVidWciLCJ1bmlmeVN1YnByb29mQXNzZXJ0aW9uIiwic3VicHJvb2ZBc3NlcnRpb24iLCJzdWJwcm9vZkFzc2VydGlvblVuaWZpZWQiLCJzdWJwcm9vZkFzc2VydGlvblN0cmluZyIsInZlcmlmeSIsInZlcmlmaWVkIiwic3RhdGVkIiwiYXNzaWdubWVudHMiLCJzdWJwcm9vZlZlcmlmaWVkIiwicXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwiYXNzaWdubWVudHNBc3NpZ25lZCIsImFzc2lnbkFzc2lnbm1lbnRzIiwicHJvb2ZTdGVwIiwiYWRkUHJvb2ZTdGVwIiwiZnJvbVByb29mU3RlcE5vZGUiLCJwcm9vZlN0ZXBOb2RlIiwiZmlsZUNvbnRleHQiLCJTdWJwcm9vZiIsIlF1YWxpZmllZFN0YXRlbWVudCIsIlVucXVhbGlmaWVkU3RhdGVtZW50Iiwic3VicHJvb2ZOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwiZnJvbVN1YnByb29mTm9kZSIsImZyb21RdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwiZnJvbVVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsImZyb21VbnF1YWxpZmllZFN0YXRlbWVudCIsIk9iamVjdCIsImFzc2lnbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBb0xBOzs7ZUFBQTs7OzJEQWxMaUI7cUJBRVM7MkJBQ1E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEMsSUFBTUEsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDLHdCQUM5QkMscUJBQXFCRCxJQUFBQSxnQkFBUyxFQUFDLHVDQUMvQkUscUJBQXFCRixJQUFBQSxnQkFBUyxFQUFDO0FBRXJDLElBQUEsQUFBTUcsMEJBQU47YUFBTUEsVUFDUUMsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLFNBQVM7Z0NBRHRDSDtRQUVGLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxTQUFTLEdBQUdBOztrQkFKZkg7O1lBT0pJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsUUFBUTtZQUN0Qjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0Msa0JBQWtCO1lBQ2hDOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDQyxvQkFBb0I7WUFDbEM7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSVAsWUFBWTtnQkFFaEIsSUFBSSxJQUFJLENBQUNJLGtCQUFrQixLQUFLLE1BQU07b0JBQ3BDSixZQUFZLElBQUksQ0FBQ0ksa0JBQWtCLENBQUNHLFlBQVk7Z0JBQ2xEO2dCQUVBLElBQUksSUFBSSxDQUFDRCxvQkFBb0IsS0FBSyxNQUFNO29CQUN0Q04sWUFBWSxJQUFJLENBQUNNLG9CQUFvQixDQUFDQyxZQUFZO2dCQUNwRDtnQkFFQSxPQUFPUDtZQUNUOzs7WUFFQVEsS0FBQUE7bUJBQUFBLFNBQUFBLGVBQWVSLFNBQVMsRUFBRVMsT0FBTztnQkFDL0IsSUFBSUMsbUJBQW1CO2dCQUV2QixJQUFJLEFBQUMsSUFBSSxDQUFDTixrQkFBa0IsS0FBSyxRQUFVLElBQUksQ0FBQ0Usb0JBQW9CLEtBQUssTUFBTztvQkFDOUUsSUFBTUssa0JBQWtCWCxVQUFVWSxTQUFTO29CQUUzQ0gsUUFBUUksS0FBSyxDQUFDLEFBQUMsaUJBQWdDLE9BQWhCRixpQkFBZ0I7b0JBRS9DLElBQU0sQUFBRUcsZ0JBQWtCQyxhQUFJLENBQXRCRCxlQUNGRSxrQkFBa0JQLFNBQ2xCUSxpQkFBaUJSLFNBQ2pCUyxnQkFBZ0JKLGNBQWNLLFdBQVc7b0JBRS9DLElBQUksSUFBSSxDQUFDZixrQkFBa0IsS0FBSyxNQUFNO3dCQUNwQ00sbUJBQW1CLElBQUksQ0FBQ04sa0JBQWtCLENBQUNJLGNBQWMsQ0FBQ1IsV0FBV2tCLGVBQWVELGdCQUFnQkQ7b0JBQ3RHO29CQUVBLElBQUksSUFBSSxDQUFDVixvQkFBb0IsS0FBSyxNQUFNO3dCQUN0Q0ksbUJBQW1CLElBQUksQ0FBQ0osb0JBQW9CLENBQUNFLGNBQWMsQ0FBQ1IsV0FBV2tCLGVBQWVELGdCQUFnQkQ7b0JBQ3hHO29CQUVBLElBQU1JLHNCQUFzQkYsY0FBY0csU0FBUztvQkFFbkQsSUFBSUQsc0JBQXNCLEdBQUc7d0JBQzNCVixtQkFBbUI7b0JBQ3JCO29CQUVBLElBQUlBLGtCQUFrQjt3QkFDcEJELFFBQVFhLEtBQUssQ0FBQyxBQUFDLG1CQUFrQyxPQUFoQlgsaUJBQWdCO29CQUNuRDtnQkFDRjtnQkFFQSxPQUFPRDtZQUNUOzs7WUFFQWEsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QkMsaUJBQWlCLEVBQUVmLE9BQU87Z0JBQy9DLElBQUlnQiwyQkFBMkI7Z0JBRS9CLElBQUksSUFBSSxDQUFDMUIsUUFBUSxLQUFLLE1BQU07b0JBQzFCLElBQU0yQiwwQkFBMEJGLGtCQUFrQlosU0FBUztvQkFFM0RILFFBQVFJLEtBQUssQ0FBQyxBQUFDLGlCQUF3QyxPQUF4QmEseUJBQXdCO29CQUV2RCxJQUFNLEFBQUVaLGdCQUFrQkMsYUFBSSxDQUF0QkQsZUFDRkUsa0JBQWtCUCxTQUNsQlEsaUJBQWlCUixTQUNqQlMsZ0JBQWdCSixjQUFjSyxXQUFXO29CQUUvQ00sMkJBQTJCLElBQUksQ0FBQzFCLFFBQVEsQ0FBQ3dCLHNCQUFzQixDQUFDQyxtQkFBbUJOLGVBQWVELGdCQUFnQkQ7b0JBRWxILElBQUlTLDBCQUEwQjt3QkFDNUIsSUFBTUwsc0JBQXNCRixjQUFjRyxTQUFTO3dCQUVuRCxJQUFJRCxzQkFBc0IsR0FBRzs0QkFDM0JLLDJCQUEyQjt3QkFDN0I7b0JBQ0Y7b0JBRUEsSUFBSUEsMEJBQTBCO3dCQUM1QmhCLFFBQVFhLEtBQUssQ0FBQyxBQUFDLG1CQUEwQyxPQUF4QkkseUJBQXdCO29CQUMzRDtnQkFDRjtnQkFFQSxPQUFPRDtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9ULGFBQWEsRUFBRVQsT0FBTztnQkFDM0IsSUFBSW1CLFdBQVc7Z0JBRWYsSUFBSUMsU0FBUztnQkFFYixJQUFNQyxjQUFjLEVBQUU7Z0JBRXRCLElBQUlDLG1CQUFtQixPQUNuQkMsNkJBQTZCLE9BQzdCQywrQkFBK0I7Z0JBRW5DLElBQUksSUFBSSxDQUFDbEMsUUFBUSxLQUFLLE1BQU07b0JBQzFCZ0MsbUJBQW1CLElBQUksQ0FBQ2hDLFFBQVEsQ0FBQzRCLE1BQU0sQ0FBQ1QsZUFBZVQ7Z0JBQ3pEO2dCQUVBLElBQUksSUFBSSxDQUFDTCxrQkFBa0IsS0FBSyxNQUFNO29CQUNwQ3lCLFNBQVM7b0JBRVRHLDZCQUE2QixJQUFJLENBQUM1QixrQkFBa0IsQ0FBQ3VCLE1BQU0sQ0FBQ1QsZUFBZVksYUFBYUQsUUFBUXBCO2dCQUNsRztnQkFFQSxJQUFJLElBQUksQ0FBQ0gsb0JBQW9CLEtBQUssTUFBTTtvQkFDdEN1QixTQUFTO29CQUVUSSwrQkFBK0IsSUFBSSxDQUFDM0Isb0JBQW9CLENBQUNxQixNQUFNLENBQUNHLGFBQWFELFFBQVFwQjtnQkFDdkY7Z0JBRUEsSUFBSXNCLG9CQUFvQkMsOEJBQThCQyw4QkFBOEI7b0JBQ2xGLElBQU1DLHNCQUFzQkMsSUFBQUEsOEJBQWlCLEVBQUNMLGFBQWFyQjtvQkFFM0QsSUFBSXlCLHFCQUFxQjt3QkFDdkJOLFdBQVc7b0JBQ2I7Z0JBQ0Y7Z0JBRUEsSUFBSUEsVUFBVTtvQkFDWixJQUFNUSxZQUFZLElBQUksRUFBRSxHQUFHO29CQUUzQjNCLFFBQVE0QixZQUFZLENBQUNEO2dCQUN2QjtnQkFFQSxPQUFPUjtZQUNUOzs7O1lBRU9VLEtBQUFBO21CQUFQLFNBQU9BLGtCQUFrQkMsYUFBYSxFQUFFQyxXQUFXO2dCQUNqRCxJQUFRQyxXQUF1RDFCLGFBQUksQ0FBM0QwQixVQUFVQyxxQkFBNkMzQixhQUFJLENBQWpEMkIsb0JBQW9CQyx1QkFBeUI1QixhQUFJLENBQTdCNEIsc0JBQ2hDQyxlQUFlbEQsa0JBQWtCNkMsZ0JBQ2pDTSx5QkFBeUJDLDRCQUE0QlAsZ0JBQ3JEUSwyQkFBMkJDLDhCQUE4QlQsZ0JBQ3pEeEMsV0FBVzBDLFNBQVNRLGdCQUFnQixDQUFDTCxjQUFjSixjQUNuRHBDLHFCQUFxQnNDLG1CQUFtQlEsMEJBQTBCLENBQUNMLHdCQUF3QkwsY0FDM0ZsQyx1QkFBdUJxQyxxQkFBcUJRLDRCQUE0QixDQUFDSiwwQkFBMEJQLGNBQ25HSixZQUFZLElBdkpoQnRDLFVBdUo4QkMsVUFBVUssb0JBQW9CRTtnQkFFOUQsT0FBTzhCO1lBQ1Q7OztZQUVPZ0IsS0FBQUE7bUJBQVAsU0FBT0EseUJBQXlCOUMsb0JBQW9CO2dCQUNsRCxJQUFNUCxXQUFXLE1BQ1hLLHFCQUFxQixNQUNyQmdDLFlBQVksSUEvSmhCdEMsVUErSjhCQyxVQUFVSyxvQkFBb0JFO2dCQUU5RCxPQUFPOEI7WUFDVDs7O1dBbEtJdEM7O0FBcUtOdUQsT0FBT0MsTUFBTSxDQUFDdkMsYUFBSSxFQUFFO0lBQ2xCakIsV0FBQUE7QUFDRjtJQUVBLFdBQWVBIn0=
|