occam-verify-cli 1.0.476 → 1.0.479
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/context/file.js +8 -2
- package/lib/context/scoped.js +9 -3
- package/lib/element/assertion/contained.js +3 -3
- package/lib/element/assertion/defined.js +46 -6
- package/lib/element/assertion/property.js +45 -5
- package/lib/element/assertion/satisfies.js +45 -5
- package/lib/element/assertion/subproof.js +4 -4
- package/lib/element/assertion/type.js +45 -5
- package/lib/element/assumption.js +4 -4
- package/lib/element/combinator/bracketed.js +3 -3
- package/lib/element/combinator.js +3 -3
- package/lib/element/conclusion.js +3 -3
- package/lib/element/constructor/bracketed.js +45 -5
- package/lib/element/constructor.js +3 -3
- package/lib/element/declaration/combinator.js +3 -4
- package/lib/element/declaration/complexType.js +3 -4
- package/lib/element/declaration/constructor.js +3 -4
- package/lib/element/declaration/metavariable.js +3 -4
- package/lib/element/declaration/simpleType.js +3 -4
- package/lib/element/declaration/typePrefix.js +3 -4
- package/lib/element/declaration/variable.js +3 -4
- package/lib/element/deduction.js +3 -3
- package/lib/element/derivation.js +5 -4
- package/lib/element/equality.js +4 -4
- package/lib/element/equivalence.js +5 -4
- package/lib/element/equivalences.js +5 -4
- package/lib/element/error.js +3 -3
- package/lib/element/frame.js +6 -5
- package/lib/element/hypothesis.js +3 -3
- package/lib/element/judgement.js +4 -4
- package/lib/element/label.js +3 -3
- package/lib/element/metaType.js +3 -3
- package/lib/element/metavariable.js +47 -6
- package/lib/element/parameter.js +3 -3
- package/lib/element/procedureCall.js +3 -3
- package/lib/element/procedureReference.js +3 -3
- package/lib/element/proof.js +3 -3
- package/lib/element/proofAssertion/premise.js +3 -4
- package/lib/element/proofAssertion/step.js +45 -5
- package/lib/element/proofAssertion/supposition.js +3 -4
- package/lib/element/property.js +3 -3
- package/lib/element/propertyRelation.js +3 -3
- package/lib/element/reference.js +4 -4
- package/lib/element/rule.js +48 -6
- package/lib/element/section.js +3 -3
- package/lib/element/signature.js +6 -5
- package/lib/element/statement.js +5 -4
- package/lib/element/subDerivation.js +5 -4
- package/lib/element/subproof.js +4 -4
- package/lib/element/substitution/frame.js +3 -4
- package/lib/element/substitution/reference.js +3 -4
- package/lib/element/substitution/statement.js +45 -5
- package/lib/element/substitution/term.js +3 -4
- package/lib/element/substitutions.js +5 -4
- package/lib/element/term.js +5 -4
- package/lib/element/topLevelAssertion/axiom.js +3 -4
- package/lib/element/topLevelAssertion/conjecture.js +3 -4
- package/lib/element/topLevelAssertion/lemma.js +3 -4
- package/lib/element/topLevelAssertion/theorem.js +3 -4
- package/lib/element/topLevelMetaAssertion/metaLemma.js +3 -4
- package/lib/element/topLevelMetaAssertion/metatheorem.js +3 -4
- package/lib/element/type.js +5 -4
- package/lib/element/typePrefix.js +3 -3
- package/lib/element/variable.js +4 -4
- package/lib/elements.js +27 -0
- package/lib/metaTypes.js +10 -5
- package/lib/node/argument.js +4 -9
- package/lib/node/assertion.js +4 -9
- package/lib/node/assumption.js +6 -11
- package/lib/node/body.js +4 -9
- package/lib/node/combinator.js +4 -9
- package/lib/node/conclusion.js +4 -9
- package/lib/node/constructor.js +4 -9
- package/lib/node/declaration.js +4 -9
- package/lib/node/deduction.js +4 -9
- package/lib/node/derivation.js +4 -9
- package/lib/node/document.js +4 -9
- package/lib/node/equality.js +4 -9
- package/lib/node/equivalence.js +4 -9
- package/lib/node/equivalences.js +4 -9
- package/lib/node/error.js +4 -9
- package/lib/node/frame.js +4 -9
- package/lib/node/header.js +4 -9
- package/lib/node/hypothesis.js +4 -9
- package/lib/node/judgement.js +4 -9
- package/lib/node/label.js +4 -9
- package/lib/node/labels.js +4 -9
- package/lib/node/metaArgument.js +4 -9
- package/lib/node/metaType.js +4 -9
- package/lib/node/metavariable.js +4 -9
- package/lib/node/parameter.js +4 -9
- package/lib/node/parenthesisedLabel.js +4 -9
- package/lib/node/parenthesisedLabels.js +4 -9
- package/lib/node/placeholder.js +4 -9
- package/lib/node/procedureCall.js +4 -9
- package/lib/node/procedureReference.js +4 -9
- package/lib/node/proof.js +4 -9
- package/lib/node/proofAssertion.js +4 -9
- package/lib/node/property.js +4 -9
- package/lib/node/propertyRelation.js +4 -9
- package/lib/node/qualification.js +4 -9
- package/lib/node/reference.js +4 -9
- package/lib/node/rule.js +4 -9
- package/lib/node/section.js +4 -9
- package/lib/node/signature.js +4 -9
- package/lib/node/statement.js +4 -9
- package/lib/node/subDerivation.js +4 -9
- package/lib/node/subproof.js +4 -9
- package/lib/node/substitution.js +4 -9
- package/lib/node/term.js +4 -9
- package/lib/node/topLevelAssertion.js +4 -9
- package/lib/node/topLevelMetaAssertion.js +4 -9
- package/lib/node/type.js +4 -9
- package/lib/node/typePrefix.js +4 -9
- package/lib/node/types.js +4 -9
- package/lib/node/variable.js +4 -9
- package/lib/nominal/parser.js +3 -3
- package/lib/types.js +8 -3
- package/lib/utilities/element.js +62 -57
- package/lib/utilities/json.js +37 -32
- package/lib/utilities/unification.js +11 -6
- package/lib/utilities/validation.js +8 -3
- package/package.json +6 -6
- package/src/context/file.js +3 -1
- package/src/context/scoped.js +3 -1
- package/src/element/assertion/contained.js +1 -2
- package/src/element/assertion/defined.js +2 -4
- package/src/element/assertion/property.js +2 -4
- package/src/element/assertion/satisfies.js +2 -3
- package/src/element/assertion/subproof.js +2 -3
- package/src/element/assertion/type.js +2 -4
- package/src/element/assumption.js +2 -3
- package/src/element/combinator/bracketed.js +1 -1
- package/src/element/combinator.js +2 -3
- package/src/element/conclusion.js +2 -3
- package/src/element/constructor/bracketed.js +2 -3
- package/src/element/constructor.js +2 -3
- package/src/element/declaration/combinator.js +1 -3
- package/src/element/declaration/complexType.js +1 -3
- package/src/element/declaration/constructor.js +1 -4
- package/src/element/declaration/metavariable.js +1 -3
- package/src/element/declaration/simpleType.js +1 -3
- package/src/element/declaration/typePrefix.js +1 -3
- package/src/element/declaration/variable.js +1 -3
- package/src/element/deduction.js +2 -3
- package/src/element/derivation.js +4 -3
- package/src/element/equality.js +2 -3
- package/src/element/equivalence.js +3 -3
- package/src/element/equivalences.js +3 -3
- package/src/element/error.js +2 -2
- package/src/element/frame.js +3 -3
- package/src/element/hypothesis.js +2 -3
- package/src/element/judgement.js +2 -3
- package/src/element/label.js +2 -3
- package/src/element/metaType.js +2 -2
- package/src/element/metavariable.js +4 -3
- package/src/element/parameter.js +2 -2
- package/src/element/procedureCall.js +2 -3
- package/src/element/procedureReference.js +2 -2
- package/src/element/proof.js +2 -3
- package/src/element/proofAssertion/premise.js +1 -4
- package/src/element/proofAssertion/step.js +2 -4
- package/src/element/proofAssertion/supposition.js +1 -4
- package/src/element/property.js +2 -2
- package/src/element/propertyRelation.js +2 -2
- package/src/element/reference.js +2 -3
- package/src/element/rule.js +5 -3
- package/src/element/section.js +2 -2
- package/src/element/signature.js +3 -3
- package/src/element/statement.js +3 -3
- package/src/element/subDerivation.js +4 -3
- package/src/element/subproof.js +2 -3
- package/src/element/substitution/frame.js +1 -4
- package/src/element/substitution/reference.js +1 -4
- package/src/element/substitution/statement.js +2 -4
- package/src/element/substitution/term.js +1 -4
- package/src/element/substitutions.js +3 -3
- package/src/element/term.js +3 -3
- package/src/element/topLevelAssertion/axiom.js +1 -3
- package/src/element/topLevelAssertion/conjecture.js +1 -3
- package/src/element/topLevelAssertion/lemma.js +1 -3
- package/src/element/topLevelAssertion/theorem.js +1 -3
- package/src/element/topLevelMetaAssertion/metaLemma.js +1 -3
- package/src/element/topLevelMetaAssertion/metatheorem.js +1 -3
- package/src/element/type.js +3 -3
- package/src/element/typePrefix.js +2 -2
- package/src/element/variable.js +2 -3
- package/src/elements.js +13 -0
- package/src/metaTypes.js +1 -1
- package/src/node/argument.js +1 -1
- package/src/node/assertion.js +1 -1
- package/src/node/assumption.js +2 -2
- package/src/node/body.js +1 -1
- package/src/node/combinator.js +1 -1
- package/src/node/conclusion.js +1 -1
- package/src/node/constructor.js +1 -1
- package/src/node/declaration.js +1 -1
- package/src/node/deduction.js +1 -1
- package/src/node/derivation.js +1 -1
- package/src/node/document.js +1 -1
- package/src/node/equality.js +1 -2
- package/src/node/equivalence.js +1 -1
- package/src/node/equivalences.js +1 -1
- package/src/node/error.js +1 -1
- package/src/node/frame.js +1 -1
- package/src/node/header.js +1 -1
- package/src/node/hypothesis.js +1 -1
- package/src/node/judgement.js +1 -1
- package/src/node/label.js +1 -1
- package/src/node/labels.js +1 -1
- package/src/node/metaArgument.js +1 -1
- package/src/node/metaType.js +1 -1
- package/src/node/metavariable.js +1 -1
- package/src/node/parameter.js +1 -1
- package/src/node/parenthesisedLabel.js +1 -1
- package/src/node/parenthesisedLabels.js +1 -1
- package/src/node/placeholder.js +1 -1
- package/src/node/procedureCall.js +1 -1
- package/src/node/procedureReference.js +1 -1
- package/src/node/proof.js +1 -1
- package/src/node/proofAssertion.js +1 -1
- package/src/node/property.js +1 -1
- package/src/node/propertyRelation.js +1 -1
- package/src/node/qualification.js +1 -1
- package/src/node/reference.js +1 -1
- package/src/node/rule.js +1 -1
- package/src/node/section.js +1 -1
- package/src/node/signature.js +1 -1
- package/src/node/statement.js +1 -1
- package/src/node/subDerivation.js +1 -1
- package/src/node/subproof.js +1 -1
- package/src/node/substitution.js +1 -1
- package/src/node/term.js +1 -1
- package/src/node/topLevelAssertion.js +1 -1
- package/src/node/topLevelMetaAssertion.js +1 -1
- package/src/node/type.js +1 -1
- package/src/node/typePrefix.js +1 -1
- package/src/node/types.js +1 -1
- package/src/node/variable.js +1 -1
- package/src/nominal/parser.js +1 -1
- package/src/types.js +1 -1
- package/src/utilities/element.js +1 -1
- package/src/utilities/json.js +1 -1
- package/src/utilities/unification.js +2 -1
- package/src/utilities/validation.js +1 -1
- package/lib/nonTerminalNode.js +0 -222
- package/src/nonTerminalNode.js +0 -136
package/src/utilities/json.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { elements } from "occam-furtle";
|
|
4
3
|
import { arrayUtilities } from "necessary";
|
|
5
4
|
|
|
5
|
+
import elements from "../elements";
|
|
6
|
+
|
|
6
7
|
import { synthetically } from "../utilities/context";
|
|
7
8
|
import { equalityFromStatement,
|
|
8
9
|
judgementFromStatement,
|
package/lib/nonTerminalNode.js
DELETED
|
@@ -1,222 +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 NonTerminalNode;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _necessary = require("necessary");
|
|
12
|
-
var _occamparsers = require("occam-parsers");
|
|
13
|
-
function _assert_this_initialized(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
|
-
}
|
|
19
|
-
function _call_super(_this, derived, args) {
|
|
20
|
-
derived = _get_prototype_of(derived);
|
|
21
|
-
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
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_prototype_of(o) {
|
|
43
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
44
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
45
|
-
};
|
|
46
|
-
return _get_prototype_of(o);
|
|
47
|
-
}
|
|
48
|
-
function _inherits(subClass, superClass) {
|
|
49
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
50
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
51
|
-
}
|
|
52
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
53
|
-
constructor: {
|
|
54
|
-
value: subClass,
|
|
55
|
-
writable: true,
|
|
56
|
-
configurable: true
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
60
|
-
}
|
|
61
|
-
function _possible_constructor_return(self, call) {
|
|
62
|
-
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
63
|
-
return call;
|
|
64
|
-
}
|
|
65
|
-
return _assert_this_initialized(self);
|
|
66
|
-
}
|
|
67
|
-
function _set_prototype_of(o, p) {
|
|
68
|
-
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
69
|
-
o.__proto__ = p;
|
|
70
|
-
return o;
|
|
71
|
-
};
|
|
72
|
-
return _set_prototype_of(o, p);
|
|
73
|
-
}
|
|
74
|
-
function _type_of(obj) {
|
|
75
|
-
"@swc/helpers - typeof";
|
|
76
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
77
|
-
}
|
|
78
|
-
function _is_native_reflect_construct() {
|
|
79
|
-
try {
|
|
80
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
81
|
-
} catch (_) {}
|
|
82
|
-
return (_is_native_reflect_construct = function() {
|
|
83
|
-
return !!result;
|
|
84
|
-
})();
|
|
85
|
-
}
|
|
86
|
-
var first = _necessary.arrayUtilities.first;
|
|
87
|
-
var NonTerminalNode = /*#__PURE__*/ function(NonTerminalNodeBase) {
|
|
88
|
-
_inherits(NonTerminalNode, NonTerminalNodeBase);
|
|
89
|
-
function NonTerminalNode() {
|
|
90
|
-
_class_call_check(this, NonTerminalNode);
|
|
91
|
-
return _call_super(this, NonTerminalNode, arguments);
|
|
92
|
-
}
|
|
93
|
-
_create_class(NonTerminalNode, [
|
|
94
|
-
{
|
|
95
|
-
key: "getNodeByRuleName",
|
|
96
|
-
value: function getNodeByRuleName() {
|
|
97
|
-
for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
|
|
98
|
-
ruleNames[_key] = arguments[_key];
|
|
99
|
-
}
|
|
100
|
-
var node = this.findChildNode(function(childNode) {
|
|
101
|
-
var childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
102
|
-
if (childNodeNonTerminalNode) {
|
|
103
|
-
var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
104
|
-
if (ruleNamesIncludesRuleName) {
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}) || null;
|
|
109
|
-
return node;
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
key: "getNodesByRuleName",
|
|
114
|
-
value: function getNodesByRuleName() {
|
|
115
|
-
for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
|
|
116
|
-
ruleNames[_key] = arguments[_key];
|
|
117
|
-
}
|
|
118
|
-
var nodes = this.filterChildNode(function(childNode) {
|
|
119
|
-
var childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
120
|
-
if (childNodeNonTerminalNode) {
|
|
121
|
-
var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
122
|
-
if (ruleNamesIncludesRuleName) {
|
|
123
|
-
return true;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
return nodes;
|
|
128
|
-
}
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
key: "getLastNodeByRuleName",
|
|
132
|
-
value: function getLastNodeByRuleName() {
|
|
133
|
-
for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
|
|
134
|
-
ruleNames[_key] = arguments[_key];
|
|
135
|
-
}
|
|
136
|
-
var lastNode = null;
|
|
137
|
-
this.backwardsSomeChildNode(function(childNode) {
|
|
138
|
-
var childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
139
|
-
if (childNodeNonTerminalNode) {
|
|
140
|
-
var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
141
|
-
if (ruleNamesIncludesRuleName) {
|
|
142
|
-
lastNode = childNode; ///
|
|
143
|
-
return true;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
return lastNode;
|
|
148
|
-
}
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
key: "getFirstNodeByRuleName",
|
|
152
|
-
value: function getFirstNodeByRuleName() {
|
|
153
|
-
for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
|
|
154
|
-
ruleNames[_key] = arguments[_key];
|
|
155
|
-
}
|
|
156
|
-
var firstNode = null;
|
|
157
|
-
this.forwardsSomeChildNode(function(childNode) {
|
|
158
|
-
var childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
159
|
-
if (childNodeNonTerminalNode) {
|
|
160
|
-
var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
161
|
-
if (ruleNamesIncludesRuleName) {
|
|
162
|
-
firstNode = childNode; ///
|
|
163
|
-
return true;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
return firstNode;
|
|
168
|
-
}
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
key: "getSingularNodeByRuleName",
|
|
172
|
-
value: function getSingularNodeByRuleName() {
|
|
173
|
-
for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
|
|
174
|
-
ruleNames[_key] = arguments[_key];
|
|
175
|
-
}
|
|
176
|
-
var singularNode = null;
|
|
177
|
-
var nodes = this.filterChildNode(function(childNode) {
|
|
178
|
-
var childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
179
|
-
if (childNodeNonTerminalNode) {
|
|
180
|
-
var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
181
|
-
if (ruleNamesIncludesRuleName) {
|
|
182
|
-
return true;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}), nodesLength = nodes.length;
|
|
186
|
-
if (nodesLength === 1) {
|
|
187
|
-
var firstNode = first(nodes);
|
|
188
|
-
singularNode = firstNode; ///
|
|
189
|
-
}
|
|
190
|
-
return singularNode;
|
|
191
|
-
}
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
key: "getDescendantNodesByRuleName",
|
|
195
|
-
value: function getDescendantNodesByRuleName() {
|
|
196
|
-
for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
|
|
197
|
-
ruleNames[_key] = arguments[_key];
|
|
198
|
-
}
|
|
199
|
-
var nodes = this.filterDescendantNode(function(descendantNode) {
|
|
200
|
-
var descendantNodeNonTerminalNode = descendantNode.isNonTerminalNode();
|
|
201
|
-
if (descendantNodeNonTerminalNode) {
|
|
202
|
-
var nonTerminalNode = descendantNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
203
|
-
if (ruleNamesIncludesRuleName) {
|
|
204
|
-
return true;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
return nodes;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
], [
|
|
212
|
-
{
|
|
213
|
-
key: "fromRuleNameChildNodesOpacityAndPrecedence",
|
|
214
|
-
value: function fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) {
|
|
215
|
-
return _occamparsers.NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
]);
|
|
219
|
-
return NonTerminalNode;
|
|
220
|
-
}(_occamparsers.NonTerminalNode);
|
|
221
|
-
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub25UZXJtaW5hbE5vZGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBOb25UZXJtaW5hbE5vZGUgYXMgTm9uVGVybWluYWxOb2RlQmFzZSB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5cbmNvbnN0IHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOb25UZXJtaW5hbE5vZGUgZXh0ZW5kcyBOb25UZXJtaW5hbE5vZGVCYXNlIHtcbiAgZ2V0Tm9kZUJ5UnVsZU5hbWUoLi4ucnVsZU5hbWVzKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZmluZENoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICBydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lID0gcnVsZU5hbWVzLmluY2x1ZGVzKHJ1bGVOYW1lKTtcblxuICAgICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgZ2V0Tm9kZXNCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5maWx0ZXJDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgICAgaWYgKHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG5cbiAgZ2V0TGFzdE5vZGVCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICAgIGxldCBsYXN0Tm9kZSA9IG51bGw7XG5cbiAgICB0aGlzLmJhY2t3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgICAgaWYgKHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUpIHtcbiAgICAgICAgICBsYXN0Tm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxhc3ROb2RlO1xuICB9XG5cbiAgZ2V0Rmlyc3ROb2RlQnlSdWxlTmFtZSguLi5ydWxlTmFtZXMpIHtcbiAgICBsZXQgZmlyc3ROb2RlID0gbnVsbDtcblxuICAgIHRoaXMuZm9yd2FyZHNTb21lQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICAgIHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgICAgZmlyc3ROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlyc3ROb2RlO1xuICB9XG5cbiAgZ2V0U2luZ3VsYXJOb2RlQnlSdWxlTmFtZSguLi5ydWxlTmFtZXMpIHtcbiAgICBsZXQgc2luZ3VsYXJOb2RlID0gbnVsbDtcblxuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5maWx0ZXJDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgICAgICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgICAgICAgICAgaWYgKHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKG5vZGVzTGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBmaXJzdE5vZGUgPSBmaXJzdChub2Rlcyk7XG5cbiAgICAgIHNpbmd1bGFyTm9kZSA9IGZpcnN0Tm9kZTsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHNpbmd1bGFyTm9kZTtcbiAgfVxuXG4gIGdldERlc2NlbmRhbnROb2Rlc0J5UnVsZU5hbWUoLi4ucnVsZU5hbWVzKSB7XG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLmZpbHRlckRlc2NlbmRhbnROb2RlKChkZXNjZW5kYW50Tm9kZSkgPT4ge1xuICAgICAgY29uc3QgZGVzY2VuZGFudE5vZGVOb25UZXJtaW5hbE5vZGUgPSBkZXNjZW5kYW50Tm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgICBpZiAoZGVzY2VuZGFudE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gZGVzY2VuZGFudE5vZGUsIC8vL1xuICAgICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICBydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lID0gcnVsZU5hbWVzLmluY2x1ZGVzKHJ1bGVOYW1lKTtcblxuICAgICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKENsYXNzLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSkgeyByZXR1cm4gTm9uVGVybWluYWxOb2RlQmFzZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoQ2xhc3MsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKTsgfVxufVxuIl0sIm5hbWVzIjpbIk5vblRlcm1pbmFsTm9kZSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJnZXROb2RlQnlSdWxlTmFtZSIsInJ1bGVOYW1lcyIsIm5vZGUiLCJmaW5kQ2hpbGROb2RlIiwiY2hpbGROb2RlIiwiY2hpbGROb2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwicnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSIsImluY2x1ZGVzIiwiZ2V0Tm9kZXNCeVJ1bGVOYW1lIiwibm9kZXMiLCJmaWx0ZXJDaGlsZE5vZGUiLCJnZXRMYXN0Tm9kZUJ5UnVsZU5hbWUiLCJsYXN0Tm9kZSIsImJhY2t3YXJkc1NvbWVDaGlsZE5vZGUiLCJnZXRGaXJzdE5vZGVCeVJ1bGVOYW1lIiwiZmlyc3ROb2RlIiwiZm9yd2FyZHNTb21lQ2hpbGROb2RlIiwiZ2V0U2luZ3VsYXJOb2RlQnlSdWxlTmFtZSIsInNpbmd1bGFyTm9kZSIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZ2V0RGVzY2VuZGFudE5vZGVzQnlSdWxlTmFtZSIsImZpbHRlckRlc2NlbmRhbnROb2RlIiwiZGVzY2VuZGFudE5vZGUiLCJkZXNjZW5kYW50Tm9kZU5vblRlcm1pbmFsTm9kZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsIkNsYXNzIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIiwiTm9uVGVybWluYWxOb2RlQmFzZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFRcUJBOzs7eUJBTlU7NEJBRXdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV2RCxJQUFNLEFBQUVDLFFBQVVDLHlCQUFjLENBQXhCRDtBQUVPLElBQUEsQUFBTUQsZ0NBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO1FBQU4sT0FBQSxrQkFBTUE7O2tCQUFBQTs7WUFDbkJHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBa0IsSUFBQSxJQUFBLE9BQUEsVUFBQSxRQUFBLEFBQUdDLFlBQUgsVUFBQSxPQUFBLE9BQUEsR0FBQSxPQUFBLE1BQUE7b0JBQUdBLFVBQUgsUUFBQSxTQUFBLENBQUEsS0FBWTs7Z0JBQzVCLElBQU1DLE9BQU8sSUFBSSxDQUFDQyxhQUFhLENBQUMsU0FBQ0M7b0JBQy9CLElBQU1DLDJCQUEyQkQsVUFBVUUsaUJBQWlCO29CQUU1RCxJQUFJRCwwQkFBMEI7d0JBQzVCLElBQU1FLGtCQUFrQkgsV0FDbEJJLFdBQVdELGdCQUFnQkUsV0FBVyxJQUN0Q0MsNEJBQTRCVCxVQUFVVSxRQUFRLENBQUNIO3dCQUVyRCxJQUFJRSwyQkFBMkI7NEJBQzdCLE9BQU87d0JBQ1Q7b0JBQ0Y7Z0JBQ0YsTUFBTTtnQkFFTixPQUFPUjtZQUNUOzs7WUFFQVUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUFtQixJQUFBLElBQUEs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
|
package/src/nonTerminalNode.js
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { arrayUtilities } from "necessary";
|
|
4
|
-
|
|
5
|
-
import { NonTerminalNode as NonTerminalNodeBase } from "occam-parsers";
|
|
6
|
-
|
|
7
|
-
const { first } = arrayUtilities;
|
|
8
|
-
|
|
9
|
-
export default class NonTerminalNode extends NonTerminalNodeBase {
|
|
10
|
-
getNodeByRuleName(...ruleNames) {
|
|
11
|
-
const node = this.findChildNode((childNode) => {
|
|
12
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
13
|
-
|
|
14
|
-
if (childNodeNonTerminalNode) {
|
|
15
|
-
const nonTerminalNode = childNode, ///
|
|
16
|
-
ruleName = nonTerminalNode.getRuleName(),
|
|
17
|
-
ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
18
|
-
|
|
19
|
-
if (ruleNamesIncludesRuleName) {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}) || null;
|
|
24
|
-
|
|
25
|
-
return node;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
getNodesByRuleName(...ruleNames) {
|
|
29
|
-
const nodes = this.filterChildNode((childNode) => {
|
|
30
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
31
|
-
|
|
32
|
-
if (childNodeNonTerminalNode) {
|
|
33
|
-
const nonTerminalNode = childNode, ///
|
|
34
|
-
ruleName = nonTerminalNode.getRuleName(),
|
|
35
|
-
ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
36
|
-
|
|
37
|
-
if (ruleNamesIncludesRuleName) {
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
return nodes;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
getLastNodeByRuleName(...ruleNames) {
|
|
47
|
-
let lastNode = null;
|
|
48
|
-
|
|
49
|
-
this.backwardsSomeChildNode((childNode) => {
|
|
50
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
51
|
-
|
|
52
|
-
if (childNodeNonTerminalNode) {
|
|
53
|
-
const nonTerminalNode = childNode, ///
|
|
54
|
-
ruleName = nonTerminalNode.getRuleName(),
|
|
55
|
-
ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
56
|
-
|
|
57
|
-
if (ruleNamesIncludesRuleName) {
|
|
58
|
-
lastNode = childNode; ///
|
|
59
|
-
|
|
60
|
-
return true;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
return lastNode;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
getFirstNodeByRuleName(...ruleNames) {
|
|
69
|
-
let firstNode = null;
|
|
70
|
-
|
|
71
|
-
this.forwardsSomeChildNode((childNode) => {
|
|
72
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
73
|
-
|
|
74
|
-
if (childNodeNonTerminalNode) {
|
|
75
|
-
const nonTerminalNode = childNode, ///
|
|
76
|
-
ruleName = nonTerminalNode.getRuleName(),
|
|
77
|
-
ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
78
|
-
|
|
79
|
-
if (ruleNamesIncludesRuleName) {
|
|
80
|
-
firstNode = childNode; ///
|
|
81
|
-
|
|
82
|
-
return true;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
return firstNode;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
getSingularNodeByRuleName(...ruleNames) {
|
|
91
|
-
let singularNode = null;
|
|
92
|
-
|
|
93
|
-
const nodes = this.filterChildNode((childNode) => {
|
|
94
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
95
|
-
|
|
96
|
-
if (childNodeNonTerminalNode) {
|
|
97
|
-
const nonTerminalNode = childNode, ///
|
|
98
|
-
ruleName = nonTerminalNode.getRuleName(),
|
|
99
|
-
ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
100
|
-
|
|
101
|
-
if (ruleNamesIncludesRuleName) {
|
|
102
|
-
return true;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}),
|
|
106
|
-
nodesLength = nodes.length;
|
|
107
|
-
|
|
108
|
-
if (nodesLength === 1) {
|
|
109
|
-
const firstNode = first(nodes);
|
|
110
|
-
|
|
111
|
-
singularNode = firstNode; ///
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return singularNode;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
getDescendantNodesByRuleName(...ruleNames) {
|
|
118
|
-
const nodes = this.filterDescendantNode((descendantNode) => {
|
|
119
|
-
const descendantNodeNonTerminalNode = descendantNode.isNonTerminalNode();
|
|
120
|
-
|
|
121
|
-
if (descendantNodeNonTerminalNode) {
|
|
122
|
-
const nonTerminalNode = descendantNode, ///
|
|
123
|
-
ruleName = nonTerminalNode.getRuleName(),
|
|
124
|
-
ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
125
|
-
|
|
126
|
-
if (ruleNamesIncludesRuleName) {
|
|
127
|
-
return true;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
return nodes;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNodeBase.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
136
|
-
}
|