occam-verify-cli 0.0.678 → 0.0.680
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 +13 -3
- package/lib/axiomLemmaTheoremConjecture.js +3 -3
- package/lib/conclusion.js +16 -5
- package/lib/consequent.js +11 -3
- package/lib/context/file.js +73 -3
- package/lib/context/release.js +7 -2
- package/lib/equality.js +13 -199
- package/lib/premise.js +24 -7
- package/lib/supposition.js +15 -4
- package/lib/type.js +3 -8
- package/lib/utilities/array.js +5 -2
- package/lib/utilities/string.js +26 -13
- package/lib/verifier/node/metastatement.js +176 -0
- package/lib/verifier/node/statementAsCombinator.js +186 -0
- package/lib/verifier/node/termAsConstructor.js +224 -0
- package/lib/verifier/node.js +158 -0
- package/lib/verifier/nodes/equality.js +155 -0
- package/lib/verifier/{metastatementForMetavariable → nodes/metastatementForMetavariable}/conclusion.js +13 -12
- package/lib/verifier/{metastatementForMetavariable → nodes/metastatementForMetavariable}/premise.js +13 -12
- package/lib/verifier/nodes/metastatementForMetavariable.js +198 -0
- package/lib/verifier/nodes/statement.js +200 -0
- package/lib/verifier/{statementForMetavariable → nodes/statementForMetavariable}/conclusion.js +13 -12
- package/lib/verifier/{statementForMetavariable → nodes/statementForMetavariable}/premise.js +13 -12
- package/lib/verifier/nodes/statementForMetavariable.js +203 -0
- package/lib/verifier/nodes/term.js +210 -0
- package/lib/verifier/{termForVariable/supposition.js → nodes/termForVariable/consequent.js} +13 -12
- package/lib/verifier/{termForVariable/consequent.js → nodes/termForVariable/supposition.js} +13 -12
- package/lib/verifier/nodes/termForVariable.js +217 -0
- package/lib/verifier/nodes.js +175 -0
- package/lib/verify/axiom.js +3 -3
- package/lib/verify/conclusion.js +3 -3
- package/lib/verify/conjecture.js +3 -3
- package/lib/verify/consequent.js +3 -3
- package/lib/verify/declaration/combinator.js +7 -2
- package/lib/verify/declaration/constructor.js +8 -2
- package/lib/verify/declaration/metavariable.js +7 -2
- package/lib/verify/declaration/type.js +7 -2
- package/lib/verify/declaration/variable.js +8 -2
- package/lib/verify/file.js +3 -3
- package/lib/verify/label.js +9 -4
- package/lib/verify/lemma.js +3 -3
- package/lib/verify/metastatement/qualified.js +5 -6
- package/lib/verify/metastatement/unqualified.js +9 -7
- package/lib/verify/metastatement.js +36 -156
- package/lib/verify/metavariable.js +6 -4
- package/lib/verify/premise.js +3 -3
- package/lib/verify/release.js +3 -3
- package/lib/verify/rule.js +3 -3
- package/lib/verify/statement/qualified.js +5 -6
- package/lib/verify/statement/unqualified.js +9 -7
- package/lib/verify/statement.js +86 -332
- package/lib/verify/statementAsCombinator.js +8 -82
- package/lib/verify/supposition.js +3 -3
- package/lib/verify/term.js +79 -215
- package/lib/verify/termAsConstructor.js +15 -89
- package/lib/verify/terms.js +45 -0
- package/lib/verify/theorem.js +3 -3
- package/lib/verify/type.js +7 -5
- package/lib/verify/typeAssertion.js +124 -0
- package/lib/verify/variable.js +7 -5
- package/package.json +5 -5
- package/src/axiomLemmaTheoremConjecture.js +2 -2
- package/src/conclusion.js +13 -4
- package/src/consequent.js +9 -2
- package/src/context/file.js +9 -2
- package/src/context/release.js +9 -2
- package/src/equality.js +17 -143
- package/src/premise.js +23 -6
- package/src/supposition.js +12 -3
- package/src/type.js +3 -8
- package/src/utilities/array.js +1 -1
- package/src/utilities/string.js +34 -23
- package/src/verifier/node/metastatement.js +61 -0
- package/src/verifier/node/statementAsCombinator.js +80 -0
- package/src/verifier/node/termAsConstructor.js +124 -0
- package/src/verifier/node.js +85 -0
- package/src/verifier/nodes/equality.js +68 -0
- package/src/verifier/nodes/metastatementForMetavariable/conclusion.js +11 -0
- package/src/verifier/nodes/metastatementForMetavariable/premise.js +11 -0
- package/src/verifier/{metastatementForMetavariable.js → nodes/metastatementForMetavariable.js} +13 -13
- package/src/verifier/nodes/statement.js +100 -0
- package/src/verifier/nodes/statementForMetavariable/conclusion.js +11 -0
- package/src/verifier/nodes/statementForMetavariable/premise.js +11 -0
- package/src/verifier/{statementForMetavariable.js → nodes/statementForMetavariable.js} +10 -10
- package/src/verifier/nodes/term.js +106 -0
- package/src/verifier/nodes/termForVariable/consequent.js +11 -0
- package/src/verifier/nodes/termForVariable/supposition.js +11 -0
- package/src/verifier/{termForVariable.js → nodes/termForVariable.js} +42 -30
- package/src/verifier/nodes.js +111 -0
- package/src/verify/axiom.js +2 -2
- package/src/verify/conclusion.js +2 -2
- package/src/verify/conjecture.js +2 -2
- package/src/verify/consequent.js +2 -2
- package/src/verify/declaration/combinator.js +9 -1
- package/src/verify/declaration/constructor.js +15 -1
- package/src/verify/declaration/metavariable.js +9 -1
- package/src/verify/declaration/type.js +14 -1
- package/src/verify/declaration/variable.js +15 -1
- package/src/verify/file.js +2 -2
- package/src/verify/label.js +10 -2
- package/src/verify/lemma.js +4 -4
- package/src/verify/metastatement/qualified.js +4 -6
- package/src/verify/metastatement/unqualified.js +9 -7
- package/src/verify/metastatement.js +35 -56
- package/src/verify/metavariable.js +6 -3
- package/src/verify/premise.js +2 -2
- package/src/verify/release.js +2 -2
- package/src/verify/rule.js +2 -2
- package/src/verify/statement/qualified.js +4 -6
- package/src/verify/statement/unqualified.js +9 -7
- package/src/verify/statement.js +109 -302
- package/src/verify/statementAsCombinator.js +9 -129
- package/src/verify/supposition.js +2 -2
- package/src/verify/term.js +99 -156
- package/src/verify/termAsConstructor.js +20 -135
- package/src/verify/terms.js +54 -0
- package/src/verify/theorem.js +2 -2
- package/src/verify/type.js +7 -4
- package/src/verify/typeAssertion.js +164 -0
- package/src/verify/variable.js +7 -4
- package/lib/node/statement/combinator/equality.js +0 -21
- package/lib/ocmbinator/equality.js +0 -126
- package/lib/tokens/statement/combinator/equality.js +0 -17
- package/lib/verifier/metastatementForMetavariable.js +0 -198
- package/lib/verifier/statementForMetavariable.js +0 -203
- package/lib/verifier/termForVariable.js +0 -209
- package/lib/verifier.js +0 -138
- package/lib/verify/assertion/type.js +0 -115
- package/lib/verify/typeInference.js +0 -132
- package/src/node/statement/combinator/equality.js +0 -9
- package/src/ocmbinator/equality.js +0 -23
- package/src/tokens/statement/combinator/equality.js +0 -10
- package/src/verifier/metastatementForMetavariable/conclusion.js +0 -9
- package/src/verifier/metastatementForMetavariable/premise.js +0 -9
- package/src/verifier/statementForMetavariable/conclusion.js +0 -9
- package/src/verifier/statementForMetavariable/premise.js +0 -9
- package/src/verifier/termForVariable/consequent.js +0 -9
- package/src/verifier/termForVariable/supposition.js +0 -9
- package/src/verifier.js +0 -74
- package/src/verify/assertion/type.js +0 -153
- package/src/verify/typeInference.js +0 -146
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
default: function() {
|
|
13
|
+
return _default;
|
|
14
|
+
},
|
|
15
|
+
verifyArgument: function() {
|
|
16
|
+
return verifyArgument;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _nodes = /*#__PURE__*/ _interop_require_default(require("../../verifier/nodes"));
|
|
20
|
+
var _array = require("../../utilities/array");
|
|
21
|
+
var _ruleNames = require("../../ruleNames");
|
|
22
|
+
var _query = require("../../utilities/query");
|
|
23
|
+
function _assert_this_initialized(self) {
|
|
24
|
+
if (self === void 0) {
|
|
25
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
26
|
+
}
|
|
27
|
+
return self;
|
|
28
|
+
}
|
|
29
|
+
function _class_call_check(instance, Constructor) {
|
|
30
|
+
if (!(instance instanceof Constructor)) {
|
|
31
|
+
throw new TypeError("Cannot call a class as a function");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function _defineProperties(target, props) {
|
|
35
|
+
for(var i = 0; i < props.length; i++){
|
|
36
|
+
var descriptor = props[i];
|
|
37
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
38
|
+
descriptor.configurable = true;
|
|
39
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
40
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
44
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
45
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
46
|
+
return Constructor;
|
|
47
|
+
}
|
|
48
|
+
function _get(target, property, receiver) {
|
|
49
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
50
|
+
_get = Reflect.get;
|
|
51
|
+
} else {
|
|
52
|
+
_get = function get(target, property, receiver) {
|
|
53
|
+
var base = _super_prop_base(target, property);
|
|
54
|
+
if (!base) return;
|
|
55
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
56
|
+
if (desc.get) {
|
|
57
|
+
return desc.get.call(receiver || target);
|
|
58
|
+
}
|
|
59
|
+
return desc.value;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return _get(target, property, receiver || target);
|
|
63
|
+
}
|
|
64
|
+
function _get_prototype_of(o) {
|
|
65
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
66
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
67
|
+
};
|
|
68
|
+
return _get_prototype_of(o);
|
|
69
|
+
}
|
|
70
|
+
function _inherits(subClass, superClass) {
|
|
71
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
72
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
73
|
+
}
|
|
74
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
75
|
+
constructor: {
|
|
76
|
+
value: subClass,
|
|
77
|
+
writable: true,
|
|
78
|
+
configurable: true
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
82
|
+
}
|
|
83
|
+
function _interop_require_default(obj) {
|
|
84
|
+
return obj && obj.__esModule ? obj : {
|
|
85
|
+
default: obj
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function _possible_constructor_return(self, call) {
|
|
89
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
90
|
+
return call;
|
|
91
|
+
}
|
|
92
|
+
return _assert_this_initialized(self);
|
|
93
|
+
}
|
|
94
|
+
function _set_prototype_of(o, p) {
|
|
95
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
96
|
+
o.__proto__ = p;
|
|
97
|
+
return o;
|
|
98
|
+
};
|
|
99
|
+
return _set_prototype_of(o, p);
|
|
100
|
+
}
|
|
101
|
+
function _super_prop_base(object, property) {
|
|
102
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
103
|
+
object = _get_prototype_of(object);
|
|
104
|
+
if (object === null) break;
|
|
105
|
+
}
|
|
106
|
+
return object;
|
|
107
|
+
}
|
|
108
|
+
function _type_of(obj) {
|
|
109
|
+
"@swc/helpers - typeof";
|
|
110
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
111
|
+
}
|
|
112
|
+
function _is_native_reflect_construct() {
|
|
113
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
114
|
+
if (Reflect.construct.sham) return false;
|
|
115
|
+
if (typeof Proxy === "function") return true;
|
|
116
|
+
try {
|
|
117
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
118
|
+
return true;
|
|
119
|
+
} catch (e) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function _create_super(Derived) {
|
|
124
|
+
var hasNativeReflectConstruct = _is_native_reflect_construct();
|
|
125
|
+
return function _createSuperInternal() {
|
|
126
|
+
var Super = _get_prototype_of(Derived), result;
|
|
127
|
+
if (hasNativeReflectConstruct) {
|
|
128
|
+
var NewTarget = _get_prototype_of(this).constructor;
|
|
129
|
+
result = Reflect.construct(Super, arguments, NewTarget);
|
|
130
|
+
} else {
|
|
131
|
+
result = Super.apply(this, arguments);
|
|
132
|
+
}
|
|
133
|
+
return _possible_constructor_return(this, result);
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
var termNodeQuery = (0, _query.nodeQuery)("/argument/term!"), typeNodeQuery = (0, _query.nodeQuery)("/argument/type!");
|
|
137
|
+
var TermNodesVerifier = /*#__PURE__*/ function(NodesVerifier) {
|
|
138
|
+
_inherits(TermNodesVerifier, NodesVerifier);
|
|
139
|
+
var _super = _create_super(TermNodesVerifier);
|
|
140
|
+
function TermNodesVerifier() {
|
|
141
|
+
_class_call_check(this, TermNodesVerifier);
|
|
142
|
+
return _super.apply(this, arguments);
|
|
143
|
+
}
|
|
144
|
+
_create_class(TermNodesVerifier, [
|
|
145
|
+
{
|
|
146
|
+
key: "verifyNonTerminalNode",
|
|
147
|
+
value: function verifyNonTerminalNode(nonTerminalNode, constructorNonTerminalNode, context, verifyAhead) {
|
|
148
|
+
var nonTerminalNodeVerified = false;
|
|
149
|
+
var ruleName = nonTerminalNode.getRuleName(), constructorRuleName = constructorNonTerminalNode.getRuleName(); ///
|
|
150
|
+
if (ruleName === constructorRuleName) {
|
|
151
|
+
switch(ruleName){
|
|
152
|
+
case _ruleNames.ARGUMENT_RULE_NAME:
|
|
153
|
+
{
|
|
154
|
+
var argumentNode = nonTerminalNode, constructorArgumentNode = constructorNonTerminalNode, argumentVerified = verifyArgument(argumentNode, constructorArgumentNode, context, verifyAhead), argumentNodeVerified = argumentVerified; ///
|
|
155
|
+
nonTerminalNodeVerified = argumentNodeVerified; ///
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
default:
|
|
159
|
+
{
|
|
160
|
+
nonTerminalNodeVerified = _get(_get_prototype_of(TermNodesVerifier.prototype), "verifyNonTerminalNode", this).call(this, nonTerminalNode, constructorNonTerminalNode, context, verifyAhead);
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return nonTerminalNodeVerified;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
]);
|
|
169
|
+
return TermNodesVerifier;
|
|
170
|
+
}(_nodes.default);
|
|
171
|
+
var termNodesVerifier = new TermNodesVerifier();
|
|
172
|
+
var _default = termNodesVerifier;
|
|
173
|
+
function verifyArgument(argumentNode, constructorArgumentNode, context, verifyAhead) {
|
|
174
|
+
var argumentVerified = false;
|
|
175
|
+
var argumentString = context.nodeAsString(argumentNode);
|
|
176
|
+
context.trace("Verifying the '".concat(argumentString, "' argument..."), argumentNode);
|
|
177
|
+
var typeNode = typeNodeQuery(argumentNode);
|
|
178
|
+
if (typeNode !== null) {
|
|
179
|
+
context.debug("The '".concat(argumentString, "' argument should be a term, not a type."), argumentNode);
|
|
180
|
+
} else {
|
|
181
|
+
var termNode = termNodeQuery(argumentNode);
|
|
182
|
+
if (!argumentVerified) {
|
|
183
|
+
var constructorTermNode = termNodeQuery(constructorArgumentNode);
|
|
184
|
+
if (constructorTermNode !== null) {
|
|
185
|
+
var node = termNode, constructorNode = constructorTermNode, nodeVerified = this.verifyNode(node, constructorNode, context, verifyAhead);
|
|
186
|
+
argumentVerified = nodeVerified; ///
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
if (!argumentVerified) {
|
|
190
|
+
var constructorTypeNode = typeNodeQuery(constructorArgumentNode);
|
|
191
|
+
if (constructorTypeNode !== null) {
|
|
192
|
+
var verifyTerm = termNodesVerifier.verifyTerm, types = [], termVerified = verifyTerm(termNode, types, context, function() {
|
|
193
|
+
var verifiedAhead = false;
|
|
194
|
+
var constructorTypeName = (0, _query.typeNameFromTypeNode)(constructorTypeNode), firstType = (0, _array.first)(types), termType = firstType, constructorType = context.findTypeByTypeName(constructorTypeName), termTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(constructorType);
|
|
195
|
+
if (termTypeEqualToOrSubTypeOfType) {
|
|
196
|
+
verifiedAhead = verifyAhead();
|
|
197
|
+
}
|
|
198
|
+
return verifiedAhead;
|
|
199
|
+
});
|
|
200
|
+
argumentVerified = termVerified; ///
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
if (argumentVerified) {
|
|
205
|
+
context.debug("...verified the '".concat(argumentString, "' argument."), argumentNode);
|
|
206
|
+
}
|
|
207
|
+
return argumentVerified;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy90ZXJtLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vLi4vdmVyaWZpZXIvbm9kZXNcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBBUkdVTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L3Rlcm0hXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90eXBlIVwiKTtcblxuY2xhc3MgVGVybU5vZGVzVmVyaWZpZXIgZXh0ZW5kcyBOb2Rlc1ZlcmlmaWVyIHtcbiAgdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLCAvLy9cbiAgICAgICAgICBjb25zdHJ1Y3RvclJ1bGVOYW1lID0gY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgICBpZiAocnVsZU5hbWUgPT09IGNvbnN0cnVjdG9yUnVsZU5hbWUpIHtcbiAgICAgIHN3aXRjaCAocnVsZU5hbWUpIHtcbiAgICAgICAgY2FzZSBBUkdVTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgICAgICBjb25zdCBhcmd1bWVudE5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yQXJndW1lbnROb2RlID0gY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICAgIGFyZ3VtZW50VmVyaWZpZWQgPSB2ZXJpZnlBcmd1bWVudChhcmd1bWVudE5vZGUsIGNvbnN0cnVjdG9yQXJndW1lbnROb2RlLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCksXG4gICAgICAgICAgICAgICAgYXJndW1lbnROb2RlVmVyaWZpZWQgPSBhcmd1bWVudFZlcmlmaWVkOyAgLy8vXG5cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGFyZ3VtZW50Tm9kZVZlcmlmaWVkOyAvLy9cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3VwZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICB9XG59XG5cbmNvbnN0IHRlcm1Ob2Rlc1ZlcmlmaWVyID0gbmV3IFRlcm1Ob2Rlc1ZlcmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHRlcm1Ob2Rlc1ZlcmlmaWVyO1xuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5QXJndW1lbnQoYXJndW1lbnROb2RlLCBjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IGFyZ3VtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBhcmd1bWVudFN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKGFyZ3VtZW50Tm9kZSk7XG5cbiAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHthcmd1bWVudFN0cmluZ30nIGFyZ3VtZW50Li4uYCwgYXJndW1lbnROb2RlKTtcblxuICBjb25zdCB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoYXJndW1lbnROb2RlKTtcblxuICBpZiAodHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICBjb250ZXh0LmRlYnVnKGBUaGUgJyR7YXJndW1lbnRTdHJpbmd9JyBhcmd1bWVudCBzaG91bGQgYmUgYSB0ZXJtLCBub3QgYSB0eXBlLmAsIGFyZ3VtZW50Tm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGFyZ3VtZW50Tm9kZSk7XG5cbiAgICBpZiAoIWFyZ3VtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGNvbnN0cnVjdG9yVGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yQXJndW1lbnROb2RlKTtcblxuICAgICAgaWYgKGNvbnN0cnVjdG9yVGVybU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRlcm1Ob2RlLCAgLy8vXG4gICAgICAgICAgICAgIGNvbnN0cnVjdG9yTm9kZSA9IGNvbnN0cnVjdG9yVGVybU5vZGUsICAvLy9cbiAgICAgICAgICAgICAgbm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlOb2RlKG5vZGUsIGNvbnN0cnVjdG9yTm9kZSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgIGFyZ3VtZW50VmVyaWZpZWQgPSBub2RlVmVyaWZpZWQ7ICAvLy9cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWFyZ3VtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGNvbnN0cnVjdG9yVHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yQXJndW1lbnROb2RlKTtcblxuICAgICAgaWYgKGNvbnN0cnVjdG9yVHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgeyB2ZXJpZnlUZXJtIH0gPSB0ZXJtTm9kZXNWZXJpZmllcixcbiAgICAgICAgICAgICAgdHlwZXMgPSBbXSxcbiAgICAgICAgICAgICAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgdmVyaWZpZWRBaGVhZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgY29uc3RydWN0b3JUeXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKGNvbnN0cnVjdG9yVHlwZU5vZGUpLFxuICAgICAgICAgICAgICAgICAgICAgIGZpcnN0VHlwZSA9IGZpcnN0KHR5cGVzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0ZXJtVHlwZSA9IGZpcnN0VHlwZSwgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3RydWN0b3JUeXBlID0gY29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUoY29uc3RydWN0b3JUeXBlTmFtZSksXG4gICAgICAgICAgICAgICAgICAgICAgdGVybVR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUeXBlID0gdGVybVR5cGUuaXNFcXVhbFRvT3JTdWJUeXBlT2YoY29uc3RydWN0b3JUeXBlKTtcblxuICAgICAgICAgICAgICAgIGlmICh0ZXJtVHlwZUVxdWFsVG9PclN1YlR5cGVPZlR5cGUpIHtcbiAgICAgICAgICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICBhcmd1bWVudFZlcmlmaWVkID0gdGVybVZlcmlmaWVkOyAgLy8vXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGFyZ3VtZW50VmVyaWZpZWQpIHtcbiAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7YXJndW1lbnRTdHJpbmd9JyBhcmd1bWVudC5gLCBhcmd1bWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGFyZ3VtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5QXJndW1lbnQiLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZU5vZGVRdWVyeSIsIlRlcm1Ob2Rlc1ZlcmlmaWVyIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwiY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUiLCJjb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJjb25zdHJ1Y3RvclJ1bGVOYW1lIiwiQVJHVU1FTlRfUlVMRV9OQU1FIiwiYXJndW1lbnROb2RlIiwiY29uc3RydWN0b3JBcmd1bWVudE5vZGUiLCJhcmd1bWVudFZlcmlmaWVkIiwiYXJndW1lbnROb2RlVmVyaWZpZWQiLCJOb2Rlc1ZlcmlmaWVyIiwidGVybU5vZGVzVmVyaWZpZXIiLCJhcmd1bWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidHlwZU5vZGUiLCJkZWJ1ZyIsInRlcm1Ob2RlIiwiY29uc3RydWN0b3JUZXJtTm9kZSIsIm5vZGUiLCJjb25zdHJ1Y3Rvck5vZGUiLCJub2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb2RlIiwiY29uc3RydWN0b3JUeXBlTm9kZSIsInZlcmlmeVRlcm0iLCJ0eXBlcyIsInRlcm1WZXJpZmllZCIsInZlcmlmaWVkQWhlYWQiLCJjb25zdHJ1Y3RvclR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJmaXJzdFR5cGUiLCJmaXJzdCIsInRlcm1UeXBlIiwiY29uc3RydWN0b3JUeXBlIiwiZmluZFR5cGVCeVR5cGVOYW1lIiwidGVybVR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUeXBlIiwiaXNFcXVhbFRvT3JTdWJUeXBlT2YiXSwibWFwcGluZ3MiOiJBQUFBOzs7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
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
Object.defineProperty(exports, "
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("
|
|
11
|
+
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("../../../verifier/nodes/termForVariable"));
|
|
12
12
|
function _assert_this_initialized(self) {
|
|
13
13
|
if (self === void 0) {
|
|
14
14
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -98,16 +98,17 @@ function _create_super(Derived) {
|
|
|
98
98
|
return _possible_constructor_return(this, result);
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
|
-
var
|
|
102
|
-
_inherits(
|
|
103
|
-
var _super = _create_super(
|
|
104
|
-
function
|
|
105
|
-
_class_call_check(this,
|
|
101
|
+
var ConsequentTermForVariableNodesVerifier = /*#__PURE__*/ function(TermForVariableNodesVerifier) {
|
|
102
|
+
_inherits(ConsequentTermForVariableNodesVerifier, TermForVariableNodesVerifier);
|
|
103
|
+
var _super = _create_super(ConsequentTermForVariableNodesVerifier);
|
|
104
|
+
function ConsequentTermForVariableNodesVerifier() {
|
|
105
|
+
_class_call_check(this, ConsequentTermForVariableNodesVerifier);
|
|
106
106
|
return _super.apply(this, arguments);
|
|
107
107
|
}
|
|
108
|
-
return
|
|
108
|
+
return ConsequentTermForVariableNodesVerifier;
|
|
109
109
|
}(_termForVariable.default);
|
|
110
|
-
_define_property(
|
|
111
|
-
var
|
|
110
|
+
_define_property(ConsequentTermForVariableNodesVerifier, "createSubstitutions", false);
|
|
111
|
+
var consequentTermForVariableNodesVerifier = new ConsequentTermForVariableNodesVerifier();
|
|
112
|
+
var _default = consequentTermForVariableNodesVerifier;
|
|
112
113
|
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy90ZXJtRm9yVmFyaWFibGUvY29uc2VxdWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRlcm1Gb3JWYXJpYWJsZU5vZGVzVmVyaWZpZXIgZnJvbSBcIi4uLy4uLy4uL3ZlcmlmaWVyL25vZGVzL3Rlcm1Gb3JWYXJpYWJsZVwiO1xuXG5jbGFzcyBDb25zZXF1ZW50VGVybUZvclZhcmlhYmxlTm9kZXNWZXJpZmllciBleHRlbmRzIFRlcm1Gb3JWYXJpYWJsZU5vZGVzVmVyaWZpZXIge1xuICBzdGF0aWMgY3JlYXRlU3Vic3RpdHV0aW9ucyA9IGZhbHNlO1xufVxuXG5jb25zdCBjb25zZXF1ZW50VGVybUZvclZhcmlhYmxlTm9kZXNWZXJpZmllciA9IG5ldyBDb25zZXF1ZW50VGVybUZvclZhcmlhYmxlTm9kZXNWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBjb25zZXF1ZW50VGVybUZvclZhcmlhYmxlTm9kZXNWZXJpZmllcjtcbiJdLCJuYW1lcyI6WyJDb25zZXF1ZW50VGVybUZvclZhcmlhYmxlTm9kZXNWZXJpZmllciIsIlRlcm1Gb3JWYXJpYWJsZU5vZGVzVmVyaWZpZXIiLCJjcmVhdGVTdWJzdGl0dXRpb25zIiwiY29uc2VxdWVudFRlcm1Gb3JWYXJpYWJsZU5vZGVzVmVyaWZpZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBQTs7O3NFQVJ5Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpDLElBQUEsQUFBTUEsdURBSUgsQUFKSDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7V0FBQUE7RUFBK0NDLHdCQUE0QjtBQUMvRSxpQkFESUQsd0NBQ0dFLHVCQUFzQjtBQUcvQixJQUFNQyx5Q0FBeUMsSUFBSUg7SUFFbkQsV0FBZUcifQ==
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
Object.defineProperty(exports, "
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("
|
|
11
|
+
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("../../../verifier/nodes/termForVariable"));
|
|
12
12
|
function _assert_this_initialized(self) {
|
|
13
13
|
if (self === void 0) {
|
|
14
14
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -98,16 +98,17 @@ function _create_super(Derived) {
|
|
|
98
98
|
return _possible_constructor_return(this, result);
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
|
-
var
|
|
102
|
-
_inherits(
|
|
103
|
-
var _super = _create_super(
|
|
104
|
-
function
|
|
105
|
-
_class_call_check(this,
|
|
101
|
+
var SuppositionTermForVariableNodesVerifier = /*#__PURE__*/ function(TermForVariableNodesVerifier) {
|
|
102
|
+
_inherits(SuppositionTermForVariableNodesVerifier, TermForVariableNodesVerifier);
|
|
103
|
+
var _super = _create_super(SuppositionTermForVariableNodesVerifier);
|
|
104
|
+
function SuppositionTermForVariableNodesVerifier() {
|
|
105
|
+
_class_call_check(this, SuppositionTermForVariableNodesVerifier);
|
|
106
106
|
return _super.apply(this, arguments);
|
|
107
107
|
}
|
|
108
|
-
return
|
|
108
|
+
return SuppositionTermForVariableNodesVerifier;
|
|
109
109
|
}(_termForVariable.default);
|
|
110
|
-
_define_property(
|
|
111
|
-
var
|
|
110
|
+
_define_property(SuppositionTermForVariableNodesVerifier, "createSubstitutions", true);
|
|
111
|
+
var suppositionTermForVariableNodesVerifier = new SuppositionTermForVariableNodesVerifier();
|
|
112
|
+
var _default = suppositionTermForVariableNodesVerifier;
|
|
112
113
|
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy90ZXJtRm9yVmFyaWFibGUvc3VwcG9zaXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUZXJtRm9yVmFyaWFibGVOb2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi8uLi8uLi92ZXJpZmllci9ub2Rlcy90ZXJtRm9yVmFyaWFibGVcIjtcblxuY2xhc3MgU3VwcG9zaXRpb25UZXJtRm9yVmFyaWFibGVOb2Rlc1ZlcmlmaWVyIGV4dGVuZHMgVGVybUZvclZhcmlhYmxlTm9kZXNWZXJpZmllciB7XG4gIHN0YXRpYyBjcmVhdGVTdWJzdGl0dXRpb25zID0gdHJ1ZTtcbn1cblxuY29uc3Qgc3VwcG9zaXRpb25UZXJtRm9yVmFyaWFibGVOb2Rlc1ZlcmlmaWVyID0gbmV3IFN1cHBvc2l0aW9uVGVybUZvclZhcmlhYmxlTm9kZXNWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBzdXBwb3NpdGlvblRlcm1Gb3JWYXJpYWJsZU5vZGVzVmVyaWZpZXI7XG4iXSwibmFtZXMiOlsiU3VwcG9zaXRpb25UZXJtRm9yVmFyaWFibGVOb2Rlc1ZlcmlmaWVyIiwiVGVybUZvclZhcmlhYmxlTm9kZXNWZXJpZmllciIsImNyZWF0ZVN1YnN0aXR1dGlvbnMiLCJzdXBwb3NpdGlvblRlcm1Gb3JWYXJpYWJsZU5vZGVzVmVyaWZpZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBQTs7O3NFQVJ5Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpDLElBQUEsQUFBTUEsd0RBSUgsQUFKSDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7V0FBQUE7RUFBZ0RDLHdCQUE0QjtBQUNoRixpQkFESUQseUNBQ0dFLHVCQUFzQjtBQUcvQixJQUFNQywwQ0FBMEMsSUFBSUg7SUFFcEQsV0FBZUcifQ==
|
|
@@ -0,0 +1,217 @@
|
|
|
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 TermForVariableNodesVerifier;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _term = /*#__PURE__*/ _interop_require_default(require("../../verify/term"));
|
|
12
|
+
var _nodes = /*#__PURE__*/ _interop_require_default(require("../../verifier/nodes"));
|
|
13
|
+
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("../../substitution/termForVariable"));
|
|
14
|
+
var _array = require("../../utilities/array");
|
|
15
|
+
var _query = require("../../utilities/query");
|
|
16
|
+
var _ruleNames = require("../../ruleNames");
|
|
17
|
+
function _assert_this_initialized(self) {
|
|
18
|
+
if (self === void 0) {
|
|
19
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
20
|
+
}
|
|
21
|
+
return self;
|
|
22
|
+
}
|
|
23
|
+
function _class_call_check(instance, Constructor) {
|
|
24
|
+
if (!(instance instanceof Constructor)) {
|
|
25
|
+
throw new TypeError("Cannot call a class as a function");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function _defineProperties(target, props) {
|
|
29
|
+
for(var i = 0; i < props.length; i++){
|
|
30
|
+
var descriptor = props[i];
|
|
31
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
32
|
+
descriptor.configurable = true;
|
|
33
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
34
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
38
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
39
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
40
|
+
return Constructor;
|
|
41
|
+
}
|
|
42
|
+
function _get(target, property, receiver) {
|
|
43
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
44
|
+
_get = Reflect.get;
|
|
45
|
+
} else {
|
|
46
|
+
_get = function get(target, property, receiver) {
|
|
47
|
+
var base = _super_prop_base(target, property);
|
|
48
|
+
if (!base) return;
|
|
49
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
50
|
+
if (desc.get) {
|
|
51
|
+
return desc.get.call(receiver || target);
|
|
52
|
+
}
|
|
53
|
+
return desc.value;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return _get(target, property, receiver || target);
|
|
57
|
+
}
|
|
58
|
+
function _get_prototype_of(o) {
|
|
59
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
60
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
61
|
+
};
|
|
62
|
+
return _get_prototype_of(o);
|
|
63
|
+
}
|
|
64
|
+
function _inherits(subClass, superClass) {
|
|
65
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
66
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
67
|
+
}
|
|
68
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
69
|
+
constructor: {
|
|
70
|
+
value: subClass,
|
|
71
|
+
writable: true,
|
|
72
|
+
configurable: true
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
76
|
+
}
|
|
77
|
+
function _interop_require_default(obj) {
|
|
78
|
+
return obj && obj.__esModule ? obj : {
|
|
79
|
+
default: obj
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function _possible_constructor_return(self, call) {
|
|
83
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
84
|
+
return call;
|
|
85
|
+
}
|
|
86
|
+
return _assert_this_initialized(self);
|
|
87
|
+
}
|
|
88
|
+
function _set_prototype_of(o, p) {
|
|
89
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
90
|
+
o.__proto__ = p;
|
|
91
|
+
return o;
|
|
92
|
+
};
|
|
93
|
+
return _set_prototype_of(o, p);
|
|
94
|
+
}
|
|
95
|
+
function _super_prop_base(object, property) {
|
|
96
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
97
|
+
object = _get_prototype_of(object);
|
|
98
|
+
if (object === null) break;
|
|
99
|
+
}
|
|
100
|
+
return object;
|
|
101
|
+
}
|
|
102
|
+
function _type_of(obj) {
|
|
103
|
+
"@swc/helpers - typeof";
|
|
104
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
105
|
+
}
|
|
106
|
+
function _is_native_reflect_construct() {
|
|
107
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
108
|
+
if (Reflect.construct.sham) return false;
|
|
109
|
+
if (typeof Proxy === "function") return true;
|
|
110
|
+
try {
|
|
111
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
112
|
+
return true;
|
|
113
|
+
} catch (e) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
function _create_super(Derived) {
|
|
118
|
+
var hasNativeReflectConstruct = _is_native_reflect_construct();
|
|
119
|
+
return function _createSuperInternal() {
|
|
120
|
+
var Super = _get_prototype_of(Derived), result;
|
|
121
|
+
if (hasNativeReflectConstruct) {
|
|
122
|
+
var NewTarget = _get_prototype_of(this).constructor;
|
|
123
|
+
result = Reflect.construct(Super, arguments, NewTarget);
|
|
124
|
+
} else {
|
|
125
|
+
result = Super.apply(this, arguments);
|
|
126
|
+
}
|
|
127
|
+
return _possible_constructor_return(this, result);
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
var variableNodeQuery = (0, _query.nodeQuery)("/term/variable!");
|
|
131
|
+
var TermForVariableNodesVerifier = /*#__PURE__*/ function(NodesVerifier) {
|
|
132
|
+
_inherits(TermForVariableNodesVerifier, NodesVerifier);
|
|
133
|
+
var _super = _create_super(TermForVariableNodesVerifier);
|
|
134
|
+
function TermForVariableNodesVerifier() {
|
|
135
|
+
_class_call_check(this, TermForVariableNodesVerifier);
|
|
136
|
+
return _super.apply(this, arguments);
|
|
137
|
+
}
|
|
138
|
+
_create_class(TermForVariableNodesVerifier, [
|
|
139
|
+
{
|
|
140
|
+
key: "verifyNonTerminalNode",
|
|
141
|
+
value: function verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, proofContextA, proofContextB, verifyAhead) {
|
|
142
|
+
var nonTerminalNodeVerified = false;
|
|
143
|
+
var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName();
|
|
144
|
+
if (nonTerminalNodeBRuleName === nonTerminalNodeARuleName) {
|
|
145
|
+
var nonTerminalNodeARuleNameTermRuleName = nonTerminalNodeARuleName === _ruleNames.TERM_RULE_NAME, nonTerminalNodeBRuleNameTermRuleName = nonTerminalNodeBRuleName === _ruleNames.TERM_RULE_NAME;
|
|
146
|
+
if (nonTerminalNodeARuleNameTermRuleName && nonTerminalNodeBRuleNameTermRuleName) {
|
|
147
|
+
var termNodeA = nonTerminalNodeA, termNodeB = nonTerminalNodeB, termNodeVerified = this.verifyTermNode(termNodeA, termNodeB, substitutions, proofContextA, proofContextB, verifyAhead);
|
|
148
|
+
if (termNodeVerified) {
|
|
149
|
+
nonTerminalNodeVerified = true; ///
|
|
150
|
+
} else {
|
|
151
|
+
nonTerminalNodeVerified = _get(_get_prototype_of(TermForVariableNodesVerifier.prototype), "verifyNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions, proofContextA, proofContextB, verifyAhead);
|
|
152
|
+
}
|
|
153
|
+
} else {
|
|
154
|
+
nonTerminalNodeVerified = _get(_get_prototype_of(TermForVariableNodesVerifier.prototype), "verifyNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions, proofContextA, proofContextB, verifyAhead);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return nonTerminalNodeVerified;
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
key: "verifyTermNode",
|
|
162
|
+
value: function verifyTermNode(termNodeA, termNodeB, substitutions, proofContextA, proofContextB, verifyAhead) {
|
|
163
|
+
var termNodeVerified = false;
|
|
164
|
+
var variableNodeA = variableNodeQuery(termNodeA);
|
|
165
|
+
if (variableNodeA !== null) {
|
|
166
|
+
var variableVerified = this.verifyVariableNode(variableNodeA, termNodeB, substitutions, proofContextA, proofContextB, verifyAhead);
|
|
167
|
+
termNodeVerified = variableVerified; ///
|
|
168
|
+
}
|
|
169
|
+
return termNodeVerified;
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
key: "verifyVariableNode",
|
|
174
|
+
value: function verifyVariableNode(variableNodeA, termNodeB, substitutions, proofContextA, proofContextB, verifyAhead) {
|
|
175
|
+
var variableVerified = false;
|
|
176
|
+
var variableNameA = (0, _query.variableNameFromVariableNode)(variableNodeA), substitution = substitutions.find(function(substitution) {
|
|
177
|
+
var variableName = substitution.getVariableName();
|
|
178
|
+
if (variableName === variableNameA) {
|
|
179
|
+
return true;
|
|
180
|
+
}
|
|
181
|
+
}) || null;
|
|
182
|
+
if (substitution !== null) {
|
|
183
|
+
var termNode = termNodeB, substitutionNodesVerified = substitution.matchTermNode(termNode);
|
|
184
|
+
if (substitutionNodesVerified) {
|
|
185
|
+
var verifiedAhead = verifyAhead();
|
|
186
|
+
variableVerified = verifiedAhead; ///
|
|
187
|
+
}
|
|
188
|
+
} else {
|
|
189
|
+
var createSubstitutions = this.constructor.createSubstitutions;
|
|
190
|
+
if (createSubstitutions) {
|
|
191
|
+
var variableName = variableNameA, proofContext = proofContextA, variable = proofContext.findVariableByVariableName(variableName);
|
|
192
|
+
if (variable !== null) {
|
|
193
|
+
var types = [], context = proofContextB, termNode1 = termNodeB, termVerified = (0, _term.default)(termNode1, types, context, function() {
|
|
194
|
+
var verifiedAhead = false;
|
|
195
|
+
var firstType = (0, _array.first)(types), termType = firstType, variableType = variable.getType(), variableTypeEqualToOrSuperTypeOfTermType = variableType.isEqualToOrSuperTypeOf(termType);
|
|
196
|
+
if (variableTypeEqualToOrSuperTypeOfTermType) {
|
|
197
|
+
var termForVariableSubstitution = _termForVariable.default.fromVariableNameAndTermNode(variableName, termNode1), substitution = termForVariableSubstitution; ///
|
|
198
|
+
substitutions.push(substitution);
|
|
199
|
+
verifiedAhead = verifyAhead();
|
|
200
|
+
if (!verifiedAhead) {
|
|
201
|
+
substitutions.pop();
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return verifiedAhead;
|
|
205
|
+
});
|
|
206
|
+
variableVerified = termVerified; ///
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return variableVerified;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
]);
|
|
214
|
+
return TermForVariableNodesVerifier;
|
|
215
|
+
}(_nodes.default);
|
|
216
|
+
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy90ZXJtRm9yVmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlUZXJtIGZyb20gXCIuLi8uLi92ZXJpZnkvdGVybVwiO1xuaW1wb3J0IE5vZGVzVmVyaWZpZXIgZnJvbSBcIi4uLy4uL3ZlcmlmaWVyL25vZGVzXCI7XG5pbXBvcnQgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi8uLi9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgVEVSTV9SVUxFX05BTUUgfSBmcm9tIFwiLi4vLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeSgnL3Rlcm0vdmFyaWFibGUhJyk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRlcm1Gb3JWYXJpYWJsZU5vZGVzVmVyaWZpZXIgZXh0ZW5kcyBOb2Rlc1ZlcmlmaWVyIHtcbiAgdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIHByb29mQ29udGV4dEEsIHByb29mQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVBLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpO1xuXG4gICAgaWYgKG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSA9PT0gbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWVUZXJtUnVsZU5hbWUgPSAobm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID09PSBURVJNX1JVTEVfTkFNRSksXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWVUZXJtUnVsZU5hbWUgPSAobm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID09PSBURVJNX1JVTEVfTkFNRSk7XG5cbiAgICAgIGlmIChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWVUZXJtUnVsZU5hbWUgJiYgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lVGVybVJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IHRlcm1Ob2RlQSA9IG5vblRlcm1pbmFsTm9kZUEsICAvLy9cbiAgICAgICAgICAgICAgdGVybU5vZGVCID0gbm9uVGVybWluYWxOb2RlQiwgIC8vL1xuICAgICAgICAgICAgICB0ZXJtTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlUZXJtTm9kZSh0ZXJtTm9kZUEsIHRlcm1Ob2RlQiwgc3Vic3RpdHV0aW9ucywgcHJvb2ZDb250ZXh0QSwgcHJvb2ZDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgIGlmICh0ZXJtTm9kZVZlcmlmaWVkKSB7XG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSB0cnVlOyAgLy8vXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBzdXBlci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgcHJvb2ZDb250ZXh0QSwgcHJvb2ZDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHN1cGVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBwcm9vZkNvbnRleHRBLCBwcm9vZkNvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5VGVybU5vZGUodGVybU5vZGVBLCB0ZXJtTm9kZUIsIHN1YnN0aXR1dGlvbnMsIHByb29mQ29udGV4dEEsIHByb29mQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IHRlcm1Ob2RlVmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHZhcmlhYmxlTm9kZUEgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZUEpO1xuXG4gICAgaWYgKHZhcmlhYmxlTm9kZUEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGVBLCB0ZXJtTm9kZUIsIHN1YnN0aXR1dGlvbnMsIHByb29mQ29udGV4dEEsIHByb29mQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgdGVybU5vZGVWZXJpZmllZCA9IHZhcmlhYmxlVmVyaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIHJldHVybiB0ZXJtTm9kZVZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5VmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZUEsIHRlcm1Ob2RlQiwgc3Vic3RpdHV0aW9ucywgcHJvb2ZDb250ZXh0QSwgcHJvb2ZDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgdmFyaWFibGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgdmFyaWFibGVOYW1lQSA9IHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQSksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9ucy5maW5kKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlTmFtZSA9IHN1YnN0aXR1dGlvbi5nZXRWYXJpYWJsZU5hbWUoKTtcblxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlTmFtZSA9PT0gdmFyaWFibGVOYW1lQSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZUIsIC8vL1xuICAgICAgICAgICAgc3Vic3RpdHV0aW9uTm9kZXNWZXJpZmllZCA9IHN1YnN0aXR1dGlvbi5tYXRjaFRlcm1Ob2RlKHRlcm1Ob2RlKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbk5vZGVzVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG5cbiAgICAgICAgdmFyaWFibGVWZXJpZmllZCA9IHZlcmlmaWVkQWhlYWQ7ICAvLy9cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyBjcmVhdGVTdWJzdGl0dXRpb25zIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgICBpZiAoY3JlYXRlU3Vic3RpdHV0aW9ucykge1xuICAgICAgICBjb25zdCB2YXJpYWJsZU5hbWUgPSB2YXJpYWJsZU5hbWVBLCAvLy9cbiAgICAgICAgICAgICAgcHJvb2ZDb250ZXh0ID0gcHJvb2ZDb250ZXh0QSwgLy8vXG4gICAgICAgICAgICAgIHZhcmlhYmxlID0gcHJvb2ZDb250ZXh0LmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSk7XG5cbiAgICAgICAgaWYgKHZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgdHlwZXMgPSBbXSxcbiAgICAgICAgICAgICAgICBjb250ZXh0ID0gcHJvb2ZDb250ZXh0QiwgLy8vXG4gICAgICAgICAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZUIsIC8vL1xuICAgICAgICAgICAgICAgIHRlcm1WZXJpZmllZCA9IHZlcmlmeVRlcm0odGVybU5vZGUsIHR5cGVzLCBjb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBsZXQgdmVyaWZpZWRBaGVhZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdFR5cGUgPSBmaXJzdCh0eXBlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXJtVHlwZSA9IGZpcnN0VHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlVHlwZSA9IHZhcmlhYmxlLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlVHlwZUVxdWFsVG9PclN1cGVyVHlwZU9mVGVybVR5cGUgPSB2YXJpYWJsZVR5cGUuaXNFcXVhbFRvT3JTdXBlclR5cGVPZih0ZXJtVHlwZSk7XG5cbiAgICAgICAgICAgICAgICAgIGlmICh2YXJpYWJsZVR5cGVFcXVhbFRvT3JTdXBlclR5cGVPZlRlcm1UeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tVmFyaWFibGVOYW1lQW5kVGVybU5vZGUodmFyaWFibGVOYW1lLCB0ZXJtTm9kZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbjsgIC8vL1xuXG4gICAgICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvbnMucHVzaChzdWJzdGl0dXRpb24pO1xuXG4gICAgICAgICAgICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdmVyaWZpZWRBaGVhZCkge1xuICAgICAgICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvbnMucG9wKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICB2YXJpYWJsZVZlcmlmaWVkID0gdGVybVZlcmlmaWVkOyAgLy8vXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGVWZXJpZmllZDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlRlcm1Gb3JWYXJpYWJsZU5vZGVzVmVyaWZpZXIiLCJ2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwic3Vic3RpdHV0aW9ucyIsInByb29mQ29udGV4dEEiLCJwcm9vZkNvbnRleHRCIiwidmVyaWZ5QWhlYWQiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsIm5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSIsImdldFJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lVGVybVJ1bGVOYW1lIiwiVEVSTV9SVUxFX05BTUUiLCJub25UZXJtaW5hbE5vZGVCUnVsZU5hbWVUZXJtUnVsZU5hbWUiLCJ0ZXJtTm9kZUEiLCJ0ZXJtTm9kZUIiLCJ0ZXJtTm9kZVZlcmlmaWVkIiwidmVyaWZ5VGVybU5vZGUiLCJ2YXJpYWJsZU5vZGVBIiwidmFyaWFibGVWZXJpZmllZCIsInZlcmlmeVZhcmlhYmxlTm9kZSIsInZhcmlhYmxlTmFtZUEiLCJ2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIiwic3Vic3RpdHV0aW9uIiwiZmluZCIsInZhcmlhYmxlTmFtZSIsImdldFZhcmlhYmxlTmFtZSIsInRlcm1Ob2RlIiwic3Vic3RpdHV0aW9uTm9kZXNWZXJpZmllZCIsIm1hdGNoVGVybU5vZGUiLCJ2ZXJpZmllZEFoZWFkIiwiY3JlYXRlU3Vic3RpdHV0aW9ucyIsImNvbnN0cnVjdG9yIiwicHJvb2ZDb250ZXh0IiwidmFyaWFibGUiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSIsInR5cGVzIiwiY29udGV4dCIsInRlcm1WZXJpZmllZCIsInZlcmlmeVRlcm0iLCJmaXJzdFR5cGUiLCJmaXJzdCIsInRlcm1UeXBlIiwidmFyaWFibGVUeXBlIiwiZ2V0VHlwZSIsInZhcmlhYmxlVHlwZUVxdWFsVG9PclN1cGVyVHlwZU9mVGVybVR5cGUiLCJpc0VxdWFsVG9PclN1cGVyVHlwZU9mIiwidGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbVZhcmlhYmxlTmFtZUFuZFRlcm1Ob2RlIiwicHVzaCIsInBvcCIsIk5vZGVzVmVyaWZpZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBYXFCQTs7OzJEQVhFOzREQUNHO3NFQUNjO3FCQUVsQjtxQkFDSTt5QkFDSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRy9CLElBQU1DLG9CQUFvQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUVyQixJQUFBLEFBQU1GLDZDQUFOO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ25CRyxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCQyxnQkFBZ0IsRUFBRUMsZ0JBQWdCLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLFdBQVc7Z0JBQ2hILElBQUlDLDBC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
|