ng-easycommerce-v18 0.3.21-beta.2 → 0.3.21-beta.3

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/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ # Version 0.3.21-beta.3
2
+ - eliminar logs
1
3
  # Version 0.3.21-beta.2
2
4
  - Ajuste adicional en el flujo de Mercado Pago para móviles: se ejecutan los eventos de estado dentro de NgZone para asegurar la correcta detección de cambios y avanzar al siguiente paso del checkout.
3
5
  # Version 0.3.21-beta.1
@@ -80,7 +80,6 @@ export class PaymentEcComponent {
80
80
  return true;
81
81
  };
82
82
  verifyValidate = ($event) => {
83
- console.log('[PAYMENT] verifyValidate llamado con:', $event);
84
83
  if (!$event) {
85
84
  this.setLoading(false);
86
85
  return;
@@ -109,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
109
108
  DecidirEcComponent
110
109
  ], template: "@if(methods$ | async; as methods){\n<div class=\"container-fluid\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-12\">\n\t\t\t<div class=\"card \">\n\t\t\t\t<div class=\"card-header text-dark text-center\">\n\t\t\t\t\t<h4>{{ 'select-method' | translate }}</h4>\n\t\t\t\t\t<div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\">\n\t\t\t\t\t\t<div class=\"\" role=\"group\" aria-label=\"Grupo botones envio\">\n\t\t\t\t\t\t\t<div class=\"d-flex align-content-start justify-content-center flex-wrap\">\n\t\t\t\t\t\t\t\t@for (method of methods; track $index; let x = $index) {\n\t\t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-outline-secondary mx-1 mb-1\"(click)=\"setMethod(method) ; setActive($event)\">\n\t\t\t\t\t\t\t\t\t{{ method.name | translate }}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"card-body text-center\">\n\t\t\t\t\t@if(methodData$ | async; as method){\n\t\t\t\t\t<div class=\"row justify-content-center\">\n\t\t\t\t\t\t@if(!loadingInternal){\n\t\t\t\t\t\t\t@if(isMP(method.code)){\n\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\n\t\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t<p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"px-5\">{{ method.instructions }}</p>\n\t\t\t\t\t\t\t\t\t\t<app-mp-redirect-ec (ready)=\"verifyValidate($event)\" \t[method]=\"method\"></app-mp-redirect-ec>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<!-- <div class=\"method-container text-dark text-left\" *ngIf=\"isMPTarjetaDeCredito(method.code)\">\n\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t<p id=\"faqs\" class=\"qt px-5 \">{{ method.description }}</p>\n\t\t\t\t\t\t\t\t\t\t<p class=\"px-5\">{{ method.instructions }}</p>\n\t\t\t\t\t\t\t\t\t\t<div app-mp-credit-ec (ready)=\"verifyValidate()\" [public_key]=\"getPK(method)\"\n\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [total_amount]=\"total_amount\">\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isRedirectRedsys(method.code)\">\n\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t\t\t\t\t*ngIf=\"!method.code.includes('bizum') && !method.code.includes('_out_')\">\n\t\t\t\t\t\t\t\t\t\t\t<app-redsys-redirect-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\">\n\t\t\t\t\t\t\t\t\t\t\t</app-redsys-redirect-ec>\n\t\t\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t\t\t\t\t*ngIf=\"method.code.includes('bizum') || method.code.includes('_out_')\">\n\t\t\t\t\t\t\t\t\t\t\t<app-redsys-redirect-out-ec (ready)=\"verifyValidate($event)\"\n\t\t\t\t\t\t\t\t\t\t\t\t[method]=\"method\" [user_data]=\"allData()\">\n\t\t\t\t\t\t\t\t\t\t\t</app-redsys-redirect-out-ec>\n\t\t\t\t\t\t\t\t\t\t</ng-container>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isRedirectCecaBank(method.code)\">\n\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t<app-ceca-redirect-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\n\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\">\n\t\t\t\t\t\t\t\t\t\t</app-ceca-redirect-ec>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isPeyPalExpress(method.code)\">\n\t\t\t\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t<app-paypal-express-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [total_amount]=\"total_amount\">\n\t\t\t\t\t\t\t\t\t\t\t</app-paypal-express-ec>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isMobbex(method.code)\">\n\t\t\t\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t<app-mobbex-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\">\n\t\t\t\t\t\t\t\t\t\t\t</app-mobbex-ec>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isBancard(method.code)\">\n\t\t\t\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t<app-bancard-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\">\n\t\t\t\t\t\t\t\t\t\t\t</app-bancard-ec>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>-->\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isDecidir(method.code)\">\n\t\t\t\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t<app-decidir-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"_paymentService\"\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\">\n\t\t\t\t\t\t\t\t\t\t\t</app-decidir-ec>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div> \n\t\t\t\t\t\t\t@if(isMethodOffline(method.code)){\n\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\n\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t<app-offline-ec \n\t\t\t\t\t\t\t\t\t\t[method]=\"method\" \n\t\t\t\t\t\t\t\t\t\t[verifyValidate]= \"verifyValidate\"\n\t\t\t\t\t\t\t\t\t\t[setLoading] = \"setLoading\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<!--\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isCulqi(method.code)\">\n\t\t\t\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t<app-culqi-ec [apiKey]=\"getPKCulqi(method)\" [method]=\"method\"\n\t\t\t\t\t\t\t\t\t\t\t\t[amount]=\"total_amount\" [customStyle]=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t\t(ready)=\"verifyValidate()\"></app-culqi-ec>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isCatastro(method.code)\">\n\t\t\t\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t<app-bancard-catastro-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\"></app-bancard-catastro-ec>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"method-container text-dark text-start\" *ngIf=\"isBamboo(method.code)\">\n\t\t\t\t\t\t\t\t<div class=\"container\">\n\t\t\t\t\t\t\t\t\t<div class=\"row justify-content-center\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t<app-bamboo-ec (ready)=\"verifyValidate($event)\" [method]=\"method\"\n\t\t\t\t\t\t\t\t\t\t\t\t[user_data]=\"allData()\" [paymentServiceInst]=\"paymentService\"\n\t\t\t\t\t\t\t\t\t\t\t\t[total_amount]=\"total_amount\"></app-bamboo-ec>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div> -->\n\t\t\t\t\t\t\t@if(isBankTransfer(method.code)){\n\t\t\t\t\t\t\t\t<div class=\"method-container text-dark\">\n\t\t\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"col-12\">\n\t\t\t\t\t\t\t\t\t\t\t<app-bank-transfer-ec \n\t\t\t\t\t\t\t\t\t\t\t\t[method]=\"method\" \n\t\t\t\t\t\t\t\t\t\t\t\t[verifyValidate]= \"verifyValidate\"\n\t\t\t\t\t\t\t\t\t\t\t\t[setLoading] = \"setLoading\" />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t<app-loading-inline-ec></app-loading-inline-ec>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"row d-flex flex-row\">\n\t\t\t\t<div class=\"col-12 d-flex justify-content-between\">\n\t\t\t\t\t<button class=\"btn btn-primary text-white\" (click)=\"goBack()\">{{'back'|translate}}</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n}" }]
111
110
  }], ctorParameters: () => [] });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9jaGVja291dC1lYy9wYXltZW50LWVjL3BheW1lbnQtZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvY2hlY2tvdXQtZWMvcGF5bWVudC1lYy9wYXltZW50LWVjLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFrQm5ELE1BQU0sT0FBTyxrQkFBa0I7SUFFdkIsZUFBZSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDdkQsZ0JBQWdCLEdB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QUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzdFLGVBQWUsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1FBQ2xDLE1BQU0sU0FBUyxHQUFHLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDNUMsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEUsQ0FBQyxDQUFBO0lBQ0QsUUFBUSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNyRSxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3ZFLFNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDdkUsT0FBTyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNuRSxjQUFjLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQ2xGLFVBQVUsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDekUsUUFBUSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUVyRSxPQUFPO1FBQ04sT0FBTztZQUNOLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxlQUFlO1lBQ3JELEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUU7U0FDekMsQ0FBQztJQUNILENBQUM7SUFDRCxVQUFVLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN0QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDWixDQUFDLENBQUE7SUFFTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxFQUFFLEVBQUU7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDLENBQUE7SUFFTSxjQUFjLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtRQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLHVDQUF1QyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsT0FBTztRQUNSLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3JCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQyxDQUFBO0lBRU0sSUFBSSxHQUFHLEdBQUcsRUFBRTtRQUNsQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDN0IsQ0FBQyxDQUFBO0lBRU0sTUFBTSxHQUFHLEdBQUcsRUFBRTtRQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDN0IsQ0FBQyxDQUFBO3dHQS9GVyxrQkFBa0I7NEZBQWxCLGtCQUFrQiwwRUMzQi9CLDR6U0FrTUMscUREakxVLFNBQVMsNkNBQ2xCLFlBQVksa0lBQ1osZUFBZSw0RkFDZix3QkFBd0Isb0ZBQ3hCLHFCQUFxQixrSUFDckIsdUJBQXVCLHFIQUN2QixrQkFBa0IsK0dBQ2xCLGtCQUFrQjs7NEZBR1Asa0JBQWtCO2tCQWY5QixTQUFTOytCQUNDLGdCQUFnQixjQUNkLElBQUksV0FHUCxDQUFDLFNBQVM7d0JBQ2xCLFlBQVk7d0JBQ1osZUFBZTt3QkFDZix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGtCQUFrQjtxQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGVja291dFNlcnZpY2UsIFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvYWRpbmdJbmxpbmVFY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3dpZGdldHMtZWMnO1xuaW1wb3J0IHsgTXBSZWRpcmVjdEVjQ29tcG9uZW50LCBPZmZsaW5lRWNDb21wb25lbnQgfSBmcm9tICcuL3BheW1lbnQtbWV0aG9kcyc7XG5pbXBvcnQgeyBCYW5rVHJhbnNmZXJFY0NvbXBvbmVudCB9IGZyb20gJy4vcGF5bWVudC1tZXRob2RzL2JhbmstdHJhbnNmZXItZWMvYmFuay10cmFuc2Zlci1lYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVjaWRpckVjQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1lYy9kZWNpZGlyLWVjL2RlY2lkaXItZWMuY29tcG9uZW50JztcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgQ2hlY2tvdXREYXRhIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2FwcC1wYXltZW50LWVjJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGVVcmw6ICcuL3BheW1lbnQtZWMuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9wYXltZW50LWVjLmNvbXBvbmVudC5zY3NzJ10sXG5cdGltcG9ydHM6IFtBc3luY1BpcGUsXG5cdFx0Q29tbW9uTW9kdWxlLFxuXHRcdFRyYW5zbGF0ZU1vZHVsZSxcblx0XHRMb2FkaW5nSW5saW5lRWNDb21wb25lbnQsXG5cdFx0TXBSZWRpcmVjdEVjQ29tcG9uZW50LFxuXHRcdEJhbmtUcmFuc2ZlckVjQ29tcG9uZW50LFxuXHRcdE9mZmxpbmVFY0NvbXBvbmVudCxcblx0XHREZWNpZGlyRWNDb21wb25lbnRcblx0XVxufSlcbmV4cG9ydCBjbGFzcyBQYXltZW50RWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cdHB1YmxpYyBfcGF5bWVudFNlcnZpY2U6IFBheW1lbnRTZXJ2aWNlID0gaW5qZWN0KFBheW1lbnRTZXJ2aWNlKVxuXHRwcml2YXRlIF9jaGVja291dFNlcnZpY2U6IENoZWNrb3V0U2VydmljZSA9IGluamVjdChDaGVja291dFNlcnZpY2UpXG5cdHByaXZhdGUgX2NhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSk7XG5cblx0cHJpdmF0ZSBfbWV0aG9kRGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG5cdHByaXZhdGUgX2xvYWRpbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cblx0cHVibGljIG1ldGhvZHMkID0gdGhpcy5fcGF5bWVudFNlcnZpY2UubWV0aG9kcyQ7XG5cdHB1YmxpYyBsb2FkaW5nJCA9IHRoaXMuX2xvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXHRwdWJsaWMgbWV0aG9kRGF0YSQgPSB0aGlzLl9tZXRob2REYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuXHRwdWJsaWMgbG9hZGluZ0ludGVybmFsOiBib29sZWFuID0gZmFsc2U7XG5cdHB1YmxpYyB0b3RhbF9hbW91bnQ6IG51bWJlciA9IDA7XG5cblx0Y29uc3RydWN0b3IoKSB7IH1cblxuXHRuZ09uSW5pdCgpIHtcblx0XHR0aGlzLl9jaGVja291dFNlcnZpY2UuYXNzb2NpYXRlZERhdGEkLnN1YnNjcmliZSgoZGF0YTogQ2hlY2tvdXREYXRhW10pID0+IHtcblx0XHRcdGNvbnN0IHRvdGFsSXRlbSA9IGRhdGEuZmluZChpdGVtID0+IGl0ZW0udHlwZSA9PSAndG90YWwnKTtcblx0XHRcdHRoaXMudG90YWxfYW1vdW50ID0gdG90YWxJdGVtPy5hbW91bnQgPz8gMDtcblx0XHR9KVxuXG5cdFx0Ly8gY29uc29sZS5sb2coJ1BheW1lbnRFY0NvbXBvbmVudCBpbml0aWFsaXplZCB3aXRoIHRvdGFsX2Ftb3VudDonLCB0aGlzLnRvdGFsX2Ftb3VudCk7XG5cdH1cblx0c2V0QWN0aXZlKCRldmVudDogYW55KSB7XG5cdFx0Y29uc3QgcGFyZW50ID0gJGV2ZW50LnRhcmdldC5wYXJlbnRFbGVtZW50LmNoaWxkcmVuO1xuXHRcdGZvciAoY29uc3QgYnV0dG9uIG9mIHBhcmVudCkge1xuXHRcdFx0aWYgKGJ1dHRvbi5jbGFzc0xpc3QuY29udGFpbnMoJ2FjdGl2ZScpKSB7XG5cdFx0XHRcdGJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKVxuXHRcdFx0fVxuXHRcdH1cblx0XHQkZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5hZGQoXCJhY3RpdmVcIilcblx0fVxuXHRhc3luYyBzZXRNZXRob2QobWV0aG9kOiBhbnkpIHtcblx0XHR0aGlzLl9tZXRob2REYXRhU3ViamVjdC5uZXh0KG51bGwpO1xuXHRcdGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLl9wYXltZW50U2VydmljZS5wdXRQYXltZW50KG1ldGhvZC5jb2RlKTtcblx0XHR0aGlzLl9tZXRob2REYXRhU3ViamVjdC5uZXh0KG1ldGhvZCk7XG5cdH1cblxuXHQvL0Z1bmNpb25lcyBwYXJhIGNoZXF1ZWFyIGVsIG1ldG9kbyBkZSBwYWdvLlxuXHRpc1JlZGlyZWN0UmVkc3lzID0gKGNvZGU6IHN0cmluZykgPT4gISFjb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdyZWRzeXNfcmVkaXJlY3QnKVxuXHRpc1JlZGlyZWN0Q2VjYUJhbmsgPSAoY29kZTogc3RyaW5nKSA9PiAhIWNvZGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2NlY2FfYmFua19yZWRpcmVjdCcpXG5cdGlzTVAgPSAoY29kZTogc3RyaW5nKSA9PiB7XG5cdFx0Y29uc3QgbG93ZXJDb2RlID0gY29kZT8udG9Mb3dlckNhc2UoKSB8fCAnJztcblx0XHRyZXR1cm4gbG93ZXJDb2RlLmluY2x1ZGVzKCdtZXJjYWRvX3BhZ28nKSAmJiAhbG93ZXJDb2RlLmluY2x1ZGVzKCdjcmVkaXQnKTtcblx0fVxuXHRpc01QVGFyamV0YURlQ3JlZGl0byA9IChjb2RlOiBzdHJpbmcpID0+ICEhY29kZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnY3JlZGl0Jylcblx0aXNNZXRob2RPZmZsaW5lID0gKGNvZGU6IHN0cmluZykgPT4gISFjb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdvZmZsaW5lJylcblx0aXNQZXlQYWxFeHByZXNzID0gKGNvZGU6IHN0cmluZykgPT4ge1xuXHRcdGNvbnN0IGxvd2VyQ29kZSA9IGNvZGU/LnRvTG93ZXJDYXNlKCkgfHwgJyc7XG5cdFx0cmV0dXJuIGxvd2VyQ29kZS5pbmNsdWRlcygncGF5cGFsJykgJiYgbG93ZXJDb2RlLmluY2x1ZGVzKCdleHByZXNzJyk7XG5cdH1cblx0aXNNb2JiZXggPSAoY29kZTogc3RyaW5nKSA9PiAhIWNvZGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ21vYmJleCcpXG5cdGlzQmFuY2FyZCA9IChjb2RlOiBzdHJpbmcpID0+ICEhY29kZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnYmFuY2FyZCcpXG5cdGlzRGVjaWRpciA9IChjb2RlOiBzdHJpbmcpID0+ICEhY29kZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZGVjaWRpcicpXG5cdGlzQ3VscWkgPSAoY29kZTogc3RyaW5nKSA9PiAhIWNvZGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2N1bHFpJylcblx0aXNCYW5rVHJhbnNmZXIgPSAoY29kZTogc3RyaW5nKSA9PiAhIWNvZGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2JhbmtfdHJhbnNmZXInKVxuXHRpc0NhdGFzdHJvID0gKGNvZGU6IHN0cmluZykgPT4gISFjb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdjYXRhc3RybycpXG5cdGlzQmFtYm9vID0gKGNvZGU6IHN0cmluZykgPT4gISFjb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdiYW1ib28nKVxuXG5cdGFsbERhdGEoKTogYW55IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Li4udGhpcy5fcGF5bWVudFNlcnZpY2UuZ2V0VXNlckRhdGEoKS5zaGlwcGluZ0FkZHJlc3MsXG5cdFx0XHQuLi50aGlzLl9wYXltZW50U2VydmljZS5nZXRTaGlwbWVudERhdGEoKSxcblx0XHR9O1xuXHR9XG5cdGVtaXRSZXN1bHQgPSBhc3luYyAoKSA9PiB7XG5cdFx0dGhpcy5fcGF5bWVudFNlcnZpY2Uuc2V0UGF5bWVudCh0aGlzLl9tZXRob2REYXRhU3ViamVjdC5nZXRWYWx1ZSgpKVxuXHRcdHRoaXMuc2V0TG9hZGluZyhmYWxzZSlcblx0XHR0aGlzLm5leHQoKVxuXHR9XG5cblx0cHVibGljIHNldExvYWRpbmcgPSAoZXN0YWRvID0gdHJ1ZSkgPT4ge1xuXHRcdHRoaXMuX2xvYWRpbmdTdWJqZWN0Lm5leHQoZXN0YWRvKTtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXG5cdHB1YmxpYyB2ZXJpZnlWYWxpZGF0ZSA9ICgkZXZlbnQ6IGFueSkgPT4ge1xuXHRcdGNvbnNvbGUubG9nKCdbUEFZTUVOVF0gdmVyaWZ5VmFsaWRhdGUgbGxhbWFkbyBjb246JywgJGV2ZW50KTtcblx0XHRpZiAoISRldmVudCkge1xuXHRcdFx0dGhpcy5zZXRMb2FkaW5nKGZhbHNlKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5zZXRMb2FkaW5nKHRydWUpXG5cdFx0c2V0VGltZW91dCgoKSA9PiB0aGlzLmVtaXRSZXN1bHQoKSwgMTAwMCk7XG5cdH1cblxuXHRwdWJsaWMgbmV4dCA9ICgpID0+IHtcblx0XHR0aGlzLl9jaGVja291dFNlcnZpY2UubmV4dCgpXG5cdH1cblxuXHRwdWJsaWMgZ29CYWNrID0gKCkgPT4ge1xuXHRcdHRoaXMuX2NoZWNrb3V0U2VydmljZS5iYWNrKClcblx0fVxufVxuIiwiQGlmKG1ldGhvZHMkIHwgYXN5bmM7IGFzIG1ldGhvZHMpe1xuPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuXG5cdDxkaXYgY2xhc3M9XCJyb3dcIj5cblx0XHQ8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY2FyZCBcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHRleHQtZGFyayB0ZXh0LWNlbnRlclwiPlxuXHRcdFx0XHRcdDxoND57eyAnc2VsZWN0LW1ldGhvZCcgfCB0cmFuc2xhdGUgfX08L2g0PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJidG4tdG9vbGJhciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgcm9sZT1cInRvb2xiYXJcIiBhcmlhLWxhYmVsPVwiRW52aW9zIHRvb2xiYXJcIj5cblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiR3J1cG8gYm90b25lcyBlbnZpb1wiPlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWNvbnRlbnQtc3RhcnQganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LXdyYXBcIj5cblx0XHRcdFx0XHRcdFx0XHRAZm9yIChtZXRob2Qgb2YgbWV0aG9kczsgdHJhY2sgJGluZGV4OyBsZXQgeCA9ICRpbmRleCkge1xuXHRcdFx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBteC0xIG1iLTFcIihjbGljayk9XCJzZXRNZXRob2QobWV0aG9kKSA7IHNldEFjdGl2ZSgkZXZlbnQpXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHR7eyBtZXRob2QubmFtZSB8IHRyYW5zbGF0ZSB9fVxuXHRcdFx0XHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgdGV4dC1jZW50ZXJcIj5cblx0XHRcdFx0XHRAaWYobWV0aG9kRGF0YSQgfCBhc3luYzsgYXMgbWV0aG9kKXtcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cblx0XHRcdFx0XHRcdEBpZighbG9hZGluZ0ludGVybmFsKXtcblx0XHRcdFx0XHRcdFx0QGlmKGlzTVAobWV0aG9kLmNvZGUpKXtcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmtcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxwIGlkPVwiZmFxc1wiIGNsYXNzPVwicXQgcHgtNSBcIj57eyBtZXRob2QuZGVzY3JpcHRpb24gfX08L3A+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHAgY2xhc3M9XCJweC01XCI+e3sgbWV0aG9kLmluc3RydWN0aW9ucyB9fTwvcD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGFwcC1tcC1yZWRpcmVjdC1lYyAocmVhZHkpPVwidmVyaWZ5VmFsaWRhdGUoJGV2ZW50KVwiIFx0W21ldGhvZF09XCJtZXRob2RcIj48L2FwcC1tcC1yZWRpcmVjdC1lYz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQ8IS0tIDxkaXYgY2xhc3M9XCJtZXRob2QtY29udGFpbmVyIHRleHQtZGFyayB0ZXh0LWxlZnRcIiAqbmdJZj1cImlzTVBUYXJqZXRhRGVDcmVkaXRvKG1ldGhvZC5jb2RlKVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PHAgaWQ9XCJmYXFzXCIgY2xhc3M9XCJxdCBweC01IFwiPnt7IG1ldGhvZC5kZXNjcmlwdGlvbiB9fTwvcD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PHAgY2xhc3M9XCJweC01XCI+e3sgbWV0aG9kLmluc3RydWN0aW9ucyB9fTwvcD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBhcHAtbXAtY3JlZGl0LWVjIChyZWFkeSk9XCJ2ZXJpZnlWYWxpZGF0ZSgpXCIgW3B1YmxpY19rZXldPVwiZ2V0UEsobWV0aG9kKVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0W3VzZXJfZGF0YV09XCJhbGxEYXRhKClcIiBbdG90YWxfYW1vdW50XT1cInRvdGFsX2Ftb3VudFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm1ldGhvZC1jb250YWluZXIgdGV4dC1kYXJrIHRleHQtc3RhcnRcIiAqbmdJZj1cImlzUmVkaXJlY3RSZWRzeXMobWV0aG9kLmNvZGUpXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInJvd1wiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Km5nSWY9XCIhbWV0aG9kLmNvZGUuaW5jbHVkZXMoJ2JpenVtJykgJiYgIW1ldGhvZC5jb2RlLmluY2x1ZGVzKCdfb3V0XycpXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFwcC1yZWRzeXMtcmVkaXJlY3QtZWMgKHJlYWR5KT1cInZlcmlmeVZhbGlkYXRlKCRldmVudClcIiBbbWV0aG9kXT1cIm1ldGhvZFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdXNlcl9kYXRhXT1cImFsbERhdGEoKVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvYXBwLXJlZHN5cy1yZWRpcmVjdC1lYz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxuZy1jb250YWluZXJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQqbmdJZj1cIm1ldGhvZC5jb2RlLmluY2x1ZGVzKCdiaXp1bScpIHx8IG1ldGhvZC5jb2RlLmluY2x1ZGVzKCdfb3V0XycpXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFwcC1yZWRzeXMtcmVkaXJlY3Qtb3V0LWVjIChyZWFkeSk9XCJ2ZXJpZnlWYWxpZGF0ZSgkZXZlbnQpXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFttZXRob2RdPVwibWV0aG9kXCIgW3VzZXJfZGF0YV09XCJhbGxEYXRhKClcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2FwcC1yZWRzeXMtcmVkaXJlY3Qtb3V0LWVjPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm1ldGhvZC1jb250YWluZXIgdGV4dC1kYXJrIHRleHQtc3RhcnRcIiAqbmdJZj1cImlzUmVkaXJlY3RDZWNhQmFuayhtZXRob2QuY29kZSlcIj5cblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtY2VjYS1yZWRpcmVjdC1lYyAocmVhZHkpPVwidmVyaWZ5VmFsaWRhdGUoJGV2ZW50KVwiIFttZXRob2RdPVwibWV0aG9kXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdXNlcl9kYXRhXT1cImFsbERhdGEoKVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2FwcC1jZWNhLXJlZGlyZWN0LWVjPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmsgdGV4dC1zdGFydFwiICpuZ0lmPVwiaXNQZXlQYWxFeHByZXNzKG1ldGhvZC5jb2RlKVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFwcC1wYXlwYWwtZXhwcmVzcy1lYyAocmVhZHkpPVwidmVyaWZ5VmFsaWRhdGUoJGV2ZW50KVwiIFttZXRob2RdPVwibWV0aG9kXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFt1c2VyX2RhdGFdPVwiYWxsRGF0YSgpXCIgW3RvdGFsX2Ftb3VudF09XCJ0b3RhbF9hbW91bnRcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2FwcC1wYXlwYWwtZXhwcmVzcy1lYz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJtZXRob2QtY29udGFpbmVyIHRleHQtZGFyayB0ZXh0LXN0YXJ0XCIgKm5nSWY9XCJpc01vYmJleChtZXRob2QuY29kZSlcIj5cblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtbW9iYmV4LWVjIChyZWFkeSk9XCJ2ZXJpZnlWYWxpZGF0ZSgkZXZlbnQpXCIgW21ldGhvZF09XCJtZXRob2RcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W3VzZXJfZGF0YV09XCJhbGxEYXRhKClcIiBbcGF5bWVudFNlcnZpY2VJbnN0XT1cInBheW1lbnRTZXJ2aWNlXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFt0b3RhbF9hbW91bnRdPVwidG90YWxfYW1vdW50XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC9hcHAtbW9iYmV4LWVjPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm1ldGhvZC1jb250YWluZXIgdGV4dC1kYXJrIHRleHQtc3RhcnRcIiAqbmdJZj1cImlzQmFuY2FyZChtZXRob2QuY29kZSlcIj5cblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtYmFuY2FyZC1lYyAocmVhZHkpPVwidmVyaWZ5VmFsaWRhdGUoJGV2ZW50KVwiIFttZXRob2RdPVwibWV0aG9kXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFt1c2VyX2RhdGFdPVwiYWxsRGF0YSgpXCIgW3BheW1lbnRTZXJ2aWNlSW5zdF09XCJwYXltZW50U2VydmljZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdG90YWxfYW1vdW50XT1cInRvdGFsX2Ftb3VudFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvYXBwLWJhbmNhcmQtZWM+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDwvZGl2Pi0tPlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmsgdGV4dC1zdGFydFwiICpuZ0lmPVwiaXNEZWNpZGlyKG1ldGhvZC5jb2RlKVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFwcC1kZWNpZGlyLWVjIChyZWFkeSk9XCJ2ZXJpZnlWYWxpZGF0ZSgkZXZlbnQpXCIgW21ldGhvZF09XCJtZXRob2RcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W3VzZXJfZGF0YV09XCJhbGxEYXRhKClcIiBbcGF5bWVudFNlcnZpY2VJbnN0XT1cIl9wYXltZW50U2VydmljZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdG90YWxfYW1vdW50XT1cInRvdGFsX2Ftb3VudFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvYXBwLWRlY2lkaXItZWM+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDwvZGl2PiBcblx0XHRcdFx0XHRcdFx0QGlmKGlzTWV0aG9kT2ZmbGluZShtZXRob2QuY29kZSkpe1xuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmtcIj5cblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtb2ZmbGluZS1lYyBcblx0XHRcdFx0XHRcdFx0XHRcdFx0W21ldGhvZF09XCJtZXRob2RcIiBcblx0XHRcdFx0XHRcdFx0XHRcdFx0W3ZlcmlmeVZhbGlkYXRlXT0gXCJ2ZXJpZnlWYWxpZGF0ZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFtzZXRMb2FkaW5nXSA9IFwic2V0TG9hZGluZ1wiIC8+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PC9kaXY+XHRcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0PCEtLVxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmsgdGV4dC1zdGFydFwiICpuZ0lmPVwiaXNDdWxxaShtZXRob2QuY29kZSlcIj5cblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtY3VscWktZWMgW2FwaUtleV09XCJnZXRQS0N1bHFpKG1ldGhvZClcIiBbbWV0aG9kXT1cIm1ldGhvZFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbYW1vdW50XT1cInRvdGFsX2Ftb3VudFwiIFtjdXN0b21TdHlsZV09XCJ0cnVlXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdChyZWFkeSk9XCJ2ZXJpZnlWYWxpZGF0ZSgpXCI+PC9hcHAtY3VscWktZWM+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmsgdGV4dC1zdGFydFwiICpuZ0lmPVwiaXNDYXRhc3RybyhtZXRob2QuY29kZSlcIj5cblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtYmFuY2FyZC1jYXRhc3Ryby1lYyAocmVhZHkpPVwidmVyaWZ5VmFsaWRhdGUoJGV2ZW50KVwiIFttZXRob2RdPVwibWV0aG9kXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFt1c2VyX2RhdGFdPVwiYWxsRGF0YSgpXCIgW3BheW1lbnRTZXJ2aWNlSW5zdF09XCJwYXltZW50U2VydmljZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdG90YWxfYW1vdW50XT1cInRvdGFsX2Ftb3VudFwiPjwvYXBwLWJhbmNhcmQtY2F0YXN0cm8tZWM+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmsgdGV4dC1zdGFydFwiICpuZ0lmPVwiaXNCYW1ib28obWV0aG9kLmNvZGUpXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8YXBwLWJhbWJvby1lYyAocmVhZHkpPVwidmVyaWZ5VmFsaWRhdGUoJGV2ZW50KVwiIFttZXRob2RdPVwibWV0aG9kXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFt1c2VyX2RhdGFdPVwiYWxsRGF0YSgpXCIgW3BheW1lbnRTZXJ2aWNlSW5zdF09XCJwYXltZW50U2VydmljZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdG90YWxfYW1vdW50XT1cInRvdGFsX2Ftb3VudFwiPjwvYXBwLWJhbWJvby1lYz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PC9kaXY+IC0tPlxuXHRcdFx0XHRcdFx0XHRAaWYoaXNCYW5rVHJhbnNmZXIobWV0aG9kLmNvZGUpKXtcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmtcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtYmFuay10cmFuc2Zlci1lYyBcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFttZXRob2RdPVwibWV0aG9kXCIgXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdmVyaWZ5VmFsaWRhdGVdPSBcInZlcmlmeVZhbGlkYXRlXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFtzZXRMb2FkaW5nXSA9IFwic2V0TG9hZGluZ1wiIC8+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdFx0XHQ8YXBwLWxvYWRpbmctaW5saW5lLWVjPjwvYXBwLWxvYWRpbmctaW5saW5lLWVjPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJyb3cgZC1mbGV4IGZsZXgtcm93XCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtMTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG5cdFx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSB0ZXh0LXdoaXRlXCIgKGNsaWNrKT1cImdvQmFjaygpXCI+e3snYmFjayd8dHJhbnNsYXRlfX08L2J1dHRvbj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj5cbn0iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9jaGVja291dC1lYy9wYXltZW50LWVjL3BheW1lbnQtZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvY2hlY2tvdXQtZWMvcGF5bWVudC1lYy9wYXltZW50LWVjLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFrQm5ELE1BQU0sT0FBTyxrQkFBa0I7SUFFdkIsZUFBZSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDdkQsZ0JBQWdCLEdB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QUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzdFLGVBQWUsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1FBQ2xDLE1BQU0sU0FBUyxHQUFHLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDNUMsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEUsQ0FBQyxDQUFBO0lBQ0QsUUFBUSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNyRSxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3ZFLFNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDdkUsT0FBTyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNuRSxjQUFjLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQ2xGLFVBQVUsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDekUsUUFBUSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUVyRSxPQUFPO1FBQ04sT0FBTztZQUNOLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxlQUFlO1lBQ3JELEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUU7U0FDekMsQ0FBQztJQUNILENBQUM7SUFDRCxVQUFVLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN0QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDWixDQUFDLENBQUE7SUFFTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxFQUFFLEVBQUU7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDLENBQUE7SUFFTSxjQUFjLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtRQUN2QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLE9BQU87UUFDUixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNyQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUMsQ0FBQTtJQUVNLElBQUksR0FBRyxHQUFHLEVBQUU7UUFDbEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFBO0lBQzdCLENBQUMsQ0FBQTtJQUVNLE1BQU0sR0FBRyxHQUFHLEVBQUU7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFBO0lBQzdCLENBQUMsQ0FBQTt3R0E5Rlcsa0JBQWtCOzRGQUFsQixrQkFBa0IsMEVDM0IvQiw0elNBa01DLHFERGpMVSxTQUFTLDZDQUNsQixZQUFZLGtJQUNaLGVBQWUsNEZBQ2Ysd0JBQXdCLG9GQUN4QixxQkFBcUIsa0lBQ3JCLHVCQUF1QixxSEFDdkIsa0JBQWtCLCtHQUNsQixrQkFBa0I7OzRGQUdQLGtCQUFrQjtrQkFmOUIsU0FBUzsrQkFDQyxnQkFBZ0IsY0FDZCxJQUFJLFdBR1AsQ0FBQyxTQUFTO3dCQUNsQixZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQixrQkFBa0I7cUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hlY2tvdXRTZXJ2aWNlLCBQYXltZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VjLXNlcnZpY2VzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2FkaW5nSW5saW5lRWNDb21wb25lbnQgfSBmcm9tICcuLi8uLi93aWRnZXRzLWVjJztcbmltcG9ydCB7IE1wUmVkaXJlY3RFY0NvbXBvbmVudCwgT2ZmbGluZUVjQ29tcG9uZW50IH0gZnJvbSAnLi9wYXltZW50LW1ldGhvZHMnO1xuaW1wb3J0IHsgQmFua1RyYW5zZmVyRWNDb21wb25lbnQgfSBmcm9tICcuL3BheW1lbnQtbWV0aG9kcy9iYW5rLXRyYW5zZmVyLWVjL2JhbmstdHJhbnNmZXItZWMuY29tcG9uZW50JztcbmltcG9ydCB7IERlY2lkaXJFY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3dpZGdldHMtZWMvZGVjaWRpci1lYy9kZWNpZGlyLWVjLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VjLXNlcnZpY2VzJztcbmltcG9ydCB7IENoZWNrb3V0RGF0YSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdhcHAtcGF5bWVudC1lYycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlVXJsOiAnLi9wYXltZW50LWVjLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vcGF5bWVudC1lYy5jb21wb25lbnQuc2NzcyddLFxuXHRpbXBvcnRzOiBbQXN5bmNQaXBlLFxuXHRcdENvbW1vbk1vZHVsZSxcblx0XHRUcmFuc2xhdGVNb2R1bGUsXG5cdFx0TG9hZGluZ0lubGluZUVjQ29tcG9uZW50LFxuXHRcdE1wUmVkaXJlY3RFY0NvbXBvbmVudCxcblx0XHRCYW5rVHJhbnNmZXJFY0NvbXBvbmVudCxcblx0XHRPZmZsaW5lRWNDb21wb25lbnQsXG5cdFx0RGVjaWRpckVjQ29tcG9uZW50XG5cdF1cbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudEVjQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuXHRwdWJsaWMgX3BheW1lbnRTZXJ2aWNlOiBQYXltZW50U2VydmljZSA9IGluamVjdChQYXltZW50U2VydmljZSlcblx0cHJpdmF0ZSBfY2hlY2tvdXRTZXJ2aWNlOiBDaGVja291dFNlcnZpY2UgPSBpbmplY3QoQ2hlY2tvdXRTZXJ2aWNlKVxuXHRwcml2YXRlIF9jYXJ0U2VydmljZTogQ2FydFNlcnZpY2UgPSBpbmplY3QoQ2FydFNlcnZpY2UpO1xuXG5cdHByaXZhdGUgX21ldGhvZERhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuXHRwcml2YXRlIF9sb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG5cdHB1YmxpYyBtZXRob2RzJCA9IHRoaXMuX3BheW1lbnRTZXJ2aWNlLm1ldGhvZHMkO1xuXHRwdWJsaWMgbG9hZGluZyQgPSB0aGlzLl9sb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcblx0cHVibGljIG1ldGhvZERhdGEkID0gdGhpcy5fbWV0aG9kRGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cblx0cHVibGljIGxvYWRpbmdJbnRlcm5hbDogYm9vbGVhbiA9IGZhbHNlO1xuXHRwdWJsaWMgdG90YWxfYW1vdW50OiBudW1iZXIgPSAwO1xuXG5cdGNvbnN0cnVjdG9yKCkgeyB9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0dGhpcy5fY2hlY2tvdXRTZXJ2aWNlLmFzc29jaWF0ZWREYXRhJC5zdWJzY3JpYmUoKGRhdGE6IENoZWNrb3V0RGF0YVtdKSA9PiB7XG5cdFx0XHRjb25zdCB0b3RhbEl0ZW0gPSBkYXRhLmZpbmQoaXRlbSA9PiBpdGVtLnR5cGUgPT0gJ3RvdGFsJyk7XG5cdFx0XHR0aGlzLnRvdGFsX2Ftb3VudCA9IHRvdGFsSXRlbT8uYW1vdW50ID8/IDA7XG5cdFx0fSlcblxuXHRcdC8vIGNvbnNvbGUubG9nKCdQYXltZW50RWNDb21wb25lbnQgaW5pdGlhbGl6ZWQgd2l0aCB0b3RhbF9hbW91bnQ6JywgdGhpcy50b3RhbF9hbW91bnQpO1xuXHR9XG5cdHNldEFjdGl2ZSgkZXZlbnQ6IGFueSkge1xuXHRcdGNvbnN0IHBhcmVudCA9ICRldmVudC50YXJnZXQucGFyZW50RWxlbWVudC5jaGlsZHJlbjtcblx0XHRmb3IgKGNvbnN0IGJ1dHRvbiBvZiBwYXJlbnQpIHtcblx0XHRcdGlmIChidXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKCdhY3RpdmUnKSkge1xuXHRcdFx0XHRidXR0b24uY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJylcblx0XHRcdH1cblx0XHR9XG5cdFx0JGV2ZW50LnRhcmdldC5jbGFzc0xpc3QuYWRkKFwiYWN0aXZlXCIpXG5cdH1cblx0YXN5bmMgc2V0TWV0aG9kKG1ldGhvZDogYW55KSB7XG5cdFx0dGhpcy5fbWV0aG9kRGF0YVN1YmplY3QubmV4dChudWxsKTtcblx0XHRsZXQgcmVzdWx0ID0gYXdhaXQgdGhpcy5fcGF5bWVudFNlcnZpY2UucHV0UGF5bWVudChtZXRob2QuY29kZSk7XG5cdFx0dGhpcy5fbWV0aG9kRGF0YVN1YmplY3QubmV4dChtZXRob2QpO1xuXHR9XG5cblx0Ly9GdW5jaW9uZXMgcGFyYSBjaGVxdWVhciBlbCBtZXRvZG8gZGUgcGFnby5cblx0aXNSZWRpcmVjdFJlZHN5cyA9IChjb2RlOiBzdHJpbmcpID0+ICEhY29kZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcygncmVkc3lzX3JlZGlyZWN0Jylcblx0aXNSZWRpcmVjdENlY2FCYW5rID0gKGNvZGU6IHN0cmluZykgPT4gISFjb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdjZWNhX2JhbmtfcmVkaXJlY3QnKVxuXHRpc01QID0gKGNvZGU6IHN0cmluZykgPT4ge1xuXHRcdGNvbnN0IGxvd2VyQ29kZSA9IGNvZGU/LnRvTG93ZXJDYXNlKCkgfHwgJyc7XG5cdFx0cmV0dXJuIGxvd2VyQ29kZS5pbmNsdWRlcygnbWVyY2Fkb19wYWdvJykgJiYgIWxvd2VyQ29kZS5pbmNsdWRlcygnY3JlZGl0Jyk7XG5cdH1cblx0aXNNUFRhcmpldGFEZUNyZWRpdG8gPSAoY29kZTogc3RyaW5nKSA9PiAhIWNvZGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2NyZWRpdCcpXG5cdGlzTWV0aG9kT2ZmbGluZSA9IChjb2RlOiBzdHJpbmcpID0+ICEhY29kZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnb2ZmbGluZScpXG5cdGlzUGV5UGFsRXhwcmVzcyA9IChjb2RlOiBzdHJpbmcpID0+IHtcblx0XHRjb25zdCBsb3dlckNvZGUgPSBjb2RlPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuXHRcdHJldHVybiBsb3dlckNvZGUuaW5jbHVkZXMoJ3BheXBhbCcpICYmIGxvd2VyQ29kZS5pbmNsdWRlcygnZXhwcmVzcycpO1xuXHR9XG5cdGlzTW9iYmV4ID0gKGNvZGU6IHN0cmluZykgPT4gISFjb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdtb2JiZXgnKVxuXHRpc0JhbmNhcmQgPSAoY29kZTogc3RyaW5nKSA9PiAhIWNvZGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2JhbmNhcmQnKVxuXHRpc0RlY2lkaXIgPSAoY29kZTogc3RyaW5nKSA9PiAhIWNvZGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2RlY2lkaXInKVxuXHRpc0N1bHFpID0gKGNvZGU6IHN0cmluZykgPT4gISFjb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdjdWxxaScpXG5cdGlzQmFua1RyYW5zZmVyID0gKGNvZGU6IHN0cmluZykgPT4gISFjb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdiYW5rX3RyYW5zZmVyJylcblx0aXNDYXRhc3RybyA9IChjb2RlOiBzdHJpbmcpID0+ICEhY29kZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnY2F0YXN0cm8nKVxuXHRpc0JhbWJvbyA9IChjb2RlOiBzdHJpbmcpID0+ICEhY29kZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnYmFtYm9vJylcblxuXHRhbGxEYXRhKCk6IGFueSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdC4uLnRoaXMuX3BheW1lbnRTZXJ2aWNlLmdldFVzZXJEYXRhKCkuc2hpcHBpbmdBZGRyZXNzLFxuXHRcdFx0Li4udGhpcy5fcGF5bWVudFNlcnZpY2UuZ2V0U2hpcG1lbnREYXRhKCksXG5cdFx0fTtcblx0fVxuXHRlbWl0UmVzdWx0ID0gYXN5bmMgKCkgPT4ge1xuXHRcdHRoaXMuX3BheW1lbnRTZXJ2aWNlLnNldFBheW1lbnQodGhpcy5fbWV0aG9kRGF0YVN1YmplY3QuZ2V0VmFsdWUoKSlcblx0XHR0aGlzLnNldExvYWRpbmcoZmFsc2UpXG5cdFx0dGhpcy5uZXh0KClcblx0fVxuXG5cdHB1YmxpYyBzZXRMb2FkaW5nID0gKGVzdGFkbyA9IHRydWUpID0+IHtcblx0XHR0aGlzLl9sb2FkaW5nU3ViamVjdC5uZXh0KGVzdGFkbyk7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblxuXHRwdWJsaWMgdmVyaWZ5VmFsaWRhdGUgPSAoJGV2ZW50OiBhbnkpID0+IHtcblx0XHRpZiAoISRldmVudCkge1xuXHRcdFx0dGhpcy5zZXRMb2FkaW5nKGZhbHNlKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5zZXRMb2FkaW5nKHRydWUpXG5cdFx0c2V0VGltZW91dCgoKSA9PiB0aGlzLmVtaXRSZXN1bHQoKSwgMTAwMCk7XG5cdH1cblxuXHRwdWJsaWMgbmV4dCA9ICgpID0+IHtcblx0XHR0aGlzLl9jaGVja291dFNlcnZpY2UubmV4dCgpXG5cdH1cblxuXHRwdWJsaWMgZ29CYWNrID0gKCkgPT4ge1xuXHRcdHRoaXMuX2NoZWNrb3V0U2VydmljZS5iYWNrKClcblx0fVxufVxuIiwiQGlmKG1ldGhvZHMkIHwgYXN5bmM7IGFzIG1ldGhvZHMpe1xuPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuXG5cdDxkaXYgY2xhc3M9XCJyb3dcIj5cblx0XHQ8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY2FyZCBcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHRleHQtZGFyayB0ZXh0LWNlbnRlclwiPlxuXHRcdFx0XHRcdDxoND57eyAnc2VsZWN0LW1ldGhvZCcgfCB0cmFuc2xhdGUgfX08L2g0PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJidG4tdG9vbGJhciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgcm9sZT1cInRvb2xiYXJcIiBhcmlhLWxhYmVsPVwiRW52aW9zIHRvb2xiYXJcIj5cblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiR3J1cG8gYm90b25lcyBlbnZpb1wiPlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWNvbnRlbnQtc3RhcnQganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LXdyYXBcIj5cblx0XHRcdFx0XHRcdFx0XHRAZm9yIChtZXRob2Qgb2YgbWV0aG9kczsgdHJhY2sgJGluZGV4OyBsZXQgeCA9ICRpbmRleCkge1xuXHRcdFx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBteC0xIG1iLTFcIihjbGljayk9XCJzZXRNZXRob2QobWV0aG9kKSA7IHNldEFjdGl2ZSgkZXZlbnQpXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHR7eyBtZXRob2QubmFtZSB8IHRyYW5zbGF0ZSB9fVxuXHRcdFx0XHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgdGV4dC1jZW50ZXJcIj5cblx0XHRcdFx0XHRAaWYobWV0aG9kRGF0YSQgfCBhc3luYzsgYXMgbWV0aG9kKXtcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cblx0XHRcdFx0XHRcdEBpZighbG9hZGluZ0ludGVybmFsKXtcblx0XHRcdFx0XHRcdFx0QGlmKGlzTVAobWV0aG9kLmNvZGUpKXtcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmtcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxwIGlkPVwiZmFxc1wiIGNsYXNzPVwicXQgcHgtNSBcIj57eyBtZXRob2QuZGVzY3JpcHRpb24gfX08L3A+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHAgY2xhc3M9XCJweC01XCI+e3sgbWV0aG9kLmluc3RydWN0aW9ucyB9fTwvcD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGFwcC1tcC1yZWRpcmVjdC1lYyAocmVhZHkpPVwidmVyaWZ5VmFsaWRhdGUoJGV2ZW50KVwiIFx0W21ldGhvZF09XCJtZXRob2RcIj48L2FwcC1tcC1yZWRpcmVjdC1lYz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQ8IS0tIDxkaXYgY2xhc3M9XCJtZXRob2QtY29udGFpbmVyIHRleHQtZGFyayB0ZXh0LWxlZnRcIiAqbmdJZj1cImlzTVBUYXJqZXRhRGVDcmVkaXRvKG1ldGhvZC5jb2RlKVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PHAgaWQ9XCJmYXFzXCIgY2xhc3M9XCJxdCBweC01IFwiPnt7IG1ldGhvZC5kZXNjcmlwdGlvbiB9fTwvcD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PHAgY2xhc3M9XCJweC01XCI+e3sgbWV0aG9kLmluc3RydWN0aW9ucyB9fTwvcD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBhcHAtbXAtY3JlZGl0LWVjIChyZWFkeSk9XCJ2ZXJpZnlWYWxpZGF0ZSgpXCIgW3B1YmxpY19rZXldPVwiZ2V0UEsobWV0aG9kKVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0W3VzZXJfZGF0YV09XCJhbGxEYXRhKClcIiBbdG90YWxfYW1vdW50XT1cInRvdGFsX2Ftb3VudFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm1ldGhvZC1jb250YWluZXIgdGV4dC1kYXJrIHRleHQtc3RhcnRcIiAqbmdJZj1cImlzUmVkaXJlY3RSZWRzeXMobWV0aG9kLmNvZGUpXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInJvd1wiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Km5nSWY9XCIhbWV0aG9kLmNvZGUuaW5jbHVkZXMoJ2JpenVtJykgJiYgIW1ldGhvZC5jb2RlLmluY2x1ZGVzKCdfb3V0XycpXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFwcC1yZWRzeXMtcmVkaXJlY3QtZWMgKHJlYWR5KT1cInZlcmlmeVZhbGlkYXRlKCRldmVudClcIiBbbWV0aG9kXT1cIm1ldGhvZFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdXNlcl9kYXRhXT1cImFsbERhdGEoKVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvYXBwLXJlZHN5cy1yZWRpcmVjdC1lYz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxuZy1jb250YWluZXJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQqbmdJZj1cIm1ldGhvZC5jb2RlLmluY2x1ZGVzKCdiaXp1bScpIHx8IG1ldGhvZC5jb2RlLmluY2x1ZGVzKCdfb3V0XycpXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFwcC1yZWRzeXMtcmVkaXJlY3Qtb3V0LWVjIChyZWFkeSk9XCJ2ZXJpZnlWYWxpZGF0ZSgkZXZlbnQpXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFttZXRob2RdPVwibWV0aG9kXCIgW3VzZXJfZGF0YV09XCJhbGxEYXRhKClcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2FwcC1yZWRzeXMtcmVkaXJlY3Qtb3V0LWVjPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm1ldGhvZC1jb250YWluZXIgdGV4dC1kYXJrIHRleHQtc3RhcnRcIiAqbmdJZj1cImlzUmVkaXJlY3RDZWNhQmFuayhtZXRob2QuY29kZSlcIj5cblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtY2VjYS1yZWRpcmVjdC1lYyAocmVhZHkpPVwidmVyaWZ5VmFsaWRhdGUoJGV2ZW50KVwiIFttZXRob2RdPVwibWV0aG9kXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdXNlcl9kYXRhXT1cImFsbERhdGEoKVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2FwcC1jZWNhLXJlZGlyZWN0LWVjPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmsgdGV4dC1zdGFydFwiICpuZ0lmPVwiaXNQZXlQYWxFeHByZXNzKG1ldGhvZC5jb2RlKVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFwcC1wYXlwYWwtZXhwcmVzcy1lYyAocmVhZHkpPVwidmVyaWZ5VmFsaWRhdGUoJGV2ZW50KVwiIFttZXRob2RdPVwibWV0aG9kXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFt1c2VyX2RhdGFdPVwiYWxsRGF0YSgpXCIgW3RvdGFsX2Ftb3VudF09XCJ0b3RhbF9hbW91bnRcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2FwcC1wYXlwYWwtZXhwcmVzcy1lYz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJtZXRob2QtY29udGFpbmVyIHRleHQtZGFyayB0ZXh0LXN0YXJ0XCIgKm5nSWY9XCJpc01vYmJleChtZXRob2QuY29kZSlcIj5cblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtbW9iYmV4LWVjIChyZWFkeSk9XCJ2ZXJpZnlWYWxpZGF0ZSgkZXZlbnQpXCIgW21ldGhvZF09XCJtZXRob2RcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W3VzZXJfZGF0YV09XCJhbGxEYXRhKClcIiBbcGF5bWVudFNlcnZpY2VJbnN0XT1cInBheW1lbnRTZXJ2aWNlXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFt0b3RhbF9hbW91bnRdPVwidG90YWxfYW1vdW50XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC9hcHAtbW9iYmV4LWVjPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm1ldGhvZC1jb250YWluZXIgdGV4dC1kYXJrIHRleHQtc3RhcnRcIiAqbmdJZj1cImlzQmFuY2FyZChtZXRob2QuY29kZSlcIj5cblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtYmFuY2FyZC1lYyAocmVhZHkpPVwidmVyaWZ5VmFsaWRhdGUoJGV2ZW50KVwiIFttZXRob2RdPVwibWV0aG9kXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFt1c2VyX2RhdGFdPVwiYWxsRGF0YSgpXCIgW3BheW1lbnRTZXJ2aWNlSW5zdF09XCJwYXltZW50U2VydmljZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdG90YWxfYW1vdW50XT1cInRvdGFsX2Ftb3VudFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvYXBwLWJhbmNhcmQtZWM+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDwvZGl2Pi0tPlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmsgdGV4dC1zdGFydFwiICpuZ0lmPVwiaXNEZWNpZGlyKG1ldGhvZC5jb2RlKVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFwcC1kZWNpZGlyLWVjIChyZWFkeSk9XCJ2ZXJpZnlWYWxpZGF0ZSgkZXZlbnQpXCIgW21ldGhvZF09XCJtZXRob2RcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W3VzZXJfZGF0YV09XCJhbGxEYXRhKClcIiBbcGF5bWVudFNlcnZpY2VJbnN0XT1cIl9wYXltZW50U2VydmljZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdG90YWxfYW1vdW50XT1cInRvdGFsX2Ftb3VudFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvYXBwLWRlY2lkaXItZWM+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDwvZGl2PiBcblx0XHRcdFx0XHRcdFx0QGlmKGlzTWV0aG9kT2ZmbGluZShtZXRob2QuY29kZSkpe1xuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmtcIj5cblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtb2ZmbGluZS1lYyBcblx0XHRcdFx0XHRcdFx0XHRcdFx0W21ldGhvZF09XCJtZXRob2RcIiBcblx0XHRcdFx0XHRcdFx0XHRcdFx0W3ZlcmlmeVZhbGlkYXRlXT0gXCJ2ZXJpZnlWYWxpZGF0ZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFtzZXRMb2FkaW5nXSA9IFwic2V0TG9hZGluZ1wiIC8+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PC9kaXY+XHRcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0PCEtLVxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmsgdGV4dC1zdGFydFwiICpuZ0lmPVwiaXNDdWxxaShtZXRob2QuY29kZSlcIj5cblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtY3VscWktZWMgW2FwaUtleV09XCJnZXRQS0N1bHFpKG1ldGhvZClcIiBbbWV0aG9kXT1cIm1ldGhvZFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbYW1vdW50XT1cInRvdGFsX2Ftb3VudFwiIFtjdXN0b21TdHlsZV09XCJ0cnVlXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdChyZWFkeSk9XCJ2ZXJpZnlWYWxpZGF0ZSgpXCI+PC9hcHAtY3VscWktZWM+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmsgdGV4dC1zdGFydFwiICpuZ0lmPVwiaXNDYXRhc3RybyhtZXRob2QuY29kZSlcIj5cblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtYmFuY2FyZC1jYXRhc3Ryby1lYyAocmVhZHkpPVwidmVyaWZ5VmFsaWRhdGUoJGV2ZW50KVwiIFttZXRob2RdPVwibWV0aG9kXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFt1c2VyX2RhdGFdPVwiYWxsRGF0YSgpXCIgW3BheW1lbnRTZXJ2aWNlSW5zdF09XCJwYXltZW50U2VydmljZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdG90YWxfYW1vdW50XT1cInRvdGFsX2Ftb3VudFwiPjwvYXBwLWJhbmNhcmQtY2F0YXN0cm8tZWM+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmsgdGV4dC1zdGFydFwiICpuZ0lmPVwiaXNCYW1ib28obWV0aG9kLmNvZGUpXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8YXBwLWJhbWJvby1lYyAocmVhZHkpPVwidmVyaWZ5VmFsaWRhdGUoJGV2ZW50KVwiIFttZXRob2RdPVwibWV0aG9kXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFt1c2VyX2RhdGFdPVwiYWxsRGF0YSgpXCIgW3BheW1lbnRTZXJ2aWNlSW5zdF09XCJwYXltZW50U2VydmljZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdG90YWxfYW1vdW50XT1cInRvdGFsX2Ftb3VudFwiPjwvYXBwLWJhbWJvby1lYz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PC9kaXY+IC0tPlxuXHRcdFx0XHRcdFx0XHRAaWYoaXNCYW5rVHJhbnNmZXIobWV0aG9kLmNvZGUpKXtcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWV0aG9kLWNvbnRhaW5lciB0ZXh0LWRhcmtcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxhcHAtYmFuay10cmFuc2Zlci1lYyBcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFttZXRob2RdPVwibWV0aG9kXCIgXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbdmVyaWZ5VmFsaWRhdGVdPSBcInZlcmlmeVZhbGlkYXRlXCJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFtzZXRMb2FkaW5nXSA9IFwic2V0TG9hZGluZ1wiIC8+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdFx0XHQ8YXBwLWxvYWRpbmctaW5saW5lLWVjPjwvYXBwLWxvYWRpbmctaW5saW5lLWVjPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJyb3cgZC1mbGV4IGZsZXgtcm93XCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtMTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG5cdFx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSB0ZXh0LXdoaXRlXCIgKGNsaWNrKT1cImdvQmFjaygpXCI+e3snYmFjayd8dHJhbnNsYXRlfX08L2J1dHRvbj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj5cbn0iXX0=
@@ -10339,7 +10339,6 @@ class PaymentEcComponent {
10339
10339
  return true;
10340
10340
  };
10341
10341
  verifyValidate = ($event) => {
10342
- console.log('[PAYMENT] verifyValidate llamado con:', $event);
10343
10342
  if (!$event) {
10344
10343
  this.setLoading(false);
10345
10344
  return;