occam-verify-cli 1.0.184 → 1.0.192

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.
Files changed (196) hide show
  1. package/lib/constants.js +5 -1
  2. package/lib/dom/assertion/property.js +2 -4
  3. package/lib/dom/assertion/subproof.js +3 -5
  4. package/lib/dom/assertion/type.js +6 -8
  5. package/lib/dom/axiom.js +15 -100
  6. package/lib/dom/conjecture.js +5 -4
  7. package/lib/dom/constructor/bracketed.js +6 -7
  8. package/lib/dom/declaration/complexType.js +6 -6
  9. package/lib/dom/declaration/metavariable.js +3 -5
  10. package/lib/dom/declaration/type.js +2 -2
  11. package/lib/dom/declaration.js +2 -4
  12. package/lib/dom/derivation.js +2 -4
  13. package/lib/dom/equality.js +9 -11
  14. package/lib/dom/frame.js +8 -12
  15. package/lib/dom/judgement.js +2 -4
  16. package/lib/dom/lemma.js +5 -4
  17. package/lib/dom/metaLemma.js +5 -4
  18. package/lib/dom/metaType.js +2 -4
  19. package/lib/dom/metatheorem.js +5 -4
  20. package/lib/dom/metavariable.js +12 -15
  21. package/lib/dom/parameter.js +2 -4
  22. package/lib/dom/procedureCall.js +6 -10
  23. package/lib/dom/proof.js +2 -4
  24. package/lib/dom/property.js +16 -51
  25. package/lib/dom/propertyRelation.js +8 -10
  26. package/lib/dom/reference.js +7 -11
  27. package/lib/dom/rule.js +6 -8
  28. package/lib/dom/statement.js +27 -31
  29. package/lib/dom/step.js +4 -6
  30. package/lib/dom/subDerivation.js +2 -4
  31. package/lib/dom/subproof.js +6 -8
  32. package/lib/dom/term.js +14 -20
  33. package/lib/dom/theorem.js +5 -4
  34. package/lib/dom/topLevelAssertion.js +30 -24
  35. package/lib/dom/topLevelMetaAssertion.js +5 -15
  36. package/lib/dom/type.js +8 -25
  37. package/lib/dom/variable.js +5 -11
  38. package/lib/node/assertion/contained.js +45 -58
  39. package/lib/node/assertion/defined.js +33 -58
  40. package/lib/node/assertion/property.js +33 -58
  41. package/lib/node/assertion/satisfies.js +21 -58
  42. package/lib/node/assertion/subproof.js +21 -58
  43. package/lib/node/assertion/type.js +33 -58
  44. package/lib/node/axiom.js +6 -52
  45. package/lib/node/combinator.js +6 -57
  46. package/lib/node/conclusion.js +21 -58
  47. package/lib/node/conjecture.js +6 -52
  48. package/lib/node/constructor.js +6 -57
  49. package/lib/node/declaration/combinator.js +13 -61
  50. package/lib/node/declaration/complexType.js +27 -75
  51. package/lib/node/declaration/constructor.js +24 -70
  52. package/lib/node/declaration/metavariable.js +40 -58
  53. package/lib/node/declaration/property.js +27 -72
  54. package/lib/node/declaration/type.js +23 -69
  55. package/lib/node/declaration/variable.js +28 -83
  56. package/lib/node/declaration.js +33 -58
  57. package/lib/node/deduction.js +21 -58
  58. package/lib/node/derivation.js +21 -58
  59. package/lib/node/equality.js +34 -58
  60. package/lib/node/error.js +6 -57
  61. package/lib/node/frame.js +52 -58
  62. package/lib/node/judgement.js +33 -58
  63. package/lib/node/label.js +21 -58
  64. package/lib/{node.js → node/labels.js} +25 -27
  65. package/lib/node/lemma.js +6 -52
  66. package/lib/node/metaLemma.js +6 -52
  67. package/lib/node/metaType.js +18 -60
  68. package/lib/node/metatheorem.js +6 -52
  69. package/lib/node/metavariable.js +40 -61
  70. package/lib/node/parameter.js +22 -58
  71. package/lib/node/parenthesisedLabels.js +123 -0
  72. package/lib/node/premise.js +33 -58
  73. package/lib/node/procedureCall.js +33 -58
  74. package/lib/node/proof.js +21 -58
  75. package/lib/node/property.js +18 -62
  76. package/lib/node/propertyRelation.js +40 -58
  77. package/lib/node/reference.js +21 -58
  78. package/lib/node/rule.js +6 -52
  79. package/lib/node/statement.js +105 -58
  80. package/lib/node/step.js +47 -58
  81. package/lib/node/subDerivation.js +21 -58
  82. package/lib/node/subproof.js +47 -58
  83. package/lib/node/supposition.js +33 -58
  84. package/lib/node/term.js +57 -58
  85. package/lib/node/theorem.js +6 -52
  86. package/lib/node/topLevelAssertion.js +86 -59
  87. package/lib/node/topLevelMetaAssertion.js +65 -59
  88. package/lib/node/type.js +14 -60
  89. package/lib/node/variable.js +14 -60
  90. package/lib/nominal/parser.js +3 -3
  91. package/lib/nonTerminalNodeMap.js +5 -3
  92. package/lib/ruleNames.js +10 -2
  93. package/lib/utilities/node.js +283 -7
  94. package/lib/utilities/type.js +16 -4
  95. package/lib/verifier/topLevel.js +6 -6
  96. package/package.json +8 -8
  97. package/src/constants.js +1 -0
  98. package/src/dom/assertion/property.js +1 -4
  99. package/src/dom/assertion/subproof.js +2 -6
  100. package/src/dom/assertion/type.js +7 -10
  101. package/src/dom/axiom.js +7 -77
  102. package/src/dom/conjecture.js +6 -1
  103. package/src/dom/constructor/bracketed.js +6 -8
  104. package/src/dom/declaration/complexType.js +7 -6
  105. package/src/dom/declaration/metavariable.js +2 -6
  106. package/src/dom/declaration/type.js +4 -2
  107. package/src/dom/declaration.js +1 -5
  108. package/src/dom/derivation.js +1 -4
  109. package/src/dom/equality.js +13 -17
  110. package/src/dom/frame.js +7 -19
  111. package/src/dom/judgement.js +1 -4
  112. package/src/dom/lemma.js +6 -1
  113. package/src/dom/metaLemma.js +6 -1
  114. package/src/dom/metaType.js +1 -5
  115. package/src/dom/metatheorem.js +6 -1
  116. package/src/dom/metavariable.js +11 -25
  117. package/src/dom/parameter.js +2 -6
  118. package/src/dom/procedureCall.js +5 -14
  119. package/src/dom/proof.js +1 -4
  120. package/src/dom/property.js +21 -78
  121. package/src/dom/propertyRelation.js +10 -14
  122. package/src/dom/reference.js +6 -18
  123. package/src/dom/rule.js +6 -12
  124. package/src/dom/statement.js +26 -46
  125. package/src/dom/step.js +3 -5
  126. package/src/dom/subDerivation.js +1 -4
  127. package/src/dom/subproof.js +8 -12
  128. package/src/dom/term.js +16 -32
  129. package/src/dom/theorem.js +6 -1
  130. package/src/dom/topLevelAssertion.js +30 -25
  131. package/src/dom/topLevelMetaAssertion.js +16 -28
  132. package/src/dom/type.js +9 -35
  133. package/src/dom/variable.js +4 -12
  134. package/src/node/assertion/contained.js +41 -3
  135. package/src/node/assertion/defined.js +29 -3
  136. package/src/node/assertion/property.js +29 -3
  137. package/src/node/assertion/satisfies.js +17 -3
  138. package/src/node/assertion/subproof.js +17 -3
  139. package/src/node/assertion/type.js +29 -3
  140. package/src/node/axiom.js +3 -3
  141. package/src/node/combinator.js +3 -3
  142. package/src/node/conclusion.js +17 -3
  143. package/src/node/conjecture.js +3 -3
  144. package/src/node/constructor.js +3 -3
  145. package/src/node/declaration/combinator.js +11 -7
  146. package/src/node/declaration/complexType.js +25 -24
  147. package/src/node/declaration/constructor.js +22 -17
  148. package/src/node/declaration/metavariable.js +36 -3
  149. package/src/node/declaration/property.js +21 -17
  150. package/src/node/declaration/type.js +22 -17
  151. package/src/node/declaration/variable.js +24 -32
  152. package/src/node/declaration.js +29 -3
  153. package/src/node/deduction.js +17 -3
  154. package/src/node/derivation.js +18 -3
  155. package/src/node/equality.js +31 -3
  156. package/src/node/error.js +3 -3
  157. package/src/node/frame.js +53 -3
  158. package/src/node/judgement.js +29 -3
  159. package/src/node/label.js +17 -3
  160. package/src/node/labels.js +21 -0
  161. package/src/node/lemma.js +3 -3
  162. package/src/node/metaLemma.js +3 -3
  163. package/src/node/metaType.js +19 -8
  164. package/src/node/metatheorem.js +3 -3
  165. package/src/node/metavariable.js +42 -9
  166. package/src/node/parameter.js +20 -3
  167. package/src/node/parenthesisedLabels.js +28 -0
  168. package/src/node/premise.js +29 -3
  169. package/src/node/procedureCall.js +29 -3
  170. package/src/node/proof.js +17 -3
  171. package/src/node/property.js +18 -12
  172. package/src/node/propertyRelation.js +35 -3
  173. package/src/node/reference.js +17 -3
  174. package/src/node/rule.js +3 -3
  175. package/src/node/statement.js +108 -3
  176. package/src/node/step.js +41 -3
  177. package/src/node/subDerivation.js +18 -3
  178. package/src/node/subproof.js +41 -3
  179. package/src/node/supposition.js +29 -3
  180. package/src/node/term.js +62 -3
  181. package/src/node/theorem.js +3 -3
  182. package/src/node/topLevelAssertion.js +89 -3
  183. package/src/node/topLevelMetaAssertion.js +59 -3
  184. package/src/node/type.js +15 -8
  185. package/src/node/variable.js +15 -8
  186. package/src/nominal/parser.js +1 -1
  187. package/src/nonTerminalNodeMap.js +9 -3
  188. package/src/ruleNames.js +3 -1
  189. package/src/utilities/node.js +147 -6
  190. package/src/utilities/type.js +9 -0
  191. package/src/verifier/topLevel.js +5 -10
  192. package/lib/defaultTerminalNode.js +0 -20
  193. package/lib/mixins/node.js +0 -145
  194. package/src/defaultTerminalNode.js +0 -7
  195. package/src/mixins/node.js +0 -201
  196. package/src/node.js +0 -29
@@ -8,7 +8,8 @@ Object.defineProperty(exports, "default", {
8
8
  return ReferenceNode;
9
9
  }
10
10
  });
11
- var _node = /*#__PURE__*/ _interop_require_default(require("../node"));
11
+ var _occamparsers = require("occam-parsers");
12
+ var _node = require("../utilities/node");
12
13
  function _assert_this_initialized(self) {
13
14
  if (self === void 0) {
14
15
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -24,23 +25,6 @@ function _class_call_check(instance, Constructor) {
24
25
  throw new TypeError("Cannot call a class as a function");
25
26
  }
26
27
  }
27
- function _construct(Parent, args, Class) {
28
- if (_is_native_reflect_construct()) {
29
- _construct = Reflect.construct;
30
- } else {
31
- _construct = function construct(Parent, args, Class) {
32
- var a = [
33
- null
34
- ];
35
- a.push.apply(a, args);
36
- var Constructor = Function.bind.apply(Parent, a);
37
- var instance = new Constructor();
38
- if (Class) _set_prototype_of(instance, Class.prototype);
39
- return instance;
40
- };
41
- }
42
- return _construct.apply(null, arguments);
43
- }
44
28
  function _defineProperties(target, props) {
45
29
  for(var i = 0; i < props.length; i++){
46
30
  var descriptor = props[i];
@@ -74,14 +58,6 @@ function _inherits(subClass, superClass) {
74
58
  });
75
59
  if (superClass) _set_prototype_of(subClass, superClass);
76
60
  }
77
- function _interop_require_default(obj) {
78
- return obj && obj.__esModule ? obj : {
79
- default: obj
80
- };
81
- }
82
- function _is_native_function(fn) {
83
- return Function.toString.call(fn).indexOf("[native code]") !== -1;
84
- }
85
61
  function _possible_constructor_return(self, call) {
86
62
  if (call && (_type_of(call) === "object" || typeof call === "function")) {
87
63
  return call;
@@ -99,32 +75,6 @@ function _type_of(obj) {
99
75
  "@swc/helpers - typeof";
100
76
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
101
77
  }
102
- function _wrap_native_super(Class) {
103
- var _cache = typeof Map === "function" ? new Map() : undefined;
104
- _wrap_native_super = function wrapNativeSuper(Class) {
105
- if (Class === null || !_is_native_function(Class)) return Class;
106
- if (typeof Class !== "function") {
107
- throw new TypeError("Super expression must either be null or a function");
108
- }
109
- if (typeof _cache !== "undefined") {
110
- if (_cache.has(Class)) return _cache.get(Class);
111
- _cache.set(Class, Wrapper);
112
- }
113
- function Wrapper() {
114
- return _construct(Class, arguments, _get_prototype_of(this).constructor);
115
- }
116
- Wrapper.prototype = Object.create(Class.prototype, {
117
- constructor: {
118
- value: Wrapper,
119
- enumerable: false,
120
- writable: true,
121
- configurable: true
122
- }
123
- });
124
- return _set_prototype_of(Wrapper, Class);
125
- };
126
- return _wrap_native_super(Class);
127
- }
128
78
  function _is_native_reflect_construct() {
129
79
  try {
130
80
  var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
@@ -133,21 +83,34 @@ function _is_native_reflect_construct() {
133
83
  return !!result;
134
84
  })();
135
85
  }
136
- var ReferenceNode = /*#__PURE__*/ function(Node) {
137
- _inherits(ReferenceNode, Node);
86
+ var ReferenceNode = /*#__PURE__*/ function(NonTerminalNode) {
87
+ _inherits(ReferenceNode, NonTerminalNode);
138
88
  function ReferenceNode() {
139
89
  _class_call_check(this, ReferenceNode);
140
90
  return _call_super(this, ReferenceNode, arguments);
141
91
  }
142
- _create_class(ReferenceNode, null, [
92
+ _create_class(ReferenceNode, [
93
+ {
94
+ key: "getMetavariableNode",
95
+ value: function getMetavariableNode() {
96
+ var metavariableNode = this.findChildNode(function(childNode) {
97
+ var childNodeMetavariableNode = (0, _node.isNodeMetavariableNode)(childNode);
98
+ if (childNodeMetavariableNode) {
99
+ return true;
100
+ }
101
+ }) || null;
102
+ return metavariableNode;
103
+ }
104
+ }
105
+ ], [
143
106
  {
144
107
  key: "fromRuleNameChildNodesOpacityAndPrecedence",
145
108
  value: function fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
146
- return _node.default.fromRuleNameChildNodesOpacityAndPrecedence(ReferenceNode, ruleName, childNodes, opacity, precedence);
109
+ return _occamparsers.NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(ReferenceNode, ruleName, childNodes, opacity, precedence);
147
110
  }
148
111
  }
149
112
  ]);
150
113
  return ReferenceNode;
151
- }(_wrap_native_super(_node.default));
114
+ }(_occamparsers.NonTerminalNode);
152
115
 
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL3JlZmVyZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE5vZGUgZnJvbSBcIi4uL25vZGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVmZXJlbmNlTm9kZSBleHRlbmRzIE5vZGUge1xuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7IHJldHVybiBOb2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShSZWZlcmVuY2VOb2RlLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJSZWZlcmVuY2VOb2RlIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlIiwicnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiLCJOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUlxQkE7OzsyREFGSjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFRixJQUFBLEFBQU1BLDhCQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOztrQkFBQUE7O1lBQ1pDLEtBQUFBO21CQUFQLFNBQU9BLDJDQUEyQ0MsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsVUFBVTtnQkFBSSxPQUFPQyxhQUFJLENBQUNMLDBDQUEwQyxDQURsSUQsZUFDa0pFLFVBQVVDLFlBQVlDLFNBQVNDO1lBQWE7OztXQUQ5TEw7cUJBQXNCTSxhQUFJIn0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL3JlZmVyZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9uVGVybWluYWxOb2RlIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcblxuaW1wb3J0IHsgaXNOb2RlTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWZlcmVuY2VOb2RlIGV4dGVuZHMgTm9uVGVybWluYWxOb2RlIHtcbiAgZ2V0TWV0YXZhcmlhYmxlTm9kZSgpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gdGhpcy5maW5kQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZU1ldGF2YXJpYWJsZU5vZGUgPSBpc05vZGVNZXRhdmFyaWFibGVOb2RlKGNoaWxkTm9kZSk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVNZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pIHx8IG51bGw7XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlTm9kZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoUmVmZXJlbmNlTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG4iXSwibmFtZXMiOlsiUmVmZXJlbmNlTm9kZSIsImdldE1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlIiwiZmluZENoaWxkTm9kZSIsImNoaWxkTm9kZSIsImNoaWxkTm9kZU1ldGF2YXJpYWJsZU5vZGUiLCJpc05vZGVNZXRhdmFyaWFibGVOb2RlIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlIiwicnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiLCJOb25UZXJtaW5hbE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBTXFCQTs7OzRCQUpXO29CQUVPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4QixJQUFBLEFBQU1BLDhCQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOztrQkFBQUE7O1lBQ25CQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsbUJBQW1CLElBQUksQ0FBQ0MsYUFBYSxDQUFDLFNBQUNDO29CQUMzQyxJQUFNQyw0QkFBNEJDLElBQUFBLDRCQUFzQixFQUFDRjtvQkFFekQsSUFBSUMsMkJBQTJCO3dCQUM3QixPQUFPO29CQUNUO2dCQUNGLE1BQU07Z0JBRU4sT0FBT0g7WUFDVDs7OztZQUVPSyxLQUFBQTttQkFBUCxTQUFPQSwyQ0FBMkNDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVU7Z0JBQUksT0FBT0MsNkJBQWUsQ0FBQ0wsMENBQTBDLENBYjdJUCxlQWE2SlEsVUFBVUMsWUFBWUMsU0FBU0M7WUFBYTs7O1dBYnpNWDtFQUFzQlksNkJBQWUifQ==
package/lib/node/rule.js CHANGED
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
8
8
  return RuleNode;
9
9
  }
10
10
  });
11
- var _node = /*#__PURE__*/ _interop_require_default(require("../node"));
11
+ var _topLevelMetaAssertion = /*#__PURE__*/ _interop_require_default(require("../node/topLevelMetaAssertion"));
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");
@@ -24,23 +24,6 @@ function _class_call_check(instance, Constructor) {
24
24
  throw new TypeError("Cannot call a class as a function");
25
25
  }
26
26
  }
27
- function _construct(Parent, args, Class) {
28
- if (_is_native_reflect_construct()) {
29
- _construct = Reflect.construct;
30
- } else {
31
- _construct = function construct(Parent, args, Class) {
32
- var a = [
33
- null
34
- ];
35
- a.push.apply(a, args);
36
- var Constructor = Function.bind.apply(Parent, a);
37
- var instance = new Constructor();
38
- if (Class) _set_prototype_of(instance, Class.prototype);
39
- return instance;
40
- };
41
- }
42
- return _construct.apply(null, arguments);
43
- }
44
27
  function _defineProperties(target, props) {
45
28
  for(var i = 0; i < props.length; i++){
46
29
  var descriptor = props[i];
@@ -79,9 +62,6 @@ function _interop_require_default(obj) {
79
62
  default: obj
80
63
  };
81
64
  }
82
- function _is_native_function(fn) {
83
- return Function.toString.call(fn).indexOf("[native code]") !== -1;
84
- }
85
65
  function _possible_constructor_return(self, call) {
86
66
  if (call && (_type_of(call) === "object" || typeof call === "function")) {
87
67
  return call;
@@ -99,32 +79,6 @@ function _type_of(obj) {
99
79
  "@swc/helpers - typeof";
100
80
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
101
81
  }
102
- function _wrap_native_super(Class) {
103
- var _cache = typeof Map === "function" ? new Map() : undefined;
104
- _wrap_native_super = function wrapNativeSuper(Class) {
105
- if (Class === null || !_is_native_function(Class)) return Class;
106
- if (typeof Class !== "function") {
107
- throw new TypeError("Super expression must either be null or a function");
108
- }
109
- if (typeof _cache !== "undefined") {
110
- if (_cache.has(Class)) return _cache.get(Class);
111
- _cache.set(Class, Wrapper);
112
- }
113
- function Wrapper() {
114
- return _construct(Class, arguments, _get_prototype_of(this).constructor);
115
- }
116
- Wrapper.prototype = Object.create(Class.prototype, {
117
- constructor: {
118
- value: Wrapper,
119
- enumerable: false,
120
- writable: true,
121
- configurable: true
122
- }
123
- });
124
- return _set_prototype_of(Wrapper, Class);
125
- };
126
- return _wrap_native_super(Class);
127
- }
128
82
  function _is_native_reflect_construct() {
129
83
  try {
130
84
  var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
@@ -133,8 +87,8 @@ function _is_native_reflect_construct() {
133
87
  return !!result;
134
88
  })();
135
89
  }
136
- var RuleNode = /*#__PURE__*/ function(Node) {
137
- _inherits(RuleNode, Node);
90
+ var RuleNode = /*#__PURE__*/ function(TopLevelMetaAssertionNode) {
91
+ _inherits(RuleNode, TopLevelMetaAssertionNode);
138
92
  function RuleNode() {
139
93
  _class_call_check(this, RuleNode);
140
94
  return _call_super(this, RuleNode, arguments);
@@ -143,11 +97,11 @@ var RuleNode = /*#__PURE__*/ function(Node) {
143
97
  {
144
98
  key: "fromRuleNameChildNodesOpacityAndPrecedence",
145
99
  value: function fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
146
- return _node.default.fromRuleNameChildNodesOpacityAndPrecedence(RuleNode, ruleName, childNodes, opacity, precedence);
100
+ return _topLevelMetaAssertion.default.fromRuleNameChildNodesOpacityAndPrecedence(RuleNode, ruleName, childNodes, opacity, precedence);
147
101
  }
148
102
  }
149
103
  ]);
150
104
  return RuleNode;
151
- }(_wrap_native_super(_node.default));
105
+ }(_topLevelMetaAssertion.default);
152
106
 
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL3J1bGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb2RlIGZyb20gXCIuLi9ub2RlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJ1bGVOb2RlIGV4dGVuZHMgTm9kZSB7XG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIE5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKFJ1bGVOb2RlLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJSdWxlTm9kZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsInJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIiwiTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFJcUJBOzs7MkRBRko7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUYsSUFBQSxBQUFNQSx5QkFBTjtjQUFNQTthQUFBQTtnQ0FBQUE7UUFBTixPQUFBLGtCQUFNQTs7a0JBQUFBOztZQUNaQyxLQUFBQTttQkFBUCxTQUFPQSwyQ0FBMkNDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVU7Z0JBQUksT0FBT0MsYUFBSSxDQUFDTCwwQ0FBMEMsQ0FEbElELFVBQzZJRSxVQUFVQyxZQUFZQyxTQUFTQztZQUFhOzs7V0FEekxMO3FCQUFpQk0sYUFBSSJ9
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL3J1bGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUb3BMZXZlbE1ldGFBc3NlcnRpb25Ob2RlIGZyb20gXCIuLi9ub2RlL3RvcExldmVsTWV0YUFzc2VydGlvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSdWxlTm9kZSBleHRlbmRzIFRvcExldmVsTWV0YUFzc2VydGlvbk5vZGUge1xuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7IHJldHVybiBUb3BMZXZlbE1ldGFBc3NlcnRpb25Ob2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShSdWxlTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG4iXSwibmFtZXMiOlsiUnVsZU5vZGUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwicHJlY2VkZW5jZSIsIlRvcExldmVsTWV0YUFzc2VydGlvbk5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7OzRFQUZpQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV2QixJQUFBLEFBQU1BLHlCQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOztrQkFBQUE7O1lBQ1pDLEtBQUFBO21CQUFQLFNBQU9BLDJDQUEyQ0MsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsVUFBVTtnQkFBSSxPQUFPQyw4QkFBeUIsQ0FBQ0wsMENBQTBDLENBRHZKRCxVQUNrS0UsVUFBVUMsWUFBWUMsU0FBU0M7WUFBYTs7O1dBRDlNTDtFQUFpQk0sOEJBQXlCIn0=
@@ -8,7 +8,8 @@ Object.defineProperty(exports, "default", {
8
8
  return StatementNode;
9
9
  }
10
10
  });
11
- var _node = /*#__PURE__*/ _interop_require_default(require("../node"));
11
+ var _occamparsers = require("occam-parsers");
12
+ var _node = require("../utilities/node");
12
13
  function _assert_this_initialized(self) {
13
14
  if (self === void 0) {
14
15
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -24,23 +25,6 @@ function _class_call_check(instance, Constructor) {
24
25
  throw new TypeError("Cannot call a class as a function");
25
26
  }
26
27
  }
27
- function _construct(Parent, args, Class) {
28
- if (_is_native_reflect_construct()) {
29
- _construct = Reflect.construct;
30
- } else {
31
- _construct = function construct(Parent, args, Class) {
32
- var a = [
33
- null
34
- ];
35
- a.push.apply(a, args);
36
- var Constructor = Function.bind.apply(Parent, a);
37
- var instance = new Constructor();
38
- if (Class) _set_prototype_of(instance, Class.prototype);
39
- return instance;
40
- };
41
- }
42
- return _construct.apply(null, arguments);
43
- }
44
28
  function _defineProperties(target, props) {
45
29
  for(var i = 0; i < props.length; i++){
46
30
  var descriptor = props[i];
@@ -74,14 +58,6 @@ function _inherits(subClass, superClass) {
74
58
  });
75
59
  if (superClass) _set_prototype_of(subClass, superClass);
76
60
  }
77
- function _interop_require_default(obj) {
78
- return obj && obj.__esModule ? obj : {
79
- default: obj
80
- };
81
- }
82
- function _is_native_function(fn) {
83
- return Function.toString.call(fn).indexOf("[native code]") !== -1;
84
- }
85
61
  function _possible_constructor_return(self, call) {
86
62
  if (call && (_type_of(call) === "object" || typeof call === "function")) {
87
63
  return call;
@@ -99,32 +75,6 @@ function _type_of(obj) {
99
75
  "@swc/helpers - typeof";
100
76
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
101
77
  }
102
- function _wrap_native_super(Class) {
103
- var _cache = typeof Map === "function" ? new Map() : undefined;
104
- _wrap_native_super = function wrapNativeSuper(Class) {
105
- if (Class === null || !_is_native_function(Class)) return Class;
106
- if (typeof Class !== "function") {
107
- throw new TypeError("Super expression must either be null or a function");
108
- }
109
- if (typeof _cache !== "undefined") {
110
- if (_cache.has(Class)) return _cache.get(Class);
111
- _cache.set(Class, Wrapper);
112
- }
113
- function Wrapper() {
114
- return _construct(Class, arguments, _get_prototype_of(this).constructor);
115
- }
116
- Wrapper.prototype = Object.create(Class.prototype, {
117
- constructor: {
118
- value: Wrapper,
119
- enumerable: false,
120
- writable: true,
121
- configurable: true
122
- }
123
- });
124
- return _set_prototype_of(Wrapper, Class);
125
- };
126
- return _wrap_native_super(Class);
127
- }
128
78
  function _is_native_reflect_construct() {
129
79
  try {
130
80
  var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
@@ -133,21 +83,118 @@ function _is_native_reflect_construct() {
133
83
  return !!result;
134
84
  })();
135
85
  }
136
- var StatementNode = /*#__PURE__*/ function(Node) {
137
- _inherits(StatementNode, Node);
86
+ var StatementNode = /*#__PURE__*/ function(NonTerminalNode) {
87
+ _inherits(StatementNode, NonTerminalNode);
138
88
  function StatementNode() {
139
89
  _class_call_check(this, StatementNode);
140
90
  return _call_super(this, StatementNode, arguments);
141
91
  }
142
- _create_class(StatementNode, null, [
92
+ _create_class(StatementNode, [
93
+ {
94
+ key: "getTermNodes",
95
+ value: function getTermNodes() {
96
+ var termNodes = this.filterDescendantNode(function(descendantNode) {
97
+ var descendantNodeTermNode = (0, _node.isNodeTermNode)(descendantNode);
98
+ if (descendantNodeTermNode) {
99
+ return true;
100
+ }
101
+ });
102
+ return termNodes;
103
+ }
104
+ },
105
+ {
106
+ key: "getFrameNodes",
107
+ value: function getFrameNodes() {
108
+ var frameNodes = this.filterDescendantNode(function(descendantNode) {
109
+ var descendantNodeFrameNode = (0, _node.isNodeFrameNode)(descendantNode);
110
+ if (descendantNodeFrameNode) {
111
+ return true;
112
+ }
113
+ });
114
+ return frameNodes;
115
+ }
116
+ },
117
+ {
118
+ key: "getEqualityNode",
119
+ value: function getEqualityNode() {
120
+ var equalityNode = this.findChildNode(function(childNode) {
121
+ var childNodeEqualityNode = (0, _node.isNodeEqualityNode)(childNode);
122
+ if (childNodeEqualityNode) {
123
+ return true;
124
+ }
125
+ }) || null;
126
+ return equalityNode;
127
+ }
128
+ },
129
+ {
130
+ key: "getJudgementNode",
131
+ value: function getJudgementNode() {
132
+ var judgementNode = this.findChildNode(function(childNode) {
133
+ var childNodeJudgementNode = (0, _node.isNodeJudgementNode)(childNode);
134
+ if (childNodeJudgementNode) {
135
+ return true;
136
+ }
137
+ }) || null;
138
+ return judgementNode;
139
+ }
140
+ },
141
+ {
142
+ key: "getMetavariableNode",
143
+ value: function getMetavariableNode() {
144
+ var metavariableNode = this.findChildNode(function(childNode) {
145
+ var childNodeMetavariableNode = (0, _node.isNodeMetavariableNode)(childNode);
146
+ if (childNodeMetavariableNode) {
147
+ return true;
148
+ }
149
+ }) || null;
150
+ return metavariableNode;
151
+ }
152
+ },
153
+ {
154
+ key: "getTypeAssertionNode",
155
+ value: function getTypeAssertionNode() {
156
+ var typeAssertionNode = this.findChildNode(function(childNode) {
157
+ var childNodeTypeAssertionNode = (0, _node.isNodeTypeAssertionNode)(childNode);
158
+ if (childNodeTypeAssertionNode) {
159
+ return true;
160
+ }
161
+ }) || null;
162
+ return typeAssertionNode;
163
+ }
164
+ },
165
+ {
166
+ key: "getSubproofAssertionNode",
167
+ value: function getSubproofAssertionNode() {
168
+ var subproofAssertionNode = this.findChildNode(function(childNode) {
169
+ var childNodeSubproofAssertionNode = (0, _node.isNodeSubproofAssertionNode)(childNode);
170
+ if (childNodeSubproofAssertionNode) {
171
+ return true;
172
+ }
173
+ }) || null;
174
+ return subproofAssertionNode;
175
+ }
176
+ },
177
+ {
178
+ key: "getPropertyAssertionNode",
179
+ value: function getPropertyAssertionNode() {
180
+ var propertyAssertionNode = this.findChildNode(function(childNode) {
181
+ var childNodePropertyAssertionNode = (0, _node.isNodePropertyAssertionNode)(childNode);
182
+ if (childNodePropertyAssertionNode) {
183
+ return true;
184
+ }
185
+ }) || null;
186
+ return propertyAssertionNode;
187
+ }
188
+ }
189
+ ], [
143
190
  {
144
191
  key: "fromRuleNameChildNodesOpacityAndPrecedence",
145
192
  value: function fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
146
- return _node.default.fromRuleNameChildNodesOpacityAndPrecedence(StatementNode, ruleName, childNodes, opacity, precedence);
193
+ return _occamparsers.NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(StatementNode, ruleName, childNodes, opacity, precedence);
147
194
  }
148
195
  }
149
196
  ]);
150
197
  return StatementNode;
151
- }(_wrap_native_super(_node.default));
198
+ }(_occamparsers.NonTerminalNode);
152
199
 
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL3N0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE5vZGUgZnJvbSBcIi4uL25vZGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RhdGVtZW50Tm9kZSBleHRlbmRzIE5vZGUge1xuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7IHJldHVybiBOb2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShTdGF0ZW1lbnROb2RlLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJTdGF0ZW1lbnROb2RlIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlIiwicnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiLCJOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUlxQkE7OzsyREFGSjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFRixJQUFBLEFBQU1BLDhCQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOztrQkFBQUE7O1lBQ1pDLEtBQUFBO21CQUFQLFNBQU9BLDJDQUEyQ0MsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsVUFBVTtnQkFBSSxPQUFPQyxhQUFJLENBQUNMLDBDQUEwQyxDQURsSUQsZUFDa0pFLFVBQVVDLFlBQVlDLFNBQVNDO1lBQWE7OztXQUQ5TEw7cUJBQXNCTSxhQUFJIn0=
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL3N0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9uVGVybWluYWxOb2RlIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcblxuaW1wb3J0IHsgaXNOb2RlVGVybU5vZGUsXG4gICAgICAgICBpc05vZGVGcmFtZU5vZGUsXG4gICAgICAgICBpc05vZGVFcXVhbGl0eU5vZGUsXG4gICAgICAgICBpc05vZGVKdWRnZW1lbnROb2RlLFxuICAgICAgICAgaXNOb2RlTWV0YXZhcmlhYmxlTm9kZSxcbiAgICAgICAgIGlzTm9kZVR5cGVBc3NlcnRpb25Ob2RlLFxuICAgICAgICAgaXNOb2RlU3VicHJvb2ZBc3NlcnRpb25Ob2RlLFxuICAgICAgICAgaXNOb2RlUHJvcGVydHlBc3NlcnRpb25Ob2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ub2RlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0YXRlbWVudE5vZGUgZXh0ZW5kcyBOb25UZXJtaW5hbE5vZGUge1xuICBnZXRUZXJtTm9kZXMoKSB7XG4gICAgY29uc3QgdGVybU5vZGVzID0gdGhpcy5maWx0ZXJEZXNjZW5kYW50Tm9kZSgoZGVzY2VuZGFudE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGRlc2NlbmRhbnROb2RlVGVybU5vZGUgPSBpc05vZGVUZXJtTm9kZShkZXNjZW5kYW50Tm9kZSk7XG5cbiAgICAgIGlmIChkZXNjZW5kYW50Tm9kZVRlcm1Ob2RlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRlcm1Ob2RlcztcbiAgfVxuXG4gIGdldEZyYW1lTm9kZXMoKSB7XG4gICAgY29uc3QgZnJhbWVOb2RlcyA9IHRoaXMuZmlsdGVyRGVzY2VuZGFudE5vZGUoKGRlc2NlbmRhbnROb2RlKSA9PiB7XG4gICAgICBjb25zdCBkZXNjZW5kYW50Tm9kZUZyYW1lTm9kZSA9IGlzTm9kZUZyYW1lTm9kZShkZXNjZW5kYW50Tm9kZSk7XG5cbiAgICAgIGlmIChkZXNjZW5kYW50Tm9kZUZyYW1lTm9kZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBmcmFtZU5vZGVzO1xuICB9XG5cbiAgZ2V0RXF1YWxpdHlOb2RlKCkge1xuICAgIGNvbnN0IGVxdWFsaXR5Tm9kZSA9IHRoaXMuZmluZENoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVFcXVhbGl0eU5vZGUgPSBpc05vZGVFcXVhbGl0eU5vZGUoY2hpbGROb2RlKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZUVxdWFsaXR5Tm9kZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIGVxdWFsaXR5Tm9kZTtcbiAgfVxuXG4gIGdldEp1ZGdlbWVudE5vZGUoKSB7XG4gICAgY29uc3QganVkZ2VtZW50Tm9kZSA9IHRoaXMuZmluZENoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVKdWRnZW1lbnROb2RlID0gaXNOb2RlSnVkZ2VtZW50Tm9kZShjaGlsZE5vZGUpO1xuXG4gICAgICBpZiAoY2hpbGROb2RlSnVkZ2VtZW50Tm9kZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIGp1ZGdlbWVudE5vZGU7XG4gIH1cblxuICBnZXRNZXRhdmFyaWFibGVOb2RlKCkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSB0aGlzLmZpbmRDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlTWV0YXZhcmlhYmxlTm9kZSA9IGlzTm9kZU1ldGF2YXJpYWJsZU5vZGUoY2hpbGROb2RlKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZU1ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVOb2RlO1xuICB9XG5cbiAgZ2V0VHlwZUFzc2VydGlvbk5vZGUoKSB7XG4gICAgY29uc3QgdHlwZUFzc2VydGlvbk5vZGUgPSB0aGlzLmZpbmRDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlVHlwZUFzc2VydGlvbk5vZGUgPSBpc05vZGVUeXBlQXNzZXJ0aW9uTm9kZShjaGlsZE5vZGUpO1xuXG4gICAgICBpZiAoY2hpbGROb2RlVHlwZUFzc2VydGlvbk5vZGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiB0eXBlQXNzZXJ0aW9uTm9kZTtcbiAgfVxuXG4gIGdldFN1YnByb29mQXNzZXJ0aW9uTm9kZSgpIHtcbiAgICBjb25zdCBzdWJwcm9vZkFzc2VydGlvbk5vZGUgPSB0aGlzLmZpbmRDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlU3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gaXNOb2RlU3VicHJvb2ZBc3NlcnRpb25Ob2RlKGNoaWxkTm9kZSk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVTdWJwcm9vZkFzc2VydGlvbk5vZGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiBzdWJwcm9vZkFzc2VydGlvbk5vZGU7XG4gIH1cblxuICBnZXRQcm9wZXJ0eUFzc2VydGlvbk5vZGUoKSB7XG4gICAgY29uc3QgcHJvcGVydHlBc3NlcnRpb25Ob2RlID0gdGhpcy5maW5kQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZVByb3BlcnR5QXNzZXJ0aW9uTm9kZSA9IGlzTm9kZVByb3BlcnR5QXNzZXJ0aW9uTm9kZShjaGlsZE5vZGUpO1xuXG4gICAgICBpZiAoY2hpbGROb2RlUHJvcGVydHlBc3NlcnRpb25Ob2RlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pIHx8IG51bGw7XG5cbiAgICByZXR1cm4gcHJvcGVydHlBc3NlcnRpb25Ob2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSkgeyByZXR1cm4gTm9uVGVybWluYWxOb2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShTdGF0ZW1lbnROb2RlLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJTdGF0ZW1lbnROb2RlIiwiZ2V0VGVybU5vZGVzIiwidGVybU5vZGVzIiwiZmlsdGVyRGVzY2VuZGFudE5vZGUiLCJkZXNjZW5kYW50Tm9kZSIsImRlc2NlbmRhbnROb2RlVGVybU5vZGUiLCJpc05vZGVUZXJtTm9kZSIsImdldEZyYW1lTm9kZXMiLCJmcmFtZU5vZGVzIiwiZGVzY2VuZGFudE5vZGVGcmFtZU5vZGUiLCJpc05vZGVGcmFtZU5vZGUiLCJnZXRFcXVhbGl0eU5vZGUiLCJlcXVhbGl0eU5vZGUiLCJmaW5kQ2hpbGROb2RlIiwiY2hpbGROb2RlIiwiY2hpbGROb2RlRXF1YWxpdHlOb2RlIiwiaXNOb2RlRXF1YWxpdHlOb2RlIiwiZ2V0SnVkZ2VtZW50Tm9kZSIsImp1ZGdlbWVudE5vZGUiLCJjaGlsZE5vZGVKdWRnZW1lbnROb2RlIiwiaXNOb2RlSnVkZ2VtZW50Tm9kZSIsImdldE1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlIiwiY2hpbGROb2RlTWV0YXZhcmlhYmxlTm9kZSIsImlzTm9kZU1ldGF2YXJpYWJsZU5vZGUiLCJnZXRUeXBlQXNzZXJ0aW9uTm9kZSIsInR5cGVBc3NlcnRpb25Ob2RlIiwiY2hpbGROb2RlVHlwZUFzc2VydGlvbk5vZGUiLCJpc05vZGVUeXBlQXNzZXJ0aW9uTm9kZSIsImdldFN1YnByb29mQXNzZXJ0aW9uTm9kZSIsInN1YnByb29mQXNzZXJ0aW9uTm9kZSIsImNoaWxkTm9kZVN1YnByb29mQXNzZXJ0aW9uTm9kZSIsImlzTm9kZVN1YnByb29mQXNzZXJ0aW9uTm9kZSIsImdldFByb3BlcnR5QXNzZXJ0aW9uTm9kZSIsInByb3BlcnR5QXNzZXJ0aW9uTm9kZSIsImNoaWxkTm9kZVByb3BlcnR5QXNzZXJ0aW9uTm9kZSIsImlzTm9kZVByb3BlcnR5QXNzZXJ0aW9uTm9kZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsInJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIiwiTm9uVGVybWluYWxOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWFxQkE7Ozs0QkFYVztvQkFTWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0IsSUFBQSxBQUFNQSw4QkFBTjtjQUFNQTthQUFBQTtnQ0FBQUE7UUFBTixPQUFBLGtCQUFNQTs7a0JBQUFBOztZQUNuQkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFlBQVksSUFBSSxDQUFDQyxvQkFBb0IsQ0FBQyxTQUFDQztvQkFDM0MsSUFBTUMseUJBQXlCQyxJQUFBQSxvQkFBYyxFQUFDRjtvQkFFOUMsSUFBSUMsd0JBQXdCO3dCQUMxQixPQUFPO29CQUNUO2dCQUNGO2dCQUVBLE9BQU9IO1lBQ1Q7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsYUFBYSxJQUFJLENBQUNMLG9CQUFvQixDQUFDLFNBQUNDO29CQUM1QyxJQUFNSywwQkFBMEJDLElBQUFBLHFCQUFlLEVBQUNOO29CQUVoRCxJQUFJSyx5QkFBeUI7d0JBQzNCLE9BQU87b0JBQ1Q7Z0JBQ0Y7Z0JBRUEsT0FBT0Q7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxlQUFlLElBQUksQ0FBQ0MsYUFBYSxDQUFDLFNBQUNDO29CQUN2QyxJQUFNQyx3QkFBd0JDLElBQUFBLHdCQUFrQixFQUFDRjtvQkFFakQsSUFBSUMsdUJBQXVCO3dCQUN6QixPQUFPO29CQUNUO2dCQUNGLE1BQU07Z0JBRU4sT0FBT0g7WUFDVDs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxnQkFBZ0IsSUFBSSxDQUFDTCxhQUFhLENBQUMsU0FBQ0M7b0JBQ3hDLElBQU1LLHlCQUF5QkMsSUFBQUEseUJBQW1CLEVBQUNOO29CQUVuRCxJQUFJSyx3QkFBd0I7d0JBQzFCLE9BQU87b0JBQ1Q7Z0JBQ0YsTUFBTTtnQkFFTixPQUFPRDtZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLG1CQUFtQixJQUFJLENBQUNULGFBQWEsQ0FBQyxTQUFDQztvQkFDM0MsSUFBTVMsNEJBQTRCQyxJQUFBQSw0QkFBc0IsRUFBQ1Y7b0JBRXpELElBQUlTLDJCQUEyQjt3QkFDN0IsT0FBTztvQkFDVDtnQkFDRixNQUFNO2dCQUVOLE9BQU9EO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsb0JBQW9CLElBQUksQ0FBQ2IsYUFBYSxDQUFDLFNBQUNDO29CQUM1QyxJQUFNYSw2QkFBNkJDLElBQUFBLDZCQUF1QixFQUFDZDtvQkFFM0QsSUFBSWEsNEJBQTRCO3dCQUM5QixPQUFPO29CQUNUO2dCQUNGLE1BQU07Z0JBRU4sT0FBT0Q7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyx3QkFBd0IsSUFBSSxDQUFDakIsYUFBYSxDQUFDLFNBQUNDO29CQUNoRCxJQUFNaUIsaUNBQWlDQyxJQUFBQSxpQ0FBMkIsRUFBQ2xCO29CQUVuRSxJQUFJaUIsZ0NBQWdDO3dCQUNsQyxPQUFPO29CQUNUO2dCQUNGLE1BQU07Z0JBRU4sT0FBT0Q7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyx3QkFBd0IsSUFBSSxDQUFDckIsYUFBYSxDQUFDLFNBQUNDO29CQUNoRCxJQUFNcUIsaUNBQWlDQyxJQUFBQSxpQ0FBMkIsRUFBQ3RCO29CQUVuRSxJQUFJcUIsZ0NBQWdDO3dCQUNsQyxPQUFPO29CQUNUO2dCQUNGLE1BQU07Z0JBRU4sT0FBT0Q7WUFDVDs7OztZQUVPRyxLQUFBQTttQkFBUCxTQUFPQSwyQ0FBMkNDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVU7Z0JBQUksT0FBT0MsNkJBQWUsQ0FBQ0wsMENBQTBDLENBakc3SXJDLGVBaUc2SnNDLFVBQVVDLFlBQVlDLFNBQVNDO1lBQWE7OztXQWpHek16QztFQUFzQjBDLDZCQUFlIn0=
package/lib/node/step.js CHANGED
@@ -8,7 +8,8 @@ Object.defineProperty(exports, "default", {
8
8
  return StepNode;
9
9
  }
10
10
  });
11
- var _node = /*#__PURE__*/ _interop_require_default(require("../node"));
11
+ var _occamparsers = require("occam-parsers");
12
+ var _node = require("../utilities/node");
12
13
  function _assert_this_initialized(self) {
13
14
  if (self === void 0) {
14
15
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -24,23 +25,6 @@ function _class_call_check(instance, Constructor) {
24
25
  throw new TypeError("Cannot call a class as a function");
25
26
  }
26
27
  }
27
- function _construct(Parent, args, Class) {
28
- if (_is_native_reflect_construct()) {
29
- _construct = Reflect.construct;
30
- } else {
31
- _construct = function construct(Parent, args, Class) {
32
- var a = [
33
- null
34
- ];
35
- a.push.apply(a, args);
36
- var Constructor = Function.bind.apply(Parent, a);
37
- var instance = new Constructor();
38
- if (Class) _set_prototype_of(instance, Class.prototype);
39
- return instance;
40
- };
41
- }
42
- return _construct.apply(null, arguments);
43
- }
44
28
  function _defineProperties(target, props) {
45
29
  for(var i = 0; i < props.length; i++){
46
30
  var descriptor = props[i];
@@ -74,14 +58,6 @@ function _inherits(subClass, superClass) {
74
58
  });
75
59
  if (superClass) _set_prototype_of(subClass, superClass);
76
60
  }
77
- function _interop_require_default(obj) {
78
- return obj && obj.__esModule ? obj : {
79
- default: obj
80
- };
81
- }
82
- function _is_native_function(fn) {
83
- return Function.toString.call(fn).indexOf("[native code]") !== -1;
84
- }
85
61
  function _possible_constructor_return(self, call) {
86
62
  if (call && (_type_of(call) === "object" || typeof call === "function")) {
87
63
  return call;
@@ -99,32 +75,6 @@ function _type_of(obj) {
99
75
  "@swc/helpers - typeof";
100
76
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
101
77
  }
102
- function _wrap_native_super(Class) {
103
- var _cache = typeof Map === "function" ? new Map() : undefined;
104
- _wrap_native_super = function wrapNativeSuper(Class) {
105
- if (Class === null || !_is_native_function(Class)) return Class;
106
- if (typeof Class !== "function") {
107
- throw new TypeError("Super expression must either be null or a function");
108
- }
109
- if (typeof _cache !== "undefined") {
110
- if (_cache.has(Class)) return _cache.get(Class);
111
- _cache.set(Class, Wrapper);
112
- }
113
- function Wrapper() {
114
- return _construct(Class, arguments, _get_prototype_of(this).constructor);
115
- }
116
- Wrapper.prototype = Object.create(Class.prototype, {
117
- constructor: {
118
- value: Wrapper,
119
- enumerable: false,
120
- writable: true,
121
- configurable: true
122
- }
123
- });
124
- return _set_prototype_of(Wrapper, Class);
125
- };
126
- return _wrap_native_super(Class);
127
- }
128
78
  function _is_native_reflect_construct() {
129
79
  try {
130
80
  var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
@@ -133,21 +83,60 @@ function _is_native_reflect_construct() {
133
83
  return !!result;
134
84
  })();
135
85
  }
136
- var StepNode = /*#__PURE__*/ function(Node) {
137
- _inherits(StepNode, Node);
86
+ var StepNode = /*#__PURE__*/ function(NonTerminalNode) {
87
+ _inherits(StepNode, NonTerminalNode);
138
88
  function StepNode() {
139
89
  _class_call_check(this, StepNode);
140
90
  return _call_super(this, StepNode, arguments);
141
91
  }
142
- _create_class(StepNode, null, [
92
+ _create_class(StepNode, [
93
+ {
94
+ key: "isStepNode",
95
+ value: function isStepNode() {
96
+ var stepNode = true;
97
+ return stepNode;
98
+ }
99
+ },
100
+ {
101
+ key: "isSubproofNode",
102
+ value: function isSubproofNode() {
103
+ var subproofNode = false;
104
+ return subproofNode;
105
+ }
106
+ },
107
+ {
108
+ key: "getStatementNode",
109
+ value: function getStatementNode() {
110
+ var statementNode = this.findChildNode(function(childNode) {
111
+ var childNodeStatementNode = (0, _node.isNodeStatementNode)(childNode);
112
+ if (childNodeStatementNode) {
113
+ return true;
114
+ }
115
+ }) || null;
116
+ return statementNode;
117
+ }
118
+ },
119
+ {
120
+ key: "getReferenceNode",
121
+ value: function getReferenceNode() {
122
+ var referenceNode = this.findChildNode(function(childNode) {
123
+ var childNodeReferenceNode = (0, _node.isNodeReferenceNode)(childNode);
124
+ if (childNodeReferenceNode) {
125
+ return true;
126
+ }
127
+ }) || null;
128
+ return referenceNode;
129
+ }
130
+ }
131
+ ], [
143
132
  {
144
133
  key: "fromRuleNameChildNodesOpacityAndPrecedence",
145
134
  value: function fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
146
- return _node.default.fromRuleNameChildNodesOpacityAndPrecedence(StepNode, ruleName, childNodes, opacity, precedence);
135
+ return _occamparsers.NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(StepNode, ruleName, childNodes, opacity, precedence);
147
136
  }
148
137
  }
149
138
  ]);
150
139
  return StepNode;
151
- }(_wrap_native_super(_node.default));
140
+ }(_occamparsers.NonTerminalNode);
152
141
 
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL3N0ZXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb2RlIGZyb20gXCIuLi9ub2RlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0ZXBOb2RlIGV4dGVuZHMgTm9kZSB7XG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIE5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKFN0ZXBOb2RlLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJTdGVwTm9kZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsInJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIiwiTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFJcUJBOzs7MkRBRko7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUYsSUFBQSxBQUFNQSx5QkFBTjtjQUFNQTthQUFBQTtnQ0FBQUE7UUFBTixPQUFBLGtCQUFNQTs7a0JBQUFBOztZQUNaQyxLQUFBQTttQkFBUCxTQUFPQSwyQ0FBMkNDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVU7Z0JBQUksT0FBT0MsYUFBSSxDQUFDTCwwQ0FBMEMsQ0FEbElELFVBQzZJRSxVQUFVQyxZQUFZQyxTQUFTQztZQUFhOzs7V0FEekxMO3FCQUFpQk0sYUFBSSJ9
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL3N0ZXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IE5vblRlcm1pbmFsTm9kZSB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5cbmltcG9ydCB7IGlzTm9kZVN0YXRlbWVudE5vZGUsIGlzTm9kZVJlZmVyZW5jZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25vZGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RlcE5vZGUgZXh0ZW5kcyBOb25UZXJtaW5hbE5vZGUge1xuICBpc1N0ZXBOb2RlKCkge1xuICAgIGNvbnN0IHN0ZXBOb2RlID0gdHJ1ZTtcblxuICAgIHJldHVybiBzdGVwTm9kZTtcbiAgfVxuXG4gIGlzU3VicHJvb2ZOb2RlKCkge1xuICAgIGNvbnN0IHN1YnByb29mTm9kZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIHN1YnByb29mTm9kZTtcbiAgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHRoaXMuZmluZENoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVTdGF0ZW1lbnROb2RlID0gaXNOb2RlU3RhdGVtZW50Tm9kZShjaGlsZE5vZGUpO1xuXG4gICAgICBpZiAoY2hpbGROb2RlU3RhdGVtZW50Tm9kZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRSZWZlcmVuY2VOb2RlKCkge1xuICAgIGNvbnN0IHJlZmVyZW5jZU5vZGUgPSB0aGlzLmZpbmRDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlUmVmZXJlbmNlTm9kZSA9IGlzTm9kZVJlZmVyZW5jZU5vZGUoY2hpbGROb2RlKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZVJlZmVyZW5jZU5vZGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiByZWZlcmVuY2VOb2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSkgeyByZXR1cm4gTm9uVGVybWluYWxOb2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShTdGVwTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG4iXSwibmFtZXMiOlsiU3RlcE5vZGUiLCJpc1N0ZXBOb2RlIiwic3RlcE5vZGUiLCJpc1N1YnByb29mTm9kZSIsInN1YnByb29mTm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnROb2RlIiwiZmluZENoaWxkTm9kZSIsImNoaWxkTm9kZSIsImNoaWxkTm9kZVN0YXRlbWVudE5vZGUiLCJpc05vZGVTdGF0ZW1lbnROb2RlIiwiZ2V0UmVmZXJlbmNlTm9kZSIsInJlZmVyZW5jZU5vZGUiLCJjaGlsZE5vZGVSZWZlcmVuY2VOb2RlIiwiaXNOb2RlUmVmZXJlbmNlTm9kZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsInJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIiwiTm9uVGVybWluYWxOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7Ozs0QkFKVztvQkFFeUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFDLElBQUEsQUFBTUEseUJBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO1FBQU4sT0FBQSxrQkFBTUE7O2tCQUFBQTs7WUFDbkJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxXQUFXO2dCQUVqQixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGVBQWU7Z0JBRXJCLE9BQU9BO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsZ0JBQWdCLElBQUksQ0FBQ0MsYUFBYSxDQUFDLFNBQUNDO29CQUN4QyxJQUFNQyx5QkFBeUJDLElBQUFBLHlCQUFtQixFQUFDRjtvQkFFbkQsSUFBSUMsd0JBQXdCO3dCQUMxQixPQUFPO29CQUNUO2dCQUNGLE1BQU07Z0JBRU4sT0FBT0g7WUFDVDs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxnQkFBZ0IsSUFBSSxDQUFDTCxhQUFhLENBQUMsU0FBQ0M7b0JBQ3hDLElBQU1LLHlCQUF5QkMsSUFBQUEseUJBQW1CLEVBQUNOO29CQUVuRCxJQUFJSyx3QkFBd0I7d0JBQzFCLE9BQU87b0JBQ1Q7Z0JBQ0YsTUFBTTtnQkFFTixPQUFPRDtZQUNUOzs7O1lBRU9HLEtBQUFBO21CQUFQLFNBQU9BLDJDQUEyQ0MsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsVUFBVTtnQkFBSSxPQUFPQyw2QkFBZSxDQUFDTCwwQ0FBMEMsQ0FyQzdJZixVQXFDd0pnQixVQUFVQyxZQUFZQyxTQUFTQztZQUFhOzs7V0FyQ3BNbkI7RUFBaUJvQiw2QkFBZSJ9