occam-verify-cli 1.0.651 → 1.0.656
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/action/verify.js +2 -2
- package/lib/context/ephemeral.js +42 -1
- package/lib/context/file/nominal.js +23 -4
- package/lib/element/assertion/contained.js +24 -1
- package/lib/element/assertion/defined.js +24 -1
- package/lib/element/assertion/property.js +24 -1
- package/lib/element/assertion/satisfies.js +24 -1
- package/lib/element/assertion/subproof.js +37 -1
- package/lib/element/assertion/type.js +27 -1
- package/lib/element/assumption.js +2 -7
- package/lib/element/combinator.js +16 -3
- package/lib/element/conclusion.js +18 -3
- package/lib/element/constructor.js +8 -2
- package/lib/element/declaration/complexType.js +52 -52
- package/lib/element/declaration/constructor.js +38 -38
- package/lib/element/declaration/metavariable.js +35 -35
- package/lib/element/declaration/simpleType.js +42 -42
- package/lib/element/declaration/typePrefix.js +32 -32
- package/lib/element/declaration/variable.js +39 -39
- package/lib/element/deduction.js +2 -4
- package/lib/element/equivalences.js +3 -3
- package/lib/element/frame.js +2 -9
- package/lib/element/hypothesis.js +18 -24
- package/lib/element/label.js +14 -3
- package/lib/element/metavariable.js +10 -3
- package/lib/element/parameter.js +2 -3
- package/lib/element/procedureCall.js +2 -3
- package/lib/element/procedureReference.js +2 -3
- package/lib/element/proofAssertion/premise.js +54 -49
- package/lib/element/proofAssertion/step.js +86 -86
- package/lib/element/proofAssertion/supposition.js +39 -49
- package/lib/element/property.js +2 -3
- package/lib/element/reference.js +2 -3
- package/lib/element/rule.js +2 -4
- package/lib/element/section.js +14 -14
- package/lib/element/signature.js +2 -3
- package/lib/element/statement.js +8 -2
- package/lib/element/subproof.js +8 -8
- package/lib/element/substitution/statement.js +2 -2
- package/lib/element/term.js +15 -29
- package/lib/element/topLevelAssertion/axiom.js +63 -63
- package/lib/element/topLevelMetaAssertion.js +15 -15
- package/lib/element/type.js +2 -3
- package/lib/element/typePrefix.js +2 -3
- package/lib/element/variable.js +2 -2
- package/lib/index.js +17 -4
- package/lib/process/instantiate.js +38 -2
- package/lib/utilities/clock.js +8 -1
- package/lib/utilities/equivalence.js +27 -0
- package/lib/utilities/fileContext.js +15 -4
- package/lib/utilities/json.js +197 -30
- package/package.json +4 -4
- package/src/action/verify.js +3 -2
- package/src/context/ephemeral.js +84 -0
- package/src/context/file/nominal.js +38 -18
- package/src/element/assertion/contained.js +25 -0
- package/src/element/assertion/defined.js +25 -0
- package/src/element/assertion/property.js +25 -0
- package/src/element/assertion/satisfies.js +25 -0
- package/src/element/assertion/subproof.js +46 -0
- package/src/element/assertion/type.js +32 -0
- package/src/element/assumption.js +1 -12
- package/src/element/combinator.js +33 -3
- package/src/element/conclusion.js +33 -3
- package/src/element/constructor.js +17 -4
- package/src/element/declaration/complexType.js +49 -49
- package/src/element/declaration/constructor.js +32 -32
- package/src/element/declaration/metavariable.js +26 -26
- package/src/element/declaration/simpleType.js +34 -34
- package/src/element/declaration/typePrefix.js +35 -35
- package/src/element/declaration/variable.js +30 -30
- package/src/element/deduction.js +1 -6
- package/src/element/equivalences.js +1 -1
- package/src/element/frame.js +1 -15
- package/src/element/hypothesis.js +23 -34
- package/src/element/label.js +22 -5
- package/src/element/metavariable.js +20 -2
- package/src/element/parameter.js +1 -6
- package/src/element/procedureCall.js +1 -7
- package/src/element/procedureReference.js +1 -6
- package/src/element/proofAssertion/premise.js +54 -39
- package/src/element/proofAssertion/step.js +62 -62
- package/src/element/proofAssertion/supposition.js +27 -44
- package/src/element/property.js +1 -6
- package/src/element/reference.js +1 -6
- package/src/element/rule.js +3 -11
- package/src/element/section.js +12 -12
- package/src/element/signature.js +1 -7
- package/src/element/statement.js +13 -1
- package/src/element/subproof.js +6 -6
- package/src/element/substitution/statement.js +1 -1
- package/src/element/term.js +16 -24
- package/src/element/topLevelAssertion/axiom.js +45 -45
- package/src/element/topLevelMetaAssertion.js +19 -19
- package/src/element/type.js +1 -10
- package/src/element/typePrefix.js +1 -6
- package/src/element/variable.js +1 -1
- package/src/index.js +2 -0
- package/src/process/instantiate.js +26 -2
- package/src/utilities/clock.js +5 -0
- package/src/utilities/equivalence.js +26 -0
- package/src/utilities/fileContext.js +4 -0
- package/src/utilities/json.js +233 -37
|
@@ -294,91 +294,6 @@ var _default = (0, _elements.define)((_Step = /*#__PURE__*/ function(ProofAssert
|
|
|
294
294
|
return comparesToTermAndPropertyRelation;
|
|
295
295
|
}
|
|
296
296
|
},
|
|
297
|
-
{
|
|
298
|
-
key: "validate",
|
|
299
|
-
value: function validate(context) {
|
|
300
|
-
var validates = false;
|
|
301
|
-
var stepString = this.getString(); ///
|
|
302
|
-
context.trace("Validating the '".concat(stepString, "' step..."));
|
|
303
|
-
var statement = this.getStatement();
|
|
304
|
-
if (statement !== null) {
|
|
305
|
-
var referenceValidates = this.validateReference(context);
|
|
306
|
-
if (referenceValidates) {
|
|
307
|
-
var satisfiesAssertioValidates = this.validateSatisfiesAssertion(context);
|
|
308
|
-
if (satisfiesAssertioValidates) {
|
|
309
|
-
var statementValidates = this.validateStatement(context);
|
|
310
|
-
if (statementValidates) {
|
|
311
|
-
validates = true;
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
} else {
|
|
316
|
-
context.debug("Unable to validate the '".concat(stepString, "' step because it is nonsense."));
|
|
317
|
-
}
|
|
318
|
-
if (validates) {
|
|
319
|
-
context.debug("...validate the '".concat(stepString, "' step."));
|
|
320
|
-
}
|
|
321
|
-
return validates;
|
|
322
|
-
}
|
|
323
|
-
},
|
|
324
|
-
{
|
|
325
|
-
key: "validateReference",
|
|
326
|
-
value: function validateReference(context) {
|
|
327
|
-
var referenceValidates = true;
|
|
328
|
-
if (this.reference !== null) {
|
|
329
|
-
var stepString = this.getString(), referenceString = this.reference.getString();
|
|
330
|
-
context.trace("Validating the '".concat(stepString, "' step's '").concat(referenceString, "' reference... "));
|
|
331
|
-
var reference = this.reference.validate(context);
|
|
332
|
-
if (reference === null) {
|
|
333
|
-
referenceValidates = false;
|
|
334
|
-
}
|
|
335
|
-
if (referenceValidates) {
|
|
336
|
-
context.debug("...validated the '".concat(stepString, "' step's '").concat(referenceString, "' reference. "));
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
return referenceValidates;
|
|
340
|
-
}
|
|
341
|
-
},
|
|
342
|
-
{
|
|
343
|
-
key: "validateSatisfiesAssertion",
|
|
344
|
-
value: function validateSatisfiesAssertion(context) {
|
|
345
|
-
var satisfiesAssertionValidates = true; ///
|
|
346
|
-
if (this.satisfiesAssertion !== null) {
|
|
347
|
-
var stepString = this.getString(), satisfiesAssertionString = this.satisfiesAssertion.getString();
|
|
348
|
-
context.trace("Validating the '".concat(stepString, "' step's '").concat(satisfiesAssertionString, "' satisfies assertion... "));
|
|
349
|
-
var stated = true, satisfiesAssertion = this.satisfiesAssertion.validate(stated, context);
|
|
350
|
-
if (satisfiesAssertion !== null) {
|
|
351
|
-
satisfiesAssertionValidates = true;
|
|
352
|
-
}
|
|
353
|
-
if (satisfiesAssertionValidates) {
|
|
354
|
-
context.debug("...validating the '".concat(stepString, "' step's '").concat(satisfiesAssertionString, "' satisfies assertion. "));
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
return satisfiesAssertionValidates;
|
|
358
|
-
}
|
|
359
|
-
},
|
|
360
|
-
{
|
|
361
|
-
key: "unifyWithSatisfiesAssertion",
|
|
362
|
-
value: function unifyWithSatisfiesAssertion(satisfiesAssertion, context) {
|
|
363
|
-
var unifiesWithSatisfiesAssertion = false;
|
|
364
|
-
var stepString = this.getString(), satisfiesAssertionString = satisfiesAssertion.getString();
|
|
365
|
-
context.trace("Unifying the '".concat(stepString, "' step with the '").concat(satisfiesAssertionString, "' satisfies assertion..."));
|
|
366
|
-
var reference = satisfiesAssertion.getReference(), axiom = context.findAxiomByReference(reference);
|
|
367
|
-
if (axiom !== null) {
|
|
368
|
-
var step = this, substitutions = [], stepUnifies = axiom.unifyStep(step, substitutions, context);
|
|
369
|
-
if (stepUnifies) {
|
|
370
|
-
var substitutionsCompare = satisfiesAssertion.compareSubstitutions(substitutions, context);
|
|
371
|
-
if (substitutionsCompare) {
|
|
372
|
-
unifiesWithSatisfiesAssertion = true;
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
if (unifiesWithSatisfiesAssertion) {
|
|
377
|
-
context.debug("...unified the '".concat(stepString, "' step with the '").concat(satisfiesAssertionString, "' satisfies assertion."));
|
|
378
|
-
}
|
|
379
|
-
return unifiesWithSatisfiesAssertion;
|
|
380
|
-
}
|
|
381
|
-
},
|
|
382
297
|
{
|
|
383
298
|
key: "verify",
|
|
384
299
|
value: function verify(context) {
|
|
@@ -444,6 +359,69 @@ var _default = (0, _elements.define)((_Step = /*#__PURE__*/ function(ProofAssert
|
|
|
444
359
|
}).call(this);
|
|
445
360
|
}
|
|
446
361
|
},
|
|
362
|
+
{
|
|
363
|
+
key: "validate",
|
|
364
|
+
value: function validate(context) {
|
|
365
|
+
var validates = false;
|
|
366
|
+
var stepString = this.getString(); ///
|
|
367
|
+
context.trace("Validating the '".concat(stepString, "' step..."));
|
|
368
|
+
var statement = this.getStatement();
|
|
369
|
+
if (statement !== null) {
|
|
370
|
+
var referenceValidates = this.validateReference(context);
|
|
371
|
+
if (referenceValidates) {
|
|
372
|
+
var satisfiesAssertioValidates = this.validateSatisfiesAssertion(context);
|
|
373
|
+
if (satisfiesAssertioValidates) {
|
|
374
|
+
var statementValidates = this.validateStatement(context);
|
|
375
|
+
if (statementValidates) {
|
|
376
|
+
validates = true;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
} else {
|
|
381
|
+
context.debug("Unable to validate the '".concat(stepString, "' step because it is nonsense."));
|
|
382
|
+
}
|
|
383
|
+
if (validates) {
|
|
384
|
+
context.debug("...validate the '".concat(stepString, "' step."));
|
|
385
|
+
}
|
|
386
|
+
return validates;
|
|
387
|
+
}
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
key: "validateReference",
|
|
391
|
+
value: function validateReference(context) {
|
|
392
|
+
var referenceValidates = true;
|
|
393
|
+
if (this.reference !== null) {
|
|
394
|
+
var stepString = this.getString(), referenceString = this.reference.getString();
|
|
395
|
+
context.trace("Validating the '".concat(stepString, "' step's '").concat(referenceString, "' reference... "));
|
|
396
|
+
var reference = this.reference.validate(context);
|
|
397
|
+
if (reference === null) {
|
|
398
|
+
referenceValidates = false;
|
|
399
|
+
}
|
|
400
|
+
if (referenceValidates) {
|
|
401
|
+
context.debug("...validated the '".concat(stepString, "' step's '").concat(referenceString, "' reference. "));
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
return referenceValidates;
|
|
405
|
+
}
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
key: "validateSatisfiesAssertion",
|
|
409
|
+
value: function validateSatisfiesAssertion(context) {
|
|
410
|
+
var satisfiesAssertionValidates = true; ///
|
|
411
|
+
if (this.satisfiesAssertion !== null) {
|
|
412
|
+
var stepString = this.getString(), satisfiesAssertionString = this.satisfiesAssertion.getString();
|
|
413
|
+
context.trace("Validating the '".concat(stepString, "' step's '").concat(satisfiesAssertionString, "' satisfies assertion... "));
|
|
414
|
+
var stated = true, satisfiesAssertion = this.satisfiesAssertion.validate(stated, context);
|
|
415
|
+
if (satisfiesAssertion !== null) {
|
|
416
|
+
satisfiesAssertionValidates = true;
|
|
417
|
+
}
|
|
418
|
+
if (satisfiesAssertionValidates) {
|
|
419
|
+
context.debug("...validating the '".concat(stepString, "' step's '").concat(satisfiesAssertionString, "' satisfies assertion. "));
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
return satisfiesAssertionValidates;
|
|
423
|
+
}
|
|
424
|
+
},
|
|
447
425
|
{
|
|
448
426
|
key: "unify",
|
|
449
427
|
value: function unify(context) {
|
|
@@ -519,9 +497,31 @@ var _default = (0, _elements.define)((_Step = /*#__PURE__*/ function(ProofAssert
|
|
|
519
497
|
});
|
|
520
498
|
}).call(this);
|
|
521
499
|
}
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
key: "unifyWithSatisfiesAssertion",
|
|
503
|
+
value: function unifyWithSatisfiesAssertion(satisfiesAssertion, context) {
|
|
504
|
+
var unifiesWithSatisfiesAssertion = false;
|
|
505
|
+
var stepString = this.getString(), satisfiesAssertionString = satisfiesAssertion.getString();
|
|
506
|
+
context.trace("Unifying the '".concat(stepString, "' step with the '").concat(satisfiesAssertionString, "' satisfies assertion..."));
|
|
507
|
+
var reference = satisfiesAssertion.getReference(), axiom = context.findAxiomByReference(reference);
|
|
508
|
+
if (axiom !== null) {
|
|
509
|
+
var step = this, substitutions = [], stepUnifies = axiom.unifyStep(step, substitutions, context);
|
|
510
|
+
if (stepUnifies) {
|
|
511
|
+
var substitutionsCompare = satisfiesAssertion.compareSubstitutions(substitutions, context);
|
|
512
|
+
if (substitutionsCompare) {
|
|
513
|
+
unifiesWithSatisfiesAssertion = true;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
if (unifiesWithSatisfiesAssertion) {
|
|
518
|
+
context.debug("...unified the '".concat(stepString, "' step with the '").concat(satisfiesAssertionString, "' satisfies assertion."));
|
|
519
|
+
}
|
|
520
|
+
return unifiesWithSatisfiesAssertion;
|
|
521
|
+
}
|
|
522
522
|
}
|
|
523
523
|
]);
|
|
524
524
|
return Step;
|
|
525
525
|
}(_proofAssertion.default), _define_property(_Step, "name", "Step"), _Step));
|
|
526
526
|
|
|
527
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Byb29mQXNzZXJ0aW9uL3N0ZXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFzeW5jaHJvbm91c1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IFByb29mQXNzZXJ0aW9uIGZyb20gXCIuLi9wcm9vZkFzc2VydGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHVuaWZ5U3RhdGVtZW50cyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdW5pZmljYXRpb25cIjtcbmltcG9ydCB7IGFzeW5jQXR0ZW1wdCwgYXN5bmNMaW1pbmFsbHkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IHByb3BlcnR5QXNzZXJ0aW9uRnJvbVN0YXRlbWVudCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RhdGVtZW50XCI7XG5cbmNvbnN0IHsgYXN5bmNTb21lIH0gPSBhc3luY2hyb25vdXNVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBTdGVwIGV4dGVuZHMgUHJvb2ZBc3NlcnRpb24ge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIHN0YXRlbWVudCwgcmVmZXJlbmNlLCBzYXRpc2ZpZXNBc3NlcnRpb24pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIHN0YXRlbWVudCk7XG5cbiAgICB0aGlzLnJlZmVyZW5jZSA9IHJlZmVyZW5jZTtcbiAgICB0aGlzLnNhdGlzZmllc0Fzc2VydGlvbiA9IHNhdGlzZmllc0Fzc2VydGlvbjtcbiAgfVxuXG4gIGdldFJlZmVyZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2U7XG4gIH1cblxuICBnZXRTYXRpc2ZpZXNBc3NlcnRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2F0aXNmaWVzQXNzZXJ0aW9uO1xuICB9XG5cbiAgZ2V0U3RlcE5vZGUoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIHN0ZXBOb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgcmV0dXJuIHN0ZXBOb2RlO1xuICB9XG5cbiAgaXNTYXRpc2ZpZWQoKSB7XG4gICAgY29uc3Qgc2F0aXNmaWVkID0gKHRoaXMuc2F0aXNmaWVzQXNzZXJ0aW9uICE9PSBudWxsKTtcblxuICAgIHJldHVybiBzYXRpc2ZpZWQ7XG4gIH1cblxuICBpc1F1YWxpZmllZCgpIHtcbiAgICBjb25zdCBxdWFsaWZpZWQgPSAodGhpcy5yZWZlcmVuY2UgIT09IG51bGwpO1xuXG4gICAgcmV0dXJuIHF1YWxpZmllZDtcbiAgfVxuXG4gIGlzU3RhdGVkKCkge1xuICAgIGNvbnN0IHF1YWxpZmllZCA9IHRoaXMuaXNRdWFsaWZpZWQoKSxcbiAgICAgICAgICBzdGF0ZWQgPSBxdWFsaWZpZWQ7IC8vL1xuXG4gICAgcmV0dXJuIHN0YXRlZDtcbiAgfVxuXG4gIGNvbXBhcmVUZXJtQW5kUHJvcGVydHlSZWxhdGlvbih0ZXJtLCBwcm9wZXJ0eVJlbGF0aW9uLCBjb250ZXh0KSB7XG4gICAgbGV0IGNvbXBhcmVzVG9UZXJtQW5kUHJvcGVydHlSZWxhdGlvbiA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50ID0gdGhpcy5nZXRTdGF0ZW1lbnQoKSxcbiAgICAgICAgICBwcm9wZXJ0eUFzc2VydGlvbiA9IHByb3BlcnR5QXNzZXJ0aW9uRnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpO1xuXG4gICAgaWYgKHByb3BlcnR5QXNzZXJ0aW9uICE9PSBudWxsKSB7XG4gICAgICBjb21wYXJlc1RvVGVybUFuZFByb3BlcnR5UmVsYXRpb24gPSBwcm9wZXJ0eUFzc2VydGlvbi5jb21wYXJlVGVybUFuZFByb3BlcnR5UmVsYXRpb24odGVybSwgcHJvcGVydHlSZWxhdGlvbiwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBhcmVzVG9UZXJtQW5kUHJvcGVydHlSZWxhdGlvbjtcbiAgfVxuXG4gIHZhbGlkYXRlKGNvbnRleHQpIHtcbiAgICBsZXQgdmFsaWRhdGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdGVwU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWYWxpZGF0aW5nIHRoZSAnJHtzdGVwU3RyaW5nfScgc3RlcC4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50ID0gdGhpcy5nZXRTdGF0ZW1lbnQoKTtcblxuICAgIGlmIChzdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJlZmVyZW5jZVZhbGlkYXRlcyA9IHRoaXMudmFsaWRhdGVSZWZlcmVuY2UoY29udGV4dCk7XG5cbiAgICAgIGlmIChyZWZlcmVuY2VWYWxpZGF0ZXMpIHtcbiAgICAgICAgY29uc3Qgc2F0aXNmaWVzQXNzZXJ0aW9WYWxpZGF0ZXMgPSB0aGlzLnZhbGlkYXRlU2F0aXNmaWVzQXNzZXJ0aW9uKGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChzYXRpc2ZpZXNBc3NlcnRpb1ZhbGlkYXRlcykge1xuICAgICAgICAgIGNvbnN0IHN0YXRlbWVudFZhbGlkYXRlcyA9IHRoaXMudmFsaWRhdGVTdGF0ZW1lbnQoY29udGV4dCk7XG5cbiAgICAgICAgICBpZiAoc3RhdGVtZW50VmFsaWRhdGVzKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGBVbmFibGUgdG8gdmFsaWRhdGUgdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwIGJlY2F1c2UgaXQgaXMgbm9uc2Vuc2UuYCk7XG4gICAgfVxuXG4gICAgaWYgKHZhbGlkYXRlcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGUgdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0ZXM7XG4gIH1cblxuICB2YWxpZGF0ZVJlZmVyZW5jZShjb250ZXh0KSB7XG4gICAgbGV0IHJlZmVyZW5jZVZhbGlkYXRlcyA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5yZWZlcmVuY2UgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0ZXBTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLCAgLy8vXG4gICAgICAgICAgICByZWZlcmVuY2VTdHJpbmcgPSB0aGlzLnJlZmVyZW5jZS5nZXRTdHJpbmcoKTtcblxuICAgICAgY29udGV4dC50cmFjZShgVmFsaWRhdGluZyB0aGUgJyR7c3RlcFN0cmluZ30nIHN0ZXAncyAnJHtyZWZlcmVuY2VTdHJpbmd9JyByZWZlcmVuY2UuLi4gYCk7XG5cbiAgICAgIGNvbnN0IHJlZmVyZW5jZSA9IHRoaXMucmVmZXJlbmNlLnZhbGlkYXRlKGNvbnRleHQpO1xuXG4gICAgICBpZiAocmVmZXJlbmNlID09PSBudWxsKSB7XG4gICAgICAgIHJlZmVyZW5jZVZhbGlkYXRlcyA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVmZXJlbmNlVmFsaWRhdGVzKSB7XG4gICAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZhbGlkYXRlZCB0aGUgJyR7c3RlcFN0cmluZ30nIHN0ZXAncyAnJHtyZWZlcmVuY2VTdHJpbmd9JyByZWZlcmVuY2UuIGApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZWZlcmVuY2VWYWxpZGF0ZXM7XG4gIH1cblxuICB2YWxpZGF0ZVNhdGlzZmllc0Fzc2VydGlvbihjb250ZXh0KSB7XG4gICAgbGV0IHNhdGlzZmllc0Fzc2VydGlvblZhbGlkYXRlcyA9IHRydWU7ICAvLy9cblxuICAgIGlmICh0aGlzLnNhdGlzZmllc0Fzc2VydGlvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RlcFN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksICAvLy9cbiAgICAgICAgICAgIHNhdGlzZmllc0Fzc2VydGlvblN0cmluZyA9IHRoaXMuc2F0aXNmaWVzQXNzZXJ0aW9uLmdldFN0cmluZygpO1xuXG4gICAgICBjb250ZXh0LnRyYWNlKGBWYWxpZGF0aW5nIHRoZSAnJHtzdGVwU3RyaW5nfScgc3RlcCdzICcke3NhdGlzZmllc0Fzc2VydGlvblN0cmluZ30nIHNhdGlzZmllcyBhc3NlcnRpb24uLi4gYCk7XG5cbiAgICAgIGNvbnN0IHN0YXRlZCA9IHRydWUsXG4gICAgICAgICAgICBzYXRpc2ZpZXNBc3NlcnRpb24gPSB0aGlzLnNhdGlzZmllc0Fzc2VydGlvbi52YWxpZGF0ZShzdGF0ZWQsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoc2F0aXNmaWVzQXNzZXJ0aW9uICE9PSBudWxsKSB7XG4gICAgICAgIHNhdGlzZmllc0Fzc2VydGlvblZhbGlkYXRlcyA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChzYXRpc2ZpZXNBc3NlcnRpb25WYWxpZGF0ZXMpIHtcbiAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGluZyB0aGUgJyR7c3RlcFN0cmluZ30nIHN0ZXAncyAnJHtzYXRpc2ZpZXNBc3NlcnRpb25TdHJpbmd9JyBzYXRpc2ZpZXMgYXNzZXJ0aW9uLiBgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2F0aXNmaWVzQXNzZXJ0aW9uVmFsaWRhdGVzO1xuICB9XG5cbiAgdW5pZnlXaXRoU2F0aXNmaWVzQXNzZXJ0aW9uKHNhdGlzZmllc0Fzc2VydGlvbiwgY29udGV4dCkge1xuICAgIGxldCB1bmlmaWVzV2l0aFNhdGlzZmllc0Fzc2VydGlvbiA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3RlcFN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksIC8vL1xuICAgICAgICAgIHNhdGlzZmllc0Fzc2VydGlvblN0cmluZyA9IHNhdGlzZmllc0Fzc2VydGlvbi5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGVwU3RyaW5nfScgc3RlcCB3aXRoIHRoZSAnJHtzYXRpc2ZpZXNBc3NlcnRpb25TdHJpbmd9JyBzYXRpc2ZpZXMgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICBjb25zdCByZWZlcmVuY2UgPSBzYXRpc2ZpZXNBc3NlcnRpb24uZ2V0UmVmZXJlbmNlKCksXG4gICAgICAgICAgYXhpb20gPSBjb250ZXh0LmZpbmRBeGlvbUJ5UmVmZXJlbmNlKHJlZmVyZW5jZSk7XG5cbiAgICBpZiAoYXhpb20gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0ZXAgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgICBzdWJzdGl0dXRpb25zID0gW10sXG4gICAgICAgICAgICBzdGVwVW5pZmllcyA9IGF4aW9tLnVuaWZ5U3RlcChzdGVwLCBzdWJzdGl0dXRpb25zLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHN0ZXBVbmlmaWVzKSB7XG4gICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnNDb21wYXJlID0gc2F0aXNmaWVzQXNzZXJ0aW9uLmNvbXBhcmVTdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChzdWJzdGl0dXRpb25zQ29tcGFyZSkge1xuICAgICAgICAgIHVuaWZpZXNXaXRoU2F0aXNmaWVzQXNzZXJ0aW9uID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh1bmlmaWVzV2l0aFNhdGlzZmllc0Fzc2VydGlvbikge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RlcFN0cmluZ30nIHN0ZXAgd2l0aCB0aGUgJyR7c2F0aXNmaWVzQXNzZXJ0aW9uU3RyaW5nfScgc2F0aXNmaWVzIGFzc2VydGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5pZmllc1dpdGhTYXRpc2ZpZXNBc3NlcnRpb247XG4gIH1cblxuICBhc3luYyB2ZXJpZnkoY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgYXdhaXQgdGhpcy5icmVhayhjb250ZXh0KTtcblxuICAgIGNvbnN0IHN0ZXBTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RlcFN0cmluZ30nIHN0ZXAuLi5gKTtcblxuICAgIGF3YWl0IGFzeW5jQXR0ZW1wdChhc3luYyAoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRhdGVzID0gdGhpcy52YWxpZGF0ZShjb250ZXh0KTtcblxuICAgICAgaWYgKHZhbGlkYXRlcykge1xuICAgICAgICBjb25zdCB1bmlmaWVzID0gYXdhaXQgdGhpcy51bmlmeShjb250ZXh0KTtcblxuICAgICAgICBpZiAodW5pZmllcykge1xuICAgICAgICAgIHRoaXMuc2V0Q29udGV4dChjb250ZXh0KTtcblxuICAgICAgICAgIHZlcmlmaWVzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIGNvbnRleHQpO1xuXG4gICAgaWYgKHZlcmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RlcFN0cmluZ30nIHN0ZXAuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzO1xuICB9XG5cbiAgYXN5bmMgdW5pZnkoY29udGV4dCkge1xuICAgIGxldCB1bmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdGVwU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3RlcFN0cmluZ30nIHN0ZXAuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudCA9IHRoaXMuZ2V0U3RhdGVtZW50KCksXG4gICAgICAgICAgcmVmZXJlbmNlID0gdGhpcy5nZXRSZWZlcmVuY2UoKSxcbiAgICAgICAgICBzYXRpc2ZpZXNBc3NlcnRpb24gPSB0aGlzLmdldFNhdGlzZmllc0Fzc2VydGlvbigpLFxuICAgICAgICAgIHN0YXRlbWVudFVuaWZpZXMgPSBhd2FpdCBhc3luY0xpbWluYWxseShhc3luYyAoY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGVtZW50VW5pZmllcyA9IGF3YWl0IGFzeW5jU29tZSh1bmlmeVN0YXRlbWVudHMsIGFzeW5jICh1bmlmeVN0YXRlbWVudCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVzID0gYXdhaXQgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCByZWZlcmVuY2UsIHNhdGlzZmllc0Fzc2VydGlvbiwgY29udGV4dCk7XG5cbiAgICAgICAgICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVzO1xuICAgICAgICAgIH0sIGNvbnRleHQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZXMpIHtcbiAgICAgIHVuaWZpZXMgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh1bmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGVwU3RyaW5nfScgc3RlcC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5pZmllcztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJTdGVwXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJhc3luY1NvbWUiLCJhc3luY2hyb25vdXNVdGlsaXRpZXMiLCJkZWZpbmUiLCJTdGVwIiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJzdGF0ZW1lbnQiLCJyZWZlcmVuY2UiLCJzYXRpc2ZpZXNBc3NlcnRpb24iLCJnZXRSZWZlcmVuY2UiLCJnZXRTYXRpc2ZpZXNBc3NlcnRpb24iLCJnZXRTdGVwTm9kZSIsImdldE5vZGUiLCJzdGVwTm9kZSIsImlzU2F0aXNmaWVkIiwic2F0aXNmaWVkIiwiaXNRdWFsaWZpZWQiLCJxdWFsaWZpZWQiLCJpc1N0YXRlZCIsInN0YXRlZCIsImNvbXBhcmVUZXJtQW5kUHJvcGVydHlSZWxhdGlvbiIsInRlcm0iLCJwcm9wZXJ0eVJlbGF0aW9uIiwiY29tcGFyZXNUb1Rlcm1BbmRQcm9wZXJ0eVJlbGF0aW9uIiwiZ2V0U3RhdGVtZW50IiwicHJvcGVydHlBc3NlcnRpb24iLCJwcm9wZXJ0eUFzc2VydGlvbkZyb21TdGF0ZW1lbnQiLCJ2YWxpZGF0ZSIsInZhbGlkYXRlcyIsInN0ZXBTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInJlZmVyZW5jZVZhbGlkYXRlcyIsInZhbGlkYXRlUmVmZXJlbmNlIiwic2F0aXNmaWVzQXNzZXJ0aW9WYWxpZGF0ZXMiLCJ2YWxpZGF0ZVNhdGlzZmllc0Fzc2VydGlvbiIsInN0YXRlbWVudFZhbGlkYXRlcyIsInZhbGlkYXRlU3RhdGVtZW50IiwiZGVidWciLCJyZWZlcmVuY2VTdHJpbmciLCJzYXRpc2ZpZXNBc3NlcnRpb25WYWxpZGF0ZXMiLCJzYXRpc2ZpZXNBc3NlcnRpb25TdHJpbmciLCJ1bmlmeVdpdGhTYXRpc2ZpZXNBc3NlcnRpb24iLCJ1bmlmaWVzV2l0aFNhdGlzZmllc0Fzc2VydGlvbiIsImF4aW9tIiwiZmluZEF4aW9tQnlSZWZlcmVuY2UiLCJzdGVwIiwic3Vic3RpdHV0aW9ucyIsInN0ZXBVbmlmaWVzIiwidW5pZnlTdGVwIiwic3Vic3RpdHV0aW9uc0NvbXBhcmUiLCJjb21wYXJlU3Vic3RpdHV0aW9ucyIsInZlcmlmeSIsInZlcmlmaWVzIiwiYnJlYWsiLCJhc3luY0F0dGVtcHQiLCJ1bmlmaWVzIiwidW5pZnkiLCJzZXRDb250ZXh0Iiwic3RhdGVtZW50VW5pZmllcyIsImFzeW5jTGltaW5hbGx5IiwidW5pZnlTdGF0ZW1lbnRzIiwidW5pZnlTdGF0ZW1lbnQiLCJQcm9vZkFzc2VydGlvbiIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFBOzs7ZUFBQTs7OzhCQVhzQztxRUFFWDt3QkFFSjsyQkFDUzt1QkFD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
|
|
527
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Byb29mQXNzZXJ0aW9uL3N0ZXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFzeW5jaHJvbm91c1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IFByb29mQXNzZXJ0aW9uIGZyb20gXCIuLi9wcm9vZkFzc2VydGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHVuaWZ5U3RhdGVtZW50cyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdW5pZmljYXRpb25cIjtcbmltcG9ydCB7IGFzeW5jQXR0ZW1wdCwgYXN5bmNMaW1pbmFsbHkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IHByb3BlcnR5QXNzZXJ0aW9uRnJvbVN0YXRlbWVudCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RhdGVtZW50XCI7XG5cbmNvbnN0IHsgYXN5bmNTb21lIH0gPSBhc3luY2hyb25vdXNVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBTdGVwIGV4dGVuZHMgUHJvb2ZBc3NlcnRpb24ge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIHN0YXRlbWVudCwgcmVmZXJlbmNlLCBzYXRpc2ZpZXNBc3NlcnRpb24pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIHN0YXRlbWVudCk7XG5cbiAgICB0aGlzLnJlZmVyZW5jZSA9IHJlZmVyZW5jZTtcbiAgICB0aGlzLnNhdGlzZmllc0Fzc2VydGlvbiA9IHNhdGlzZmllc0Fzc2VydGlvbjtcbiAgfVxuXG4gIGdldFJlZmVyZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2U7XG4gIH1cblxuICBnZXRTYXRpc2ZpZXNBc3NlcnRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2F0aXNmaWVzQXNzZXJ0aW9uO1xuICB9XG5cbiAgZ2V0U3RlcE5vZGUoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIHN0ZXBOb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgcmV0dXJuIHN0ZXBOb2RlO1xuICB9XG5cbiAgaXNTYXRpc2ZpZWQoKSB7XG4gICAgY29uc3Qgc2F0aXNmaWVkID0gKHRoaXMuc2F0aXNmaWVzQXNzZXJ0aW9uICE9PSBudWxsKTtcblxuICAgIHJldHVybiBzYXRpc2ZpZWQ7XG4gIH1cblxuICBpc1F1YWxpZmllZCgpIHtcbiAgICBjb25zdCBxdWFsaWZpZWQgPSAodGhpcy5yZWZlcmVuY2UgIT09IG51bGwpO1xuXG4gICAgcmV0dXJuIHF1YWxpZmllZDtcbiAgfVxuXG4gIGlzU3RhdGVkKCkge1xuICAgIGNvbnN0IHF1YWxpZmllZCA9IHRoaXMuaXNRdWFsaWZpZWQoKSxcbiAgICAgICAgICBzdGF0ZWQgPSBxdWFsaWZpZWQ7IC8vL1xuXG4gICAgcmV0dXJuIHN0YXRlZDtcbiAgfVxuXG4gIGNvbXBhcmVUZXJtQW5kUHJvcGVydHlSZWxhdGlvbih0ZXJtLCBwcm9wZXJ0eVJlbGF0aW9uLCBjb250ZXh0KSB7XG4gICAgbGV0IGNvbXBhcmVzVG9UZXJtQW5kUHJvcGVydHlSZWxhdGlvbiA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50ID0gdGhpcy5nZXRTdGF0ZW1lbnQoKSxcbiAgICAgICAgICBwcm9wZXJ0eUFzc2VydGlvbiA9IHByb3BlcnR5QXNzZXJ0aW9uRnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpO1xuXG4gICAgaWYgKHByb3BlcnR5QXNzZXJ0aW9uICE9PSBudWxsKSB7XG4gICAgICBjb21wYXJlc1RvVGVybUFuZFByb3BlcnR5UmVsYXRpb24gPSBwcm9wZXJ0eUFzc2VydGlvbi5jb21wYXJlVGVybUFuZFByb3BlcnR5UmVsYXRpb24odGVybSwgcHJvcGVydHlSZWxhdGlvbiwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBhcmVzVG9UZXJtQW5kUHJvcGVydHlSZWxhdGlvbjtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeShjb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBhd2FpdCB0aGlzLmJyZWFrKGNvbnRleHQpO1xuXG4gICAgY29uc3Qgc3RlcFN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGVwU3RyaW5nfScgc3RlcC4uLmApO1xuXG4gICAgYXdhaXQgYXN5bmNBdHRlbXB0KGFzeW5jIChjb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCB2YWxpZGF0ZXMgPSB0aGlzLnZhbGlkYXRlKGNvbnRleHQpO1xuXG4gICAgICBpZiAodmFsaWRhdGVzKSB7XG4gICAgICAgIGNvbnN0IHVuaWZpZXMgPSBhd2FpdCB0aGlzLnVuaWZ5KGNvbnRleHQpO1xuXG4gICAgICAgIGlmICh1bmlmaWVzKSB7XG4gICAgICAgICAgdGhpcy5zZXRDb250ZXh0KGNvbnRleHQpO1xuXG4gICAgICAgICAgdmVyaWZpZXMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgY29udGV4dCk7XG5cbiAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGVwU3RyaW5nfScgc3RlcC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZXM7XG4gIH1cblxuICB2YWxpZGF0ZShjb250ZXh0KSB7XG4gICAgbGV0IHZhbGlkYXRlcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3RlcFN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmFsaWRhdGluZyB0aGUgJyR7c3RlcFN0cmluZ30nIHN0ZXAuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudCA9IHRoaXMuZ2V0U3RhdGVtZW50KCk7XG5cbiAgICBpZiAoc3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCByZWZlcmVuY2VWYWxpZGF0ZXMgPSB0aGlzLnZhbGlkYXRlUmVmZXJlbmNlKGNvbnRleHQpO1xuXG4gICAgICBpZiAocmVmZXJlbmNlVmFsaWRhdGVzKSB7XG4gICAgICAgIGNvbnN0IHNhdGlzZmllc0Fzc2VydGlvVmFsaWRhdGVzID0gdGhpcy52YWxpZGF0ZVNhdGlzZmllc0Fzc2VydGlvbihjb250ZXh0KTtcblxuICAgICAgICBpZiAoc2F0aXNmaWVzQXNzZXJ0aW9WYWxpZGF0ZXMpIHtcbiAgICAgICAgICBjb25zdCBzdGF0ZW1lbnRWYWxpZGF0ZXMgPSB0aGlzLnZhbGlkYXRlU3RhdGVtZW50KGNvbnRleHQpO1xuXG4gICAgICAgICAgaWYgKHN0YXRlbWVudFZhbGlkYXRlcykge1xuICAgICAgICAgICAgdmFsaWRhdGVzID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgVW5hYmxlIHRvIHZhbGlkYXRlIHRoZSAnJHtzdGVwU3RyaW5nfScgc3RlcCBiZWNhdXNlIGl0IGlzIG5vbnNlbnNlLmApO1xuICAgIH1cblxuICAgIGlmICh2YWxpZGF0ZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZhbGlkYXRlIHRoZSAnJHtzdGVwU3RyaW5nfScgc3RlcC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWRhdGVzO1xuICB9XG5cbiAgdmFsaWRhdGVSZWZlcmVuY2UoY29udGV4dCkge1xuICAgIGxldCByZWZlcmVuY2VWYWxpZGF0ZXMgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMucmVmZXJlbmNlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGVwU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgIC8vL1xuICAgICAgICAgICAgcmVmZXJlbmNlU3RyaW5nID0gdGhpcy5yZWZlcmVuY2UuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGNvbnRleHQudHJhY2UoYFZhbGlkYXRpbmcgdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwJ3MgJyR7cmVmZXJlbmNlU3RyaW5nfScgcmVmZXJlbmNlLi4uIGApO1xuXG4gICAgICBjb25zdCByZWZlcmVuY2UgPSB0aGlzLnJlZmVyZW5jZS52YWxpZGF0ZShjb250ZXh0KTtcblxuICAgICAgaWYgKHJlZmVyZW5jZSA9PT0gbnVsbCkge1xuICAgICAgICByZWZlcmVuY2VWYWxpZGF0ZXMgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZmVyZW5jZVZhbGlkYXRlcykge1xuICAgICAgICBjb250ZXh0LmRlYnVnKGAuLi52YWxpZGF0ZWQgdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwJ3MgJyR7cmVmZXJlbmNlU3RyaW5nfScgcmVmZXJlbmNlLiBgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVmZXJlbmNlVmFsaWRhdGVzO1xuICB9XG5cbiAgdmFsaWRhdGVTYXRpc2ZpZXNBc3NlcnRpb24oY29udGV4dCkge1xuICAgIGxldCBzYXRpc2ZpZXNBc3NlcnRpb25WYWxpZGF0ZXMgPSB0cnVlOyAgLy8vXG5cbiAgICBpZiAodGhpcy5zYXRpc2ZpZXNBc3NlcnRpb24gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0ZXBTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLCAgLy8vXG4gICAgICAgICAgICBzYXRpc2ZpZXNBc3NlcnRpb25TdHJpbmcgPSB0aGlzLnNhdGlzZmllc0Fzc2VydGlvbi5nZXRTdHJpbmcoKTtcblxuICAgICAgY29udGV4dC50cmFjZShgVmFsaWRhdGluZyB0aGUgJyR7c3RlcFN0cmluZ30nIHN0ZXAncyAnJHtzYXRpc2ZpZXNBc3NlcnRpb25TdHJpbmd9JyBzYXRpc2ZpZXMgYXNzZXJ0aW9uLi4uIGApO1xuXG4gICAgICBjb25zdCBzdGF0ZWQgPSB0cnVlLFxuICAgICAgICAgICAgc2F0aXNmaWVzQXNzZXJ0aW9uID0gdGhpcy5zYXRpc2ZpZXNBc3NlcnRpb24udmFsaWRhdGUoc3RhdGVkLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHNhdGlzZmllc0Fzc2VydGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBzYXRpc2ZpZXNBc3NlcnRpb25WYWxpZGF0ZXMgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2F0aXNmaWVzQXNzZXJ0aW9uVmFsaWRhdGVzKSB7XG4gICAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZhbGlkYXRpbmcgdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwJ3MgJyR7c2F0aXNmaWVzQXNzZXJ0aW9uU3RyaW5nfScgc2F0aXNmaWVzIGFzc2VydGlvbi4gYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNhdGlzZmllc0Fzc2VydGlvblZhbGlkYXRlcztcbiAgfVxuXG4gIGFzeW5jIHVuaWZ5KGNvbnRleHQpIHtcbiAgICBsZXQgdW5pZmllcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3RlcFN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwLi4uYCk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnQgPSB0aGlzLmdldFN0YXRlbWVudCgpLFxuICAgICAgICAgIHJlZmVyZW5jZSA9IHRoaXMuZ2V0UmVmZXJlbmNlKCksXG4gICAgICAgICAgc2F0aXNmaWVzQXNzZXJ0aW9uID0gdGhpcy5nZXRTYXRpc2ZpZXNBc3NlcnRpb24oKSxcbiAgICAgICAgICBzdGF0ZW1lbnRVbmlmaWVzID0gYXdhaXQgYXN5bmNMaW1pbmFsbHkoYXN5bmMgKGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZXMgPSBhd2FpdCBhc3luY1NvbWUodW5pZnlTdGF0ZW1lbnRzLCBhc3luYyAodW5pZnlTdGF0ZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgc3RhdGVtZW50VW5pZmllcyA9IGF3YWl0IHVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgcmVmZXJlbmNlLCBzYXRpc2ZpZXNBc3NlcnRpb24sIGNvbnRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllcztcbiAgICAgICAgICB9LCBjb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVzKSB7XG4gICAgICB1bmlmaWVzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodW5pZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RlcFN0cmluZ30nIHN0ZXAuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuaWZpZXM7XG4gIH1cblxuICB1bmlmeVdpdGhTYXRpc2ZpZXNBc3NlcnRpb24oc2F0aXNmaWVzQXNzZXJ0aW9uLCBjb250ZXh0KSB7XG4gICAgbGV0IHVuaWZpZXNXaXRoU2F0aXNmaWVzQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdGVwU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgLy8vXG4gICAgICAgICAgc2F0aXNmaWVzQXNzZXJ0aW9uU3RyaW5nID0gc2F0aXNmaWVzQXNzZXJ0aW9uLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwIHdpdGggdGhlICcke3NhdGlzZmllc0Fzc2VydGlvblN0cmluZ30nIHNhdGlzZmllcyBhc3NlcnRpb24uLi5gKTtcblxuICAgIGNvbnN0IHJlZmVyZW5jZSA9IHNhdGlzZmllc0Fzc2VydGlvbi5nZXRSZWZlcmVuY2UoKSxcbiAgICAgICAgICBheGlvbSA9IGNvbnRleHQuZmluZEF4aW9tQnlSZWZlcmVuY2UocmVmZXJlbmNlKTtcblxuICAgIGlmIChheGlvbSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RlcCA9IHRoaXMsICAvLy9cbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgICAgIHN0ZXBVbmlmaWVzID0gYXhpb20udW5pZnlTdGVwKHN0ZXAsIHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoc3RlcFVuaWZpZXMpIHtcbiAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uc0NvbXBhcmUgPSBzYXRpc2ZpZXNBc3NlcnRpb24uY29tcGFyZVN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9ucywgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKHN1YnN0aXR1dGlvbnNDb21wYXJlKSB7XG4gICAgICAgICAgdW5pZmllc1dpdGhTYXRpc2ZpZXNBc3NlcnRpb24gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHVuaWZpZXNXaXRoU2F0aXNmaWVzQXNzZXJ0aW9uKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGVwU3RyaW5nfScgc3RlcCB3aXRoIHRoZSAnJHtzYXRpc2ZpZXNBc3NlcnRpb25TdHJpbmd9JyBzYXRpc2ZpZXMgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB1bmlmaWVzV2l0aFNhdGlzZmllc0Fzc2VydGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJTdGVwXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJhc3luY1NvbWUiLCJhc3luY2hyb25vdXNVdGlsaXRpZXMiLCJkZWZpbmUiLCJTdGVwIiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJzdGF0ZW1lbnQiLCJyZWZlcmVuY2UiLCJzYXRpc2ZpZXNBc3NlcnRpb24iLCJnZXRSZWZlcmVuY2UiLCJnZXRTYXRpc2ZpZXNBc3NlcnRpb24iLCJnZXRTdGVwTm9kZSIsImdldE5vZGUiLCJzdGVwTm9kZSIsImlzU2F0aXNmaWVkIiwic2F0aXNmaWVkIiwiaXNRdWFsaWZpZWQiLCJxdWFsaWZpZWQiLCJpc1N0YXRlZCIsInN0YXRlZCIsImNvbXBhcmVUZXJtQW5kUHJvcGVydHlSZWxhdGlvbiIsInRlcm0iLCJwcm9wZXJ0eVJlbGF0aW9uIiwiY29tcGFyZXNUb1Rlcm1BbmRQcm9wZXJ0eVJlbGF0aW9uIiwiZ2V0U3RhdGVtZW50IiwicHJvcGVydHlBc3NlcnRpb24iLCJwcm9wZXJ0eUFzc2VydGlvbkZyb21TdGF0ZW1lbnQiLCJ2ZXJpZnkiLCJ2ZXJpZmllcyIsInN0ZXBTdHJpbmciLCJicmVhayIsImdldFN0cmluZyIsInRyYWNlIiwiYXN5bmNBdHRlbXB0IiwidmFsaWRhdGVzIiwidW5pZmllcyIsInZhbGlkYXRlIiwidW5pZnkiLCJzZXRDb250ZXh0IiwiZGVidWciLCJyZWZlcmVuY2VWYWxpZGF0ZXMiLCJ2YWxpZGF0ZVJlZmVyZW5jZSIsInNhdGlzZmllc0Fzc2VydGlvVmFsaWRhdGVzIiwidmFsaWRhdGVTYXRpc2ZpZXNBc3NlcnRpb24iLCJzdGF0ZW1lbnRWYWxpZGF0ZXMiLCJ2YWxpZGF0ZVN0YXRlbWVudCIsInJlZmVyZW5jZVN0cmluZyIsInNhdGlzZmllc0Fzc2VydGlvblZhbGlkYXRlcyIsInNhdGlzZmllc0Fzc2VydGlvblN0cmluZyIsInN0YXRlbWVudFVuaWZpZXMiLCJhc3luY0xpbWluYWxseSIsInVuaWZ5U3RhdGVtZW50cyIsInVuaWZ5U3RhdGVtZW50IiwidW5pZnlXaXRoU2F0aXNmaWVzQXNzZXJ0aW9uIiwidW5pZmllc1dpdGhTYXRpc2ZpZXNBc3NlcnRpb24iLCJheGlvbSIsImZpbmRBeGlvbUJ5UmVmZXJlbmNlIiwic3RlcCIsInN1YnN0aXR1dGlvbnMiLCJzdGVwVW5pZmllcyIsInVuaWZ5U3RlcCIsInN1YnN0aXR1dGlvbnNDb21wYXJlIiwiY29tcGFyZVN1YnN0aXR1dGlvbnMiLCJQcm9vZkFzc2VydGlvbiIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFBOzs7ZUFBQTs7OzhCQVhzQztxRUFFWDt3QkFFSjsyQkFDUzt1QkFD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
|
|
@@ -259,6 +259,43 @@ var _default = (0, _elements.define)((_Supposition = /*#__PURE__*/ function(Proo
|
|
|
259
259
|
return stated;
|
|
260
260
|
}
|
|
261
261
|
},
|
|
262
|
+
{
|
|
263
|
+
key: "verify",
|
|
264
|
+
value: function verify(context) {
|
|
265
|
+
return _async_to_generator(function() {
|
|
266
|
+
var _this, verifies, suppositionString;
|
|
267
|
+
return _ts_generator(this, function(_state) {
|
|
268
|
+
switch(_state.label){
|
|
269
|
+
case 0:
|
|
270
|
+
_this = this;
|
|
271
|
+
verifies = false;
|
|
272
|
+
return [
|
|
273
|
+
4,
|
|
274
|
+
this.break(context)
|
|
275
|
+
];
|
|
276
|
+
case 1:
|
|
277
|
+
_state.sent();
|
|
278
|
+
suppositionString = this.getString(); ///
|
|
279
|
+
context.trace("Verifying the '".concat(suppositionString, "' supposition..."));
|
|
280
|
+
(0, _context.attempt)(function(context) {
|
|
281
|
+
var validates = _this.validate(context);
|
|
282
|
+
if (validates) {
|
|
283
|
+
_this.setContext(context);
|
|
284
|
+
verifies = true;
|
|
285
|
+
}
|
|
286
|
+
}, context);
|
|
287
|
+
if (verifies) {
|
|
288
|
+
context.debug("...verified the '".concat(suppositionString, "' supposition."));
|
|
289
|
+
}
|
|
290
|
+
return [
|
|
291
|
+
2,
|
|
292
|
+
verifies
|
|
293
|
+
];
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
}).call(this);
|
|
297
|
+
}
|
|
298
|
+
},
|
|
262
299
|
{
|
|
263
300
|
key: "validate",
|
|
264
301
|
value: function validate(context) {
|
|
@@ -387,43 +424,6 @@ var _default = (0, _elements.define)((_Supposition = /*#__PURE__*/ function(Proo
|
|
|
387
424
|
return subproofUnifies;
|
|
388
425
|
}
|
|
389
426
|
},
|
|
390
|
-
{
|
|
391
|
-
key: "verify",
|
|
392
|
-
value: function verify(context) {
|
|
393
|
-
return _async_to_generator(function() {
|
|
394
|
-
var _this, verifies, suppositionString;
|
|
395
|
-
return _ts_generator(this, function(_state) {
|
|
396
|
-
switch(_state.label){
|
|
397
|
-
case 0:
|
|
398
|
-
_this = this;
|
|
399
|
-
verifies = false;
|
|
400
|
-
return [
|
|
401
|
-
4,
|
|
402
|
-
this.break(context)
|
|
403
|
-
];
|
|
404
|
-
case 1:
|
|
405
|
-
_state.sent();
|
|
406
|
-
suppositionString = this.getString(); ///
|
|
407
|
-
context.trace("Verifying the '".concat(suppositionString, "' supposition..."));
|
|
408
|
-
(0, _context.attempt)(function(context) {
|
|
409
|
-
var validates = _this.validate(context);
|
|
410
|
-
if (validates) {
|
|
411
|
-
_this.setContext(context);
|
|
412
|
-
verifies = true;
|
|
413
|
-
}
|
|
414
|
-
}, context);
|
|
415
|
-
if (verifies) {
|
|
416
|
-
context.debug("...verified the '".concat(suppositionString, "' supposition."));
|
|
417
|
-
}
|
|
418
|
-
return [
|
|
419
|
-
2,
|
|
420
|
-
verifies
|
|
421
|
-
];
|
|
422
|
-
}
|
|
423
|
-
});
|
|
424
|
-
}).call(this);
|
|
425
|
-
}
|
|
426
|
-
},
|
|
427
427
|
{
|
|
428
428
|
key: "unifyIndependently",
|
|
429
429
|
value: function unifyIndependently(context) {
|
|
@@ -487,21 +487,11 @@ var _default = (0, _elements.define)((_Supposition = /*#__PURE__*/ function(Proo
|
|
|
487
487
|
{
|
|
488
488
|
key: "fromJSON",
|
|
489
489
|
value: function fromJSON(json, context) {
|
|
490
|
-
|
|
491
|
-
var string;
|
|
492
|
-
if (statement !== null) {
|
|
493
|
-
string = statement.getString();
|
|
494
|
-
}
|
|
495
|
-
if (procedureCall !== null) {
|
|
496
|
-
string = procedureCall.getString();
|
|
497
|
-
}
|
|
498
|
-
var node = null;
|
|
499
|
-
var supposition = new Supposition(context, string, node, statement, procedureCall);
|
|
500
|
-
return supposition;
|
|
490
|
+
debugger;
|
|
501
491
|
}
|
|
502
492
|
}
|
|
503
493
|
]);
|
|
504
494
|
return Supposition;
|
|
505
495
|
}(_proofAssertion.default), _define_property(_Supposition, "name", "Supposition"), _Supposition));
|
|
506
496
|
|
|
507
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Byb29mQXNzZXJ0aW9uL3N1cHBvc2l0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgUHJvb2ZBc3NlcnRpb24gZnJvbSBcIi4uL3Byb29mQXNzZXJ0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgYXR0ZW1wdCwgbGltaW5hbGx5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBzdGF0ZW1lbnRGcm9tSlNPTiwgcHJvY2VkdXJlQ2FsbEZyb21KU09OLCBzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04sIHByb2NlZHVyZUNhbGxUb1Byb2NlZHVyZUNhbGxKU09OIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9qc29uXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBTdXBwb3NpdGlvbiBleHRlbmRzIFByb29mQXNzZXJ0aW9uIHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBzdGF0ZW1lbnQsIHByb2NlZHVyZUNhbGwpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIHN0YXRlbWVudCk7XG5cbiAgICB0aGlzLnByb2NlZHVyZUNhbGwgPSBwcm9jZWR1cmVDYWxsO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlQ2FsbCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9jZWR1cmVDYWxsO1xuICB9XG5cbiAgZ2V0U3VwcG9zaXRpb25Ob2RlKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbk5vZGUgPSBub2RlOyAvLy9cblxuICAgIHJldHVybiBzdXBwb3NpdGlvbk5vZGU7XG4gIH1cblxuICBpc1N0YXRlZCgpIHtcbiAgICBjb25zdCBzdGF0ZWQgPSB0cnVlOyAvLy9cblxuICAgIHJldHVybiBzdGF0ZWQ7XG4gIH1cblxuICB2YWxpZGF0ZShjb250ZXh0KSB7XG4gICAgbGV0IHZhbGlkYXRlcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VwcG9zaXRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZhbGlkYXR0aW5nIHRoZSAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uLi4uYCk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnQgPSB0aGlzLmdldFN0YXRlbWVudCgpLFxuICAgICAgICAgIHByb2NlZHVyZUNhbGwgPSB0aGlzLmdldFByb2NlZHVyZUNhbGwoKTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmIChzdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudFZhbGlkYXRlcyA9IHRoaXMudmFsaWRhdGVTdGF0ZW1lbnQoY29udGV4dCk7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnRWYWxpZGF0ZXMpIHtcbiAgICAgICAgdmFsaWRhdGVzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHByb2NlZHVyZUNhbGwgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHByb2NlZHVyZUNhbGxWYWxpZGF0ZXMgPSB0aGlzLnZhbGlkYXRlUHJvY2VkdXJlQ2FsbChjb250ZXh0KTtcblxuICAgICAgaWYgKHByb2NlZHVyZUNhbGxWYWxpZGF0ZXMpIHtcbiAgICAgICAgdmFsaWRhdGVzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgVW5hYmxlIHRvIHZhbGlkYXRlIHRoZSAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uIGJlY2F1c2UgaXQgaXMgbm9uc2Vuc2UuYCk7XG4gICAgfVxuXG4gICAgaWYgKHZhbGlkYXRlcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGVkIHRoZSAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0ZXM7XG4gIH1cblxuICB2YWxpZGF0ZVByb2NlZHVyZUNhbGwoY29udGV4dCkge1xuICAgIGxldCBwcm9jZWR1cmVDYWxsVmFsaWRhdGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdXBwb3NpdGlvblN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksIC8vL1xuICAgICAgICAgIHByb2NlZHVyZUNhbGxTdHJpbmcgPSB0aGlzLnByb2NlZHVyZUNhbGwuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWYWxpZGF0dGluZyB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbidzICcke3Byb2NlZHVyZUNhbGxTdHJpbmd9JyBwcm9jZWR1cmUgY2FsbC4uLmApO1xuXG4gICAgcHJvY2VkdXJlQ2FsbFZhbGlkYXRlcyA9IHRoaXMucHJvY2VkdXJlQ2FsbC52YWxpZGF0ZShjb250ZXh0KTtcblxuICAgIGlmIChwcm9jZWR1cmVDYWxsVmFsaWRhdGVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52YWxpZGF0ZWQgdGhlICcke3N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24ncyAnJHtwcm9jZWR1cmVDYWxsU3RyaW5nfScgcHJvY2VkdXJlIGNhbGwuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb2NlZHVyZUNhbGxWYWxpZGF0ZXM7XG4gIH1cblxuICB1bmlmeVN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSB7XG4gICAgbGV0IHN1cHBvc2l0aW9uVW5pZmllcztcblxuICAgIGNvbnN0IGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQsICAvLy9cbiAgICAgIHNwZWNpZmljU3VwcG9zaXRpb24gPSBzdXBwb3NpdGlvbiwgIC8vL1xuICAgICAgZ2VuZXJhbFN1cHBvc2l0aW9uU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgLy8vXG4gICAgICBzcGVjaWZpY1N1cHBvc2l0aW9uU3RyaW5nID0gc3BlY2lmaWNTdXBwb3NpdGlvbi5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzcGVjaWZpY1N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24gd2l0aCB0aGUgJyR7Z2VuZXJhbFN1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24uLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudCA9IHNwZWNpZmljU3VwcG9zaXRpb24uZ2V0U3RhdGVtZW50KCksXG4gICAgICBzdGF0ZW1lbnRVbmlmaWVzID0gdGhpcy51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgc3VwcG9zaXRpb25VbmlmaWVzID0gc3RhdGVtZW50VW5pZmllczsgIC8vL1xuXG4gICAgaWYgKHN1cHBvc2l0aW9uVW5pZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3BlY2lmaWNTdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uIHdpdGggdGhlICcke2dlbmVyYWxTdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBwb3NpdGlvblVuaWZpZXM7XG4gIH1cblxuICB1bmlmeVN1YnByb29mT3JQcm9vZkFzc2VydGlvbihzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb24sIGNvbnRleHQpIHtcbiAgICBsZXQgc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uVW5pZmllcztcblxuICAgIGNvbnN0IHN1cHBvc2l0aW9uU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgLy8vXG4gICAgICAgICAgc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uU3RyaW5nID0gc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N1YnByb29mT3JQcm9vZkFzc2VydGlvblN0cmluZ30nIHN1YnByb29mIG9yIHByb29mIGFzc2VydGlvbiB3aXRoIHRoZSAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uLi4uYCk7XG5cbiAgICBjb25zdCBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25Qcm9vZkFzc2VydGlvbiA9IHN1YnByb29mT3JQcm9vZkFzc2VydGlvbi5pc1Byb29mQXNzZXJ0aW9uKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZkFzc2VydGlvbiA9IHN1YnByb29mT3JQcm9vZkFzc2VydGlvblByb29mQXNzZXJ0aW9uID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb24gOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnByb29mID0gc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uUHJvb2ZBc3NlcnRpb24gP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uO1xuXG4gICAgaWYgKHByb29mQXNzZXJ0aW9uICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwcm9vZkFzc2VydGlvblVuaWZpZXMgPSB0aGlzLnVuaWZ5UHJvb2ZBc3NlcnRpb24ocHJvb2ZBc3NlcnRpb24sIGNvbnRleHQpO1xuXG4gICAgICBpZiAocHJvb2ZBc3NlcnRpb25VbmlmaWVzKSB7XG4gICAgICAgIHN1YnByb29mT3JQcm9vZkFzc2VydGlvblVuaWZpZXMgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdWJwcm9vZiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3VicHJvb2ZVbmlmaWVzID0gdGhpcy51bmlmeVN1YnByb29mKHN1YnByb29mLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHN1YnByb29mVW5pZmllcykge1xuICAgICAgICBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25VbmlmaWVzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uVW5pZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3VicHJvb2ZPclByb29mQXNzZXJ0aW9uU3RyaW5nfScgc3VicHJvb2Ygb3IgcHJvb2YgYXNzZXJ0aW9uIHdpdGggdGhlICcke3N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnByb29mT3JQcm9vZkFzc2VydGlvblVuaWZpZXM7XG4gIH1cblxuICB1bmlmeVByb29mQXNzZXJ0aW9uKHByb29mQXNzZXJ0aW9uLCBjb250ZXh0KSB7XG4gICAgbGV0IHByb29mQXNzZXJ0aW9uVW5pZmllcztcblxuICAgIGNvbnN0IHN1cHBvc2l0aW9uU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgLy8vXG4gICAgICAgICAgcHJvb2ZBc3NlcnRpb25TdHJpbmcgPSBwcm9vZkFzc2VydGlvbi5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtwcm9vZkFzc2VydGlvblN0cmluZ30nIHByb29mIGFzc2VydGlvbiB3aXRoIHRoZSAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uLi4uYCk7XG5cbiAgICBjb25zdCBwcm9vZkFzc2VydGlvbkNvbnRleHQgPSBwcm9vZkFzc2VydGlvbi5nZXRDb250ZXh0KCksXG4gICAgICAgICAgc3VwcG9zaXRpb25Db250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgZ2VuZXJhbENvbnRleHQgPSBzdXBwb3NpdGlvbkNvbnRleHQsIC8vL1xuICAgICAgICAgIHNwZWNpZmljQ29udGV4dCA9IHByb29mQXNzZXJ0aW9uQ29udGV4dDsgLy8vXG5cbiAgICBwcm9vZkFzc2VydGlvblVuaWZpZXMgPSBsaW1pbmFsbHkoKHNwZWNpZmljQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3Qgc3RhdGVtZW50ID0gcHJvb2ZBc3NlcnRpb24uZ2V0U3RhdGVtZW50KCksXG4gICAgICAgICAgICBzdGF0ZW1lbnRVbmlmaWVzID0gdGhpcy51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VW5pZmllcykge1xuICAgICAgICBzcGVjaWZpY0NvbnRleHQuY29tbWl0KGNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0sIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICBpZiAocHJvb2ZBc3NlcnRpb25VbmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtwcm9vZkFzc2VydGlvblN0cmluZ30nIHByb29mIGFzc2VydGlvbiB3aXRoIHRoZSAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9vZkFzc2VydGlvblVuaWZpZXM7XG4gIH1cblxuICB1bmlmeVN1YnByb29mKHN1YnByb29mLCBjb250ZXh0KSB7XG4gICAgbGV0IHN1YnByb29mVW5pZmllcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VwcG9zaXRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLFxuICAgICAgICAgIHN1YnByb29mU3RyaW5nID0gc3VicHJvb2YuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3VicHJvb2ZTdHJpbmd9JyBzdWJwcm9vZiB3aXRoIHRoZSAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uLi4uYCk7XG5cbiAgICBjb25zdCBzcGVjaWZpY0NvbnRleHQgPSBjb250ZXh0OyAgLy8vXG5cbiAgICBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cbiAgICBjb25zdCBnZW5lcmFsQ29udGV4dCA9IGNvbnRleHQ7IC8vL1xuXG4gICAgY29udGV4dCA9IHNwZWNpZmljQ29udGV4dDsgIC8vL1xuXG4gICAgY29uc3Qgc3RhdGVtZW50ID0gdGhpcy5nZXRTdGF0ZW1lbnQoKTtcblxuICAgIGlmIChzdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICAgICAgc3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gc3RhdGVtZW50Tm9kZS5nZXRTdWJwcm9vZkFzc2VydGlvbk5vZGUoKTtcblxuICAgICAgaWYgKHN1YnByb29mQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gZ2VuZXJhbENvbnRleHQsIC8vL1xuICAgICAgICAgICAgICBhc3NlcnRpb25Ob2RlID0gc3VicHJvb2ZBc3NlcnRpb25Ob2RlLCAgLy8vXG4gICAgICAgICAgICAgIGFzc2VydGlvbiA9IGNvbnRleHQuZmluZEFzc2VydGlvbkJ5QXNzZXJ0aW9uTm9kZShhc3NlcnRpb25Ob2RlKVxuXG4gICAgICAgIGlmIChhc3NlcnRpb24gIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBzdWJwcm9vZkFzc2VydGlvbiA9IGFzc2VydGlvbjsgIC8vL1xuXG4gICAgICAgICAgc3VicHJvb2ZVbmlmaWVzID0gc3VicHJvb2ZBc3NlcnRpb24udW5pZnlTdWJwcm9vZihzdWJwcm9vZiwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3VicHJvb2ZVbmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdWJwcm9vZlN0cmluZ30nIHN1YnByb29mIHdpdGggdGhlICcke3N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnByb29mVW5pZmllcztcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeShjb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBhd2FpdCB0aGlzLmJyZWFrKGNvbnRleHQpO1xuXG4gICAgY29uc3Qgc3VwcG9zaXRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi4uLmApO1xuXG4gICAgYXR0ZW1wdCgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRhdGVzID0gdGhpcy52YWxpZGF0ZShjb250ZXh0KTtcblxuICAgICAgaWYgKHZhbGlkYXRlcykge1xuICAgICAgICB0aGlzLnNldENvbnRleHQoY29udGV4dCk7XG5cbiAgICAgICAgdmVyaWZpZXMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sIGNvbnRleHQpO1xuXG4gICAgaWYgKHZlcmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZXM7XG4gIH1cblxuICBhc3luYyB1bmlmeUluZGVwZW5kZW50bHkoY29udGV4dCkge1xuICAgIGxldCB1bmlmaWVzSW5kZXBlbmRlbnRseSA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VwcG9zaXRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uIGluZGVwZW5kZW50bHkuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudCA9IHRoaXMuZ2V0U3RhdGVtZW50KCksXG4gICAgICAgICAgcHJvY2VkdXJlQ2FsbCA9IHRoaXMuZ2V0UHJvY2VkdXJlQ2FsbCgpO1xuXG4gICAgaWYgKHN0YXRlbWVudCAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3BlY2lmaWNDb250ZXh0ID0gY29udGV4dDsgIC8vL1xuXG4gICAgICBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cbiAgICAgIGNvbnN0IGdlbmVyYWxDb250ZXh0ID0gY29udGV4dDsgLy8vXG5cbiAgICAgIGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQ7ICAvLy9cblxuICAgICAgY29uc3Qgc3RhdGVtZW50VW5pZmllc0luZGVwZW5kZW50bHkgPSBzdGF0ZW1lbnQudW5pZnlJbmRlcGVuZGVudGx5KGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VW5pZmllc0luZGVwZW5kZW50bHkpIHtcbiAgICAgICAgdW5pZmllc0luZGVwZW5kZW50bHkgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9jZWR1cmVDYWxsICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwcm9jZWR1cmVDYWxsUmVzb2x2ZWRJbmRlcGVuZGVudGx5ID0gYXdhaXQgcHJvY2VkdXJlQ2FsbC51bmlmeUluZGVwZW5kZW50bHkoY29udGV4dCk7XG5cbiAgICAgIGlmIChwcm9jZWR1cmVDYWxsUmVzb2x2ZWRJbmRlcGVuZGVudGx5KSB7XG4gICAgICAgIHVuaWZpZXNJbmRlcGVuZGVudGx5ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodW5pZmllc0luZGVwZW5kZW50bHkpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24gaW5kZXBlbmRlbmx5LmApO1xuICAgIH1cblxuICAgIHJldHVybiB1bmlmaWVzSW5kZXBlbmRlbnRseTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVDYWxsSlNPTiA9IHByb2NlZHVyZUNhbGxUb1Byb2NlZHVyZUNhbGxKU09OKHRoaXMucHJvY2VkdXJlQ2FsbCksXG4gICAgICAgICAgc3RhdGVtZW50SlNPTiA9IHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTih0aGlzLnN0YXRlbWVudCksXG4gICAgICAgICAgcHJvY2VkdXJlQ2FsbCA9IHByb2NlZHVyZUNhbGxKU09OLCAgLy8vXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50SlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBzdGF0ZW1lbnQsXG4gICAgICAgICAgICBwcm9jZWR1cmVDYWxsXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlN1cHBvc2l0aW9uXCI7XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBwcm9jZWR1cmVDYWxsID0gcHJvY2VkdXJlQ2FsbEZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgbGV0IHN0cmluZztcblxuICAgIGlmIChzdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIHN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKTtcbiAgICB9XG5cbiAgICBpZiAocHJvY2VkdXJlQ2FsbCAhPT0gbnVsbCkge1xuICAgICAgc3RyaW5nID0gcHJvY2VkdXJlQ2FsbC5nZXRTdHJpbmcoKTtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gbnVsbDtcblxuICAgIGNvbnN0IHN1cHBvc2l0aW9uID0gbmV3IFN1cHBvc2l0aW9uKGNvbnRleHQsIHN0cmluZywgbm9kZSwgc3RhdGVtZW50LCBwcm9jZWR1cmVDYWxsKTtcblxuICAgIHJldHVybiBzdXBwb3NpdGlvbjtcbiAgfVxufSk7XG5cbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJTdXBwb3NpdGlvbiIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwic3RhdGVtZW50IiwicHJvY2VkdXJlQ2FsbCIsImdldFByb2NlZHVyZUNhbGwiLCJnZXRTdXBwb3NpdGlvbk5vZGUiLCJnZXROb2RlIiwic3VwcG9zaXRpb25Ob2RlIiwiaXNTdGF0ZWQiLCJzdGF0ZWQiLCJ2YWxpZGF0ZSIsInZhbGlkYXRlcyIsInN1cHBvc2l0aW9uU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJnZXRTdGF0ZW1lbnQiLCJzdGF0ZW1lbnRWYWxpZGF0ZXMiLCJ2YWxpZGF0ZVN0YXRlbWVudCIsInByb2NlZHVyZUNhbGxWYWxpZGF0ZXMiLCJ2YWxpZGF0ZVByb2NlZHVyZUNhbGwiLCJkZWJ1ZyIsInByb2NlZHVyZUNhbGxTdHJpbmciLCJ1bmlmeVN1cHBvc2l0aW9uIiwic3VwcG9zaXRpb24iLCJnZW5lcmFsQ29udGV4dCIsInNwZWNpZmljQ29udGV4dCIsInN1cHBvc2l0aW9uVW5pZmllcyIsInNwZWNpZmljU3VwcG9zaXRpb24iLCJnZW5lcmFsU3VwcG9zaXRpb25TdHJpbmciLCJzcGVjaWZpY1N1cHBvc2l0aW9uU3RyaW5nIiwic3RhdGVtZW50VW5pZmllcyIsInVuaWZ5U3RhdGVtZW50IiwidW5pZnlTdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb24iLCJzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb24iLCJzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25VbmlmaWVzIiwic3VicHJvb2ZPclByb29mQXNzZXJ0aW9uU3RyaW5nIiwic3VicHJvb2ZPclByb29mQXNzZXJ0aW9uUHJvb2ZBc3NlcnRpb24iLCJpc1Byb29mQXNzZXJ0aW9uIiwicHJvb2ZBc3NlcnRpb24iLCJzdWJwcm9vZiIsInByb29mQXNzZXJ0aW9uVW5pZmllcyIsInVuaWZ5UHJvb2ZBc3NlcnRpb24iLCJzdWJwcm9vZlVuaWZpZXMiLCJ1bmlmeVN1YnByb29mIiwicHJvb2ZBc3NlcnRpb25TdHJpbmciLCJwcm9vZkFzc2VydGlvbkNvbnRleHQiLCJnZXRDb250ZXh0Iiwic3VwcG9zaXRpb25Db250ZXh0IiwibGltaW5hbGx5IiwiY29tbWl0Iiwic3VicHJvb2ZTdHJpbmciLCJzdGF0ZW1lbnROb2RlIiwic3VicHJvb2ZBc3NlcnRpb25Ob2RlIiwiZ2V0U3VicHJvb2ZBc3NlcnRpb25Ob2RlIiwiYXNzZXJ0aW9uTm9kZSIsImFzc2VydGlvbiIsImZpbmRBc3NlcnRpb25CeUFzc2VydGlvbk5vZGUiLCJzdWJwcm9vZkFzc2VydGlvbiIsInN1YnN0aXR1dGlvbnMiLCJ2ZXJpZnkiLCJ2ZXJpZmllcyIsImJyZWFrIiwiYXR0ZW1wdCIsInNldENvbnRleHQiLCJ1bmlmeUluZGVwZW5kZW50bHkiLCJ1bmlmaWVzSW5kZXBlbmRlbnRseSIsInN0YXRlbWVudFVuaWZpZXNJbmRlcGVuZGVudGx5IiwicHJvY2VkdXJlQ2FsbFJlc29sdmVkSW5kZXBlbmRlbnRseSIsInRvSlNPTiIsInByb2NlZHVyZUNhbGxKU09OIiwicHJvY2VkdXJlQ2FsbFRvUHJvY2VkdXJlQ2FsbEpTT04iLCJzdGF0ZW1lbnRKU09OIiwic3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIiwianNvbiIsImZyb21KU09OIiwic3RhdGVtZW50RnJvbUpTT04iLCJwcm9jZWR1cmVDYWxsRnJvbUpTT04iLCJQcm9vZkFzc2VydGlvbiIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBQTs7O3FFQU4yQjt3QkFFSjt1QkFDWTtvQkFDa0Y7Ozs7Ozs7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
|
|
497
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Byb29mQXNzZXJ0aW9uL3N1cHBvc2l0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgUHJvb2ZBc3NlcnRpb24gZnJvbSBcIi4uL3Byb29mQXNzZXJ0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgYXR0ZW1wdCwgbGltaW5hbGx5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBzdGF0ZW1lbnRGcm9tSlNPTiwgcHJvY2VkdXJlQ2FsbEZyb21KU09OLCBzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04sIHByb2NlZHVyZUNhbGxUb1Byb2NlZHVyZUNhbGxKU09OIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9qc29uXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBTdXBwb3NpdGlvbiBleHRlbmRzIFByb29mQXNzZXJ0aW9uIHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBzdGF0ZW1lbnQsIHByb2NlZHVyZUNhbGwpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIHN0YXRlbWVudCk7XG5cbiAgICB0aGlzLnByb2NlZHVyZUNhbGwgPSBwcm9jZWR1cmVDYWxsO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlQ2FsbCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9jZWR1cmVDYWxsO1xuICB9XG5cbiAgZ2V0U3VwcG9zaXRpb25Ob2RlKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbk5vZGUgPSBub2RlOyAvLy9cblxuICAgIHJldHVybiBzdXBwb3NpdGlvbk5vZGU7XG4gIH1cblxuICBpc1N0YXRlZCgpIHtcbiAgICBjb25zdCBzdGF0ZWQgPSB0cnVlOyAvLy9cblxuICAgIHJldHVybiBzdGF0ZWQ7XG4gIH1cblxuICBhc3luYyB2ZXJpZnkoY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgYXdhaXQgdGhpcy5icmVhayhjb250ZXh0KTtcblxuICAgIGNvbnN0IHN1cHBvc2l0aW9uU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24uLi5gKTtcblxuICAgIGF0dGVtcHQoKGNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkYXRlcyA9IHRoaXMudmFsaWRhdGUoY29udGV4dCk7XG5cbiAgICAgIGlmICh2YWxpZGF0ZXMpIHtcbiAgICAgICAgdGhpcy5zZXRDb250ZXh0KGNvbnRleHQpO1xuXG4gICAgICAgIHZlcmlmaWVzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9LCBjb250ZXh0KTtcblxuICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzO1xuICB9XG5cbiAgdmFsaWRhdGUoY29udGV4dCkge1xuICAgIGxldCB2YWxpZGF0ZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN1cHBvc2l0aW9uU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWYWxpZGF0dGluZyB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50ID0gdGhpcy5nZXRTdGF0ZW1lbnQoKSxcbiAgICAgICAgICBwcm9jZWR1cmVDYWxsID0gdGhpcy5nZXRQcm9jZWR1cmVDYWxsKCk7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAoc3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRWYWxpZGF0ZXMgPSB0aGlzLnZhbGlkYXRlU3RhdGVtZW50KGNvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VmFsaWRhdGVzKSB7XG4gICAgICAgIHZhbGlkYXRlcyA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9jZWR1cmVDYWxsICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwcm9jZWR1cmVDYWxsVmFsaWRhdGVzID0gdGhpcy52YWxpZGF0ZVByb2NlZHVyZUNhbGwoY29udGV4dCk7XG5cbiAgICAgIGlmIChwcm9jZWR1cmVDYWxsVmFsaWRhdGVzKSB7XG4gICAgICAgIHZhbGlkYXRlcyA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYFVuYWJsZSB0byB2YWxpZGF0ZSB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbiBiZWNhdXNlIGl0IGlzIG5vbnNlbnNlLmApO1xuICAgIH1cblxuICAgIGlmICh2YWxpZGF0ZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZhbGlkYXRlZCB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWRhdGVzO1xuICB9XG5cbiAgdmFsaWRhdGVQcm9jZWR1cmVDYWxsKGNvbnRleHQpIHtcbiAgICBsZXQgcHJvY2VkdXJlQ2FsbFZhbGlkYXRlcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VwcG9zaXRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLCAvLy9cbiAgICAgICAgICBwcm9jZWR1cmVDYWxsU3RyaW5nID0gdGhpcy5wcm9jZWR1cmVDYWxsLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmFsaWRhdHRpbmcgdGhlICcke3N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24ncyAnJHtwcm9jZWR1cmVDYWxsU3RyaW5nfScgcHJvY2VkdXJlIGNhbGwuLi5gKTtcblxuICAgIHByb2NlZHVyZUNhbGxWYWxpZGF0ZXMgPSB0aGlzLnByb2NlZHVyZUNhbGwudmFsaWRhdGUoY29udGV4dCk7XG5cbiAgICBpZiAocHJvY2VkdXJlQ2FsbFZhbGlkYXRlcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGVkIHRoZSAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uJ3MgJyR7cHJvY2VkdXJlQ2FsbFN0cmluZ30nIHByb2NlZHVyZSBjYWxsLmApO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9jZWR1cmVDYWxsVmFsaWRhdGVzO1xuICB9XG5cbiAgdW5pZnlTdXBwb3NpdGlvbihzdXBwb3NpdGlvbiwgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkge1xuICAgIGxldCBzdXBwb3NpdGlvblVuaWZpZXM7XG5cbiAgICBjb25zdCBjb250ZXh0ID0gc3BlY2lmaWNDb250ZXh0LCAgLy8vXG4gICAgICBzcGVjaWZpY1N1cHBvc2l0aW9uID0gc3VwcG9zaXRpb24sICAvLy9cbiAgICAgIGdlbmVyYWxTdXBwb3NpdGlvblN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksIC8vL1xuICAgICAgc3BlY2lmaWNTdXBwb3NpdGlvblN0cmluZyA9IHNwZWNpZmljU3VwcG9zaXRpb24uZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3BlY2lmaWNTdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uIHdpdGggdGhlICcke2dlbmVyYWxTdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uLi4uYCk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnQgPSBzcGVjaWZpY1N1cHBvc2l0aW9uLmdldFN0YXRlbWVudCgpLFxuICAgICAgc3RhdGVtZW50VW5pZmllcyA9IHRoaXMudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgIHN1cHBvc2l0aW9uVW5pZmllcyA9IHN0YXRlbWVudFVuaWZpZXM7ICAvLy9cblxuICAgIGlmIChzdXBwb3NpdGlvblVuaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3NwZWNpZmljU3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbiB3aXRoIHRoZSAnJHtnZW5lcmFsU3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwcG9zaXRpb25VbmlmaWVzO1xuICB9XG5cbiAgdW5pZnlTdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb24oc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uLCBjb250ZXh0KSB7XG4gICAgbGV0IHN1YnByb29mT3JQcm9vZkFzc2VydGlvblVuaWZpZXM7XG5cbiAgICBjb25zdCBzdXBwb3NpdGlvblN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksIC8vL1xuICAgICAgICAgIHN1YnByb29mT3JQcm9vZkFzc2VydGlvblN0cmluZyA9IHN1YnByb29mT3JQcm9vZkFzc2VydGlvbi5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25TdHJpbmd9JyBzdWJwcm9vZiBvciBwcm9vZiBhc3NlcnRpb24gd2l0aCB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi4uLmApO1xuXG4gICAgY29uc3Qgc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uUHJvb2ZBc3NlcnRpb24gPSBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb24uaXNQcm9vZkFzc2VydGlvbigpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvb2ZBc3NlcnRpb24gPSBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25Qcm9vZkFzc2VydGlvbiA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJwcm9vZiA9IHN1YnByb29mT3JQcm9vZkFzc2VydGlvblByb29mQXNzZXJ0aW9uID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnByb29mT3JQcm9vZkFzc2VydGlvbjtcblxuICAgIGlmIChwcm9vZkFzc2VydGlvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcHJvb2ZBc3NlcnRpb25VbmlmaWVzID0gdGhpcy51bmlmeVByb29mQXNzZXJ0aW9uKHByb29mQXNzZXJ0aW9uLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHByb29mQXNzZXJ0aW9uVW5pZmllcykge1xuICAgICAgICBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25VbmlmaWVzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3VicHJvb2YgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN1YnByb29mVW5pZmllcyA9IHRoaXMudW5pZnlTdWJwcm9vZihzdWJwcm9vZiwgY29udGV4dCk7XG5cbiAgICAgIGlmIChzdWJwcm9vZlVuaWZpZXMpIHtcbiAgICAgICAgc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uVW5pZmllcyA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN1YnByb29mT3JQcm9vZkFzc2VydGlvblVuaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N1YnByb29mT3JQcm9vZkFzc2VydGlvblN0cmluZ30nIHN1YnByb29mIG9yIHByb29mIGFzc2VydGlvbiB3aXRoIHRoZSAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25VbmlmaWVzO1xuICB9XG5cbiAgdW5pZnlQcm9vZkFzc2VydGlvbihwcm9vZkFzc2VydGlvbiwgY29udGV4dCkge1xuICAgIGxldCBwcm9vZkFzc2VydGlvblVuaWZpZXM7XG5cbiAgICBjb25zdCBzdXBwb3NpdGlvblN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksIC8vL1xuICAgICAgICAgIHByb29mQXNzZXJ0aW9uU3RyaW5nID0gcHJvb2ZBc3NlcnRpb24uZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7cHJvb2ZBc3NlcnRpb25TdHJpbmd9JyBwcm9vZiBhc3NlcnRpb24gd2l0aCB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi4uLmApO1xuXG4gICAgY29uc3QgcHJvb2ZBc3NlcnRpb25Db250ZXh0ID0gcHJvb2ZBc3NlcnRpb24uZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHN1cHBvc2l0aW9uQ29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIGdlbmVyYWxDb250ZXh0ID0gc3VwcG9zaXRpb25Db250ZXh0LCAvLy9cbiAgICAgICAgICBzcGVjaWZpY0NvbnRleHQgPSBwcm9vZkFzc2VydGlvbkNvbnRleHQ7IC8vL1xuXG4gICAgcHJvb2ZBc3NlcnRpb25VbmlmaWVzID0gbGltaW5hbGx5KChzcGVjaWZpY0NvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudCA9IHByb29mQXNzZXJ0aW9uLmdldFN0YXRlbWVudCgpLFxuICAgICAgICAgICAgc3RhdGVtZW50VW5pZmllcyA9IHRoaXMudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZXMpIHtcbiAgICAgICAgc3BlY2lmaWNDb250ZXh0LmNvbW1pdChjb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgaWYgKHByb29mQXNzZXJ0aW9uVW5pZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cHJvb2ZBc3NlcnRpb25TdHJpbmd9JyBwcm9vZiBhc3NlcnRpb24gd2l0aCB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvb2ZBc3NlcnRpb25VbmlmaWVzO1xuICB9XG5cbiAgdW5pZnlTdWJwcm9vZihzdWJwcm9vZiwgY29udGV4dCkge1xuICAgIGxldCBzdWJwcm9vZlVuaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN1cHBvc2l0aW9uU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBzdWJwcm9vZlN0cmluZyA9IHN1YnByb29mLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N1YnByb29mU3RyaW5nfScgc3VicHJvb2Ygd2l0aCB0aGUgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi4uLmApO1xuXG4gICAgY29uc3Qgc3BlY2lmaWNDb250ZXh0ID0gY29udGV4dDsgIC8vL1xuXG4gICAgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpO1xuXG4gICAgY29uc3QgZ2VuZXJhbENvbnRleHQgPSBjb250ZXh0OyAvLy9cblxuICAgIGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQ7ICAvLy9cblxuICAgIGNvbnN0IHN0YXRlbWVudCA9IHRoaXMuZ2V0U3RhdGVtZW50KCk7XG5cbiAgICBpZiAoc3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgICAgIHN1YnByb29mQXNzZXJ0aW9uTm9kZSA9IHN0YXRlbWVudE5vZGUuZ2V0U3VicHJvb2ZBc3NlcnRpb25Ob2RlKCk7XG5cbiAgICAgIGlmIChzdWJwcm9vZkFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IGdlbmVyYWxDb250ZXh0LCAvLy9cbiAgICAgICAgICAgICAgYXNzZXJ0aW9uTm9kZSA9IHN1YnByb29mQXNzZXJ0aW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBhc3NlcnRpb24gPSBjb250ZXh0LmZpbmRBc3NlcnRpb25CeUFzc2VydGlvbk5vZGUoYXNzZXJ0aW9uTm9kZSlcblxuICAgICAgICBpZiAoYXNzZXJ0aW9uICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3Qgc3VicHJvb2ZBc3NlcnRpb24gPSBhc3NlcnRpb247ICAvLy9cblxuICAgICAgICAgIHN1YnByb29mVW5pZmllcyA9IHN1YnByb29mQXNzZXJ0aW9uLnVuaWZ5U3VicHJvb2Yoc3VicHJvb2YsIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN1YnByb29mVW5pZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3VicHJvb2ZTdHJpbmd9JyBzdWJwcm9vZiB3aXRoIHRoZSAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJwcm9vZlVuaWZpZXM7XG4gIH1cblxuICBhc3luYyB1bmlmeUluZGVwZW5kZW50bHkoY29udGV4dCkge1xuICAgIGxldCB1bmlmaWVzSW5kZXBlbmRlbnRseSA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VwcG9zaXRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uIGluZGVwZW5kZW50bHkuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudCA9IHRoaXMuZ2V0U3RhdGVtZW50KCksXG4gICAgICAgICAgcHJvY2VkdXJlQ2FsbCA9IHRoaXMuZ2V0UHJvY2VkdXJlQ2FsbCgpO1xuXG4gICAgaWYgKHN0YXRlbWVudCAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3BlY2lmaWNDb250ZXh0ID0gY29udGV4dDsgIC8vL1xuXG4gICAgICBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cbiAgICAgIGNvbnN0IGdlbmVyYWxDb250ZXh0ID0gY29udGV4dDsgLy8vXG5cbiAgICAgIGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQ7ICAvLy9cblxuICAgICAgY29uc3Qgc3RhdGVtZW50VW5pZmllc0luZGVwZW5kZW50bHkgPSBzdGF0ZW1lbnQudW5pZnlJbmRlcGVuZGVudGx5KGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VW5pZmllc0luZGVwZW5kZW50bHkpIHtcbiAgICAgICAgdW5pZmllc0luZGVwZW5kZW50bHkgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9jZWR1cmVDYWxsICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwcm9jZWR1cmVDYWxsUmVzb2x2ZWRJbmRlcGVuZGVudGx5ID0gYXdhaXQgcHJvY2VkdXJlQ2FsbC51bmlmeUluZGVwZW5kZW50bHkoY29udGV4dCk7XG5cbiAgICAgIGlmIChwcm9jZWR1cmVDYWxsUmVzb2x2ZWRJbmRlcGVuZGVudGx5KSB7XG4gICAgICAgIHVuaWZpZXNJbmRlcGVuZGVudGx5ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodW5pZmllc0luZGVwZW5kZW50bHkpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24gaW5kZXBlbmRlbmx5LmApO1xuICAgIH1cblxuICAgIHJldHVybiB1bmlmaWVzSW5kZXBlbmRlbnRseTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVDYWxsSlNPTiA9IHByb2NlZHVyZUNhbGxUb1Byb2NlZHVyZUNhbGxKU09OKHRoaXMucHJvY2VkdXJlQ2FsbCksXG4gICAgICAgICAgc3RhdGVtZW50SlNPTiA9IHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTih0aGlzLnN0YXRlbWVudCksXG4gICAgICAgICAgcHJvY2VkdXJlQ2FsbCA9IHByb2NlZHVyZUNhbGxKU09OLCAgLy8vXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50SlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBzdGF0ZW1lbnQsXG4gICAgICAgICAgICBwcm9jZWR1cmVDYWxsXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlN1cHBvc2l0aW9uXCI7XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgICBkZWJ1Z2dlclxuICB9XG59KTtcblxuIl0sIm5hbWVzIjpbImRlZmluZSIsIlN1cHBvc2l0aW9uIiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJzdGF0ZW1lbnQiLCJwcm9jZWR1cmVDYWxsIiwiZ2V0UHJvY2VkdXJlQ2FsbCIsImdldFN1cHBvc2l0aW9uTm9kZSIsImdldE5vZGUiLCJzdXBwb3NpdGlvbk5vZGUiLCJpc1N0YXRlZCIsInN0YXRlZCIsInZlcmlmeSIsInZlcmlmaWVzIiwic3VwcG9zaXRpb25TdHJpbmciLCJicmVhayIsImdldFN0cmluZyIsInRyYWNlIiwiYXR0ZW1wdCIsInZhbGlkYXRlcyIsInZhbGlkYXRlIiwic2V0Q29udGV4dCIsImRlYnVnIiwiZ2V0U3RhdGVtZW50Iiwic3RhdGVtZW50VmFsaWRhdGVzIiwidmFsaWRhdGVTdGF0ZW1lbnQiLCJwcm9jZWR1cmVDYWxsVmFsaWRhdGVzIiwidmFsaWRhdGVQcm9jZWR1cmVDYWxsIiwicHJvY2VkdXJlQ2FsbFN0cmluZyIsInVuaWZ5U3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvbiIsImdlbmVyYWxDb250ZXh0Iiwic3BlY2lmaWNDb250ZXh0Iiwic3VwcG9zaXRpb25VbmlmaWVzIiwic3BlY2lmaWNTdXBwb3NpdGlvbiIsImdlbmVyYWxTdXBwb3NpdGlvblN0cmluZyIsInNwZWNpZmljU3VwcG9zaXRpb25TdHJpbmciLCJzdGF0ZW1lbnRVbmlmaWVzIiwidW5pZnlTdGF0ZW1lbnQiLCJ1bmlmeVN1YnByb29mT3JQcm9vZkFzc2VydGlvbiIsInN1YnByb29mT3JQcm9vZkFzc2VydGlvbiIsInN1YnByb29mT3JQcm9vZkFzc2VydGlvblVuaWZpZXMiLCJzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25TdHJpbmciLCJzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25Qcm9vZkFzc2VydGlvbiIsImlzUHJvb2ZBc3NlcnRpb24iLCJwcm9vZkFzc2VydGlvbiIsInN1YnByb29mIiwicHJvb2ZBc3NlcnRpb25VbmlmaWVzIiwidW5pZnlQcm9vZkFzc2VydGlvbiIsInN1YnByb29mVW5pZmllcyIsInVuaWZ5U3VicHJvb2YiLCJwcm9vZkFzc2VydGlvblN0cmluZyIsInByb29mQXNzZXJ0aW9uQ29udGV4dCIsImdldENvbnRleHQiLCJzdXBwb3NpdGlvbkNvbnRleHQiLCJsaW1pbmFsbHkiLCJjb21taXQiLCJzdWJwcm9vZlN0cmluZyIsInN0YXRlbWVudE5vZGUiLCJzdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJnZXRTdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJhc3NlcnRpb25Ob2RlIiwiYXNzZXJ0aW9uIiwiZmluZEFzc2VydGlvbkJ5QXNzZXJ0aW9uTm9kZSIsInN1YnByb29mQXNzZXJ0aW9uIiwic3Vic3RpdHV0aW9ucyIsInVuaWZ5SW5kZXBlbmRlbnRseSIsInVuaWZpZXNJbmRlcGVuZGVudGx5Iiwic3RhdGVtZW50VW5pZmllc0luZGVwZW5kZW50bHkiLCJwcm9jZWR1cmVDYWxsUmVzb2x2ZWRJbmRlcGVuZGVudGx5IiwidG9KU09OIiwicHJvY2VkdXJlQ2FsbEpTT04iLCJwcm9jZWR1cmVDYWxsVG9Qcm9jZWR1cmVDYWxsSlNPTiIsInN0YXRlbWVudEpTT04iLCJzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJQcm9vZkFzc2VydGlvbiIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBQTs7O3FFQU4yQjt3QkFFSjt1QkFDWTtvQkFDa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUVySCxXQUFlQSxJQUFBQSxnQkFBTSxnQ0FBQzs7YUFBTUMsWUFDZEMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsU0FBUyxFQUFFQyxhQUFhO2dDQURqQ0w7O2dCQUV4QixrQkFGd0JBO1lBRWxCQztZQUFTQztZQUFRQztZQUFNQzs7UUFFN0IsTUFBS0MsYUFBYSxHQUFHQTs7Ozs7WUFHdkJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsYUFBYTtZQUMzQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNSixPQUFPLElBQUks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
|
package/lib/element/property.js
CHANGED
|
@@ -205,12 +205,11 @@ var _default = (0, _elements.define)((_Property = /*#__PURE__*/ function(Element
|
|
|
205
205
|
{
|
|
206
206
|
key: "fromJSON",
|
|
207
207
|
value: function fromJSON(json, context) {
|
|
208
|
-
|
|
209
|
-
return property;
|
|
208
|
+
debugger;
|
|
210
209
|
}
|
|
211
210
|
}
|
|
212
211
|
]);
|
|
213
212
|
return Property;
|
|
214
213
|
}(_wrap_native_super(_occamlanguages.Element)), _define_property(_Property, "name", "Property"), _Property));
|
|
215
214
|
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb3BlcnR5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFByb3BlcnR5IGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgbmFtZSwgbm9taW5hbFR5cGVOYW1lKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlKTtcblxuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5ub21pbmFsVHlwZU5hbWUgPSBub21pbmFsVHlwZU5hbWU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXROb21pbmFsVHlwZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9taW5hbFR5cGVOYW1lO1xuICB9XG5cbiAgZ2V0UHJvcGVydHlOb2RlKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICBwcm9wZXJldHlOb2RlID0gbm9kZTsgLy8vXG5cbiAgICByZXR1cm4gcHJvcGVyZXR5Tm9kZTtcbiAgfVxuXG4gIGNvbXBhcmVQcm9wZXJ0eU5hbWUocHJvcGVydHlOYW1lKSB7XG4gICAgY29uc3QgY29tcGFyZXNUb1Byb3BlcnR5TmFtZSA9ICh0aGlzLm5hbWUgPT09IHByb3BlcnR5TmFtZSk7XG5cbiAgICByZXR1cm4gY29tcGFyZXNUb1Byb3BlcnR5TmFtZTtcbiAgfVxuXG4gIGNvbXBhcmVOb21pbmFsVHlwZU5hbWUobm9taW5hbFR5cGVOYW1lKSB7XG4gICAgY29uc3QgY29tcGFyZXNUb05vbWluYWxUeXBlTmFtZSA9ICh0aGlzLm5vbWluYWxUeXBlTmFtZSA9PT0gbm9taW5hbFR5cGVOYW1lKTtcblxuICAgIHJldHVybiBjb21wYXJlc1RvTm9taW5hbFR5cGVOYW1lO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWUsIC8vL1xuICAgICAgICAgIG5vbWluYWxUeXBlTmFtZSA9IHRoaXMubm9taW5hbFR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBub21pbmFsVHlwZU5hbWVcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiUHJvcGVydHlcIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIGRlYnVnZ2VyXG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIlByb3BlcnR5IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJuYW1lIiwibm9taW5hbFR5cGVOYW1lIiwiZ2V0TmFtZSIsImdldE5vbWluYWxUeXBlTmFtZSIsImdldFByb3BlcnR5Tm9kZSIsImdldE5vZGUiLCJwcm9wZXJldHlOb2RlIiwiY29tcGFyZVByb3BlcnR5TmFtZSIsInByb3BlcnR5TmFtZSIsImNvbXBhcmVzVG9Qcm9wZXJ0eU5hbWUiLCJjb21wYXJlTm9taW5hbFR5cGVOYW1lIiwiY29tcGFyZXNUb05vbWluYWxUeXBlTmFtZSIsInRvSlNPTiIsImpzb24iLCJmcm9tSlNPTiIsIkVsZW1lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBQTs7OzhCQUp3Qjt3QkFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFdkIsV0FBZUEsSUFBQUEsZ0JBQU0sNkJBQUM7O2FBQU1DLFNBQ2RDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsZUFBZTtnQ0FEOUJMOztnQkFFeEIsa0JBRndCQTtZQUVsQkM7WUFBU0M7WUFBUUM7O1FBRXZCLE1BQUtDLElBQUksR0FBR0E7UUFDWixNQUFLQyxlQUFlLEdBQUdBOzs7OztZQUd6QkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixlQUFlO1lBQzdCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1MLE9BQU8sSUFBSSxDQUFDTSxPQUFPLElBQ25CQyxnQkFBZ0JQLE1BQU0sR0FBRztnQkFFL0IsT0FBT087WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxvQkFBb0JDLFlBQVk7Z0JBQzlCLElBQU1DLHlCQUEwQixJQUFJLENBQUNULElBQUksS0FBS1E7Z0JBRTlDLE9BQU9DO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCVCxlQUFlO2dCQUNwQyxJQUFNVSw0QkFBNkIsSUFBSSxDQUFDVixlQUFlLEtBQUtBO2dCQUU1RCxPQUFPVTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1aLE9BQU8sSUFBSSxDQUFDQSxJQUFJLEVBQ2hCQyxrQkFBa0IsSUFBSSxDQUFDQSxlQUFlLEVBQ3RDWSxPQUFPO29CQUNMYixNQUFBQTtvQkFDQUMsaUJBQUFBO2dCQUNGO2dCQUVOLE9BQU9ZO1lBQ1Q7Ozs7WUFJT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFaEIsT0FBTztnQkFDM0IsUUFBUTtZQUNWOzs7O3FCQWxEMkNrQix1QkFBTyxJQThDbEQsNEJBQU9mLFFBQU8ifQ==
|