occam-verify-cli 0.0.465 → 0.0.467
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/antecedent.js +214 -0
- package/lib/axiom.js +93 -78
- package/lib/axiomLemmaTheorem.js +190 -0
- package/lib/consequent.js +157 -0
- package/lib/constants.js +9 -1
- package/lib/lemma.js +93 -78
- package/lib/ruleNames.js +4 -4
- package/lib/substitution.js +123 -0
- package/lib/theorem.js +93 -78
- package/lib/utilities/statement.js +45 -0
- package/lib/utilities/string.js +6 -6
- package/lib/verify/antecedentOrAntecedents.js +38 -0
- package/lib/verify/axiom.js +15 -14
- package/lib/verify/conditinalIndicative.js +32 -0
- package/lib/verify/{indicativeConditional.js → conditionalIndicative.js} +10 -10
- package/lib/verify/consequent.js +36 -0
- package/lib/verify/lemma.js +25 -19
- package/lib/verify/metaproof.js +3 -3
- package/lib/verify/rule.js +2 -3
- package/lib/verify/theorem.js +21 -18
- package/lib/verify/unconditionalIndicative.js +28 -0
- package/package.json +3 -3
- package/src/antecedent.js +235 -0
- package/src/axiom.js +5 -95
- package/src/axiomLemmaTheorem.js +190 -0
- package/src/consequent.js +187 -0
- package/src/constants.js +2 -0
- package/src/lemma.js +5 -95
- package/src/ruleNames.js +1 -1
- package/src/substitution.js +130 -0
- package/src/theorem.js +5 -95
- package/src/utilities/statement.js +50 -0
- package/src/utilities/string.js +6 -6
- package/src/verify/antecedentOrAntecedents.js +40 -0
- package/src/verify/axiom.js +21 -16
- package/src/verify/conditinalIndicative.js +31 -0
- package/src/verify/conditionalIndicative.js +29 -0
- package/src/verify/consequent.js +36 -0
- package/src/verify/lemma.js +38 -21
- package/src/verify/metaproof.js +2 -1
- package/src/verify/rule.js +1 -3
- package/src/verify/theorem.js +28 -22
- package/src/verify/unconditionalIndicative.js +24 -0
- package/src/verify/indicativeConditional.js +0 -29
|
@@ -0,0 +1,214 @@
|
|
|
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 Antecedent;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _substitution = /*#__PURE__*/ _interopRequireDefault(require("./substitution"));
|
|
12
|
+
var _array = require("./utilities/array");
|
|
13
|
+
var _string = require("./utilities/string");
|
|
14
|
+
var _query = require("./utilities/query");
|
|
15
|
+
var _ruleNames = require("./ruleNames");
|
|
16
|
+
function _arrayLikeToArray(arr, len) {
|
|
17
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
18
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
19
|
+
return arr2;
|
|
20
|
+
}
|
|
21
|
+
function _arrayWithoutHoles(arr) {
|
|
22
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
23
|
+
}
|
|
24
|
+
function _classCallCheck(instance, Constructor) {
|
|
25
|
+
if (!(instance instanceof Constructor)) {
|
|
26
|
+
throw new TypeError("Cannot call a class as a function");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function _defineProperties(target, props) {
|
|
30
|
+
for(var i = 0; i < props.length; i++){
|
|
31
|
+
var descriptor = props[i];
|
|
32
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
33
|
+
descriptor.configurable = true;
|
|
34
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
35
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
39
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
40
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
41
|
+
return Constructor;
|
|
42
|
+
}
|
|
43
|
+
function _interopRequireDefault(obj) {
|
|
44
|
+
return obj && obj.__esModule ? obj : {
|
|
45
|
+
default: obj
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function _iterableToArray(iter) {
|
|
49
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
50
|
+
}
|
|
51
|
+
function _nonIterableSpread() {
|
|
52
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
53
|
+
}
|
|
54
|
+
function _toConsumableArray(arr) {
|
|
55
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
56
|
+
}
|
|
57
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
58
|
+
if (!o) return;
|
|
59
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
60
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
61
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
62
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
63
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
64
|
+
}
|
|
65
|
+
var statementNodesQuery = (0, _query.nodesQuery)("/subproofAssertion/statement"), subproofAssertionNodeQuery = (0, _query.nodeQuery)("/statement/subproofAssertion!"), unqualifiedStatementStatementNodesQuery = (0, _query.nodesQuery)("/subproof/unqualifiedStatement/statement!"), qualifiedOrUnqualifiedStatementStatementNodeQuery = (0, _query.nodeQuery)("/subproof/metaDerivation|abridgedMetaDerivation/qualifiedStatement|unqualifiedStatement[-1]/statement!");
|
|
66
|
+
var Antecedent = /*#__PURE__*/ function() {
|
|
67
|
+
function Antecedent(statementNode) {
|
|
68
|
+
_classCallCheck(this, Antecedent);
|
|
69
|
+
this.statementNode = statementNode;
|
|
70
|
+
}
|
|
71
|
+
_createClass(Antecedent, [
|
|
72
|
+
{
|
|
73
|
+
key: "getStatementNode",
|
|
74
|
+
value: function getStatementNode() {
|
|
75
|
+
return this.statementNode;
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
key: "matchSubproofNode",
|
|
80
|
+
value: function matchSubproofNode(subproofNode, substitutions) {
|
|
81
|
+
var subproofNodeMatches = false;
|
|
82
|
+
var subproofAssertionNode = subproofAssertionNodeQuery(this.statementNode);
|
|
83
|
+
if (subproofAssertionNode !== null) {
|
|
84
|
+
var subproofAssertionStatementNodes = statementNodesQuery(subproofAssertionNode), unqualifiedStatementStatementNodes = unqualifiedStatementStatementNodesQuery(subproofNode), qualifiedOrUnqualifiedStatementStatementNode = qualifiedOrUnqualifiedStatementStatementNodeQuery(subproofNode), statementNodes = _toConsumableArray(unqualifiedStatementStatementNodes).concat([
|
|
85
|
+
qualifiedOrUnqualifiedStatementStatementNode
|
|
86
|
+
]), statementNodesLength = statementNodes.length, subproofAssertionStatementNodesLength = subproofAssertionStatementNodes.length;
|
|
87
|
+
if (statementNodesLength === subproofAssertionStatementNodesLength) {
|
|
88
|
+
subproofNodeMatches = subproofAssertionStatementNodes.every(function(subproofAssertionStatementNode, index) {
|
|
89
|
+
var statementNode = statementNodes[index], nonTerminalNode = statementNode, antecedentNonTerminalNode = subproofAssertionStatementNode, antecedentNonTerminalNodeMatches = matchAntecedentNonTerminalNode(antecedentNonTerminalNode, nonTerminalNode, substitutions);
|
|
90
|
+
if (antecedentNonTerminalNodeMatches) {
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return subproofNodeMatches;
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
key: "matchStatementNode",
|
|
101
|
+
value: function matchStatementNode(statementNode, substitutions) {
|
|
102
|
+
var nonTerminalNode = statementNode, antecedentNonTerminalNode = this.statementNode, antecedentNonTerminalNodeMatches = matchAntecedentNonTerminalNode(antecedentNonTerminalNode, nonTerminalNode, substitutions), statementNodeMatches = antecedentNonTerminalNodeMatches; ///
|
|
103
|
+
return statementNodeMatches;
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
key: "toJSON",
|
|
108
|
+
value: function toJSON() {
|
|
109
|
+
var statementString = (0, _string.nodeAsString)(this.statementNode), statement = statementString, json = {
|
|
110
|
+
statement: statement
|
|
111
|
+
};
|
|
112
|
+
return json;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
], [
|
|
116
|
+
{
|
|
117
|
+
key: "fromJSON",
|
|
118
|
+
value: function fromJSON(json, releaseContext) {
|
|
119
|
+
var statement = json.statement, statementString = statement, statementNode = (0, _string.statementNodeFromStatementString)(statementString, releaseContext), antecedent = new Antecedent(statementNode);
|
|
120
|
+
return antecedent;
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
key: "fromStatementNode",
|
|
125
|
+
value: function fromStatementNode(statementNode) {
|
|
126
|
+
var antecedent = new Antecedent(statementNode);
|
|
127
|
+
return antecedent;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
]);
|
|
131
|
+
return Antecedent;
|
|
132
|
+
}();
|
|
133
|
+
function matchAntecedentNode(antecedentNode, node, substitutions) {
|
|
134
|
+
var antecedentNodeMatches = false;
|
|
135
|
+
var nodeTerminalNode = node.isTerminalNode(), ruleNodeTerminalNode = antecedentNode.isTerminalNode();
|
|
136
|
+
if (nodeTerminalNode === ruleNodeTerminalNode) {
|
|
137
|
+
if (nodeTerminalNode) {
|
|
138
|
+
var terminalNode = node, antecedentTerminalNode = antecedentNode, antecedentTerminalNodeMatches = matchAntecedentTerminalNode(antecedentTerminalNode, terminalNode, substitutions);
|
|
139
|
+
antecedentNodeMatches = antecedentTerminalNodeMatches; ///
|
|
140
|
+
} else {
|
|
141
|
+
var nonTerminalNode = node, antecedentNonTerminalNode = antecedentNode, antecedentNonTerminalNodeMatches = matchAntecedentNonTerminalNode(antecedentNonTerminalNode, nonTerminalNode, substitutions);
|
|
142
|
+
antecedentNodeMatches = antecedentNonTerminalNodeMatches; ///
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return antecedentNodeMatches;
|
|
146
|
+
}
|
|
147
|
+
function matchAntecedentNodes(antecedentNodes, nodes, substitutions) {
|
|
148
|
+
var antecedentNodesMatches = false;
|
|
149
|
+
var nodesLength = nodes.length, antecedentNodesLength = antecedentNodes.length;
|
|
150
|
+
if (nodesLength === antecedentNodesLength) {
|
|
151
|
+
antecedentNodesMatches = nodes.every(function(node, index) {
|
|
152
|
+
var antecedentNode = antecedentNodes[index], antecedentNodeMatches = matchAntecedentNode(antecedentNode, node, substitutions);
|
|
153
|
+
if (antecedentNodeMatches) {
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
return antecedentNodesMatches;
|
|
159
|
+
}
|
|
160
|
+
function matchAntecedentVariable(antecedentVariableNode, nodes, substitutions) {
|
|
161
|
+
var antecedentVariableMatches;
|
|
162
|
+
var antecedentVariableName = (0, _query.variableNameFromVariableNode)(antecedentVariableNode), substitution = substitutions.find(function(substitution) {
|
|
163
|
+
var variableName = substitution.getVariableName();
|
|
164
|
+
if (variableName === antecedentVariableName) {
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
}) || null;
|
|
168
|
+
if (substitution !== null) {
|
|
169
|
+
var substitutionNodesMatch = substitution.matchNodes(nodes);
|
|
170
|
+
antecedentVariableMatches = substitutionNodesMatch; ///
|
|
171
|
+
} else {
|
|
172
|
+
var variableName = antecedentVariableName, substitution1 = _substitution.default.fromVariableNameAndNodes(variableName, nodes);
|
|
173
|
+
substitutions.push(substitution1);
|
|
174
|
+
antecedentVariableMatches = true;
|
|
175
|
+
}
|
|
176
|
+
return antecedentVariableMatches;
|
|
177
|
+
}
|
|
178
|
+
function matchAntecedentTerminalNode(antecedentTerminalNode, terminalNode, substitutions) {
|
|
179
|
+
var matches = antecedentTerminalNode.match(terminalNode), antecedentTerminalNodeMatches = matches;
|
|
180
|
+
return antecedentTerminalNodeMatches;
|
|
181
|
+
}
|
|
182
|
+
function matchAntecedentNonTerminalNode(antecedentNonTerminalNode, nonTerminalNode, substitutions) {
|
|
183
|
+
var antecedentNonTerminalNodeMatches = false;
|
|
184
|
+
var ruleName = nonTerminalNode.getRuleName(), antecedentRuleName = antecedentNonTerminalNode.getRuleName(); ///
|
|
185
|
+
if (ruleName === antecedentRuleName) {
|
|
186
|
+
var childNodes = nonTerminalNode.getChildNodes(), antecedentChildNodes = antecedentNonTerminalNode.getChildNodes(), nodes = childNodes, antecedentNodes = antecedentChildNodes, antecedentChildNodesMatches = matchAntecedentNodes(antecedentNodes, nodes, substitutions);
|
|
187
|
+
antecedentNonTerminalNodeMatches = antecedentChildNodesMatches; ///
|
|
188
|
+
if (!antecedentNonTerminalNodeMatches) {
|
|
189
|
+
var ruleNameStatementRuleName = ruleName === _ruleNames.STATEMENT_RULE_NAME;
|
|
190
|
+
if (ruleNameStatementRuleName) {
|
|
191
|
+
var statementNode = nonTerminalNode, antecedentStatementNode = antecedentNonTerminalNode, antecedentStatementNodeMatches = matchAntecedentStatementNode(antecedentStatementNode, statementNode, substitutions);
|
|
192
|
+
antecedentNonTerminalNodeMatches = antecedentStatementNodeMatches; ///
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return antecedentNonTerminalNodeMatches;
|
|
197
|
+
}
|
|
198
|
+
function matchAntecedentStatementNode(antecedentStatementNode, statementNode, substitutions) {
|
|
199
|
+
var antecedentStatementNodeMatches = false;
|
|
200
|
+
var antecedentNonTerminalNode = antecedentStatementNode, antecedentChildNodes = antecedentNonTerminalNode.getChildNodes(), antecedentChildNodesLength = antecedentChildNodes.length;
|
|
201
|
+
if (antecedentChildNodesLength === 1) {
|
|
202
|
+
var firstAntecedentChildNode = (0, _array.first)(antecedentChildNodes), antecedentChildNode = firstAntecedentChildNode, antecedentChildNodeNonTerminalNode = antecedentChildNode.isNonTerminalNode();
|
|
203
|
+
if (antecedentChildNodeNonTerminalNode) {
|
|
204
|
+
var antecedentNonTerminalChildNode = antecedentChildNode, antecedentNonTerminalChildNodeRuleName = antecedentNonTerminalChildNode.getRuleName(), antecedentNonTerminalChildNodeRuleNameVariableRuleName = antecedentNonTerminalChildNodeRuleName === _ruleNames.VARIABLE_RULE_NAME;
|
|
205
|
+
if (antecedentNonTerminalChildNodeRuleNameVariableRuleName) {
|
|
206
|
+
var antecedentVariableNode = antecedentNonTerminalChildNode, nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), nodes = childNodes, antecedentVariableMatches = matchAntecedentVariable(antecedentVariableNode, nodes, substitutions);
|
|
207
|
+
antecedentStatementNodeMatches = antecedentVariableMatches; ///
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
return antecedentStatementNodeMatches;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hbnRlY2VkZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3Vic3RpdHV0aW9uIGZyb20gXCIuL3N1YnN0aXR1dGlvblwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IFZBUklBQkxFX1JVTEVfTkFNRSwgU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuL3J1bGVOYW1lc1wiO1xuXG5jb25zdCBzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9zdWJwcm9vZkFzc2VydGlvbi9zdGF0ZW1lbnRcIiksXG4gICAgICBzdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvc3VicHJvb2ZBc3NlcnRpb24hXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9zdWJwcm9vZi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgcXVhbGlmaWVkT3JVbnF1YWxpZmllZFN0YXRlbWVudFN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdWJwcm9vZi9tZXRhRGVyaXZhdGlvbnxhYnJpZGdlZE1ldGFEZXJpdmF0aW9uL3F1YWxpZmllZFN0YXRlbWVudHx1bnF1YWxpZmllZFN0YXRlbWVudFstMV0vc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQW50ZWNlZGVudCB7XG4gIGNvbnN0cnVjdG9yKHN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hTdWJwcm9vZk5vZGUoc3VicHJvb2ZOb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IHN1YnByb29mTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN1YnByb29mQXNzZXJ0aW9uTm9kZSA9IHN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5KHRoaXMuc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBpZiAoc3VicHJvb2ZBc3NlcnRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGVzID0gc3RhdGVtZW50Tm9kZXNRdWVyeShzdWJwcm9vZkFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdGF0ZW1lbnROb2RlcyA9IHVucXVhbGlmaWVkU3RhdGVtZW50U3RhdGVtZW50Tm9kZXNRdWVyeShzdWJwcm9vZk5vZGUpLFxuICAgICAgICAgICAgcXVhbGlmaWVkT3JVbnF1YWxpZmllZFN0YXRlbWVudFN0YXRlbWVudE5vZGUgPSBxdWFsaWZpZWRPclVucXVhbGlmaWVkU3RhdGVtZW50U3RhdGVtZW50Tm9kZVF1ZXJ5KHN1YnByb29mTm9kZSksXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlcyA9IFtcbiAgICAgICAgICAgICAgLi4udW5xdWFsaWZpZWRTdGF0ZW1lbnRTdGF0ZW1lbnROb2RlcyxcbiAgICAgICAgICAgICAgcXVhbGlmaWVkT3JVbnF1YWxpZmllZFN0YXRlbWVudFN0YXRlbWVudE5vZGVcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2Rlc0xlbmd0aCA9IHN0YXRlbWVudE5vZGVzLmxlbmd0aCxcbiAgICAgICAgICAgIHN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXNMZW5ndGggPSBzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGVzLmxlbmd0aDtcblxuICAgICAgaWYgKHN0YXRlbWVudE5vZGVzTGVuZ3RoID09PSBzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGVzTGVuZ3RoKSB7XG4gICAgICAgIHN1YnByb29mTm9kZU1hdGNoZXMgPSBzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGVzLmV2ZXJ5KChzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnRlY2VkZW50Tm9uVGVybWluYWxOb2RlID0gc3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnRlY2VkZW50Tm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoQW50ZWNlZGVudE5vblRlcm1pbmFsTm9kZShhbnRlY2VkZW50Tm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYW50ZWNlZGVudE5vblRlcm1pbmFsTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnByb29mTm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IHN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBhbnRlY2VkZW50Tm9uVGVybWluYWxOb2RlID0gdGhpcy5zdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgYW50ZWNlZGVudE5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaEFudGVjZWRlbnROb25UZXJtaW5hbE5vZGUoYW50ZWNlZGVudE5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBzdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGFudGVjZWRlbnROb25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5zdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRTdHJpbmcsIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBzdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IHN0YXRlbWVudCB9ID0ganNvbixcbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQsICAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcoc3RhdGVtZW50U3RyaW5nLCByZWxlYXNlQ29udGV4dCksXG4gICAgICAgICAgYW50ZWNlZGVudCA9IG5ldyBBbnRlY2VkZW50KHN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIGFudGVjZWRlbnQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IGFudGVjZWRlbnQgPSBuZXcgQW50ZWNlZGVudChzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBhbnRlY2VkZW50O1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hdGNoQW50ZWNlZGVudE5vZGUoYW50ZWNlZGVudE5vZGUsIG5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IGFudGVjZWRlbnROb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgIHJ1bGVOb2RlVGVybWluYWxOb2RlID0gYW50ZWNlZGVudE5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICBpZiAobm9kZVRlcm1pbmFsTm9kZSA9PT0gcnVsZU5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBpZiAobm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgICAgYW50ZWNlZGVudFRlcm1pbmFsTm9kZSA9IGFudGVjZWRlbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBhbnRlY2VkZW50VGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoQW50ZWNlZGVudFRlcm1pbmFsTm9kZShhbnRlY2VkZW50VGVybWluYWxOb2RlLCB0ZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBhbnRlY2VkZW50Tm9kZU1hdGNoZXMgPSBhbnRlY2VkZW50VGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIGFudGVjZWRlbnROb25UZXJtaW5hbE5vZGUgPSBhbnRlY2VkZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgYW50ZWNlZGVudE5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaEFudGVjZWRlbnROb25UZXJtaW5hbE5vZGUoYW50ZWNlZGVudE5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgYW50ZWNlZGVudE5vZGVNYXRjaGVzID0gYW50ZWNlZGVudE5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhbnRlY2VkZW50Tm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQW50ZWNlZGVudE5vZGVzKGFudGVjZWRlbnROb2Rlcywgbm9kZXMsIHN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IGFudGVjZWRlbnROb2Rlc01hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBub2Rlc0xlbmd0aCA9IG5vZGVzLmxlbmd0aCxcbiAgICAgICAgYW50ZWNlZGVudE5vZGVzTGVuZ3RoID0gYW50ZWNlZGVudE5vZGVzLmxlbmd0aDtcblxuICBpZiAobm9kZXNMZW5ndGggPT09IGFudGVjZWRlbnROb2Rlc0xlbmd0aCkge1xuICAgIGFudGVjZWRlbnROb2Rlc01hdGNoZXMgPSBub2Rlcy5ldmVyeSgobm9kZSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGFudGVjZWRlbnROb2RlID0gYW50ZWNlZGVudE5vZGVzW2luZGV4XSxcbiAgICAgICAgICAgIGFudGVjZWRlbnROb2RlTWF0Y2hlcyA9IG1hdGNoQW50ZWNlZGVudE5vZGUoYW50ZWNlZGVudE5vZGUsIG5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAoYW50ZWNlZGVudE5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGFudGVjZWRlbnROb2Rlc01hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQW50ZWNlZGVudFZhcmlhYmxlKGFudGVjZWRlbnRWYXJpYWJsZU5vZGUsIG5vZGVzLCBzdWJzdGl0dXRpb25zKSB7XG4gIGxldCBhbnRlY2VkZW50VmFyaWFibGVNYXRjaGVzO1xuXG4gIGNvbnN0IGFudGVjZWRlbnRWYXJpYWJsZU5hbWUgPSB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlKGFudGVjZWRlbnRWYXJpYWJsZU5vZGUpLFxuICAgICAgICBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmQoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhcmlhYmxlTmFtZSA9IHN1YnN0aXR1dGlvbi5nZXRWYXJpYWJsZU5hbWUoKTtcblxuICAgICAgICAgIGlmICh2YXJpYWJsZU5hbWUgPT09IGFudGVjZWRlbnRWYXJpYWJsZU5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgbnVsbDtcblxuICBpZiAoc3Vic3RpdHV0aW9uICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uTm9kZXNNYXRjaCA9IHN1YnN0aXR1dGlvbi5tYXRjaE5vZGVzKG5vZGVzKTtcblxuICAgIGFudGVjZWRlbnRWYXJpYWJsZU1hdGNoZXMgPSBzdWJzdGl0dXRpb25Ob2Rlc01hdGNoOyAgLy8vXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdmFyaWFibGVOYW1lID0gYW50ZWNlZGVudFZhcmlhYmxlTmFtZSwgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9uID0gU3Vic3RpdHV0aW9uLmZyb21WYXJpYWJsZU5hbWVBbmROb2Rlcyh2YXJpYWJsZU5hbWUsIG5vZGVzKTtcblxuICAgIHN1YnN0aXR1dGlvbnMucHVzaChzdWJzdGl0dXRpb24pO1xuXG4gICAgYW50ZWNlZGVudFZhcmlhYmxlTWF0Y2hlcyA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gYW50ZWNlZGVudFZhcmlhYmxlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hBbnRlY2VkZW50VGVybWluYWxOb2RlKGFudGVjZWRlbnRUZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICBjb25zdCBtYXRjaGVzID0gYW50ZWNlZGVudFRlcm1pbmFsTm9kZS5tYXRjaCh0ZXJtaW5hbE5vZGUpLFxuICAgICAgICBhbnRlY2VkZW50VGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoZXM7XG5cbiAgcmV0dXJuIGFudGVjZWRlbnRUZXJtaW5hbE5vZGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaEFudGVjZWRlbnROb25UZXJtaW5hbE5vZGUoYW50ZWNlZGVudE5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gIGxldCBhbnRlY2VkZW50Tm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgIGFudGVjZWRlbnRSdWxlTmFtZSA9IGFudGVjZWRlbnROb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgaWYgKHJ1bGVOYW1lID09PSBhbnRlY2VkZW50UnVsZU5hbWUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBhbnRlY2VkZW50Q2hpbGROb2RlcyA9IGFudGVjZWRlbnROb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgYW50ZWNlZGVudE5vZGVzID0gYW50ZWNlZGVudENoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIGFudGVjZWRlbnRDaGlsZE5vZGVzTWF0Y2hlcyA9IG1hdGNoQW50ZWNlZGVudE5vZGVzKGFudGVjZWRlbnROb2Rlcywgbm9kZXMsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgYW50ZWNlZGVudE5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBhbnRlY2VkZW50Q2hpbGROb2Rlc01hdGNoZXM7IC8vL1xuXG4gICAgaWYgKCFhbnRlY2VkZW50Tm9uVGVybWluYWxOb2RlTWF0Y2hlcykge1xuICAgICAgY29uc3QgcnVsZU5hbWVTdGF0ZW1lbnRSdWxlTmFtZSA9IChydWxlTmFtZSA9PT0gU1RBVEVNRU5UX1JVTEVfTkFNRSk7XG5cbiAgICAgIGlmIChydWxlTmFtZVN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBub25UZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgYW50ZWNlZGVudFN0YXRlbWVudE5vZGUgPSBhbnRlY2VkZW50Tm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgIGFudGVjZWRlbnRTdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG1hdGNoQW50ZWNlZGVudFN0YXRlbWVudE5vZGUoYW50ZWNlZGVudFN0YXRlbWVudE5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgIGFudGVjZWRlbnROb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gYW50ZWNlZGVudFN0YXRlbWVudE5vZGVNYXRjaGVzOyAvLy9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYW50ZWNlZGVudE5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoQW50ZWNlZGVudFN0YXRlbWVudE5vZGUoYW50ZWNlZGVudFN0YXRlbWVudE5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IGFudGVjZWRlbnRTdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IGFudGVjZWRlbnROb25UZXJtaW5hbE5vZGUgPSBhbnRlY2VkZW50U3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBhbnRlY2VkZW50Q2hpbGROb2RlcyA9IGFudGVjZWRlbnROb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICBhbnRlY2VkZW50Q2hpbGROb2Rlc0xlbmd0aCA9IGFudGVjZWRlbnRDaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAoYW50ZWNlZGVudENoaWxkTm9kZXNMZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCBmaXJzdEFudGVjZWRlbnRDaGlsZE5vZGUgPSBmaXJzdChhbnRlY2VkZW50Q2hpbGROb2RlcyksXG4gICAgICAgICAgYW50ZWNlZGVudENoaWxkTm9kZSA9IGZpcnN0QW50ZWNlZGVudENoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgIGFudGVjZWRlbnRDaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBhbnRlY2VkZW50Q2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoYW50ZWNlZGVudENoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgYW50ZWNlZGVudE5vblRlcm1pbmFsQ2hpbGROb2RlID0gYW50ZWNlZGVudENoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgYW50ZWNlZGVudE5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUgPSBhbnRlY2VkZW50Tm9uVGVybWluYWxDaGlsZE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIGFudGVjZWRlbnROb25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lVmFyaWFibGVSdWxlTmFtZSA9IChhbnRlY2VkZW50Tm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSA9PT0gVkFSSUFCTEVfUlVMRV9OQU1FKTtcblxuICAgICAgaWYgKGFudGVjZWRlbnROb25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lVmFyaWFibGVSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBhbnRlY2VkZW50VmFyaWFibGVOb2RlID0gYW50ZWNlZGVudE5vblRlcm1pbmFsQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IHN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICAgIGFudGVjZWRlbnRWYXJpYWJsZU1hdGNoZXMgPSBtYXRjaEFudGVjZWRlbnRWYXJpYWJsZShhbnRlY2VkZW50VmFyaWFibGVOb2RlLCBub2Rlcywgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgYW50ZWNlZGVudFN0YXRlbWVudE5vZGVNYXRjaGVzID0gYW50ZWNlZGVudFZhcmlhYmxlTWF0Y2hlczsgLy8vXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGFudGVjZWRlbnRTdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJBbnRlY2VkZW50Iiwic3RhdGVtZW50Tm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJzdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50U3RhdGVtZW50Tm9kZXNRdWVyeSIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnRTdGF0ZW1lbnROb2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsIm1hdGNoU3VicHJvb2ZOb2RlIiwic3VicHJvb2ZOb2RlIiwic3Vic3RpdHV0aW9ucyIsInN1YnByb29mTm9kZU1hdGNoZXMiLCJzdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGVzIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRTdGF0ZW1lbnROb2RlcyIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRTdGF0ZW1lbnRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZXMiLCJzdGF0ZW1lbnROb2Rlc0xlbmd0aCIsImxlbmd0aCIsInN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXNMZW5ndGgiLCJldmVyeSIsInN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZSIsImluZGV4Iiwibm9uVGVybWluYWxOb2RlIiwiYW50ZWNlZGVudE5vblRlcm1pbmFsTm9kZSIsImFudGVjZWRlbnROb25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hBbnRlY2VkZW50Tm9uVGVybWluYWxOb2RlIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJ0b0pTT04iLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJzdGF0ZW1lbnQiLCJqc29uIiwiZnJvbUpTT04iLCJyZWxlYXNlQ29udGV4dCIsInN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nIiwiYW50ZWNlZGVudCIsImZyb21TdGF0ZW1lbnROb2RlIiwibWF0Y2hBbnRlY2VkZW50Tm9kZSIsImFudGVjZWRlbnROb2RlIiwibm9kZSIsImFudGVjZWRlbnROb2RlTWF0Y2hlcyIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInJ1bGVOb2RlVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiYW50ZWNlZGVudFRlcm1pbmFsTm9kZSIsImFudGVjZWRlbnRUZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hBbnRlY2VkZW50VGVybWluYWxOb2RlIiwibWF0Y2hBbnRlY2VkZW50Tm9kZXMiLCJhbnRlY2VkZW50Tm9kZXMiLCJub2RlcyIsImFudGVjZWRlbnROb2Rlc01hdGNoZXMiLCJub2Rlc0xlbmd0aCIsImFudGVjZWRlbnROb2Rlc0xlbmd0aCIsIm1hdGNoQW50ZWNlZGVudFZhcmlhYmxlIiwiYW50ZWNlZGVudFZhcmlhYmxlTm9kZSIsImFudGVjZWRlbnRWYXJpYWJsZU1hdGNoZXMiLCJhbnRlY2VkZW50VmFyaWFibGVOYW1lIiwidmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbiIsImZpbmQiLCJ2YXJpYWJsZU5hbWUiLCJnZXRWYXJpYWJsZU5hbWUiLCJzdWJzdGl0dXRpb25Ob2Rlc01hdGNoIiwibWF0Y2hOb2RlcyIsIlN1YnN0aXR1dGlvbiIsImZyb21WYXJpYWJsZU5hbWVBbmROb2RlcyIsInB1c2giLCJtYXRjaGVzIiwibWF0Y2giLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiYW50ZWNlZGVudFJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJhbnRlY2VkZW50Q2hpbGROb2RlcyIsImFudGVjZWRlbnRDaGlsZE5vZGVzTWF0Y2hlcyIsInJ1bGVOYW1lU3RhdGVtZW50UnVsZU5hbWUiLCJTVEFURU1FTlRfUlVMRV9OQU1FIiwiYW50ZWNlZGVudFN0YXRlbWVudE5vZGUiLCJhbnRlY2VkZW50U3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaEFudGVjZWRlbnRTdGF0ZW1lbnROb2RlIiwiYW50ZWNlZGVudENoaWxkTm9kZXNMZW5ndGgiLCJmaXJzdEFudGVjZWRlbnRDaGlsZE5vZGUiLCJmaXJzdCIsImFudGVjZWRlbnRDaGlsZE5vZGUiLCJhbnRlY2VkZW50Q2hpbGROb2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJhbnRlY2VkZW50Tm9uVGVybWluYWxDaGlsZE5vZGUiLCJhbnRlY2VkZW50Tm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSIsImFudGVjZWRlbnROb25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lVmFyaWFibGVSdWxlTmFtZSIsIlZBUklBQkxFX1JVTEVfTkFNRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFnQnFCQTs7O2lFQWRJO3FCQUVIO3NCQUNPO3FCQUNTO3lCQUdrQjs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
package/lib/axiom.js
CHANGED
|
@@ -8,9 +8,14 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return Axiom;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
11
|
+
var _axiomLemmaTheorem = /*#__PURE__*/ _interopRequireDefault(require("./axiomLemmaTheorem"));
|
|
12
12
|
var _kinds = require("./kinds");
|
|
13
|
-
|
|
13
|
+
function _assertThisInitialized(self) {
|
|
14
|
+
if (self === void 0) {
|
|
15
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
16
|
+
}
|
|
17
|
+
return self;
|
|
18
|
+
}
|
|
14
19
|
function _classCallCheck(instance, Constructor) {
|
|
15
20
|
if (!(instance instanceof Constructor)) {
|
|
16
21
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -30,97 +35,107 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
30
35
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
36
|
return Constructor;
|
|
32
37
|
}
|
|
38
|
+
function _defineProperty(obj, key, value) {
|
|
39
|
+
if (key in obj) {
|
|
40
|
+
Object.defineProperty(obj, key, {
|
|
41
|
+
value: value,
|
|
42
|
+
enumerable: true,
|
|
43
|
+
configurable: true,
|
|
44
|
+
writable: true
|
|
45
|
+
});
|
|
46
|
+
} else {
|
|
47
|
+
obj[key] = value;
|
|
48
|
+
}
|
|
49
|
+
return obj;
|
|
50
|
+
}
|
|
51
|
+
function _getPrototypeOf(o) {
|
|
52
|
+
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
53
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
54
|
+
};
|
|
55
|
+
return _getPrototypeOf(o);
|
|
56
|
+
}
|
|
57
|
+
function _inherits(subClass, superClass) {
|
|
58
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
59
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
60
|
+
}
|
|
61
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
62
|
+
constructor: {
|
|
63
|
+
value: subClass,
|
|
64
|
+
writable: true,
|
|
65
|
+
configurable: true
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
69
|
+
}
|
|
33
70
|
function _interopRequireDefault(obj) {
|
|
34
71
|
return obj && obj.__esModule ? obj : {
|
|
35
72
|
default: obj
|
|
36
73
|
};
|
|
37
74
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
this.labels = labels;
|
|
42
|
-
this.unqualifiedStatementNode = unqualifiedStatementNode;
|
|
43
|
-
this.indicativeConditionalNode = indicativeConditionalNode;
|
|
75
|
+
function _possibleConstructorReturn(self, call) {
|
|
76
|
+
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
77
|
+
return call;
|
|
44
78
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
{
|
|
77
|
-
|
|
78
|
-
value: function toJSON() {
|
|
79
|
-
var labelsJSON = this.labels.map(function(label) {
|
|
80
|
-
var labelJSON = label.toJSON();
|
|
81
|
-
return labelJSON;
|
|
82
|
-
}), unqualifiedStatementString = (0, _string.nodeAsString)(this.unqualifiedStatementNode), indicativeConditionalString = (0, _string.nodeAsString)(this.indicativeConditionalNode), kind = _kinds.AXIOM_KIND, labels = labelsJSON, unqualifiedStatement = unqualifiedStatementString, indicativeConditional = indicativeConditionalString, json = {
|
|
83
|
-
kind: kind,
|
|
84
|
-
labels: labels,
|
|
85
|
-
unqualifiedStatement: unqualifiedStatement,
|
|
86
|
-
indicativeConditional: indicativeConditional
|
|
87
|
-
};
|
|
88
|
-
return json;
|
|
89
|
-
}
|
|
79
|
+
return _assertThisInitialized(self);
|
|
80
|
+
}
|
|
81
|
+
function _setPrototypeOf(o, p) {
|
|
82
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
83
|
+
o.__proto__ = p;
|
|
84
|
+
return o;
|
|
85
|
+
};
|
|
86
|
+
return _setPrototypeOf(o, p);
|
|
87
|
+
}
|
|
88
|
+
var _typeof = function(obj) {
|
|
89
|
+
"@swc/helpers - typeof";
|
|
90
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
91
|
+
};
|
|
92
|
+
function _isNativeReflectConstruct() {
|
|
93
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
94
|
+
if (Reflect.construct.sham) return false;
|
|
95
|
+
if (typeof Proxy === "function") return true;
|
|
96
|
+
try {
|
|
97
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
98
|
+
return true;
|
|
99
|
+
} catch (e) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function _createSuper(Derived) {
|
|
104
|
+
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
105
|
+
return function _createSuperInternal() {
|
|
106
|
+
var Super = _getPrototypeOf(Derived), result;
|
|
107
|
+
if (hasNativeReflectConstruct) {
|
|
108
|
+
var NewTarget = _getPrototypeOf(this).constructor;
|
|
109
|
+
result = Reflect.construct(Super, arguments, NewTarget);
|
|
110
|
+
} else {
|
|
111
|
+
result = Super.apply(this, arguments);
|
|
90
112
|
}
|
|
91
|
-
|
|
113
|
+
return _possibleConstructorReturn(this, result);
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
var Axiom = /*#__PURE__*/ function(AxiomLemmaTheorem) {
|
|
117
|
+
_inherits(Axiom, AxiomLemmaTheorem);
|
|
118
|
+
var _super = _createSuper(Axiom);
|
|
119
|
+
function Axiom() {
|
|
120
|
+
_classCallCheck(this, Axiom);
|
|
121
|
+
return _super.apply(this, arguments);
|
|
122
|
+
}
|
|
123
|
+
_createClass(Axiom, null, [
|
|
92
124
|
{
|
|
93
125
|
key: "fromJSON",
|
|
94
126
|
value: function fromJSON(json, releaseContext) {
|
|
95
|
-
|
|
96
|
-
var labelsJSON = labels; ///
|
|
97
|
-
labels = labelsJSON.map(function(labelJSON) {
|
|
98
|
-
var _$json = labelJSON, label = _label.default.fromJSON(_$json, releaseContext);
|
|
99
|
-
return label;
|
|
100
|
-
});
|
|
101
|
-
var unqualifiedStatement = json.unqualifiedStatement, indicativeConditional = json.indicativeConditional;
|
|
102
|
-
var unqualifiedStatementNode = null, indicativeConditionalNode = null;
|
|
103
|
-
if (unqualifiedStatement !== null) {
|
|
104
|
-
var unqualifiedStatementString = unqualifiedStatement; ///
|
|
105
|
-
unqualifiedStatementNode = (0, _string.unqualifiedStatementNodeFromUnqualifiedStatementString)(unqualifiedStatementString, releaseContext);
|
|
106
|
-
}
|
|
107
|
-
if (indicativeConditional !== null) {
|
|
108
|
-
var indicativeConditionalString = indicativeConditional; ///
|
|
109
|
-
indicativeConditionalNode = (0, _string.indicativeConditionalNodeFromIndicativeConditionalString)(indicativeConditionalString, releaseContext);
|
|
110
|
-
}
|
|
111
|
-
var axiom = new Axiom(labels, unqualifiedStatementNode, indicativeConditionalNode);
|
|
112
|
-
return axiom;
|
|
127
|
+
return _axiomLemmaTheorem.default.fromJSON(Axiom, json, releaseContext);
|
|
113
128
|
}
|
|
114
129
|
},
|
|
115
130
|
{
|
|
116
|
-
key: "
|
|
117
|
-
value: function
|
|
118
|
-
|
|
119
|
-
return axiom;
|
|
131
|
+
key: "fromLabelsAntecedentsAndConsequent",
|
|
132
|
+
value: function fromLabelsAntecedentsAndConsequent(labels, antecedents, consequent) {
|
|
133
|
+
return _axiomLemmaTheorem.default.fromLabelsAntecedentsAndConsequent(Axiom, labels, antecedents, consequent);
|
|
120
134
|
}
|
|
121
135
|
}
|
|
122
136
|
]);
|
|
123
137
|
return Axiom;
|
|
124
|
-
}();
|
|
138
|
+
}(_axiomLemmaTheorem.default);
|
|
139
|
+
_defineProperty(Axiom, "kind", _kinds.AXIOM_KIND);
|
|
125
140
|
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9heGlvbS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9heGlvbS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEF4aW9tTGVtbWFUaGVvcmVtIGZyb20gXCIuL2F4aW9tTGVtbWFUaGVvcmVtXCI7XG5cbmltcG9ydCB7IEFYSU9NX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBeGlvbSBleHRlbmRzIEF4aW9tTGVtbWFUaGVvcmVtIHtcbiAgc3RhdGljIGtpbmQgPSBBWElPTV9LSU5EO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkgeyByZXR1cm4gQXhpb21MZW1tYVRoZW9yZW0uZnJvbUpTT04oQXhpb20sIGpzb24sIHJlbGVhc2VDb250ZXh0KTsgfVxuXG4gIHN0YXRpYyBmcm9tTGFiZWxzQW50ZWNlZGVudHNBbmRDb25zZXF1ZW50KGxhYmVscywgYW50ZWNlZGVudHMsIGNvbnNlcXVlbnQpIHsgcmV0dXJuIEF4aW9tTGVtbWFUaGVvcmVtLmZyb21MYWJlbHNBbnRlY2VkZW50c0FuZENvbnNlcXVlbnQoQXhpb20sIGxhYmVscywgYW50ZWNlZGVudHMsIGNvbnNlcXVlbnQpOyB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIkF4aW9tIiwiZnJvbUpTT04iLCJqc29uIiwicmVsZWFzZUNvbnRleHQiLCJBeGlvbUxlbW1hVGhlb3JlbSIsImZyb21MYWJlbHNBbnRlY2VkZW50c0FuZENvbnNlcXVlbnQiLCJsYWJlbHMiLCJhbnRlY2VkZW50cyIsImNvbnNlcXVlbnQiLCJraW5kIiwiQVhJT01fS0lORCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7c0VBSlM7cUJBRUg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVosSUFBQSxBQUFNQSxzQkFBTjtjQUFNQTs4QkFBQUE7YUFBQUE7OEJBQUFBOzs7aUJBQUFBOztZQUdaQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTQyxJQUFJLEVBQUVDLGNBQWMsRUFBRTtnQkFBRSxPQUFPQywwQkFBaUIsQ0FBQ0gsUUFBUSxDQUh0REQsT0FHOERFLE1BQU1DO1lBQWlCOzs7WUFFakdFLEtBQUFBO21CQUFQLFNBQU9BLG1DQUFtQ0MsTUFBTSxFQUFFQyxXQUFXLEVBQUVDLFVBQVUsRUFBRTtnQkFBRSxPQUFPSiwwQkFBaUIsQ0FBQ0Msa0NBQWtDLENBTHJITCxPQUs2SE0sUUFBUUMsYUFBYUM7WUFBYTs7O1dBTC9KUjtFQUFjSSwwQkFBaUI7QUFDbEQsZ0JBRG1CSixPQUNaUyxRQUFPQyxpQkFBVSJ9
|