occam-verify-cli 1.0.383 → 1.0.385

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 (223) hide show
  1. package/lib/action/verify.js +2 -1
  2. package/lib/context/file.js +2 -2
  3. package/lib/context/release.js +2 -2
  4. package/lib/mixins/statement/verify.js +3 -3
  5. package/lib/mixins/step/unify.js +4 -4
  6. package/lib/mixins/term/verify.js +4 -4
  7. package/lib/ontology/assertion/contained.js +316 -0
  8. package/lib/ontology/assertion/defined.js +290 -0
  9. package/lib/ontology/assertion/property.js +271 -0
  10. package/lib/ontology/assertion/satisfies.js +254 -0
  11. package/lib/ontology/assertion/subproof.js +186 -0
  12. package/lib/ontology/assertion/type.js +252 -0
  13. package/lib/{dom → ontology}/axiom.js +3 -3
  14. package/lib/{dom → ontology}/combinator/bracketed.js +4 -4
  15. package/lib/ontology/combinator.js +141 -0
  16. package/lib/ontology/conclusion.js +172 -0
  17. package/lib/{dom → ontology}/conjecture.js +3 -3
  18. package/lib/{dom → ontology}/constructor/bracketed.js +5 -5
  19. package/lib/ontology/constructor.js +171 -0
  20. package/lib/ontology/declaration/combinator.js +168 -0
  21. package/lib/ontology/declaration/complexType.js +346 -0
  22. package/lib/ontology/declaration/constructor.js +199 -0
  23. package/lib/ontology/declaration/metavariable.js +209 -0
  24. package/lib/ontology/declaration/simpleType.js +243 -0
  25. package/lib/ontology/declaration/typePrefix.js +181 -0
  26. package/lib/ontology/declaration/variable.js +197 -0
  27. package/lib/ontology/declaration.js +360 -0
  28. package/lib/ontology/deduction.js +186 -0
  29. package/lib/ontology/derivation.js +155 -0
  30. package/lib/ontology/equality.js +288 -0
  31. package/lib/{dom → ontology}/error.js +3 -3
  32. package/lib/ontology/frame.js +362 -0
  33. package/lib/ontology/hypothesis.js +190 -0
  34. package/lib/ontology/judgement.js +241 -0
  35. package/lib/ontology/label.js +199 -0
  36. package/lib/{dom → ontology}/lemma.js +3 -3
  37. package/lib/{dom → ontology}/metaLemma.js +3 -3
  38. package/lib/{dom → ontology}/metaType.js +3 -3
  39. package/lib/{dom → ontology}/metatheorem.js +3 -3
  40. package/lib/ontology/metavariable.js +504 -0
  41. package/lib/{dom → ontology}/parameter.js +3 -3
  42. package/lib/ontology/premise.js +271 -0
  43. package/lib/ontology/procedureCall.js +243 -0
  44. package/lib/{dom → ontology}/procedureReference.js +3 -3
  45. package/lib/{dom → ontology}/proof.js +4 -4
  46. package/lib/ontology/property.js +166 -0
  47. package/lib/ontology/propertyRelation.js +202 -0
  48. package/lib/ontology/reference.js +293 -0
  49. package/lib/ontology/rule.js +375 -0
  50. package/lib/ontology/section.js +255 -0
  51. package/lib/ontology/signature.js +220 -0
  52. package/lib/{dom → ontology}/statement.js +3 -3
  53. package/lib/ontology/step.js +283 -0
  54. package/lib/ontology/subDerivation.js +147 -0
  55. package/lib/ontology/subproof.js +266 -0
  56. package/lib/ontology/substitution/frame.js +216 -0
  57. package/lib/{dom → ontology}/substitution/reference.js +3 -3
  58. package/lib/{dom → ontology}/substitution/statement.js +3 -3
  59. package/lib/ontology/substitution/term.js +230 -0
  60. package/lib/ontology/substitution.js +207 -0
  61. package/lib/ontology/supposition.js +283 -0
  62. package/lib/ontology/term.js +339 -0
  63. package/lib/{dom → ontology}/theorem.js +3 -3
  64. package/lib/ontology/topLevelAssertion.js +432 -0
  65. package/lib/ontology/topLevelMetaAssertion.js +235 -0
  66. package/lib/ontology/type.js +556 -0
  67. package/lib/ontology/typePrefix.js +99 -0
  68. package/lib/ontology/variable.js +331 -0
  69. package/lib/ontology.js +27 -0
  70. package/lib/preamble.js +60 -60
  71. package/lib/unifier/intrinsicLevel.js +3 -3
  72. package/lib/unifier/metaLevel.js +7 -7
  73. package/lib/unifier/metavariable.js +3 -3
  74. package/lib/unifier/statementWithCombinator.js +5 -5
  75. package/lib/unifier/termWithConstructor.js +3 -3
  76. package/lib/utilities/brackets.js +5 -5
  77. package/lib/utilities/context.js +12 -12
  78. package/lib/utilities/fileSystem.js +2 -2
  79. package/lib/utilities/json.js +30 -30
  80. package/lib/utilities/node.js +7 -7
  81. package/lib/utilities/release.js +12 -4
  82. package/lib/utilities/releaseContext.js +1 -1
  83. package/lib/utilities/substitutions.js +6 -6
  84. package/lib/utilities/type.js +2 -2
  85. package/lib/verifier/combinator.js +4 -4
  86. package/lib/verifier/constructor.js +3 -3
  87. package/lib/verifier/topLevel.js +18 -18
  88. package/package.json +1 -1
  89. package/src/action/verify.js +2 -0
  90. package/src/context/file.js +1 -1
  91. package/src/context/release.js +1 -1
  92. package/src/mixins/statement/verify.js +2 -2
  93. package/src/mixins/step/unify.js +3 -3
  94. package/src/mixins/term/verify.js +3 -3
  95. package/src/{dom → ontology}/assertion/contained.js +4 -4
  96. package/src/{dom → ontology}/assertion/defined.js +6 -6
  97. package/src/{dom → ontology}/assertion/property.js +5 -5
  98. package/src/{dom → ontology}/assertion/satisfies.js +5 -5
  99. package/src/{dom → ontology}/assertion/subproof.js +4 -4
  100. package/src/{dom → ontology}/assertion/type.js +5 -5
  101. package/src/{dom → ontology}/axiom.js +2 -2
  102. package/src/{dom → ontology}/combinator/bracketed.js +4 -4
  103. package/src/{dom → ontology}/combinator.js +4 -4
  104. package/src/{dom → ontology}/conclusion.js +4 -4
  105. package/src/{dom → ontology}/conjecture.js +2 -2
  106. package/src/{dom → ontology}/constructor/bracketed.js +5 -5
  107. package/src/{dom → ontology}/constructor.js +5 -5
  108. package/src/{dom → ontology}/declaration/combinator.js +4 -4
  109. package/src/{dom → ontology}/declaration/complexType.js +4 -4
  110. package/src/{dom → ontology}/declaration/constructor.js +4 -4
  111. package/src/{dom → ontology}/declaration/metavariable.js +5 -5
  112. package/src/{dom → ontology}/declaration/simpleType.js +4 -4
  113. package/src/{dom → ontology}/declaration/typePrefix.js +4 -4
  114. package/src/{dom → ontology}/declaration/variable.js +4 -4
  115. package/src/{dom → ontology}/declaration.js +5 -5
  116. package/src/{dom → ontology}/deduction.js +4 -4
  117. package/src/{dom → ontology}/derivation.js +4 -4
  118. package/src/{dom → ontology}/equality.js +6 -6
  119. package/src/{dom → ontology}/error.js +2 -2
  120. package/src/{dom → ontology}/frame.js +6 -6
  121. package/src/{dom → ontology}/hypothesis.js +5 -6
  122. package/src/{dom → ontology}/judgement.js +5 -5
  123. package/src/{dom → ontology}/label.js +4 -4
  124. package/src/{dom → ontology}/lemma.js +2 -2
  125. package/src/{dom → ontology}/metaLemma.js +2 -2
  126. package/src/{dom → ontology}/metaType.js +2 -2
  127. package/src/{dom → ontology}/metatheorem.js +2 -2
  128. package/src/{dom → ontology}/metavariable.js +8 -8
  129. package/src/{dom → ontology}/parameter.js +2 -2
  130. package/src/{dom → ontology}/premise.js +5 -5
  131. package/src/{dom → ontology}/procedureCall.js +5 -5
  132. package/src/{dom → ontology}/procedureReference.js +2 -2
  133. package/src/{dom → ontology}/proof.js +4 -4
  134. package/src/{dom → ontology}/property.js +4 -4
  135. package/src/{dom → ontology}/propertyRelation.js +4 -4
  136. package/src/{dom → ontology}/reference.js +6 -6
  137. package/src/{dom → ontology}/rule.js +7 -7
  138. package/src/{dom → ontology}/section.js +8 -8
  139. package/src/{dom → ontology}/signature.js +4 -4
  140. package/src/{dom → ontology}/statement.js +2 -2
  141. package/src/{dom → ontology}/step.js +4 -4
  142. package/src/{dom → ontology}/subDerivation.js +4 -4
  143. package/src/{dom → ontology}/subproof.js +5 -5
  144. package/src/{dom → ontology}/substitution/frame.js +4 -4
  145. package/src/{dom → ontology}/substitution/reference.js +2 -2
  146. package/src/{dom → ontology}/substitution/statement.js +2 -2
  147. package/src/{dom → ontology}/substitution/term.js +5 -5
  148. package/src/{dom → ontology}/supposition.js +5 -5
  149. package/src/{dom → ontology}/term.js +6 -6
  150. package/src/{dom → ontology}/theorem.js +2 -2
  151. package/src/{dom → ontology}/topLevelAssertion.js +6 -6
  152. package/src/{dom → ontology}/topLevelMetaAssertion.js +2 -2
  153. package/src/{dom → ontology}/type.js +4 -4
  154. package/src/{dom → ontology}/typePrefix.js +3 -5
  155. package/src/{dom → ontology}/variable.js +6 -6
  156. package/src/ontology.js +13 -0
  157. package/src/preamble.js +59 -59
  158. package/src/unifier/intrinsicLevel.js +2 -2
  159. package/src/unifier/metaLevel.js +6 -6
  160. package/src/unifier/metavariable.js +2 -2
  161. package/src/unifier/statementWithCombinator.js +4 -4
  162. package/src/unifier/termWithConstructor.js +2 -2
  163. package/src/utilities/brackets.js +4 -4
  164. package/src/utilities/context.js +11 -11
  165. package/src/utilities/fileSystem.js +1 -1
  166. package/src/utilities/json.js +29 -29
  167. package/src/utilities/node.js +6 -6
  168. package/src/utilities/release.js +1 -1
  169. package/src/utilities/releaseContext.js +3 -3
  170. package/src/utilities/substitutions.js +5 -5
  171. package/src/utilities/type.js +1 -1
  172. package/src/verifier/combinator.js +3 -3
  173. package/src/verifier/constructor.js +2 -2
  174. package/src/verifier/topLevel.js +17 -17
  175. package/lib/dom/assertion/contained.js +0 -316
  176. package/lib/dom/assertion/defined.js +0 -290
  177. package/lib/dom/assertion/property.js +0 -271
  178. package/lib/dom/assertion/satisfies.js +0 -254
  179. package/lib/dom/assertion/subproof.js +0 -186
  180. package/lib/dom/assertion/type.js +0 -252
  181. package/lib/dom/combinator.js +0 -141
  182. package/lib/dom/conclusion.js +0 -172
  183. package/lib/dom/constructor.js +0 -171
  184. package/lib/dom/declaration/combinator.js +0 -168
  185. package/lib/dom/declaration/complexType.js +0 -346
  186. package/lib/dom/declaration/constructor.js +0 -199
  187. package/lib/dom/declaration/metavariable.js +0 -209
  188. package/lib/dom/declaration/simpleType.js +0 -243
  189. package/lib/dom/declaration/typePrefix.js +0 -181
  190. package/lib/dom/declaration/variable.js +0 -197
  191. package/lib/dom/declaration.js +0 -360
  192. package/lib/dom/deduction.js +0 -186
  193. package/lib/dom/derivation.js +0 -155
  194. package/lib/dom/equality.js +0 -288
  195. package/lib/dom/frame.js +0 -362
  196. package/lib/dom/hypothesis.js +0 -191
  197. package/lib/dom/judgement.js +0 -241
  198. package/lib/dom/label.js +0 -199
  199. package/lib/dom/metavariable.js +0 -504
  200. package/lib/dom/premise.js +0 -271
  201. package/lib/dom/procedureCall.js +0 -243
  202. package/lib/dom/property.js +0 -166
  203. package/lib/dom/propertyRelation.js +0 -202
  204. package/lib/dom/reference.js +0 -293
  205. package/lib/dom/rule.js +0 -375
  206. package/lib/dom/section.js +0 -255
  207. package/lib/dom/signature.js +0 -220
  208. package/lib/dom/step.js +0 -283
  209. package/lib/dom/subDerivation.js +0 -147
  210. package/lib/dom/subproof.js +0 -266
  211. package/lib/dom/substitution/frame.js +0 -216
  212. package/lib/dom/substitution/term.js +0 -230
  213. package/lib/dom/substitution.js +0 -207
  214. package/lib/dom/supposition.js +0 -283
  215. package/lib/dom/term.js +0 -339
  216. package/lib/dom/topLevelAssertion.js +0 -432
  217. package/lib/dom/topLevelMetaAssertion.js +0 -235
  218. package/lib/dom/type.js +0 -556
  219. package/lib/dom/typePrefix.js +0 -100
  220. package/lib/dom/variable.js +0 -331
  221. package/lib/dom.js +0 -27
  222. package/src/dom.js +0 -13
  223. /package/src/{dom → ontology}/substitution.js +0 -0
@@ -1,252 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
12
- var _variable = /*#__PURE__*/ _interop_require_default(require("../../assignment/variable"));
13
- function _class_call_check(instance, Constructor) {
14
- if (!(instance instanceof Constructor)) {
15
- throw new TypeError("Cannot call a class as a function");
16
- }
17
- }
18
- function _defineProperties(target, props) {
19
- for(var i = 0; i < props.length; i++){
20
- var descriptor = props[i];
21
- descriptor.enumerable = descriptor.enumerable || false;
22
- descriptor.configurable = true;
23
- if ("value" in descriptor) descriptor.writable = true;
24
- Object.defineProperty(target, descriptor.key, descriptor);
25
- }
26
- }
27
- function _create_class(Constructor, protoProps, staticProps) {
28
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
- if (staticProps) _defineProperties(Constructor, staticProps);
30
- return Constructor;
31
- }
32
- function _define_property(obj, key, value) {
33
- if (key in obj) {
34
- Object.defineProperty(obj, key, {
35
- value: value,
36
- enumerable: true,
37
- configurable: true,
38
- writable: true
39
- });
40
- } else {
41
- obj[key] = value;
42
- }
43
- return obj;
44
- }
45
- function _interop_require_default(obj) {
46
- return obj && obj.__esModule ? obj : {
47
- default: obj
48
- };
49
- }
50
- function _getRequireWildcardCache(nodeInterop) {
51
- if (typeof WeakMap !== "function") return null;
52
- var cacheBabelInterop = new WeakMap();
53
- var cacheNodeInterop = new WeakMap();
54
- return (_getRequireWildcardCache = function(nodeInterop) {
55
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
56
- })(nodeInterop);
57
- }
58
- function _interop_require_wildcard(obj, nodeInterop) {
59
- if (!nodeInterop && obj && obj.__esModule) {
60
- return obj;
61
- }
62
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
63
- return {
64
- default: obj
65
- };
66
- }
67
- var cache = _getRequireWildcardCache(nodeInterop);
68
- if (cache && cache.has(obj)) {
69
- return cache.get(obj);
70
- }
71
- var newObj = {
72
- __proto__: null
73
- };
74
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
75
- for(var key in obj){
76
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
77
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
78
- if (desc && (desc.get || desc.set)) {
79
- Object.defineProperty(newObj, key, desc);
80
- } else {
81
- newObj[key] = obj[key];
82
- }
83
- }
84
- }
85
- newObj.default = obj;
86
- if (cache) {
87
- cache.set(obj, newObj);
88
- }
89
- return newObj;
90
- }
91
- var _TypeAssertion;
92
- var _default = (0, _dom.domAssigned)((_TypeAssertion = /*#__PURE__*/ function() {
93
- function TypeAssertion(string, term, type) {
94
- _class_call_check(this, TypeAssertion);
95
- this.string = string;
96
- this.term = term;
97
- this.type = type;
98
- }
99
- _create_class(TypeAssertion, [
100
- {
101
- key: "getString",
102
- value: function getString() {
103
- return this.string;
104
- }
105
- },
106
- {
107
- key: "getTerm",
108
- value: function getTerm() {
109
- return this.term;
110
- }
111
- },
112
- {
113
- key: "getType",
114
- value: function getType() {
115
- return this.type;
116
- }
117
- },
118
- {
119
- key: "verify",
120
- value: function verify(assignments, stated, context) {
121
- var verifies = false;
122
- var typeAssertionString = this.string; ///
123
- context.trace("Verifying the '".concat(typeAssertionString, "' type assertion..."));
124
- var typeVerifies = this.verifyType(context);
125
- if (typeVerifies) {
126
- var verifiesWhenStated = false, verifiesWhenDerived = false;
127
- if (stated) {
128
- verifiesWhenStated = this.verifyWhenStated(assignments, context);
129
- } else {
130
- verifiesWhenDerived = this.verifyWhenDerived(context);
131
- }
132
- if (verifiesWhenStated || verifiesWhenDerived) {
133
- verifies = true;
134
- }
135
- }
136
- if (verifies) {
137
- if (stated) {
138
- this.assign(assignments, context);
139
- }
140
- }
141
- if (verifies) {
142
- context.debug("...verified the '".concat(typeAssertionString, "' type assertion."));
143
- }
144
- return verifies;
145
- }
146
- },
147
- {
148
- key: "verifyType",
149
- value: function verifyType(context) {
150
- var typeVerifies;
151
- var typeString = this.type.getString();
152
- context.trace("Verifying the '".concat(typeString, "' type..."));
153
- var nominalTypeName = this.type.getNominalTypeName(), type = context.findTypeByNominalTypeName(nominalTypeName);
154
- if (type !== null) {
155
- this.type = type;
156
- typeVerifies = true;
157
- } else {
158
- context.debug("The '".concat(typeString, "' type is not present."));
159
- }
160
- if (typeVerifies) {
161
- context.debug("...verified the '".concat(typeString, "' type."));
162
- }
163
- return typeVerifies;
164
- }
165
- },
166
- {
167
- key: "verifyWhenStated",
168
- value: function verifyWhenStated(assignments, context) {
169
- var _this = this;
170
- var verifiesWhenStated = false;
171
- var typeAssertionString = this.string; ///
172
- context.trace("Verifying the '".concat(typeAssertionString, "' stated type assertion..."));
173
- var termVerifies = this.term.verify(context, function() {
174
- var verifiesAhead;
175
- var termType = _this.term.getType(), typeEqualToOrSubTypeOfTermType = _this.type.isEqualToOrSubTypeOf(termType);
176
- if (typeEqualToOrSubTypeOfTermType) {
177
- verifiesAhead = true;
178
- }
179
- return verifiesAhead;
180
- });
181
- if (termVerifies) {
182
- verifiesWhenStated = true;
183
- }
184
- if (verifiesWhenStated) {
185
- context.debug("...verified the '".concat(typeAssertionString, "' stated type assertion."));
186
- }
187
- return verifiesWhenStated;
188
- }
189
- },
190
- {
191
- key: "verifyWhenDerived",
192
- value: function verifyWhenDerived(context) {
193
- var _this = this;
194
- var verifiesWhenDerived;
195
- var typeAssertionString = this.string; ///
196
- context.trace("Verifying the '".concat(typeAssertionString, "' derived type assertion..."));
197
- var termVerifies = this.term.verify(context, function() {
198
- var verifiesAhead = false;
199
- var termType = _this.term.getType(), termTypeProvisional = termType.isProvisional();
200
- if (!termTypeProvisional) {
201
- var typeEqualToOrSuperTypeOfTermType = _this.type.isEqualToOrSuperTypeOf(termType);
202
- verifiesAhead = typeEqualToOrSuperTypeOfTermType; ///
203
- }
204
- return verifiesAhead;
205
- });
206
- verifiesWhenDerived = termVerifies; ///
207
- if (verifiesWhenDerived) {
208
- context.debug("...verified the '".concat(typeAssertionString, "' derived type assertion."));
209
- }
210
- return verifiesWhenDerived;
211
- }
212
- },
213
- {
214
- key: "assign",
215
- value: function assign(assignments, context) {
216
- if (assignments === null) {
217
- return;
218
- }
219
- var Type = _dom.default.Type, Variable = _dom.default.Variable, termNode = this.term.getNode();
220
- var type, provisional;
221
- provisional = this.type.isProvisional();
222
- if (!provisional) {
223
- type = this.type;
224
- } else {
225
- provisional = false;
226
- type = Type.fromTypeAndProvisional(this.type, provisional);
227
- }
228
- var singularVariableNode = termNode.getSingularVariableNode();
229
- if (singularVariableNode !== null) {
230
- var variableNode = singularVariableNode, variable = Variable.fromVariableNodeAndType(variableNode, type, context), variableAssignment = _variable.default.fromVariable(variable), assignment = variableAssignment; ///
231
- assignments.push(assignment);
232
- }
233
- }
234
- }
235
- ], [
236
- {
237
- key: "fromStatementNode",
238
- value: function fromStatementNode(statementNode, context) {
239
- var typeAssertion = null;
240
- var typeAssertionNode = statementNode.getTypeAssertionNode();
241
- if (typeAssertionNode !== null) {
242
- var Term = _dom.default.Term, Type = _dom.default.Type, node = typeAssertionNode, string = context.nodeAsString(node), term = Term.fromTypeAssertionNode(typeAssertionNode, context), type = Type.fromTypeAssertionNode(typeAssertionNode, context);
243
- typeAssertion = new TypeAssertion(string, term, type);
244
- }
245
- return typeAssertion;
246
- }
247
- }
248
- ]);
249
- return TypeAssertion;
250
- }(), _define_property(_TypeAssertion, "name", "TypeAssertion"), _TypeAssertion));
251
-
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vYXNzZXJ0aW9uL3R5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IFZhcmlhYmxlQXNzaWdubWVudCBmcm9tIFwiLi4vLi4vYXNzaWdubWVudC92YXJpYWJsZVwiO1xuXG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi8uLi9kb21cIjtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgVHlwZUFzc2VydGlvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdGVybSwgdHlwZSkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudGVybSA9IHRlcm07XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICB2ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgbGV0IHR5cGVBc3NlcnRpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlQXNzZXJ0aW9uU3RyaW5nfScgdHlwZSBhc3NlcnRpb24uLi5gKTtcblxuICAgIGNvbnN0IHR5cGVWZXJpZmllcyA9IHRoaXMudmVyaWZ5VHlwZShjb250ZXh0KTtcblxuICAgIGlmICh0eXBlVmVyaWZpZXMpIHtcbiAgICAgIGxldCB2ZXJpZmllc1doZW5TdGF0ZWQgPSBmYWxzZSxcbiAgICAgICAgICB2ZXJpZmllc1doZW5EZXJpdmVkID0gZmFsc2U7XG5cbiAgICAgIGlmIChzdGF0ZWQpIHtcbiAgICAgICAgdmVyaWZpZXNXaGVuU3RhdGVkID0gdGhpcy52ZXJpZnlXaGVuU3RhdGVkKGFzc2lnbm1lbnRzLCBjb250ZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZlcmlmaWVzV2hlbkRlcml2ZWQgPSB0aGlzLnZlcmlmeVdoZW5EZXJpdmVkKGNvbnRleHQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmVyaWZpZXNXaGVuU3RhdGVkIHx8IHZlcmlmaWVzV2hlbkRlcml2ZWQpIHtcbiAgICAgICAgdmVyaWZpZXMgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgaWYgKHN0YXRlZCkge1xuICAgICAgICB0aGlzLmFzc2lnbihhc3NpZ25tZW50cywgY29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZUFzc2VydGlvblN0cmluZ30nIHR5cGUgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVR5cGUoY29udGV4dCkge1xuICAgIGxldCB0eXBlVmVyaWZpZXM7XG5cbiAgICBjb25zdCB0eXBlU3RyaW5nID0gdGhpcy50eXBlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZS4uLmApO1xuXG4gICAgY29uc3Qgbm9taW5hbFR5cGVOYW1lID0gdGhpcy50eXBlLmdldE5vbWluYWxUeXBlTmFtZSgpLFxuICAgICAgICAgIHR5cGUgPSBjb250ZXh0LmZpbmRUeXBlQnlOb21pbmFsVHlwZU5hbWUobm9taW5hbFR5cGVOYW1lKTtcblxuICAgIGlmICh0eXBlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuXG4gICAgICB0eXBlVmVyaWZpZXMgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGBUaGUgJyR7dHlwZVN0cmluZ30nIHR5cGUgaXMgbm90IHByZXNlbnQuYCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVWZXJpZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3R5cGVTdHJpbmd9JyB0eXBlLmApO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlVmVyaWZpZXM7XG4gIH1cblxuICB2ZXJpZnlXaGVuU3RhdGVkKGFzc2lnbm1lbnRzLCBjb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVzV2hlblN0YXRlZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgdHlwZUFzc2VydGlvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZUFzc2VydGlvblN0cmluZ30nIHN0YXRlZCB0eXBlIGFzc2VydGlvbi4uLmApO1xuXG4gICAgY29uc3QgdGVybVZlcmlmaWVzID0gdGhpcy50ZXJtLnZlcmlmeShjb250ZXh0LCAoKSA9PiB7XG4gICAgICBsZXQgdmVyaWZpZXNBaGVhZDtcblxuICAgICAgY29uc3QgdGVybVR5cGUgPSB0aGlzLnRlcm0uZ2V0VHlwZSgpLFxuICAgICAgICAgICAgdHlwZUVxdWFsVG9PclN1YlR5cGVPZlRlcm1UeXBlID0gdGhpcy50eXBlLmlzRXF1YWxUb09yU3ViVHlwZU9mKHRlcm1UeXBlKTtcblxuICAgICAgaWYgKHR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUZXJtVHlwZSkge1xuICAgICAgICB2ZXJpZmllc0FoZWFkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZlcmlmaWVzQWhlYWQ7XG4gICAgfSk7XG5cbiAgICBpZiAodGVybVZlcmlmaWVzKSB7XG4gICAgICB2ZXJpZmllc1doZW5TdGF0ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh2ZXJpZmllc1doZW5TdGF0ZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlQXNzZXJ0aW9uU3RyaW5nfScgc3RhdGVkIHR5cGUgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllc1doZW5TdGF0ZWQ7XG4gIH1cblxuICB2ZXJpZnlXaGVuRGVyaXZlZChjb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVzV2hlbkRlcml2ZWQ7XG5cbiAgICBjb25zdCB0eXBlQXNzZXJ0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlQXNzZXJ0aW9uU3RyaW5nfScgZGVyaXZlZCB0eXBlIGFzc2VydGlvbi4uLmApO1xuXG4gICAgY29uc3QgdGVybVZlcmlmaWVzID0gdGhpcy50ZXJtLnZlcmlmeShjb250ZXh0LCAoKSA9PiB7XG4gICAgICBsZXQgdmVyaWZpZXNBaGVhZCA9IGZhbHNlO1xuXG4gICAgICBjb25zdCB0ZXJtVHlwZSA9IHRoaXMudGVybS5nZXRUeXBlKCksXG4gICAgICAgICAgICB0ZXJtVHlwZVByb3Zpc2lvbmFsID0gdGVybVR5cGUuaXNQcm92aXNpb25hbCgpO1xuXG4gICAgICBpZiAoIXRlcm1UeXBlUHJvdmlzaW9uYWwpIHtcbiAgICAgICAgY29uc3QgdHlwZUVxdWFsVG9PclN1cGVyVHlwZU9mVGVybVR5cGUgPSB0aGlzLnR5cGUuaXNFcXVhbFRvT3JTdXBlclR5cGVPZih0ZXJtVHlwZSk7XG5cbiAgICAgICAgdmVyaWZpZXNBaGVhZCA9IHR5cGVFcXVhbFRvT3JTdXBlclR5cGVPZlRlcm1UeXBlOyAvLy9cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZlcmlmaWVzQWhlYWQ7XG4gICAgfSk7XG5cbiAgICB2ZXJpZmllc1doZW5EZXJpdmVkID0gdGVybVZlcmlmaWVzOyAvLy9cblxuICAgIGlmICh2ZXJpZmllc1doZW5EZXJpdmVkKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZUFzc2VydGlvblN0cmluZ30nIGRlcml2ZWQgdHlwZSBhc3NlcnRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzV2hlbkRlcml2ZWQ7XG4gIH1cblxuICBhc3NpZ24oYXNzaWdubWVudHMsIGNvbnRleHQpIHtcbiAgICBpZiAoYXNzaWdubWVudHMgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IFR5cGUsIFZhcmlhYmxlIH0gPSBkb20sXG4gICAgICAgICAgdGVybU5vZGUgPSB0aGlzLnRlcm0uZ2V0Tm9kZSgpO1xuXG4gICAgbGV0IHR5cGUsXG4gICAgICAgIHByb3Zpc2lvbmFsO1xuXG4gICAgcHJvdmlzaW9uYWwgPSB0aGlzLnR5cGUuaXNQcm92aXNpb25hbCgpO1xuXG4gICAgaWYgKCFwcm92aXNpb25hbCkge1xuICAgICAgdHlwZSA9IHRoaXMudHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJvdmlzaW9uYWwgPSBmYWxzZTtcblxuICAgICAgdHlwZSA9IFR5cGUuZnJvbVR5cGVBbmRQcm92aXNpb25hbCh0aGlzLnR5cGUsIHByb3Zpc2lvbmFsKTtcbiAgICB9XG5cbiAgICBjb25zdCBzaW5ndWxhclZhcmlhYmxlTm9kZSA9IHRlcm1Ob2RlLmdldFNpbmd1bGFyVmFyaWFibGVOb2RlKCk7XG5cbiAgICBpZiAoc2luZ3VsYXJWYXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlTm9kZSA9IHNpbmd1bGFyVmFyaWFibGVOb2RlLCAgLy8vXG4gICAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21WYXJpYWJsZU5vZGVBbmRUeXBlKHZhcmlhYmxlTm9kZSwgdHlwZSwgY29udGV4dCksXG4gICAgICAgICAgICB2YXJpYWJsZUFzc2lnbm1lbnQgPSBWYXJpYWJsZUFzc2lnbm1lbnQuZnJvbVZhcmlhYmxlKHZhcmlhYmxlKSxcbiAgICAgICAgICAgIGFzc2lnbm1lbnQgPSB2YXJpYWJsZUFzc2lnbm1lbnQ7ICAvLy9cblxuICAgICAgYXNzaWdubWVudHMucHVzaChhc3NpZ25tZW50KTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVHlwZUFzc2VydGlvblwiO1xuXG4gIHN0YXRpYyBmcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IHR5cGVBc3NlcnRpb24gPSBudWxsO1xuXG4gICAgY29uc3QgdHlwZUFzc2VydGlvbk5vZGUgPSBzdGF0ZW1lbnROb2RlLmdldFR5cGVBc3NlcnRpb25Ob2RlKCk7XG5cbiAgICBpZiAodHlwZUFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHsgVGVybSwgVHlwZSB9ID0gZG9tLFxuICAgICAgICAgICAgbm9kZSA9IHR5cGVBc3NlcnRpb25Ob2RlLCAvLy9cbiAgICAgICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgICAgdGVybSA9IFRlcm0uZnJvbVR5cGVBc3NlcnRpb25Ob2RlKHR5cGVBc3NlcnRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHR5cGUgPSBUeXBlLmZyb21UeXBlQXNzZXJ0aW9uTm9kZSh0eXBlQXNzZXJ0aW9uTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIHR5cGVBc3NlcnRpb24gPSBuZXcgVHlwZUFzc2VydGlvbihzdHJpbmcsIHRlcm0sIHR5cGUpO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlQXNzZXJ0aW9uO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJkb21Bc3NpZ25lZCIsIlR5cGVBc3NlcnRpb24iLCJzdHJpbmciLCJ0ZXJtIiwidHlwZSIsImdldFN0cmluZyIsImdldFRlcm0iLCJnZXRUeXBlIiwidmVyaWZ5IiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJjb250ZXh0IiwidmVyaWZpZXMiLCJ0eXBlQXNzZXJ0aW9uU3RyaW5nIiwidHJhY2UiLCJ0eXBlVmVyaWZpZXMiLCJ2ZXJpZnlUeXBlIiwidmVyaWZpZXNXaGVuU3RhdGVkIiwidmVyaWZpZXNXaGVuRGVyaXZlZCIsInZlcmlmeVdoZW5TdGF0ZWQiLCJ2ZXJpZnlXaGVuRGVyaXZlZCIsImFzc2lnbiIsImRlYnVnIiwidHlwZVN0cmluZyIsIm5vbWluYWxUeXBlTmFtZSIsImdldE5vbWluYWxUeXBlTmFtZSIsImZpbmRUeXBlQnlOb21pbmFsVHlwZU5hbWUiLCJ0ZXJtVmVyaWZpZXMiLCJ2ZXJpZmllc0FoZWFkIiwidGVybVR5cGUiLCJ0eXBlRXF1YWxUb09yU3ViVHlwZU9mVGVybVR5cGUiLCJpc0VxdWFsVG9PclN1YlR5cGVPZiIsInRlcm1UeXBlUHJvdmlzaW9uYWwiLCJpc1Byb3Zpc2lvbmFsIiwidHlwZUVxdWFsVG9PclN1cGVyVHlwZU9mVGVybVR5cGUiLCJpc0VxdWFsVG9PclN1cGVyVHlwZU9mIiwiVHlwZSIsImRvbSIsIlZhcmlhYmxlIiwidGVybU5vZGUiLCJnZXROb2RlIiwicHJvdmlzaW9uYWwiLCJmcm9tVHlwZUFuZFByb3Zpc2lvbmFsIiwic2luZ3VsYXJWYXJpYWJsZU5vZGUiLCJnZXRTaW5ndWxhclZhcmlhYmxlTm9kZSIsInZhcmlhYmxlTm9kZSIsInZhcmlhYmxlIiwiZnJvbVZhcmlhYmxlTm9kZUFuZFR5cGUiLCJ2YXJpYWJsZUFzc2lnbm1lbnQiLCJWYXJpYWJsZUFzc2lnbm1lbnQiLCJmcm9tVmFyaWFibGUiLCJhc3NpZ25tZW50IiwicHVzaCIsImZyb21TdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsInR5cGVBc3NlcnRpb24iLCJ0eXBlQXNzZXJ0aW9uTm9kZSIsImdldFR5cGVBc3NlcnRpb25Ob2RlIiwiVGVybSIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJmcm9tVHlwZUFzc2VydGlvbk5vZGUiLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQUE7OzsyREFMZ0I7K0RBQ2U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -1,141 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
12
- var _unification = require("../utilities/unification");
13
- var _json = require("../utilities/json");
14
- function _class_call_check(instance, Constructor) {
15
- if (!(instance instanceof Constructor)) {
16
- throw new TypeError("Cannot call a class as a function");
17
- }
18
- }
19
- function _defineProperties(target, props) {
20
- for(var i = 0; i < props.length; i++){
21
- var descriptor = props[i];
22
- descriptor.enumerable = descriptor.enumerable || false;
23
- descriptor.configurable = true;
24
- if ("value" in descriptor) descriptor.writable = true;
25
- Object.defineProperty(target, descriptor.key, descriptor);
26
- }
27
- }
28
- function _create_class(Constructor, protoProps, staticProps) {
29
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
- if (staticProps) _defineProperties(Constructor, staticProps);
31
- return Constructor;
32
- }
33
- function _getRequireWildcardCache(nodeInterop) {
34
- if (typeof WeakMap !== "function") return null;
35
- var cacheBabelInterop = new WeakMap();
36
- var cacheNodeInterop = new WeakMap();
37
- return (_getRequireWildcardCache = function(nodeInterop) {
38
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
39
- })(nodeInterop);
40
- }
41
- function _interop_require_wildcard(obj, nodeInterop) {
42
- if (!nodeInterop && obj && obj.__esModule) {
43
- return obj;
44
- }
45
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
46
- return {
47
- default: obj
48
- };
49
- }
50
- var cache = _getRequireWildcardCache(nodeInterop);
51
- if (cache && cache.has(obj)) {
52
- return cache.get(obj);
53
- }
54
- var newObj = {
55
- __proto__: null
56
- };
57
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
58
- for(var key in obj){
59
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
60
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
61
- if (desc && (desc.get || desc.set)) {
62
- Object.defineProperty(newObj, key, desc);
63
- } else {
64
- newObj[key] = obj[key];
65
- }
66
- }
67
- }
68
- newObj.default = obj;
69
- if (cache) {
70
- cache.set(obj, newObj);
71
- }
72
- return newObj;
73
- }
74
- var _default = (0, _dom.domAssigned)(/*#__PURE__*/ function() {
75
- function Combinator(statement) {
76
- _class_call_check(this, Combinator);
77
- this.statement = statement;
78
- }
79
- _create_class(Combinator, [
80
- {
81
- key: "getStatement",
82
- value: function getStatement() {
83
- return this.statement;
84
- }
85
- },
86
- {
87
- key: "getString",
88
- value: function getString() {
89
- return this.statement.getString();
90
- }
91
- },
92
- {
93
- key: "getStatementNode",
94
- value: function getStatementNode() {
95
- var statementNode = this.statement.getNode();
96
- return statementNode;
97
- }
98
- },
99
- {
100
- key: "unifyStatement",
101
- value: function unifyStatement(statement, assignments, stated, context) {
102
- var statementUnifies;
103
- var combinator = this, statementString = statement.getString(), combinatorString = combinator.getString();
104
- context.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."));
105
- var statementUnifiesWithCombinator = (0, _unification.unifyStatementWithCombinator)(statement, combinator, assignments, stated, context);
106
- statementUnifies = statementUnifiesWithCombinator; ///
107
- if (statementUnifies) {
108
- context.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."));
109
- }
110
- return statementUnifies;
111
- }
112
- },
113
- {
114
- key: "toJSON",
115
- value: function toJSON() {
116
- var statementJSON = (0, _json.statementToStatementJSON)(this.statement), statement = statementJSON, json = {
117
- statement: statement
118
- };
119
- return json;
120
- }
121
- }
122
- ], [
123
- {
124
- key: "fromJSON",
125
- value: function fromJSON(json, context) {
126
- var statement = (0, _json.statementFromJSON)(json, context), combinator = new Combinator(statement);
127
- return combinator;
128
- }
129
- },
130
- {
131
- key: "fromCombinatorDeclarationNode",
132
- value: function fromCombinatorDeclarationNode(combinatorDeclarationNode, context) {
133
- var Statement = _dom.default.Statement, statement = Statement.fromCombinatorDeclarationNode(combinatorDeclarationNode, context), combinator = new Combinator(statement);
134
- return combinator;
135
- }
136
- }
137
- ]);
138
- return Combinator;
139
- }());
140
-
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vY29tYmluYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5cbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IHsgdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciB9IGZyb20gXCIuLi91dGlsaXRpZXMvdW5pZmljYXRpb25cIjtcbmltcG9ydCB7IHN0YXRlbWVudEZyb21KU09OLCBzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgQ29tYmluYXRvciB7XG4gIGNvbnN0cnVjdG9yKHN0YXRlbWVudCkge1xuICAgIHRoaXMuc3RhdGVtZW50ID0gc3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHsgcmV0dXJuIHRoaXMuc3RhdGVtZW50LmdldFN0cmluZygpOyB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gdGhpcy5zdGF0ZW1lbnQuZ2V0Tm9kZSgpO1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllcztcblxuICAgIGNvbnN0IGNvbWJpbmF0b3IgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICAgIGNvbWJpbmF0b3JTdHJpbmcgPSBjb21iaW5hdG9yLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50VW5pZmllc1dpdGhDb21iaW5hdG9yID0gdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvcihzdGF0ZW1lbnQsIGNvbWJpbmF0b3IsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gICAgc3RhdGVtZW50VW5pZmllcyA9IHN0YXRlbWVudFVuaWZpZXNXaXRoQ29tYmluYXRvcjsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlICcke2NvbWJpbmF0b3JTdHJpbmd9JyBjb21iaW5hdG9yLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHN0YXRlbWVudEpTT04gPSBzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04odGhpcy5zdGF0ZW1lbnQpLFxuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudEpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgc3RhdGVtZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBjb21iaW5hdG9yID0gbmV3IENvbWJpbmF0b3Ioc3RhdGVtZW50KTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlKGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gZG9tLFxuICAgICAgICAgIHN0YXRlbWVudCA9IFN0YXRlbWVudC5mcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZShjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBjb21iaW5hdG9yID0gbmV3IENvbWJpbmF0b3Ioc3RhdGVtZW50KTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJkb21Bc3NpZ25lZCIsIkNvbWJpbmF0b3IiLCJzdGF0ZW1lbnQiLCJnZXRTdGF0ZW1lbnQiLCJnZXRTdHJpbmciLCJnZXRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsImdldE5vZGUiLCJ1bmlmeVN0YXRlbWVudCIsImFzc2lnbm1lbnRzIiwic3RhdGVkIiwiY29udGV4dCIsInN0YXRlbWVudFVuaWZpZXMiLCJjb21iaW5hdG9yIiwic3RhdGVtZW50U3RyaW5nIiwiY29tYmluYXRvclN0cmluZyIsInRyYWNlIiwic3RhdGVtZW50VW5pZmllc1dpdGhDb21iaW5hdG9yIiwidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciIsImRlYnVnIiwidG9KU09OIiwic3RhdGVtZW50SlNPTiIsInN0YXRlbWVudFRvU3RhdGVtZW50SlNPTiIsImpzb24iLCJmcm9tSlNPTiIsInN0YXRlbWVudEZyb21KU09OIiwiZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiU3RhdGVtZW50IiwiZG9tIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQUE7OzsyREFOZ0I7MkJBRzZCO29CQUNlOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRTVELFdBQWVBLElBQUFBLGdCQUFXLGdCQUFDO2FBQU1DLFdBQ25CQyxTQUFTO2dDQURVRDtRQUU3QixJQUFJLENBQUNDLFNBQVMsR0FBR0E7Ozs7WUFHbkJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsU0FBUztZQUN2Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBYyxPQUFPLElBQUksQ0FBQ0YsU0FBUyxDQUFDRSxTQUFTO1lBQUk7OztZQUVqREMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGdCQUFnQixJQUFJLENBQUNKLFNBQVMsQ0FBQ0ssT0FBTztnQkFFNUMsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlTixTQUFTLEVBQUVPLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxPQUFPO2dCQUNwRCxJQUFJQztnQkFFSixJQUFNQyxhQUFhLElBQUksRUFDakJDLGtCQUFrQlosVUFBVUUsU0FBUyxJQUNyQ1csbUJBQW1CRixXQUFXVCxTQUFTO2dCQUU3Q08sUUFBUUssS0FBSyxDQUFDLEFBQUMsaUJBQXdERCxPQUF4Q0QsaUJBQWdCLDBCQUF5QyxPQUFqQkMsa0JBQWlCO2dCQUV4RixJQUFNRSxpQ0FBaUNDLElBQUFBLHlDQUE0QixFQUFDaEIsV0FBV1csWUFBWUosYUFBYUMsUUFBUUM7Z0JBRWhIQyxtQkFBbUJLLGdDQUFnQyxHQUFHO2dCQUV0RCxJQUFJTCxrQkFBa0I7b0JBQ3BCRCxRQUFRUSxLQUFLLENBQUMsQUFBQyxtQkFBMERKLE9BQXhDRCxpQkFBZ0IsMEJBQXlDLE9BQWpCQyxrQkFBaUI7Z0JBQzVGO2dCQUVBLE9BQU9IO1lBQ1Q7OztZQUVBUSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsZ0JBQWdCQyxJQUFBQSw4QkFBd0IsRUFBQyxJQUFJLENBQUNwQixTQUFTLEdBQ3ZEQSxZQUFZbUIsZUFDWkUsT0FBTztvQkFDTHJCLFdBQUFBO2dCQUNGO2dCQUVOLE9BQU9xQjtZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRVosT0FBTztnQkFDM0IsSUFBTVQsWUFBWXVCLElBQUFBLHVCQUFpQixFQUFDRixNQUFNWixVQUNwQ0UsYUFBYSxJQUFJWixXQUFXQztnQkFFbEMsT0FBT1c7WUFDVDs7O1lBRU9hLEtBQUFBO21CQUFQLFNBQU9BLDhCQUE4QkMseUJBQXlCLEVBQUVoQixPQUFPO2dCQUNyRSxJQUFNLEFBQUVpQixZQUFjQyxZQUFHLENBQWpCRCxXQUNGMUIsWUFBWTBCLFVBQVVGLDZCQUE2QixDQUFDQywyQkFBMkJoQixVQUMvRUUsYUFBYSxJQUFJWixXQUFXQztnQkFFbEMsT0FBT1c7WUFDVCJ9
@@ -1,172 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
12
- var _json = require("../utilities/json");
13
- function _class_call_check(instance, Constructor) {
14
- if (!(instance instanceof Constructor)) {
15
- throw new TypeError("Cannot call a class as a function");
16
- }
17
- }
18
- function _defineProperties(target, props) {
19
- for(var i = 0; i < props.length; i++){
20
- var descriptor = props[i];
21
- descriptor.enumerable = descriptor.enumerable || false;
22
- descriptor.configurable = true;
23
- if ("value" in descriptor) descriptor.writable = true;
24
- Object.defineProperty(target, descriptor.key, descriptor);
25
- }
26
- }
27
- function _create_class(Constructor, protoProps, staticProps) {
28
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
- if (staticProps) _defineProperties(Constructor, staticProps);
30
- return Constructor;
31
- }
32
- function _define_property(obj, key, value) {
33
- if (key in obj) {
34
- Object.defineProperty(obj, key, {
35
- value: value,
36
- enumerable: true,
37
- configurable: true,
38
- writable: true
39
- });
40
- } else {
41
- obj[key] = value;
42
- }
43
- return obj;
44
- }
45
- function _getRequireWildcardCache(nodeInterop) {
46
- if (typeof WeakMap !== "function") return null;
47
- var cacheBabelInterop = new WeakMap();
48
- var cacheNodeInterop = new WeakMap();
49
- return (_getRequireWildcardCache = function(nodeInterop) {
50
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
51
- })(nodeInterop);
52
- }
53
- function _interop_require_wildcard(obj, nodeInterop) {
54
- if (!nodeInterop && obj && obj.__esModule) {
55
- return obj;
56
- }
57
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
58
- return {
59
- default: obj
60
- };
61
- }
62
- var cache = _getRequireWildcardCache(nodeInterop);
63
- if (cache && cache.has(obj)) {
64
- return cache.get(obj);
65
- }
66
- var newObj = {
67
- __proto__: null
68
- };
69
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
70
- for(var key in obj){
71
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
72
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
73
- if (desc && (desc.get || desc.set)) {
74
- Object.defineProperty(newObj, key, desc);
75
- } else {
76
- newObj[key] = obj[key];
77
- }
78
- }
79
- }
80
- newObj.default = obj;
81
- if (cache) {
82
- cache.set(obj, newObj);
83
- }
84
- return newObj;
85
- }
86
- var _Conclusion;
87
- var _default = (0, _dom.domAssigned)((_Conclusion = /*#__PURE__*/ function() {
88
- function Conclusion(node, string, statement) {
89
- _class_call_check(this, Conclusion);
90
- this.node = node;
91
- this.string = string;
92
- this.statement = statement;
93
- }
94
- _create_class(Conclusion, [
95
- {
96
- key: "getNode",
97
- value: function getNode() {
98
- return this.node;
99
- }
100
- },
101
- {
102
- key: "getString",
103
- value: function getString() {
104
- return this.string;
105
- }
106
- },
107
- {
108
- key: "getStatement",
109
- value: function getStatement() {
110
- return this.statement;
111
- }
112
- },
113
- {
114
- key: "verify",
115
- value: function verify(context) {
116
- var verifies = false;
117
- var conclusionString = this.string; ///
118
- context.trace("Verifying the '".concat(conclusionString, "' conclusion..."), this.node);
119
- if (this.statement !== null) {
120
- var stated = true, assignments = null, statementVerifies = this.statement.verify(assignments, stated, context);
121
- verifies = statementVerifies; ///
122
- } else {
123
- context.debug("Unable to verify the '".concat(conclusionString, "' conclusion because it is nonsense."), this.node);
124
- }
125
- if (verifies) {
126
- context.debug("...verified the '".concat(conclusionString, "' conclusion."), this.node);
127
- }
128
- return verifies;
129
- }
130
- },
131
- {
132
- key: "unifyStatement",
133
- value: function unifyStatement(statement, substitutions, generalContext, specificContext) {
134
- var statementUnifies;
135
- var conclusion = this, statementString = statement.getString(), conclusionString = conclusion.getString();
136
- specificContext.trace("Unifying the '".concat(statementString, "' statement with the '").concat(conclusionString, "' conclusion..."));
137
- statementUnifies = this.statement.unifyStatement(statement, substitutions, generalContext, specificContext);
138
- if (statementUnifies) {
139
- specificContext.debug("...unified the '".concat(statementString, "' statement with the '").concat(conclusionString, "' conclusion."));
140
- }
141
- return statementUnifies;
142
- }
143
- },
144
- {
145
- key: "toJSON",
146
- value: function toJSON() {
147
- var statementJSON = (0, _json.statementToStatementJSON)(this.statement), statement = statementJSON, json = {
148
- statement: statement
149
- };
150
- return json;
151
- }
152
- }
153
- ], [
154
- {
155
- key: "fromJSON",
156
- value: function fromJSON(json, context) {
157
- var statement = (0, _json.statementFromJSON)(json, context), node = null, string = statement.getString(), conclusion = new Conclusion(node, string, statement);
158
- return conclusion;
159
- }
160
- },
161
- {
162
- key: "fromConclusionNode",
163
- value: function fromConclusionNode(conclusionNode, context) {
164
- var Statement = _dom.default.Statement, node = conclusionNode, string = context.nodeAsString(node), statement = Statement.fromConclusionNode(conclusionNode, context), conclusion = new Conclusion(node, string, statement);
165
- return conclusion;
166
- }
167
- }
168
- ]);
169
- return Conclusion;
170
- }(), _define_property(_Conclusion, "name", "Conclusion"), _Conclusion));
171
-
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vY29uY2x1c2lvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5cbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IHsgc3RhdGVtZW50RnJvbUpTT04sIHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTiB9IGZyb20gXCIuLi91dGlsaXRpZXMvanNvblwiO1xuXG5leHBvcnQgIGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgQ29uY2x1c2lvbiB7XG4gIGNvbnN0cnVjdG9yKG5vZGUsIHN0cmluZywgc3RhdGVtZW50KSB7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnN0YXRlbWVudCA9IHN0YXRlbWVudDtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50O1xuICB9XG5cbiAgdmVyaWZ5KGNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IGNvbmNsdXNpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjb25jbHVzaW9uU3RyaW5nfScgY29uY2x1c2lvbi4uLmAsIHRoaXMubm9kZSk7XG5cbiAgICBpZiAodGhpcy5zdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlZCA9IHRydWUsXG4gICAgICAgICAgICBhc3NpZ25tZW50cyA9IG51bGwsXG4gICAgICAgICAgICBzdGF0ZW1lbnRWZXJpZmllcyA9IHRoaXMuc3RhdGVtZW50LnZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICAgICAgdmVyaWZpZXMgPSBzdGF0ZW1lbnRWZXJpZmllczsgLy8vXG5cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgVW5hYmxlIHRvIHZlcmlmeSB0aGUgJyR7Y29uY2x1c2lvblN0cmluZ30nIGNvbmNsdXNpb24gYmVjYXVzZSBpdCBpcyBub25zZW5zZS5gLCB0aGlzLm5vZGUpO1xuICAgIH1cblxuICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbmNsdXNpb25TdHJpbmd9JyBjb25jbHVzaW9uLmAsIHRoaXMubm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZXM7XG5cbiAgICBjb25zdCBjb25jbHVzaW9uID0gdGhpcywgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBjb25jbHVzaW9uU3RyaW5nID0gY29uY2x1c2lvbi5nZXRTdHJpbmcoKTtcblxuICAgIHNwZWNpZmljQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb25jbHVzaW9uU3RyaW5nfScgY29uY2x1c2lvbi4uLmApO1xuXG4gICAgc3RhdGVtZW50VW5pZmllcyA9IHRoaXMuc3RhdGVtZW50LnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllcykge1xuICAgICAgc3BlY2lmaWNDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7Y29uY2x1c2lvblN0cmluZ30nIGNvbmNsdXNpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50SlNPTiA9IHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTih0aGlzLnN0YXRlbWVudCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50SlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBzdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQ29uY2x1c2lvblwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgY29uc3Qgc3RhdGVtZW50ID0gc3RhdGVtZW50RnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgc3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICAgIGNvbmNsdXNpb24gPSBuZXcgQ29uY2x1c2lvbihub2RlLCBzdHJpbmcsIHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gY29uY2x1c2lvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29uY2x1c2lvbk5vZGUoY29uY2x1c2lvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gZG9tLFxuICAgICAgICAgIG5vZGUgPSBjb25jbHVzaW9uTm9kZSwgIC8vL1xuICAgICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgIHN0YXRlbWVudCA9IFN0YXRlbWVudC5mcm9tQ29uY2x1c2lvbk5vZGUoY29uY2x1c2lvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIGNvbmNsdXNpb24gPSBuZXcgQ29uY2x1c2lvbihub2RlLCBzdHJpbmcsIHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gY29uY2x1c2lvbjtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZG9tQXNzaWduZWQiLCJDb25jbHVzaW9uIiwibm9kZSIsInN0cmluZyIsInN0YXRlbWVudCIsImdldE5vZGUiLCJnZXRTdHJpbmciLCJnZXRTdGF0ZW1lbnQiLCJ2ZXJpZnkiLCJjb250ZXh0IiwidmVyaWZpZXMiLCJjb25jbHVzaW9uU3RyaW5nIiwidHJhY2UiLCJzdGF0ZWQiLCJhc3NpZ25tZW50cyIsInN0YXRlbWVudFZlcmlmaWVzIiwiZGVidWciLCJ1bmlmeVN0YXRlbWVudCIsInN1YnN0aXR1dGlvbnMiLCJnZW5lcmFsQ29udGV4dCIsInNwZWNpZmljQ29udGV4dCIsInN0YXRlbWVudFVuaWZpZXMiLCJjb25jbHVzaW9uIiwic3RhdGVtZW50U3RyaW5nIiwidG9KU09OIiwic3RhdGVtZW50SlNPTiIsInN0YXRlbWVudFRvU3RhdGVtZW50SlNPTiIsImpzb24iLCJmcm9tSlNPTiIsInN0YXRlbWVudEZyb21KU09OIiwiZnJvbUNvbmNsdXNpb25Ob2RlIiwiY29uY2x1c2lvbk5vZGUiLCJTdGF0ZW1lbnQiLCJkb20iLCJub2RlQXNTdHJpbmciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQUE7OzsyREFMZ0I7b0JBRzRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFNUQsV0FBZ0JBLElBQUFBLGdCQUFXLCtCQUFDO2FBQU1DLFdBQ3BCQyxJQUFJLEVBQUVDLE1BQU0sRUFBRUMsU0FBUztnQ0FESEg7UUFFOUIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxTQUFTLEdBQUdB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