ng-easycommerce 0.0.684 → 0.0.685

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.
@@ -30,6 +30,7 @@ let RedSysRedirectEcComponent = class RedSysRedirectEcComponent extends Componen
30
30
  this.isDobleAuth = false;
31
31
  this.urls = [];
32
32
  this.closeModalReason = ''; // Renombrado para evitar confusión
33
+ this.finished = false;
33
34
  this.dataRedirect = () => this.consts.getUrlBase() + 'shop-api/' + this.consts.getChannel() + '/redsys/redirect/' + this.cartService.cart_token + '/process-payment';
34
35
  this.clearStorageState = () => {
35
36
  sessionStorage.removeItem('state');
@@ -38,31 +39,23 @@ let RedSysRedirectEcComponent = class RedSysRedirectEcComponent extends Componen
38
39
  // Método que se llama desde la X de la cabecera del modal en el HTML
39
40
  this.clickClose = () => {
40
41
  this.closeModalReason = 'cancel';
42
+ this.finished = true;
43
+ if (this.stateTimeout) {
44
+ clearTimeout(this.stateTimeout);
45
+ this.stateTimeout = null;
46
+ }
41
47
  if (this.modalRef) {
42
48
  this.modalRef.hide();
43
49
  }
44
50
  this.processError('Se canceló el pago con tarjeta');
45
51
  };
46
52
  this.callState = () => {
47
- var _a, _b, _c;
53
+ if (this.finished) {
54
+ return;
55
+ }
48
56
  let state = this.closeModalReason != '' ? this.closeModalReason : sessionStorage.getItem('state');
49
57
  if (state) {
50
- this.clearStorageState();
51
- if (state == 'ok') {
52
- (_a = this.modalRef) === null || _a === void 0 ? void 0 : _a.hide();
53
- this.ready.emit(true);
54
- return;
55
- }
56
- if (state == 'menosuno') {
57
- (_b = this.modalRef) === null || _b === void 0 ? void 0 : _b.hide();
58
- this.processError('Error en el pago');
59
- return;
60
- }
61
- if (state == 'cancel') {
62
- return; // El modal ya se escondió dentro de clickClose()
63
- }
64
- (_c = this.modalRef) === null || _c === void 0 ? void 0 : _c.hide();
65
- this.processError('Error desconocido en la transacción');
58
+ this.handleState(state);
66
59
  return;
67
60
  }
68
61
  // Guardamos el timeout en una variable de clase
@@ -70,6 +63,33 @@ let RedSysRedirectEcComponent = class RedSysRedirectEcComponent extends Componen
70
63
  this.callState();
71
64
  }, 6000);
72
65
  };
66
+ this.handleState = (state) => {
67
+ var _a, _b, _c, _d;
68
+ if (this.finished)
69
+ return;
70
+ this.finished = true;
71
+ if (this.stateTimeout) {
72
+ clearTimeout(this.stateTimeout);
73
+ this.stateTimeout = null;
74
+ }
75
+ this.clearStorageState();
76
+ if (state === 'ok') {
77
+ (_a = this.modalRef) === null || _a === void 0 ? void 0 : _a.hide();
78
+ this.ready.emit(true);
79
+ return;
80
+ }
81
+ if (state === 'menosuno' || state === 'error' || state === 'failure') {
82
+ (_b = this.modalRef) === null || _b === void 0 ? void 0 : _b.hide();
83
+ this.processError('Error en el pago');
84
+ return;
85
+ }
86
+ if (state === 'cancel') {
87
+ (_c = this.modalRef) === null || _c === void 0 ? void 0 : _c.hide();
88
+ return;
89
+ }
90
+ (_d = this.modalRef) === null || _d === void 0 ? void 0 : _d.hide();
91
+ this.processError('Error desconocido en la transacción');
92
+ };
73
93
  this.processError = (err) => {
74
94
  this.toastrService.show(err != '' ? err : 'payment-error');
75
95
  console.log("ERROR ENVIO BACK ", err);
@@ -87,10 +107,11 @@ let RedSysRedirectEcComponent = class RedSysRedirectEcComponent extends Componen
87
107
  }
88
108
  }
89
109
  ngOnChanges() {
90
- console.log("SE CAMBIO");
110
+ // console.log("SE CAMBIO");
91
111
  }
92
112
  openModal(template) {
93
113
  this.clearStorageState();
114
+ this.finished = false;
94
115
  sessionStorage.setItem('dataRedirect', this.dataRedirect());
95
116
  // Abrimos el modal y guardamos la referencia en this.modalRef
96
117
  this.modalRef = this.modalService.show(template, { class: 'modal-lg modal-dialog-centered', keyboard: false, backdrop: 'static', animated: true });
@@ -99,11 +120,33 @@ let RedSysRedirectEcComponent = class RedSysRedirectEcComponent extends Componen
99
120
  }
100
121
  // Opcional pero recomendado: Capturar mensajes enviados desde el Iframe de Redsys
101
122
  onMessage(event) {
102
- if (event.data === 'pago_completado' || event.data === 'ok') {
103
- sessionStorage.setItem('state', 'ok');
123
+ var _a, _b, _c, _d;
124
+ const data = (_a = event) === null || _a === void 0 ? void 0 : _a.data;
125
+ const state = typeof data === 'string'
126
+ ? data
127
+ : ((_b = data) === null || _b === void 0 ? void 0 : _b.state) || ((_c = data) === null || _c === void 0 ? void 0 : _c.status) || ((_d = data) === null || _d === void 0 ? void 0 : _d.result) || null;
128
+ if (!state) {
129
+ return;
130
+ }
131
+ if (state === 'pago_completado' || state === 'ok' || state === 'success') {
132
+ this.handleState('ok');
133
+ return;
104
134
  }
105
- else if (event.data === 'pago_error' || event.data === 'menosuno') {
106
- sessionStorage.setItem('state', 'menosuno');
135
+ if (state === 'pago_error' || state === 'menosuno' || state === 'error' || state === 'failure') {
136
+ this.handleState('menosuno');
137
+ }
138
+ }
139
+ onStorage(event) {
140
+ var _a;
141
+ if (!((_a = event) === null || _a === void 0 ? void 0 : _a.key) || event.key !== 'state' || !event.newValue) {
142
+ return;
143
+ }
144
+ if (event.newValue === 'ok' || event.newValue === 'success') {
145
+ this.handleState('ok');
146
+ return;
147
+ }
148
+ if (event.newValue === 'menosuno' || event.newValue === 'error' || event.newValue === 'failure') {
149
+ this.handleState('menosuno');
107
150
  }
108
151
  }
109
152
  };
@@ -134,6 +177,9 @@ __decorate([
134
177
  __decorate([
135
178
  HostListener('window:message', ['$event'])
136
179
  ], RedSysRedirectEcComponent.prototype, "onMessage", null);
180
+ __decorate([
181
+ HostListener('window:storage', ['$event'])
182
+ ], RedSysRedirectEcComponent.prototype, "onStorage", null);
137
183
  RedSysRedirectEcComponent = __decorate([
138
184
  Component({
139
185
  selector: 'app-redsys-redirect-ec',
@@ -142,4 +188,4 @@ RedSysRedirectEcComponent = __decorate([
142
188
  })
143
189
  ], RedSysRedirectEcComponent);
144
190
  export { RedSysRedirectEcComponent };
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkc3lzLXJlZGlyZWN0LWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvd2lkZ2V0cy1lYy9yZWRzeXMtcmVkaXJlY3QtZWMvcmVkc3lzLXJlZGlyZWN0LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFRcEUsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBMEIsU0FBUSxlQUFlO0lBaUIxRCxZQUNXLFFBQW1CLEVBQ25CLFVBQTZCLEVBQzdCLGFBQTJCLEVBQzNCLE1BQWlCLEVBQ2pCLFdBQXdCLEVBQ3hCLFlBQTRCLEVBQzVCLFlBQTRCO1FBRW5DLEtBQUssRUFBRSxDQUFDO1FBUkQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FB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QUFLLENBQUMsSUFBSSxLQUFLLFlBQVksSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUNqRSxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUM7Q0FDSixDQUFBOztZQWhHd0IsU0FBUztZQUNQLGlCQUFpQjtZQUNkLFlBQVk7WUFDbkIsU0FBUztZQUNKLFdBQVc7WUFDVixjQUFjO1lBQ2QsY0FBYzs7QUF0QjlCO0lBQVIsS0FBSyxFQUFFO3lEQUFlO0FBQ2Q7SUFBUixLQUFLLEVBQUU7K0RBQWtCO0FBQ2hCO0lBQVQsTUFBTSxFQUFFO3dEQUE0QjtBQUM1QjtJQUFSLEtBQUssRUFBRTs0REFBa0I7QUFDSDtJQUF0QixTQUFTLENBQUMsVUFBVSxDQUFDOzJEQUFzQztBQXFHNUQ7SUFEQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzswREFPMUM7QUFqSFEseUJBQXlCO0lBTnJDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx3QkFBd0I7UUFDbEMsNjZCQUFnRDs7S0FHbkQsQ0FBQztHQUNXLHlCQUF5QixDQWtIckM7U0FsSFkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBJbnB1dCwgUmVuZGVyZXIyLCBPbkNoYW5nZXMsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSwgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcGkvY29ubmVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS5jb25zdHMnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtcmVkc3lzLXJlZGlyZWN0LWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3JlZHN5cy1yZWRpcmVjdC1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ3JlZHN5cy1yZWRpcmVjdC1lYy5jb21wb25lbnQuc2NzcyddXG4gICAgLy8gwqFJTVBPUlRBTlRFOiBTZSBoYSBlbGltaW5hZG8gXCJwcm92aWRlcnM6IFtCc01vZGFsU2VydmljZV1cIiBkZSBhcXXDrSFcbn0pXG5leHBvcnQgY2xhc3MgUmVkU3lzUmVkaXJlY3RFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgbWV0aG9kID0gbnVsbDtcbiAgICBASW5wdXQoKSB0b3RhbF9hbW91bnQgPSAwO1xuICAgIEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBASW5wdXQoKSB1c2VyX2RhdGEgPSBudWxsO1xuICAgIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlJykgcHJvdGVjdGVkIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIFxuICAgIHByb3RlY3RlZCBtb2RhbFJlZjogQnNNb2RhbFJlZiB8IG51bGw7XG4gICAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuICAgIHB1YmxpYyBpc0RvYmxlQXV0aCA9IGZhbHNlO1xuICAgIHB1YmxpYyB1cmxzID0gW107XG4gICAgcHVibGljIGNsb3NlTW9kYWxSZWFzb24gPSAnJzsgLy8gUmVub21icmFkbyBwYXJhIGV2aXRhciBjb25mdXNpw7NuXG4gICAgcHJpdmF0ZSBzdGF0ZVRpbWVvdXQ6IGFueTsgLy8gUmVmZXJlbmNpYSBwYXJhIGV2aXRhciBtZW1vcnkgbGVha3NcblxuICAgIHByb3RlY3RlZCBkYXRhUmVkaXJlY3QgPSAoKSA9PiB0aGlzLmNvbnN0cy5nZXRVcmxCYXNlKCkgKydzaG9wLWFwaS8nICsgdGhpcy5jb25zdHMuZ2V0Q2hhbm5lbCgpICsgJy9yZWRzeXMvcmVkaXJlY3QvJyArIHRoaXMuY2FydFNlcnZpY2UuY2FydF90b2tlbiArICcvcHJvY2Vzcy1wYXltZW50JztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMiwgXG4gICAgICAgIHB1YmxpYyBjb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSwgXG4gICAgICAgIHB1YmxpYyB0b2FzdHJTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBjb25zdHM6IENvbnN0YW50cywgXG4gICAgICAgIHB1YmxpYyBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsIFxuICAgICAgICBwdWJsaWMgYWN0aXZlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHVibGljIG1vZGFsU2VydmljZTogQnNNb2RhbFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZWNPbkluaXQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJTRSBERVNUUk9aQVwiKTtcbiAgICAgICAgLy8gTGltcGlhciBlbCBzZXRUaW1lb3V0IGFsIHNhbGlyIGRlbCBjb21wb25lbnRlXG4gICAgICAgIGlmICh0aGlzLnN0YXRlVGltZW91dCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc3RhdGVUaW1lb3V0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICBjb25zb2xlLmxvZyhcIlNFIENBTUJJT1wiKTtcbiAgICB9XG4gICAgXG4gICAgb3Blbk1vZGFsKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIHRoaXMuY2xlYXJTdG9yYWdlU3RhdGUoKTtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnZGF0YVJlZGlyZWN0JywgdGhpcy5kYXRhUmVkaXJlY3QoKSk7XG4gICAgICAgIC8vIEFicmltb3MgZWwgbW9kYWwgeSBndWFyZGFtb3MgbGEgcmVmZXJlbmNpYSBlbiB0aGlzLm1vZGFsUmVmXG4gICAgICAgIHRoaXMubW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5zaG93KHRlbXBsYXRlLCB7IGNsYXNzOiAnbW9kYWwtbGcgbW9kYWwtZGlhbG9nLWNlbnRlcmVkJywga2V5Ym9hcmQ6IGZhbHNlLCBiYWNrZHJvcDogJ3N0YXRpYycsIGFuaW1hdGVkOiB0cnVlIH0pO1xuICAgICAgICB0aGlzLmNsb3NlTW9kYWxSZWFzb24gPSAnJztcbiAgICAgICAgdGhpcy5jYWxsU3RhdGUoKTtcbiAgICB9XG5cbiAgICBjbGVhclN0b3JhZ2VTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnc3RhdGUnKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3N0YXRlJyk7XG4gICAgfVxuXG4gICAgLy8gTcOpdG9kbyBxdWUgc2UgbGxhbWEgZGVzZGUgbGEgWCBkZSBsYSBjYWJlY2VyYSBkZWwgbW9kYWwgZW4gZWwgSFRNTFxuICAgIGNsaWNrQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbFJlYXNvbiA9ICdjYW5jZWwnO1xuICAgICAgICBpZiAodGhpcy5tb2RhbFJlZikge1xuICAgICAgICAgICAgdGhpcy5tb2RhbFJlZi5oaWRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcm9jZXNzRXJyb3IoJ1NlIGNhbmNlbMOzIGVsIHBhZ28gY29uIHRhcmpldGEnKTtcbiAgICB9XG5cbiAgICBjYWxsU3RhdGUgPSAoKSA9PiB7XG4gICAgICAgIGxldCBzdGF0ZSA9IHRoaXMuY2xvc2VNb2RhbFJlYXNvbiAhPSAnJyA/IHRoaXMuY2xvc2VNb2RhbFJlYXNvbiA6IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3N0YXRlJyk7XG4gICAgICAgIFxuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTdG9yYWdlU3RhdGUoKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKHN0YXRlID09ICdvaycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGFsUmVmPy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkeS5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgIHJldHVybjsgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PSAnbWVub3N1bm8nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb2RhbFJlZj8uaGlkZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKCdFcnJvciBlbiBlbCBwYWdvJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuOyAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0YXRlID09ICdjYW5jZWwnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBFbCBtb2RhbCB5YSBzZSBlc2NvbmRpw7MgZGVudHJvIGRlIGNsaWNrQ2xvc2UoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLm1vZGFsUmVmPy5oaWRlKCk7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NFcnJvcignRXJyb3IgZGVzY29ub2NpZG8gZW4gbGEgdHJhbnNhY2Npw7NuJyk7XG4gICAgICAgICAgICByZXR1cm47ICBcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8gR3VhcmRhbW9zIGVsIHRpbWVvdXQgZW4gdW5hIHZhcmlhYmxlIGRlIGNsYXNlXG4gICAgICAgIHRoaXMuc3RhdGVUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNhbGxTdGF0ZSgpO1xuICAgICAgICB9LCA2MDAwKTsgICAgXG4gICAgfVxuXG4gICAgcHJvY2Vzc0Vycm9yID0gKGVycikgPT4ge1xuICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2Uuc2hvdyhlcnIgIT0gJycgPyBlcnIgOiAncGF5bWVudC1lcnJvcicpO1xuICAgICAgICBjb25zb2xlLmxvZyhcIkVSUk9SIEVOVklPIEJBQ0sgIFwiLCBlcnIpO1xuICAgIH1cblxuICAgIC8vIE9wY2lvbmFsIHBlcm8gcmVjb21lbmRhZG86IENhcHR1cmFyIG1lbnNhamVzIGVudmlhZG9zIGRlc2RlIGVsIElmcmFtZSBkZSBSZWRzeXNcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bWVzc2FnZScsIFsnJGV2ZW50J10pXG4gICAgb25NZXNzYWdlKGV2ZW50OiBNZXNzYWdlRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmRhdGEgPT09ICdwYWdvX2NvbXBsZXRhZG8nIHx8IGV2ZW50LmRhdGEgPT09ICdvaycpIHtcbiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3N0YXRlJywgJ29rJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuZGF0YSA9PT0gJ3BhZ29fZXJyb3InIHx8IGV2ZW50LmRhdGEgPT09ICdtZW5vc3VubycpIHtcbiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3N0YXRlJywgJ21lbm9zdW5vJyk7XG4gICAgICAgIH1cbiAgICB9XG59Il19
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkc3lzLXJlZGlyZWN0LWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvd2lkZ2V0cy1lYy9yZWRzeXMtcmVkaXJlY3QtZWMvcmVkc3lzLXJlZGlyZWN0LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFRcEUsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBMEIsU0FBUSxlQUFlO0lBa0IxRCxZQUNXLFFBQW1CLEVBQ25CLFVBQTZCLEVBQzdCLGFBQTJCLEVBQzNCLE1BQWlCLEVBQ2pCLFdBQXdCLEVBQ3hCLFlBQTRCLEVBQzVCLFlBQTRCO1FBRW5DLEtBQUssRUFBRSxDQUFDO1FBUkQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FB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S0FHbkQsQ0FBQztHQUNXLHlCQUF5QixDQXdLckM7U0F4S1kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBJbnB1dCwgUmVuZGVyZXIyLCBPbkNoYW5nZXMsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSwgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcGkvY29ubmVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS5jb25zdHMnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtcmVkc3lzLXJlZGlyZWN0LWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3JlZHN5cy1yZWRpcmVjdC1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ3JlZHN5cy1yZWRpcmVjdC1lYy5jb21wb25lbnQuc2NzcyddXG4gICAgLy8gwqFJTVBPUlRBTlRFOiBTZSBoYSBlbGltaW5hZG8gXCJwcm92aWRlcnM6IFtCc01vZGFsU2VydmljZV1cIiBkZSBhcXXDrSFcbn0pXG5leHBvcnQgY2xhc3MgUmVkU3lzUmVkaXJlY3RFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgbWV0aG9kID0gbnVsbDtcbiAgICBASW5wdXQoKSB0b3RhbF9hbW91bnQgPSAwO1xuICAgIEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBASW5wdXQoKSB1c2VyX2RhdGEgPSBudWxsO1xuICAgIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlJykgcHJvdGVjdGVkIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIFxuICAgIHByb3RlY3RlZCBtb2RhbFJlZjogQnNNb2RhbFJlZiB8IG51bGw7XG4gICAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuICAgIHB1YmxpYyBpc0RvYmxlQXV0aCA9IGZhbHNlO1xuICAgIHB1YmxpYyB1cmxzID0gW107XG4gICAgcHVibGljIGNsb3NlTW9kYWxSZWFzb24gPSAnJzsgLy8gUmVub21icmFkbyBwYXJhIGV2aXRhciBjb25mdXNpw7NuXG4gICAgcHJpdmF0ZSBzdGF0ZVRpbWVvdXQ6IGFueTsgLy8gUmVmZXJlbmNpYSBwYXJhIGV2aXRhciBtZW1vcnkgbGVha3NcbiAgICBwcml2YXRlIGZpbmlzaGVkID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgZGF0YVJlZGlyZWN0ID0gKCkgPT4gdGhpcy5jb25zdHMuZ2V0VXJsQmFzZSgpICsnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RzLmdldENoYW5uZWwoKSArICcvcmVkc3lzL3JlZGlyZWN0LycgKyB0aGlzLmNhcnRTZXJ2aWNlLmNhcnRfdG9rZW4gKyAnL3Byb2Nlc3MtcGF5bWVudCc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIFxuICAgICAgICBwdWJsaWMgY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UsIFxuICAgICAgICBwdWJsaWMgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsIFxuICAgICAgICBwdWJsaWMgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLCBcbiAgICAgICAgcHVibGljIGFjdGl2ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHB1YmxpYyBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmVjT25Jbml0KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiU0UgREVTVFJPWkFcIik7XG4gICAgICAgIC8vIExpbXBpYXIgZWwgc2V0VGltZW91dCBhbCBzYWxpciBkZWwgY29tcG9uZW50ZVxuICAgICAgICBpZiAodGhpcy5zdGF0ZVRpbWVvdXQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnN0YXRlVGltZW91dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJTRSBDQU1CSU9cIik7XG4gICAgfVxuICAgIFxuICAgIG9wZW5Nb2RhbCh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLmNsZWFyU3RvcmFnZVN0YXRlKCk7XG4gICAgICAgIHRoaXMuZmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnZGF0YVJlZGlyZWN0JywgdGhpcy5kYXRhUmVkaXJlY3QoKSk7XG4gICAgICAgIC8vIEFicmltb3MgZWwgbW9kYWwgeSBndWFyZGFtb3MgbGEgcmVmZXJlbmNpYSBlbiB0aGlzLm1vZGFsUmVmXG4gICAgICAgIHRoaXMubW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5zaG93KHRlbXBsYXRlLCB7IGNsYXNzOiAnbW9kYWwtbGcgbW9kYWwtZGlhbG9nLWNlbnRlcmVkJywga2V5Ym9hcmQ6IGZhbHNlLCBiYWNrZHJvcDogJ3N0YXRpYycsIGFuaW1hdGVkOiB0cnVlIH0pO1xuICAgICAgICB0aGlzLmNsb3NlTW9kYWxSZWFzb24gPSAnJztcbiAgICAgICAgdGhpcy5jYWxsU3RhdGUoKTtcbiAgICB9XG5cbiAgICBjbGVhclN0b3JhZ2VTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnc3RhdGUnKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3N0YXRlJyk7XG4gICAgfVxuXG4gICAgLy8gTcOpdG9kbyBxdWUgc2UgbGxhbWEgZGVzZGUgbGEgWCBkZSBsYSBjYWJlY2VyYSBkZWwgbW9kYWwgZW4gZWwgSFRNTFxuICAgIGNsaWNrQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbFJlYXNvbiA9ICdjYW5jZWwnO1xuICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGVUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zdGF0ZVRpbWVvdXQpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVRpbWVvdXQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm1vZGFsUmVmKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGFsUmVmLmhpZGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByb2Nlc3NFcnJvcignU2UgY2FuY2Vsw7MgZWwgcGFnbyBjb24gdGFyamV0YScpO1xuICAgIH1cblxuICAgIGNhbGxTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZmluaXNoZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBzdGF0ZSA9IHRoaXMuY2xvc2VNb2RhbFJlYXNvbiAhPSAnJyA/IHRoaXMuY2xvc2VNb2RhbFJlYXNvbiA6IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3N0YXRlJyk7XG4gICAgICAgIFxuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU3RhdGUoc3RhdGUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBHdWFyZGFtb3MgZWwgdGltZW91dCBlbiB1bmEgdmFyaWFibGUgZGUgY2xhc2VcbiAgICAgICAgdGhpcy5zdGF0ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FsbFN0YXRlKCk7XG4gICAgICAgIH0sIDYwMDApOyAgICBcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVN0YXRlID0gKHN0YXRlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZmluaXNoZWQpIHJldHVybjtcblxuICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGVUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zdGF0ZVRpbWVvdXQpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVRpbWVvdXQgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jbGVhclN0b3JhZ2VTdGF0ZSgpO1xuXG4gICAgICAgIGlmIChzdGF0ZSA9PT0gJ29rJykge1xuICAgICAgICAgICAgdGhpcy5tb2RhbFJlZj8uaGlkZSgpO1xuICAgICAgICAgICAgdGhpcy5yZWFkeS5lbWl0KHRydWUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXRlID09PSAnbWVub3N1bm8nIHx8IHN0YXRlID09PSAnZXJyb3InIHx8IHN0YXRlID09PSAnZmFpbHVyZScpIHtcbiAgICAgICAgICAgIHRoaXMubW9kYWxSZWY/LmhpZGUoKTtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKCdFcnJvciBlbiBlbCBwYWdvJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3RhdGUgPT09ICdjYW5jZWwnKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGFsUmVmPy5oaWRlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1vZGFsUmVmPy5oaWRlKCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKCdFcnJvciBkZXNjb25vY2lkbyBlbiBsYSB0cmFuc2FjY2nDs24nKTtcbiAgICB9XG5cbiAgICBwcm9jZXNzRXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KGVyciAhPSAnJyA/IGVyciA6ICdwYXltZW50LWVycm9yJyk7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiRVJST1IgRU5WSU8gQkFDSyAgXCIsIGVycik7XG4gICAgfVxuXG4gICAgLy8gT3BjaW9uYWwgcGVybyByZWNvbWVuZGFkbzogQ2FwdHVyYXIgbWVuc2FqZXMgZW52aWFkb3MgZGVzZGUgZWwgSWZyYW1lIGRlIFJlZHN5c1xuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptZXNzYWdlJywgWyckZXZlbnQnXSlcbiAgICBvbk1lc3NhZ2UoZXZlbnQ6IE1lc3NhZ2VFdmVudCkge1xuICAgICAgICBjb25zdCBkYXRhOiBhbnkgPSBldmVudD8uZGF0YTtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgID8gZGF0YVxuICAgICAgICAgICAgOiBkYXRhPy5zdGF0ZSB8fCBkYXRhPy5zdGF0dXMgfHwgZGF0YT8ucmVzdWx0IHx8IG51bGw7XG5cbiAgICAgICAgaWYgKCFzdGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXRlID09PSAncGFnb19jb21wbGV0YWRvJyB8fCBzdGF0ZSA9PT0gJ29rJyB8fCBzdGF0ZSA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVN0YXRlKCdvaycpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXRlID09PSAncGFnb19lcnJvcicgfHwgc3RhdGUgPT09ICdtZW5vc3VubycgfHwgc3RhdGUgPT09ICdlcnJvcicgfHwgc3RhdGUgPT09ICdmYWlsdXJlJykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTdGF0ZSgnbWVub3N1bm8nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzdG9yYWdlJywgWyckZXZlbnQnXSlcbiAgICBvblN0b3JhZ2UoZXZlbnQ6IFN0b3JhZ2VFdmVudCkge1xuICAgICAgICBpZiAoIWV2ZW50Py5rZXkgfHwgZXZlbnQua2V5ICE9PSAnc3RhdGUnIHx8ICFldmVudC5uZXdWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50Lm5ld1ZhbHVlID09PSAnb2snIHx8IGV2ZW50Lm5ld1ZhbHVlID09PSAnc3VjY2VzcycpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU3RhdGUoJ29rJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQubmV3VmFsdWUgPT09ICdtZW5vc3VubycgfHwgZXZlbnQubmV3VmFsdWUgPT09ICdlcnJvcicgfHwgZXZlbnQubmV3VmFsdWUgPT09ICdmYWlsdXJlJykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTdGF0ZSgnbWVub3N1bm8nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -49,7 +49,7 @@ let RedSysRedirectOutEcComponent = class RedSysRedirectOutEcComponent extends Co
49
49
  (_a = this.ventana) === null || _a === void 0 ? void 0 : _a.close();
50
50
  };
51
51
  this.callState = () => {
52
- var _a, _b, _c, _d, _e;
52
+ var _a, _b, _c, _d;
53
53
  let state = this.closeModal != '' ? this.closeModal : localStorage.getItem('state');
54
54
  !state && this.ventana.closed && (state = 'cancel');
55
55
  this.loading = true;
@@ -57,27 +57,22 @@ let RedSysRedirectOutEcComponent = class RedSysRedirectOutEcComponent extends Co
57
57
  if (state) {
58
58
  this.loading = false;
59
59
  localStorage.removeItem('state');
60
- if (state == 'success' || state == 'ok') {
60
+ if (state == 'success' || state == 'ok' || state == 'pending') {
61
61
  (_a = this.ventana) === null || _a === void 0 ? void 0 : _a.close();
62
62
  this.ready.emit(true);
63
63
  return;
64
64
  }
65
- if (state == 'pending' || state == 'ok') {
65
+ if (state == 'failure' || state == 'error' || state == 'menosuno') {
66
66
  (_b = this.ventana) === null || _b === void 0 ? void 0 : _b.close();
67
- this.ready.emit(true);
68
- return;
69
- }
70
- if (state == 'failure' || state == 'error') {
71
- (_c = this.ventana) === null || _c === void 0 ? void 0 : _c.close();
72
67
  this.processError('');
73
68
  return;
74
69
  }
75
70
  if (state == 'cancel') {
76
- (_d = this.ventana) === null || _d === void 0 ? void 0 : _d.close();
71
+ (_c = this.ventana) === null || _c === void 0 ? void 0 : _c.close();
77
72
  this.processError('Se cancelo el pago con redsys');
78
73
  return;
79
74
  }
80
- (_e = this.ventana) === null || _e === void 0 ? void 0 : _e.close();
75
+ (_d = this.ventana) === null || _d === void 0 ? void 0 : _d.close();
81
76
  this.processError('');
82
77
  return;
83
78
  }
@@ -142,4 +137,4 @@ RedSysRedirectOutEcComponent = __decorate([
142
137
  })
143
138
  ], RedSysRedirectOutEcComponent);
144
139
  export { RedSysRedirectOutEcComponent };
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkc3lzLXJlZGlyZWN0LW91dC1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L3dpZGdldHMtZWMvcmVkc3lzLXJlZGlyZWN0LW91dC1lYy9yZWRzeXMtcmVkaXJlY3Qtb3V0LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUosT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVFuRixJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE2QixTQUFRLGVBQWU7SUFrQjdELFlBQW1CLFFBQW1CLEVBQzNCLFVBQTZCLEVBQzdCLGFBQTJCLEVBQzNCLE1BQWlCLEVBQ2pCLFdBQXdCLEVBQ3hCLE1BQW9CLEVBQ3BCLFlBQTRCLEVBQzNCLFNBQXVCO1FBQy9CLEtBQUssRUFBRSxDQUFDO1FBUk8sYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUMzQixl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Q2hFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNQLDhCQUE4QjtJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNQLDRCQUE0QjtJQUNoQyxDQUFDO0NBb0VKLENBQUE7O1lBN0ZnQyxTQUFTO1lBQ2YsaUJBQWlCO1lBQ2QsWUFBWTtZQUNuQixTQUFTO1lBQ0osV0FBVztZQUNoQixZQUFZO1lBQ04sY0FBYztZQUNoQixZQUFZOztBQXZCMUI7SUFBUixLQUFLLEVBQUU7NERBQWU7QUFDZDtJQUFSLEtBQUssRUFBRTtrRUFBa0I7QUFDakI7SUFBUixLQUFLLEVBQUU7K0RBQWtCO0FBQ2pCO0lBQVIsS0FBSyxFQUFFO3dFQUFvQjtBQUNuQjtJQUFSLEtBQUssRUFBRTs2REFBUztBQUNQO0lBQVQsTUFBTSxFQUFFOzJEQUE0QjtBQVA1Qiw0QkFBNEI7SUFMeEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLDRCQUE0QjtRQUN0QyxzaERBQW9EOztLQUV2RCxDQUFDO0dBQ1csNEJBQTRCLENBK0d4QztTQS9HWSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE91dHB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIEluamVjdCwgT25DaGFuZ2VzLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gXCIuLi8uLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXJcIjtcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2Nvbm5lY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5kZWNsYXJlIHZhciAkIDogYW55IFxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1yZWRzeXMtcmVkaXJlY3Qtb3V0LWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3JlZHN5cy1yZWRpcmVjdC1vdXQtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydyZWRzeXMtcmVkaXJlY3Qtb3V0LWVjLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFJlZFN5c1JlZGlyZWN0T3V0RWNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRIZWxwZXIgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICAgIEBJbnB1dCgpIG1ldGhvZCA9IG51bGw7XG4gICAgQElucHV0KCkgdG90YWxfYW1vdW50ID0gMDtcbiAgICBASW5wdXQoKSB1c2VyX2RhdGEgPSBudWxsO1xuICAgIEBJbnB1dCgpIHBheW1lbnRTZXJ2aWNlSW5zdDtcbiAgICBASW5wdXQoKSBhbGxEYXRhO1xuICAgIEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBwcm90ZWN0ZWQgcHJlZmVyZW5jZTtcblxuICAgIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG4gICAgcHVibGljIGlzRG9ibGVBdXRoID0gZmFsc2U7XG4gICAgcHVibGljIHVybHMgPSBbXTtcbiAgICBwdWJsaWMgdXJsO1xuICAgIHB1YmxpYyBjbG9zZU1vZGFsID0gJydcbiAgICBwdWJsaWMgdmVudGFuYVxuICAgIHByb3RlY3RlZCBkYXRhUmVkaXJlY3QgPSAoKSA9PiB0aGlzLmNvbnN0cy5nZXRVcmxCYXNlKCkgKydzaG9wLWFwaS8nICsgdGhpcy5jb25zdHMuZ2V0Q2hhbm5lbCgpICsgJy9yZWRzeXMvcmVkaXJlY3QvJyArIHRoaXMuY2FydFNlcnZpY2UuY2FydF90b2tlbiArICcvcHJvY2Vzcy1wYXltZW50JztcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLCBcbiAgICAgICAgcHVibGljIGNvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlLCBcbiAgICAgICAgcHVibGljIHRvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICAgICAgcHVibGljIGNvbnN0czogQ29uc3RhbnRzLCBcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSwgXG4gICAgICAgIHB1YmxpYyB0b2FzdHI6IFRvYXN0U2VydmljZSwgXG4gICAgICAgIHB1YmxpYyBhY3RpdmVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cmwgPSBcIi4uLy4uLy4uL2Fzc2V0cy9yZWRzeXNGcmFtZVJlZGlyZWN0T3V0QmFzZS5odG1sXCJcbiAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIlNFIERFU1RST1pBXCIpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIlNFIENBTUJJT1wiKTtcbiAgICB9XG5cbiAgICBpbmljaWFyID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTW9kYWwgPSAnJ1xuICAgICAgICB0aGlzLmNsZWFyU3RvcmFnZVN0YXRlKClcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2RhdGFSZWRpcmVjdCcsIHRoaXMuZGF0YVJlZGlyZWN0KCkpXG4gICAgICAgIHRoaXMudmVudGFuYSA9IHdpbmRvdy5vcGVuKHRoaXMudXJsKVxuICAgICAgICB0aGlzLmNhbGxTdGF0ZSgpXG4gICAgfVxuXG4gICAgY2xlYXJTdG9yYWdlU3RhdGUgPSAoKSA9PiB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ3N0YXRlJylcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3N0YXRlJylcbiAgICB9XG5cbiAgICBjbGlja0Nsb3NlID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTW9kYWwgPSAnY2FuY2VsJ1xuICAgICAgICB0aGlzLnZlbnRhbmE/LmNsb3NlKClcbiAgICB9XG5cbiAgICBjYWxsU3RhdGUgPSAoKSA9PiB7XG4gICAgICAgIGxldCBzdGF0ZSA9IHRoaXMuY2xvc2VNb2RhbCAhPSAnJyA/IHRoaXMuY2xvc2VNb2RhbCA6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdGF0ZScpXG4gICAgICAgICFzdGF0ZSAmJiB0aGlzLnZlbnRhbmEuY2xvc2VkICYmIChzdGF0ZSA9ICdjYW5jZWwnKVxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgICAgIHN0YXRlICYmIGNvbnNvbGUubG9nKHN0YXRlKTtcbiAgICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3N0YXRlJylcbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PSAnc3VjY2VzcycgfHwgc3RhdGUgPT0gJ29rJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKVxuICAgICAgICAgICAgICAgIHRoaXMucmVhZHkuZW1pdCh0cnVlKVxuICAgICAgICAgICAgICAgIHJldHVybiAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0YXRlID09ICdwZW5kaW5nJyB8fCBzdGF0ZSA9PSAnb2snKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZW50YW5hPy5jbG9zZSgpXG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkeS5lbWl0KHRydWUpXG4gICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc3RhdGUgPT0gJ2ZhaWx1cmUnIHx8IHN0YXRlID09ICdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZlbnRhbmE/LmNsb3NlKClcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NFcnJvcignJylcbiAgICAgICAgICAgICAgICByZXR1cm4gICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PSAnY2FuY2VsJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKVxuICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKCdTZSBjYW5jZWxvIGVsIHBhZ28gY29uIHJlZHN5cycpXG4gICAgICAgICAgICAgICAgcmV0dXJuICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnZlbnRhbmE/LmNsb3NlKClcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKCcnKVxuICAgICAgICAgICAgcmV0dXJuICBcbiAgICAgICAgfVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FsbFN0YXRlKClcbiAgICAgICAgfSwgNTAwMCk7ICAgIFxuICAgICAgICBcbiAgICB9XG5cbiAgICBwcm9jZXNzRXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KGVyciAhPSAnJyA/IGVyciA6ICdwYXltZW50LWVycm9yJyk7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiRVJST1IgRU5WSU8gQkFDSyAgXCIsIGVycik7XG4gICAgfVxuXG5cbiAgICBzZXRFcnJvciA9IChtZXNzYWdlKSA9PiB7XG4gICAgICAgIFxuICAgIH1cblxufVxuXG4iXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkc3lzLXJlZGlyZWN0LW91dC1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L3dpZGdldHMtZWMvcmVkc3lzLXJlZGlyZWN0LW91dC1lYy9yZWRzeXMtcmVkaXJlY3Qtb3V0LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUosT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVFuRixJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE2QixTQUFRLGVBQWU7SUFrQjdELFlBQW1CLFFBQW1CLEVBQzNCLFVBQTZCLEVBQzdCLGFBQTJCLEVBQzNCLE1BQWlCLEVBQ2pCLFdBQXdCLEVBQ3hCLE1BQW9CLEVBQ3BCLFlBQTRCLEVBQzNCLFNBQXVCO1FBQy9CLEtBQUssRUFBRSxDQUFDO1FBUk8sYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUMzQixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDcEIsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQzNCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUF2QjFCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBR2hCLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRzlCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVWLGVBQVUsR0FBRyxFQUFFLENBQUE7UUFFWixpQkFBWSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEdBQUUsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEdBQUcsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQUM7UUE2QnpLLFlBQU8sR0FBRyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQTtZQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtZQUN4QixZQUFZLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQTtZQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3BDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtRQUNwQixDQUFDLENBQUE7UUFFRCxzQkFBaUIsR0FBRyxHQUFHLEVBQUU7WUFDckIsY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUNsQyxZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3BDLENBQUMsQ0FBQTtRQUVELGVBQVUsR0FBRyxHQUFHLEVBQUU7O1lBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUE7WUFDMUIsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxLQUFLLEdBQUU7UUFDekIsQ0FBQyxDQUFBO1FBRUQsY0FBUyxHQUFHLEdBQUcsRUFBRTs7WUFDYixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUNuRixDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsQ0FBQTtZQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtZQUNuQixLQUFLLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixJQUFJLEtBQUssRUFBRTtnQkFDUCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtnQkFDcEIsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtnQkFDaEMsSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLFNBQVMsRUFBRTtvQkFDM0QsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxLQUFLLEdBQUU7b0JBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO29CQUNyQixPQUFNO2lCQUNUO2dCQUNELElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxLQUFLLElBQUksT0FBTyxJQUFJLEtBQUssSUFBSSxVQUFVLEVBQUU7b0JBQy9ELE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsS0FBSyxHQUFFO29CQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFBO29CQUNyQixPQUFNO2lCQUNUO2dCQUNELElBQUksS0FBSyxJQUFJLFFBQVEsRUFBRTtvQkFDbkIsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxLQUFLLEdBQUU7b0JBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsK0JBQStCLENBQUMsQ0FBQTtvQkFDbEQsT0FBTTtpQkFDVDtnQkFDRCxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLEtBQUssR0FBRTtnQkFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFDckIsT0FBTTthQUNUO1lBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7WUFDcEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWIsQ0FBQyxDQUFBO1FBRUQsaUJBQVksR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUE7UUFHRCxhQUFRLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUV2QixDQUFDLENBQUE7UUE3RUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFFRCxRQUFRO1FBQ0osVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxHQUFHLEdBQUcsaURBQWlELENBQUE7UUFDaEUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1AsOEJBQThCO0lBQ2xDLENBQUM7SUFFRCxXQUFXO1FBQ1AsNEJBQTRCO0lBQ2hDLENBQUM7Q0ErREosQ0FBQTs7WUF4RmdDLFNBQVM7WUFDZixpQkFBaUI7WUFDZCxZQUFZO1lBQ25CLFNBQVM7WUFDSixXQUFXO1lBQ2hCLFlBQVk7WUFDTixjQUFjO1lBQ2hCLFlBQVk7O0FBdkIxQjtJQUFSLEtBQUssRUFBRTs0REFBZTtBQUNkO0lBQVIsS0FBSyxFQUFFO2tFQUFrQjtBQUNqQjtJQUFSLEtBQUssRUFBRTsrREFBa0I7QUFDakI7SUFBUixLQUFLLEVBQUU7d0VBQW9CO0FBQ25CO0lBQVIsS0FBSyxFQUFFOzZEQUFTO0FBQ1A7SUFBVCxNQUFNLEVBQUU7MkRBQTRCO0FBUDVCLDRCQUE0QjtJQUx4QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsNEJBQTRCO1FBQ3RDLHNoREFBb0Q7O0tBRXZELENBQUM7R0FDVyw0QkFBNEIsQ0EwR3hDO1NBMUdZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiwgSW5qZWN0LCBPbkNoYW5nZXMsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSBcIi4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlclwiO1xuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcGkvY29ubmVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS5jb25zdHMnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmRlY2xhcmUgdmFyICQgOiBhbnkgXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXJlZHN5cy1yZWRpcmVjdC1vdXQtZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAncmVkc3lzLXJlZGlyZWN0LW91dC1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ3JlZHN5cy1yZWRpcmVjdC1vdXQtZWMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVkU3lzUmVkaXJlY3RPdXRFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgbWV0aG9kID0gbnVsbDtcbiAgICBASW5wdXQoKSB0b3RhbF9hbW91bnQgPSAwO1xuICAgIEBJbnB1dCgpIHVzZXJfZGF0YSA9IG51bGw7XG4gICAgQElucHV0KCkgcGF5bWVudFNlcnZpY2VJbnN0O1xuICAgIEBJbnB1dCgpIGFsbERhdGE7XG4gICAgQE91dHB1dCgpIHJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIHByb3RlY3RlZCBwcmVmZXJlbmNlO1xuXG4gICAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNEb2JsZUF1dGggPSBmYWxzZTtcbiAgICBwdWJsaWMgdXJscyA9IFtdO1xuICAgIHB1YmxpYyB1cmw7XG4gICAgcHVibGljIGNsb3NlTW9kYWwgPSAnJ1xuICAgIHB1YmxpYyB2ZW50YW5hXG4gICAgcHJvdGVjdGVkIGRhdGFSZWRpcmVjdCA9ICgpID0+IHRoaXMuY29uc3RzLmdldFVybEJhc2UoKSArJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0cy5nZXRDaGFubmVsKCkgKyAnL3JlZHN5cy9yZWRpcmVjdC8nICsgdGhpcy5jYXJ0U2VydmljZS5jYXJ0X3Rva2VuICsgJy9wcm9jZXNzLXBheW1lbnQnO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIFxuICAgICAgICBwdWJsaWMgY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UsIFxuICAgICAgICBwdWJsaWMgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsIFxuICAgICAgICBwdWJsaWMgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLCBcbiAgICAgICAgcHVibGljIHRvYXN0cjogVG9hc3RTZXJ2aWNlLCBcbiAgICAgICAgcHVibGljIGFjdGl2ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KClcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVybCA9IFwiLi4vLi4vLi4vYXNzZXRzL3JlZHN5c0ZyYW1lUmVkaXJlY3RPdXRCYXNlLmh0bWxcIlxuICAgICAgICB9LCAxMDAwKTtcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiU0UgREVTVFJPWkFcIik7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiU0UgQ0FNQklPXCIpO1xuICAgIH1cblxuICAgIGluaWNpYXIgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbCA9ICcnXG4gICAgICAgIHRoaXMuY2xlYXJTdG9yYWdlU3RhdGUoKVxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZGF0YVJlZGlyZWN0JywgdGhpcy5kYXRhUmVkaXJlY3QoKSlcbiAgICAgICAgdGhpcy52ZW50YW5hID0gd2luZG93Lm9wZW4odGhpcy51cmwpXG4gICAgICAgIHRoaXMuY2FsbFN0YXRlKClcbiAgICB9XG5cbiAgICBjbGVhclN0b3JhZ2VTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnc3RhdGUnKVxuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnc3RhdGUnKVxuICAgIH1cblxuICAgIGNsaWNrQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbCA9ICdjYW5jZWwnXG4gICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKVxuICAgIH1cblxuICAgIGNhbGxTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgbGV0IHN0YXRlID0gdGhpcy5jbG9zZU1vZGFsICE9ICcnID8gdGhpcy5jbG9zZU1vZGFsIDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3N0YXRlJylcbiAgICAgICAgIXN0YXRlICYmIHRoaXMudmVudGFuYS5jbG9zZWQgJiYgKHN0YXRlID0gJ2NhbmNlbCcpXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICAgICAgc3RhdGUgJiYgY29uc29sZS5sb2coc3RhdGUpO1xuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnc3RhdGUnKVxuICAgICAgICAgICAgaWYgKHN0YXRlID09ICdzdWNjZXNzJyB8fCBzdGF0ZSA9PSAnb2snIHx8IHN0YXRlID09ICdwZW5kaW5nJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKVxuICAgICAgICAgICAgICAgIHRoaXMucmVhZHkuZW1pdCh0cnVlKVxuICAgICAgICAgICAgICAgIHJldHVybiAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0YXRlID09ICdmYWlsdXJlJyB8fCBzdGF0ZSA9PSAnZXJyb3InIHx8IHN0YXRlID09ICdtZW5vc3VubycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZlbnRhbmE/LmNsb3NlKClcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NFcnJvcignJylcbiAgICAgICAgICAgICAgICByZXR1cm4gICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PSAnY2FuY2VsJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKVxuICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKCdTZSBjYW5jZWxvIGVsIHBhZ28gY29uIHJlZHN5cycpXG4gICAgICAgICAgICAgICAgcmV0dXJuICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnZlbnRhbmE/LmNsb3NlKClcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKCcnKVxuICAgICAgICAgICAgcmV0dXJuICBcbiAgICAgICAgfVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FsbFN0YXRlKClcbiAgICAgICAgfSwgNTAwMCk7ICAgIFxuICAgICAgICBcbiAgICB9XG5cbiAgICBwcm9jZXNzRXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KGVyciAhPSAnJyA/IGVyciA6ICdwYXltZW50LWVycm9yJyk7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiRVJST1IgRU5WSU8gQkFDSyAgXCIsIGVycik7XG4gICAgfVxuXG5cbiAgICBzZXRFcnJvciA9IChtZXNzYWdlKSA9PiB7XG4gICAgICAgIFxuICAgIH1cblxufVxuIl19
@@ -44,6 +44,7 @@ var RedSysRedirectEcComponent = /** @class */ (function (_super) {
44
44
  _this.isDobleAuth = false;
45
45
  _this.urls = [];
46
46
  _this.closeModalReason = ''; // Renombrado para evitar confusión
47
+ _this.finished = false;
47
48
  _this.dataRedirect = function () { return _this.consts.getUrlBase() + 'shop-api/' + _this.consts.getChannel() + '/redsys/redirect/' + _this.cartService.cart_token + '/process-payment'; };
48
49
  _this.clearStorageState = function () {
49
50
  sessionStorage.removeItem('state');
@@ -52,31 +53,23 @@ var RedSysRedirectEcComponent = /** @class */ (function (_super) {
52
53
  // Método que se llama desde la X de la cabecera del modal en el HTML
53
54
  _this.clickClose = function () {
54
55
  _this.closeModalReason = 'cancel';
56
+ _this.finished = true;
57
+ if (_this.stateTimeout) {
58
+ clearTimeout(_this.stateTimeout);
59
+ _this.stateTimeout = null;
60
+ }
55
61
  if (_this.modalRef) {
56
62
  _this.modalRef.hide();
57
63
  }
58
64
  _this.processError('Se canceló el pago con tarjeta');
59
65
  };
60
66
  _this.callState = function () {
61
- var _a, _b, _c;
67
+ if (_this.finished) {
68
+ return;
69
+ }
62
70
  var state = _this.closeModalReason != '' ? _this.closeModalReason : sessionStorage.getItem('state');
63
71
  if (state) {
64
- _this.clearStorageState();
65
- if (state == 'ok') {
66
- (_a = _this.modalRef) === null || _a === void 0 ? void 0 : _a.hide();
67
- _this.ready.emit(true);
68
- return;
69
- }
70
- if (state == 'menosuno') {
71
- (_b = _this.modalRef) === null || _b === void 0 ? void 0 : _b.hide();
72
- _this.processError('Error en el pago');
73
- return;
74
- }
75
- if (state == 'cancel') {
76
- return; // El modal ya se escondió dentro de clickClose()
77
- }
78
- (_c = _this.modalRef) === null || _c === void 0 ? void 0 : _c.hide();
79
- _this.processError('Error desconocido en la transacción');
72
+ _this.handleState(state);
80
73
  return;
81
74
  }
82
75
  // Guardamos el timeout en una variable de clase
@@ -84,6 +77,33 @@ var RedSysRedirectEcComponent = /** @class */ (function (_super) {
84
77
  _this.callState();
85
78
  }, 6000);
86
79
  };
80
+ _this.handleState = function (state) {
81
+ var _a, _b, _c, _d;
82
+ if (_this.finished)
83
+ return;
84
+ _this.finished = true;
85
+ if (_this.stateTimeout) {
86
+ clearTimeout(_this.stateTimeout);
87
+ _this.stateTimeout = null;
88
+ }
89
+ _this.clearStorageState();
90
+ if (state === 'ok') {
91
+ (_a = _this.modalRef) === null || _a === void 0 ? void 0 : _a.hide();
92
+ _this.ready.emit(true);
93
+ return;
94
+ }
95
+ if (state === 'menosuno' || state === 'error' || state === 'failure') {
96
+ (_b = _this.modalRef) === null || _b === void 0 ? void 0 : _b.hide();
97
+ _this.processError('Error en el pago');
98
+ return;
99
+ }
100
+ if (state === 'cancel') {
101
+ (_c = _this.modalRef) === null || _c === void 0 ? void 0 : _c.hide();
102
+ return;
103
+ }
104
+ (_d = _this.modalRef) === null || _d === void 0 ? void 0 : _d.hide();
105
+ _this.processError('Error desconocido en la transacción');
106
+ };
87
107
  _this.processError = function (err) {
88
108
  _this.toastrService.show(err != '' ? err : 'payment-error');
89
109
  console.log("ERROR ENVIO BACK ", err);
@@ -102,10 +122,11 @@ var RedSysRedirectEcComponent = /** @class */ (function (_super) {
102
122
  }
103
123
  };
104
124
  RedSysRedirectEcComponent.prototype.ngOnChanges = function () {
105
- console.log("SE CAMBIO");
125
+ // console.log("SE CAMBIO");
106
126
  };
107
127
  RedSysRedirectEcComponent.prototype.openModal = function (template) {
108
128
  this.clearStorageState();
129
+ this.finished = false;
109
130
  sessionStorage.setItem('dataRedirect', this.dataRedirect());
110
131
  // Abrimos el modal y guardamos la referencia en this.modalRef
111
132
  this.modalRef = this.modalService.show(template, { class: 'modal-lg modal-dialog-centered', keyboard: false, backdrop: 'static', animated: true });
@@ -114,11 +135,33 @@ var RedSysRedirectEcComponent = /** @class */ (function (_super) {
114
135
  };
115
136
  // Opcional pero recomendado: Capturar mensajes enviados desde el Iframe de Redsys
116
137
  RedSysRedirectEcComponent.prototype.onMessage = function (event) {
117
- if (event.data === 'pago_completado' || event.data === 'ok') {
118
- sessionStorage.setItem('state', 'ok');
138
+ var _a, _b, _c, _d;
139
+ var data = (_a = event) === null || _a === void 0 ? void 0 : _a.data;
140
+ var state = typeof data === 'string'
141
+ ? data
142
+ : ((_b = data) === null || _b === void 0 ? void 0 : _b.state) || ((_c = data) === null || _c === void 0 ? void 0 : _c.status) || ((_d = data) === null || _d === void 0 ? void 0 : _d.result) || null;
143
+ if (!state) {
144
+ return;
145
+ }
146
+ if (state === 'pago_completado' || state === 'ok' || state === 'success') {
147
+ this.handleState('ok');
148
+ return;
119
149
  }
120
- else if (event.data === 'pago_error' || event.data === 'menosuno') {
121
- sessionStorage.setItem('state', 'menosuno');
150
+ if (state === 'pago_error' || state === 'menosuno' || state === 'error' || state === 'failure') {
151
+ this.handleState('menosuno');
152
+ }
153
+ };
154
+ RedSysRedirectEcComponent.prototype.onStorage = function (event) {
155
+ var _a;
156
+ if (!((_a = event) === null || _a === void 0 ? void 0 : _a.key) || event.key !== 'state' || !event.newValue) {
157
+ return;
158
+ }
159
+ if (event.newValue === 'ok' || event.newValue === 'success') {
160
+ this.handleState('ok');
161
+ return;
162
+ }
163
+ if (event.newValue === 'menosuno' || event.newValue === 'error' || event.newValue === 'failure') {
164
+ this.handleState('menosuno');
122
165
  }
123
166
  };
124
167
  RedSysRedirectEcComponent.ctorParameters = function () { return [
@@ -148,6 +191,9 @@ var RedSysRedirectEcComponent = /** @class */ (function (_super) {
148
191
  __decorate([
149
192
  HostListener('window:message', ['$event'])
150
193
  ], RedSysRedirectEcComponent.prototype, "onMessage", null);
194
+ __decorate([
195
+ HostListener('window:storage', ['$event'])
196
+ ], RedSysRedirectEcComponent.prototype, "onStorage", null);
151
197
  RedSysRedirectEcComponent = __decorate([
152
198
  Component({
153
199
  selector: 'app-redsys-redirect-ec',
@@ -158,4 +204,4 @@ var RedSysRedirectEcComponent = /** @class */ (function (_super) {
158
204
  return RedSysRedirectEcComponent;
159
205
  }(ComponentHelper));
160
206
  export { RedSysRedirectEcComponent };
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkc3lzLXJlZGlyZWN0LWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvd2lkZ2V0cy1lYy9yZWRzeXMtcmVkaXJlY3QtZWMvcmVkc3lzLXJlZGlyZWN0LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEosT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBUXBFO0lBQStDLDZDQUFlO0lBaUIxRCxtQ0FDVyxRQUFtQixFQUNuQixVQUE2QixFQUM3QixhQUEyQixFQUMzQixNQUFpQixFQUNqQixXQUF3QixFQUN4QixZQUE0QixFQUM1QixZQUE0QjtRQVB2QyxZQVNJLGlCQUFPLFNBRVY7UUFWVSxjQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGdCQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixtQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixZQUFN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SUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUNqRSxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUM7O2dCQS9Gb0IsU0FBUztnQkFDUCxpQkFBaUI7Z0JBQ2QsWUFBWTtnQkFDbkIsU0FBUztnQkFDSixXQUFXO2dCQUNWLGNBQWM7Z0JBQ2QsY0FBYzs7SUF0QjlCO1FBQVIsS0FBSyxFQUFFOzZEQUFlO0lBQ2Q7UUFBUixLQUFLLEVBQUU7bUVBQWtCO0lBQ2hCO1FBQVQsTUFBTSxFQUFFOzREQUE0QjtJQUM1QjtRQUFSLEtBQUssRUFBRTtnRUFBa0I7SUFDSDtRQUF0QixTQUFTLENBQUMsVUFBVSxDQUFDOytEQUFzQztJQXFHNUQ7UUFEQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs4REFPMUM7SUFqSFEseUJBQXlCO1FBTnJDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsNjZCQUFnRDs7U0FHbkQsQ0FBQztPQUNXLHlCQUF5QixDQWtIckM7SUFBRCxnQ0FBQztDQUFBLEFBbEhELENBQStDLGVBQWUsR0FrSDdEO1NBbEhZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgSW5wdXQsIFJlbmRlcmVyMiwgT25DaGFuZ2VzLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgVGVtcGxhdGVSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQnNNb2RhbFNlcnZpY2UsIEJzTW9kYWxSZWYgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2Nvbm5lY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXJlZHN5cy1yZWRpcmVjdC1lYycsXG4gICAgdGVtcGxhdGVVcmw6ICdyZWRzeXMtcmVkaXJlY3QtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydyZWRzeXMtcmVkaXJlY3QtZWMuY29tcG9uZW50LnNjc3MnXVxuICAgIC8vIMKhSU1QT1JUQU5URTogU2UgaGEgZWxpbWluYWRvIFwicHJvdmlkZXJzOiBbQnNNb2RhbFNlcnZpY2VdXCIgZGUgYXF1w60hXG59KVxuZXhwb3J0IGNsYXNzIFJlZFN5c1JlZGlyZWN0RWNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRIZWxwZXIgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICAgIEBJbnB1dCgpIG1ldGhvZCA9IG51bGw7XG4gICAgQElucHV0KCkgdG90YWxfYW1vdW50ID0gMDtcbiAgICBAT3V0cHV0KCkgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQElucHV0KCkgdXNlcl9kYXRhID0gbnVsbDtcbiAgICBAVmlld0NoaWxkKCd0ZW1wbGF0ZScpIHByb3RlY3RlZCB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBcbiAgICBwcm90ZWN0ZWQgbW9kYWxSZWY6IEJzTW9kYWxSZWYgfCBudWxsO1xuICAgIHB1YmxpYyBsb2FkaW5nID0gdHJ1ZTtcbiAgICBwdWJsaWMgaXNEb2JsZUF1dGggPSBmYWxzZTtcbiAgICBwdWJsaWMgdXJscyA9IFtdO1xuICAgIHB1YmxpYyBjbG9zZU1vZGFsUmVhc29uID0gJyc7IC8vIFJlbm9tYnJhZG8gcGFyYSBldml0YXIgY29uZnVzacOzblxuICAgIHByaXZhdGUgc3RhdGVUaW1lb3V0OiBhbnk7IC8vIFJlZmVyZW5jaWEgcGFyYSBldml0YXIgbWVtb3J5IGxlYWtzXG5cbiAgICBwcm90ZWN0ZWQgZGF0YVJlZGlyZWN0ID0gKCkgPT4gdGhpcy5jb25zdHMuZ2V0VXJsQmFzZSgpICsnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RzLmdldENoYW5uZWwoKSArICcvcmVkc3lzL3JlZGlyZWN0LycgKyB0aGlzLmNhcnRTZXJ2aWNlLmNhcnRfdG9rZW4gKyAnL3Byb2Nlc3MtcGF5bWVudCc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIFxuICAgICAgICBwdWJsaWMgY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UsIFxuICAgICAgICBwdWJsaWMgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsIFxuICAgICAgICBwdWJsaWMgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLCBcbiAgICAgICAgcHVibGljIGFjdGl2ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHB1YmxpYyBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmVjT25Jbml0KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiU0UgREVTVFJPWkFcIik7XG4gICAgICAgIC8vIExpbXBpYXIgZWwgc2V0VGltZW91dCBhbCBzYWxpciBkZWwgY29tcG9uZW50ZVxuICAgICAgICBpZiAodGhpcy5zdGF0ZVRpbWVvdXQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnN0YXRlVGltZW91dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJTRSBDQU1CSU9cIik7XG4gICAgfVxuICAgIFxuICAgIG9wZW5Nb2RhbCh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLmNsZWFyU3RvcmFnZVN0YXRlKCk7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2RhdGFSZWRpcmVjdCcsIHRoaXMuZGF0YVJlZGlyZWN0KCkpO1xuICAgICAgICAvLyBBYnJpbW9zIGVsIG1vZGFsIHkgZ3VhcmRhbW9zIGxhIHJlZmVyZW5jaWEgZW4gdGhpcy5tb2RhbFJlZlxuICAgICAgICB0aGlzLm1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyh0ZW1wbGF0ZSwgeyBjbGFzczogJ21vZGFsLWxnIG1vZGFsLWRpYWxvZy1jZW50ZXJlZCcsIGtleWJvYXJkOiBmYWxzZSwgYmFja2Ryb3A6ICdzdGF0aWMnLCBhbmltYXRlZDogdHJ1ZSB9KTtcbiAgICAgICAgdGhpcy5jbG9zZU1vZGFsUmVhc29uID0gJyc7XG4gICAgICAgIHRoaXMuY2FsbFN0YXRlKCk7XG4gICAgfVxuXG4gICAgY2xlYXJTdG9yYWdlU3RhdGUgPSAoKSA9PiB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ3N0YXRlJyk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdzdGF0ZScpO1xuICAgIH1cblxuICAgIC8vIE3DqXRvZG8gcXVlIHNlIGxsYW1hIGRlc2RlIGxhIFggZGUgbGEgY2FiZWNlcmEgZGVsIG1vZGFsIGVuIGVsIEhUTUxcbiAgICBjbGlja0Nsb3NlID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlTW9kYWxSZWFzb24gPSAnY2FuY2VsJztcbiAgICAgICAgaWYgKHRoaXMubW9kYWxSZWYpIHtcbiAgICAgICAgICAgIHRoaXMubW9kYWxSZWYuaGlkZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKCdTZSBjYW5jZWzDsyBlbCBwYWdvIGNvbiB0YXJqZXRhJyk7XG4gICAgfVxuXG4gICAgY2FsbFN0YXRlID0gKCkgPT4ge1xuICAgICAgICBsZXQgc3RhdGUgPSB0aGlzLmNsb3NlTW9kYWxSZWFzb24gIT0gJycgPyB0aGlzLmNsb3NlTW9kYWxSZWFzb24gOiBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdzdGF0ZScpO1xuICAgICAgICBcbiAgICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU3RvcmFnZVN0YXRlKCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PSAnb2snKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb2RhbFJlZj8uaGlkZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVhZHkuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgICAgICByZXR1cm47ICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc3RhdGUgPT0gJ21lbm9zdW5vJykge1xuICAgICAgICAgICAgICAgIHRoaXMubW9kYWxSZWY/LmhpZGUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NFcnJvcignRXJyb3IgZW4gZWwgcGFnbycpO1xuICAgICAgICAgICAgICAgIHJldHVybjsgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PSAnY2FuY2VsJykge1xuICAgICAgICAgICAgICAgIHJldHVybjsgLy8gRWwgbW9kYWwgeWEgc2UgZXNjb25kacOzIGRlbnRybyBkZSBjbGlja0Nsb3NlKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgdGhpcy5tb2RhbFJlZj8uaGlkZSgpO1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRXJyb3IoJ0Vycm9yIGRlc2Nvbm9jaWRvIGVuIGxhIHRyYW5zYWNjacOzbicpO1xuICAgICAgICAgICAgcmV0dXJuOyAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8vIEd1YXJkYW1vcyBlbCB0aW1lb3V0IGVuIHVuYSB2YXJpYWJsZSBkZSBjbGFzZVxuICAgICAgICB0aGlzLnN0YXRlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYWxsU3RhdGUoKTtcbiAgICAgICAgfSwgNjAwMCk7ICAgIFxuICAgIH1cblxuICAgIHByb2Nlc3NFcnJvciA9IChlcnIpID0+IHtcbiAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coZXJyICE9ICcnID8gZXJyIDogJ3BheW1lbnQtZXJyb3InKTtcbiAgICAgICAgY29uc29sZS5sb2coXCJFUlJPUiBFTlZJTyBCQUNLICBcIiwgZXJyKTtcbiAgICB9XG5cbiAgICAvLyBPcGNpb25hbCBwZXJvIHJlY29tZW5kYWRvOiBDYXB0dXJhciBtZW5zYWplcyBlbnZpYWRvcyBkZXNkZSBlbCBJZnJhbWUgZGUgUmVkc3lzXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1lc3NhZ2UnLCBbJyRldmVudCddKVxuICAgIG9uTWVzc2FnZShldmVudDogTWVzc2FnZUV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5kYXRhID09PSAncGFnb19jb21wbGV0YWRvJyB8fCBldmVudC5kYXRhID09PSAnb2snKSB7XG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdzdGF0ZScsICdvaycpO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmRhdGEgPT09ICdwYWdvX2Vycm9yJyB8fCBldmVudC5kYXRhID09PSAnbWVub3N1bm8nKSB7XG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdzdGF0ZScsICdtZW5vc3VubycpO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkc3lzLXJlZGlyZWN0LWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvd2lkZ2V0cy1lYy9yZWRzeXMtcmVkaXJlY3QtZWMvcmVkc3lzLXJlZGlyZWN0LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEosT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBUXBFO0lBQStDLDZDQUFlO0lBa0IxRCxtQ0FDVyxRQUFtQixFQUNuQixVQUE2QixFQUM3QixhQUEyQixFQUMzQixNQUFpQixFQUNqQixXQUF3QixFQUN4QixZQUE0QixFQUM1QixZQUE0QjtRQVB2QyxZQVNJLGlCQUFPLFNBRVY7UUFWVSxjQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGdCQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixtQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixZQUFN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QUFELGdDQUFDO0NBQUEsQUF4S0QsQ0FBK0MsZUFBZSxHQXdLN0Q7U0F4S1kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBJbnB1dCwgUmVuZGVyZXIyLCBPbkNoYW5nZXMsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSwgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcGkvY29ubmVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS5jb25zdHMnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtcmVkc3lzLXJlZGlyZWN0LWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3JlZHN5cy1yZWRpcmVjdC1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ3JlZHN5cy1yZWRpcmVjdC1lYy5jb21wb25lbnQuc2NzcyddXG4gICAgLy8gwqFJTVBPUlRBTlRFOiBTZSBoYSBlbGltaW5hZG8gXCJwcm92aWRlcnM6IFtCc01vZGFsU2VydmljZV1cIiBkZSBhcXXDrSFcbn0pXG5leHBvcnQgY2xhc3MgUmVkU3lzUmVkaXJlY3RFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgbWV0aG9kID0gbnVsbDtcbiAgICBASW5wdXQoKSB0b3RhbF9hbW91bnQgPSAwO1xuICAgIEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBASW5wdXQoKSB1c2VyX2RhdGEgPSBudWxsO1xuICAgIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlJykgcHJvdGVjdGVkIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIFxuICAgIHByb3RlY3RlZCBtb2RhbFJlZjogQnNNb2RhbFJlZiB8IG51bGw7XG4gICAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuICAgIHB1YmxpYyBpc0RvYmxlQXV0aCA9IGZhbHNlO1xuICAgIHB1YmxpYyB1cmxzID0gW107XG4gICAgcHVibGljIGNsb3NlTW9kYWxSZWFzb24gPSAnJzsgLy8gUmVub21icmFkbyBwYXJhIGV2aXRhciBjb25mdXNpw7NuXG4gICAgcHJpdmF0ZSBzdGF0ZVRpbWVvdXQ6IGFueTsgLy8gUmVmZXJlbmNpYSBwYXJhIGV2aXRhciBtZW1vcnkgbGVha3NcbiAgICBwcml2YXRlIGZpbmlzaGVkID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgZGF0YVJlZGlyZWN0ID0gKCkgPT4gdGhpcy5jb25zdHMuZ2V0VXJsQmFzZSgpICsnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RzLmdldENoYW5uZWwoKSArICcvcmVkc3lzL3JlZGlyZWN0LycgKyB0aGlzLmNhcnRTZXJ2aWNlLmNhcnRfdG9rZW4gKyAnL3Byb2Nlc3MtcGF5bWVudCc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIFxuICAgICAgICBwdWJsaWMgY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UsIFxuICAgICAgICBwdWJsaWMgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsIFxuICAgICAgICBwdWJsaWMgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLCBcbiAgICAgICAgcHVibGljIGFjdGl2ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHB1YmxpYyBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmVjT25Jbml0KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiU0UgREVTVFJPWkFcIik7XG4gICAgICAgIC8vIExpbXBpYXIgZWwgc2V0VGltZW91dCBhbCBzYWxpciBkZWwgY29tcG9uZW50ZVxuICAgICAgICBpZiAodGhpcy5zdGF0ZVRpbWVvdXQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnN0YXRlVGltZW91dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJTRSBDQU1CSU9cIik7XG4gICAgfVxuICAgIFxuICAgIG9wZW5Nb2RhbCh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLmNsZWFyU3RvcmFnZVN0YXRlKCk7XG4gICAgICAgIHRoaXMuZmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnZGF0YVJlZGlyZWN0JywgdGhpcy5kYXRhUmVkaXJlY3QoKSk7XG4gICAgICAgIC8vIEFicmltb3MgZWwgbW9kYWwgeSBndWFyZGFtb3MgbGEgcmVmZXJlbmNpYSBlbiB0aGlzLm1vZGFsUmVmXG4gICAgICAgIHRoaXMubW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5zaG93KHRlbXBsYXRlLCB7IGNsYXNzOiAnbW9kYWwtbGcgbW9kYWwtZGlhbG9nLWNlbnRlcmVkJywga2V5Ym9hcmQ6IGZhbHNlLCBiYWNrZHJvcDogJ3N0YXRpYycsIGFuaW1hdGVkOiB0cnVlIH0pO1xuICAgICAgICB0aGlzLmNsb3NlTW9kYWxSZWFzb24gPSAnJztcbiAgICAgICAgdGhpcy5jYWxsU3RhdGUoKTtcbiAgICB9XG5cbiAgICBjbGVhclN0b3JhZ2VTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnc3RhdGUnKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3N0YXRlJyk7XG4gICAgfVxuXG4gICAgLy8gTcOpdG9kbyBxdWUgc2UgbGxhbWEgZGVzZGUgbGEgWCBkZSBsYSBjYWJlY2VyYSBkZWwgbW9kYWwgZW4gZWwgSFRNTFxuICAgIGNsaWNrQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbFJlYXNvbiA9ICdjYW5jZWwnO1xuICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGVUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zdGF0ZVRpbWVvdXQpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVRpbWVvdXQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm1vZGFsUmVmKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGFsUmVmLmhpZGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByb2Nlc3NFcnJvcignU2UgY2FuY2Vsw7MgZWwgcGFnbyBjb24gdGFyamV0YScpO1xuICAgIH1cblxuICAgIGNhbGxTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZmluaXNoZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBzdGF0ZSA9IHRoaXMuY2xvc2VNb2RhbFJlYXNvbiAhPSAnJyA/IHRoaXMuY2xvc2VNb2RhbFJlYXNvbiA6IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3N0YXRlJyk7XG4gICAgICAgIFxuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU3RhdGUoc3RhdGUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBHdWFyZGFtb3MgZWwgdGltZW91dCBlbiB1bmEgdmFyaWFibGUgZGUgY2xhc2VcbiAgICAgICAgdGhpcy5zdGF0ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FsbFN0YXRlKCk7XG4gICAgICAgIH0sIDYwMDApOyAgICBcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVN0YXRlID0gKHN0YXRlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZmluaXNoZWQpIHJldHVybjtcblxuICAgICAgICB0aGlzLmZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGVUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5zdGF0ZVRpbWVvdXQpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVRpbWVvdXQgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jbGVhclN0b3JhZ2VTdGF0ZSgpO1xuXG4gICAgICAgIGlmIChzdGF0ZSA9PT0gJ29rJykge1xuICAgICAgICAgICAgdGhpcy5tb2RhbFJlZj8uaGlkZSgpO1xuICAgICAgICAgICAgdGhpcy5yZWFkeS5lbWl0KHRydWUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXRlID09PSAnbWVub3N1bm8nIHx8IHN0YXRlID09PSAnZXJyb3InIHx8IHN0YXRlID09PSAnZmFpbHVyZScpIHtcbiAgICAgICAgICAgIHRoaXMubW9kYWxSZWY/LmhpZGUoKTtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKCdFcnJvciBlbiBlbCBwYWdvJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3RhdGUgPT09ICdjYW5jZWwnKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGFsUmVmPy5oaWRlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1vZGFsUmVmPy5oaWRlKCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKCdFcnJvciBkZXNjb25vY2lkbyBlbiBsYSB0cmFuc2FjY2nDs24nKTtcbiAgICB9XG5cbiAgICBwcm9jZXNzRXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KGVyciAhPSAnJyA/IGVyciA6ICdwYXltZW50LWVycm9yJyk7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiRVJST1IgRU5WSU8gQkFDSyAgXCIsIGVycik7XG4gICAgfVxuXG4gICAgLy8gT3BjaW9uYWwgcGVybyByZWNvbWVuZGFkbzogQ2FwdHVyYXIgbWVuc2FqZXMgZW52aWFkb3MgZGVzZGUgZWwgSWZyYW1lIGRlIFJlZHN5c1xuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptZXNzYWdlJywgWyckZXZlbnQnXSlcbiAgICBvbk1lc3NhZ2UoZXZlbnQ6IE1lc3NhZ2VFdmVudCkge1xuICAgICAgICBjb25zdCBkYXRhOiBhbnkgPSBldmVudD8uZGF0YTtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgID8gZGF0YVxuICAgICAgICAgICAgOiBkYXRhPy5zdGF0ZSB8fCBkYXRhPy5zdGF0dXMgfHwgZGF0YT8ucmVzdWx0IHx8IG51bGw7XG5cbiAgICAgICAgaWYgKCFzdGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXRlID09PSAncGFnb19jb21wbGV0YWRvJyB8fCBzdGF0ZSA9PT0gJ29rJyB8fCBzdGF0ZSA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVN0YXRlKCdvaycpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXRlID09PSAncGFnb19lcnJvcicgfHwgc3RhdGUgPT09ICdtZW5vc3VubycgfHwgc3RhdGUgPT09ICdlcnJvcicgfHwgc3RhdGUgPT09ICdmYWlsdXJlJykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTdGF0ZSgnbWVub3N1bm8nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzdG9yYWdlJywgWyckZXZlbnQnXSlcbiAgICBvblN0b3JhZ2UoZXZlbnQ6IFN0b3JhZ2VFdmVudCkge1xuICAgICAgICBpZiAoIWV2ZW50Py5rZXkgfHwgZXZlbnQua2V5ICE9PSAnc3RhdGUnIHx8ICFldmVudC5uZXdWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50Lm5ld1ZhbHVlID09PSAnb2snIHx8IGV2ZW50Lm5ld1ZhbHVlID09PSAnc3VjY2VzcycpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU3RhdGUoJ29rJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQubmV3VmFsdWUgPT09ICdtZW5vc3VubycgfHwgZXZlbnQubmV3VmFsdWUgPT09ICdlcnJvcicgfHwgZXZlbnQubmV3VmFsdWUgPT09ICdmYWlsdXJlJykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTdGF0ZSgnbWVub3N1bm8nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -63,7 +63,7 @@ var RedSysRedirectOutEcComponent = /** @class */ (function (_super) {
63
63
  (_a = _this.ventana) === null || _a === void 0 ? void 0 : _a.close();
64
64
  };
65
65
  _this.callState = function () {
66
- var _a, _b, _c, _d, _e;
66
+ var _a, _b, _c, _d;
67
67
  var state = _this.closeModal != '' ? _this.closeModal : localStorage.getItem('state');
68
68
  !state && _this.ventana.closed && (state = 'cancel');
69
69
  _this.loading = true;
@@ -71,27 +71,22 @@ var RedSysRedirectOutEcComponent = /** @class */ (function (_super) {
71
71
  if (state) {
72
72
  _this.loading = false;
73
73
  localStorage.removeItem('state');
74
- if (state == 'success' || state == 'ok') {
74
+ if (state == 'success' || state == 'ok' || state == 'pending') {
75
75
  (_a = _this.ventana) === null || _a === void 0 ? void 0 : _a.close();
76
76
  _this.ready.emit(true);
77
77
  return;
78
78
  }
79
- if (state == 'pending' || state == 'ok') {
79
+ if (state == 'failure' || state == 'error' || state == 'menosuno') {
80
80
  (_b = _this.ventana) === null || _b === void 0 ? void 0 : _b.close();
81
- _this.ready.emit(true);
82
- return;
83
- }
84
- if (state == 'failure' || state == 'error') {
85
- (_c = _this.ventana) === null || _c === void 0 ? void 0 : _c.close();
86
81
  _this.processError('');
87
82
  return;
88
83
  }
89
84
  if (state == 'cancel') {
90
- (_d = _this.ventana) === null || _d === void 0 ? void 0 : _d.close();
85
+ (_c = _this.ventana) === null || _c === void 0 ? void 0 : _c.close();
91
86
  _this.processError('Se cancelo el pago con redsys');
92
87
  return;
93
88
  }
94
- (_e = _this.ventana) === null || _e === void 0 ? void 0 : _e.close();
89
+ (_d = _this.ventana) === null || _d === void 0 ? void 0 : _d.close();
95
90
  _this.processError('');
96
91
  return;
97
92
  }
@@ -159,4 +154,4 @@ var RedSysRedirectOutEcComponent = /** @class */ (function (_super) {
159
154
  return RedSysRedirectOutEcComponent;
160
155
  }(ComponentHelper));
161
156
  export { RedSysRedirectOutEcComponent };
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkc3lzLXJlZGlyZWN0LW91dC1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L3dpZGdldHMtZWMvcmVkc3lzLXJlZGlyZWN0LW91dC1lYy9yZWRzeXMtcmVkaXJlY3Qtb3V0LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVKLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFRbkY7SUFBa0QsZ0RBQWU7SUFrQjdELHNDQUFtQixRQUFtQixFQUMzQixVQUE2QixFQUM3QixhQUEyQixFQUMzQixNQUFpQixFQUNqQixXQUF3QixFQUN4QixNQUFvQixFQUNwQixZQUE0QixFQUMzQixTQUF1QjtRQVBuQyxZQVFJLGlCQUFPLFNBRVY7UUFWa0IsY0FBUSxHQUFSLFFBQVEsQ0FBVztRQUMzQixnQkFBVSxHQUFWLFVB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Q0FBQztJQUVELGtEQUFXLEdBQVg7UUFDSSw4QkFBOEI7SUFDbEMsQ0FBQztJQUVELGtEQUFXLEdBQVg7UUFDSSw0QkFBNEI7SUFDaEMsQ0FBQzs7Z0JBekI0QixTQUFTO2dCQUNmLGlCQUFpQjtnQkFDZCxZQUFZO2dCQUNuQixTQUFTO2dCQUNKLFdBQVc7Z0JBQ2hCLFlBQVk7Z0JBQ04sY0FBYztnQkFDaEIsWUFBWTs7SUF2QjFCO1FBQVIsS0FBSyxFQUFFO2dFQUFlO0lBQ2Q7UUFBUixLQUFLLEVBQUU7c0VBQWtCO0lBQ2pCO1FBQVIsS0FBSyxFQUFFO21FQUFrQjtJQUNqQjtRQUFSLEtBQUssRUFBRTs0RUFBb0I7SUFDbkI7UUFBUixLQUFLLEVBQUU7aUVBQVM7SUFDUDtRQUFULE1BQU0sRUFBRTsrREFBNEI7SUFQNUIsNEJBQTRCO1FBTHhDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSw0QkFBNEI7WUFDdEMsc2hEQUFvRDs7U0FFdkQsQ0FBQztPQUNXLDRCQUE0QixDQStHeEM7SUFBRCxtQ0FBQztDQUFBLEFBL0dELENBQWtELGVBQWUsR0ErR2hFO1NBL0dZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiwgSW5qZWN0LCBPbkNoYW5nZXMsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSBcIi4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlclwiO1xuaW1wb3J0IHsgQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcGkvY29ubmVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS5jb25zdHMnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmRlY2xhcmUgdmFyICQgOiBhbnkgXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXJlZHN5cy1yZWRpcmVjdC1vdXQtZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAncmVkc3lzLXJlZGlyZWN0LW91dC1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ3JlZHN5cy1yZWRpcmVjdC1vdXQtZWMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVkU3lzUmVkaXJlY3RPdXRFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgbWV0aG9kID0gbnVsbDtcbiAgICBASW5wdXQoKSB0b3RhbF9hbW91bnQgPSAwO1xuICAgIEBJbnB1dCgpIHVzZXJfZGF0YSA9IG51bGw7XG4gICAgQElucHV0KCkgcGF5bWVudFNlcnZpY2VJbnN0O1xuICAgIEBJbnB1dCgpIGFsbERhdGE7XG4gICAgQE91dHB1dCgpIHJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIHByb3RlY3RlZCBwcmVmZXJlbmNlO1xuXG4gICAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNEb2JsZUF1dGggPSBmYWxzZTtcbiAgICBwdWJsaWMgdXJscyA9IFtdO1xuICAgIHB1YmxpYyB1cmw7XG4gICAgcHVibGljIGNsb3NlTW9kYWwgPSAnJ1xuICAgIHB1YmxpYyB2ZW50YW5hXG4gICAgcHJvdGVjdGVkIGRhdGFSZWRpcmVjdCA9ICgpID0+IHRoaXMuY29uc3RzLmdldFVybEJhc2UoKSArJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0cy5nZXRDaGFubmVsKCkgKyAnL3JlZHN5cy9yZWRpcmVjdC8nICsgdGhpcy5jYXJ0U2VydmljZS5jYXJ0X3Rva2VuICsgJy9wcm9jZXNzLXBheW1lbnQnO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIFxuICAgICAgICBwdWJsaWMgY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UsIFxuICAgICAgICBwdWJsaWMgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsIFxuICAgICAgICBwdWJsaWMgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLCBcbiAgICAgICAgcHVibGljIHRvYXN0cjogVG9hc3RTZXJ2aWNlLCBcbiAgICAgICAgcHVibGljIGFjdGl2ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KClcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVybCA9IFwiLi4vLi4vLi4vYXNzZXRzL3JlZHN5c0ZyYW1lUmVkaXJlY3RPdXRCYXNlLmh0bWxcIlxuICAgICAgICB9LCAxMDAwKTtcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiU0UgREVTVFJPWkFcIik7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiU0UgQ0FNQklPXCIpO1xuICAgIH1cblxuICAgIGluaWNpYXIgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbCA9ICcnXG4gICAgICAgIHRoaXMuY2xlYXJTdG9yYWdlU3RhdGUoKVxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZGF0YVJlZGlyZWN0JywgdGhpcy5kYXRhUmVkaXJlY3QoKSlcbiAgICAgICAgdGhpcy52ZW50YW5hID0gd2luZG93Lm9wZW4odGhpcy51cmwpXG4gICAgICAgIHRoaXMuY2FsbFN0YXRlKClcbiAgICB9XG5cbiAgICBjbGVhclN0b3JhZ2VTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnc3RhdGUnKVxuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnc3RhdGUnKVxuICAgIH1cblxuICAgIGNsaWNrQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbCA9ICdjYW5jZWwnXG4gICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKVxuICAgIH1cblxuICAgIGNhbGxTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgbGV0IHN0YXRlID0gdGhpcy5jbG9zZU1vZGFsICE9ICcnID8gdGhpcy5jbG9zZU1vZGFsIDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3N0YXRlJylcbiAgICAgICAgIXN0YXRlICYmIHRoaXMudmVudGFuYS5jbG9zZWQgJiYgKHN0YXRlID0gJ2NhbmNlbCcpXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICAgICAgc3RhdGUgJiYgY29uc29sZS5sb2coc3RhdGUpO1xuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnc3RhdGUnKVxuICAgICAgICAgICAgaWYgKHN0YXRlID09ICdzdWNjZXNzJyB8fCBzdGF0ZSA9PSAnb2snKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZW50YW5hPy5jbG9zZSgpXG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkeS5lbWl0KHRydWUpXG4gICAgICAgICAgICAgICAgcmV0dXJuICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc3RhdGUgPT0gJ3BlbmRpbmcnIHx8IHN0YXRlID09ICdvaycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZlbnRhbmE/LmNsb3NlKClcbiAgICAgICAgICAgICAgICB0aGlzLnJlYWR5LmVtaXQodHJ1ZSlcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PSAnZmFpbHVyZScgfHwgc3RhdGUgPT0gJ2Vycm9yJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKVxuICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKCcnKVxuICAgICAgICAgICAgICAgIHJldHVybiAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0YXRlID09ICdjYW5jZWwnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZW50YW5hPy5jbG9zZSgpXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRXJyb3IoJ1NlIGNhbmNlbG8gZWwgcGFnbyBjb24gcmVkc3lzJylcbiAgICAgICAgICAgICAgICByZXR1cm4gICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKVxuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRXJyb3IoJycpXG4gICAgICAgICAgICByZXR1cm4gIFxuICAgICAgICB9XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYWxsU3RhdGUoKVxuICAgICAgICB9LCA1MDAwKTsgICAgXG4gICAgICAgIFxuICAgIH1cblxuICAgIHByb2Nlc3NFcnJvciA9IChlcnIpID0+IHtcbiAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coZXJyICE9ICcnID8gZXJyIDogJ3BheW1lbnQtZXJyb3InKTtcbiAgICAgICAgY29uc29sZS5sb2coXCJFUlJPUiBFTlZJTyBCQUNLICBcIiwgZXJyKTtcbiAgICB9XG5cblxuICAgIHNldEVycm9yID0gKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgXG4gICAgfVxuXG59XG5cbiJdfQ==
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkc3lzLXJlZGlyZWN0LW91dC1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L3dpZGdldHMtZWMvcmVkc3lzLXJlZGlyZWN0LW91dC1lYy9yZWRzeXMtcmVkaXJlY3Qtb3V0LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVKLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFRbkY7SUFBa0QsZ0RBQWU7SUFrQjdELHNDQUFtQixRQUFtQixFQUMzQixVQUE2QixFQUM3QixhQUEyQixFQUMzQixNQUFpQixFQUNqQixXQUF3QixFQUN4QixNQUFvQixFQUNwQixZQUE0QixFQUMzQixTQUF1QjtRQVBuQyxZQVFJLGlCQUFPLFNBRVY7UUFWa0IsY0FBUSxHQUFSLFFBQVEsQ0FBVztRQUMzQixnQkFBVSxHQUFWLFVB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Q25CLFNBQVM7Z0JBQ0osV0FBVztnQkFDaEIsWUFBWTtnQkFDTixjQUFjO2dCQUNoQixZQUFZOztJQXZCMUI7UUFBUixLQUFLLEVBQUU7Z0VBQWU7SUFDZDtRQUFSLEtBQUssRUFBRTtzRUFBa0I7SUFDakI7UUFBUixLQUFLLEVBQUU7bUVBQWtCO0lBQ2pCO1FBQVIsS0FBSyxFQUFFOzRFQUFvQjtJQUNuQjtRQUFSLEtBQUssRUFBRTtpRUFBUztJQUNQO1FBQVQsTUFBTSxFQUFFOytEQUE0QjtJQVA1Qiw0QkFBNEI7UUFMeEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLDRCQUE0QjtZQUN0QyxzaERBQW9EOztTQUV2RCxDQUFDO09BQ1csNEJBQTRCLENBMEd4QztJQUFELG1DQUFDO0NBQUEsQUExR0QsQ0FBa0QsZUFBZSxHQTBHaEU7U0ExR1ksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBJbmplY3QsIE9uQ2hhbmdlcywgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tIFwiLi4vLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyXCI7XG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2FwaS9jb25uZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb3JlLmNvbnN0cyc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCwgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuZGVjbGFyZSB2YXIgJCA6IGFueSBcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtcmVkc3lzLXJlZGlyZWN0LW91dC1lYycsXG4gICAgdGVtcGxhdGVVcmw6ICdyZWRzeXMtcmVkaXJlY3Qtb3V0LWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsncmVkc3lzLXJlZGlyZWN0LW91dC1lYy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZWRTeXNSZWRpcmVjdE91dEVjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG5cbiAgICBASW5wdXQoKSBtZXRob2QgPSBudWxsO1xuICAgIEBJbnB1dCgpIHRvdGFsX2Ftb3VudCA9IDA7XG4gICAgQElucHV0KCkgdXNlcl9kYXRhID0gbnVsbDtcbiAgICBASW5wdXQoKSBwYXltZW50U2VydmljZUluc3Q7XG4gICAgQElucHV0KCkgYWxsRGF0YTtcbiAgICBAT3V0cHV0KCkgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgcHJvdGVjdGVkIHByZWZlcmVuY2U7XG5cbiAgICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0RvYmxlQXV0aCA9IGZhbHNlO1xuICAgIHB1YmxpYyB1cmxzID0gW107XG4gICAgcHVibGljIHVybDtcbiAgICBwdWJsaWMgY2xvc2VNb2RhbCA9ICcnXG4gICAgcHVibGljIHZlbnRhbmFcbiAgICBwcm90ZWN0ZWQgZGF0YVJlZGlyZWN0ID0gKCkgPT4gdGhpcy5jb25zdHMuZ2V0VXJsQmFzZSgpICsnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RzLmdldENoYW5uZWwoKSArICcvcmVkc3lzL3JlZGlyZWN0LycgKyB0aGlzLmNhcnRTZXJ2aWNlLmNhcnRfdG9rZW4gKyAnL3Byb2Nlc3MtcGF5bWVudCc7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMiwgXG4gICAgICAgIHB1YmxpYyBjb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSwgXG4gICAgICAgIHB1YmxpYyB0b2FzdHJTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBjb25zdHM6IENvbnN0YW50cywgXG4gICAgICAgIHB1YmxpYyBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsIFxuICAgICAgICBwdWJsaWMgdG9hc3RyOiBUb2FzdFNlcnZpY2UsIFxuICAgICAgICBwdWJsaWMgYWN0aXZlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXJsID0gXCIuLi8uLi8uLi9hc3NldHMvcmVkc3lzRnJhbWVSZWRpcmVjdE91dEJhc2UuaHRtbFwiXG4gICAgICAgIH0sIDEwMDApO1xuICAgICAgICB0aGlzLmVjT25Jbml0KClcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJTRSBERVNUUk9aQVwiKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJTRSBDQU1CSU9cIik7XG4gICAgfVxuXG4gICAgaW5pY2lhciA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZU1vZGFsID0gJydcbiAgICAgICAgdGhpcy5jbGVhclN0b3JhZ2VTdGF0ZSgpXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdkYXRhUmVkaXJlY3QnLCB0aGlzLmRhdGFSZWRpcmVjdCgpKVxuICAgICAgICB0aGlzLnZlbnRhbmEgPSB3aW5kb3cub3Blbih0aGlzLnVybClcbiAgICAgICAgdGhpcy5jYWxsU3RhdGUoKVxuICAgIH1cblxuICAgIGNsZWFyU3RvcmFnZVN0YXRlID0gKCkgPT4ge1xuICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdzdGF0ZScpXG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdzdGF0ZScpXG4gICAgfVxuXG4gICAgY2xpY2tDbG9zZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZU1vZGFsID0gJ2NhbmNlbCdcbiAgICAgICAgdGhpcy52ZW50YW5hPy5jbG9zZSgpXG4gICAgfVxuXG4gICAgY2FsbFN0YXRlID0gKCkgPT4ge1xuICAgICAgICBsZXQgc3RhdGUgPSB0aGlzLmNsb3NlTW9kYWwgIT0gJycgPyB0aGlzLmNsb3NlTW9kYWwgOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc3RhdGUnKVxuICAgICAgICAhc3RhdGUgJiYgdGhpcy52ZW50YW5hLmNsb3NlZCAmJiAoc3RhdGUgPSAnY2FuY2VsJylcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgICAgICBzdGF0ZSAmJiBjb25zb2xlLmxvZyhzdGF0ZSk7XG4gICAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdzdGF0ZScpXG4gICAgICAgICAgICBpZiAoc3RhdGUgPT0gJ3N1Y2Nlc3MnIHx8IHN0YXRlID09ICdvaycgfHwgc3RhdGUgPT0gJ3BlbmRpbmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZW50YW5hPy5jbG9zZSgpXG4gICAgICAgICAgICAgICAgdGhpcy5yZWFkeS5lbWl0KHRydWUpXG4gICAgICAgICAgICAgICAgcmV0dXJuICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc3RhdGUgPT0gJ2ZhaWx1cmUnIHx8IHN0YXRlID09ICdlcnJvcicgfHwgc3RhdGUgPT0gJ21lbm9zdW5vJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKVxuICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yKCcnKVxuICAgICAgICAgICAgICAgIHJldHVybiAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0YXRlID09ICdjYW5jZWwnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZW50YW5hPy5jbG9zZSgpXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRXJyb3IoJ1NlIGNhbmNlbG8gZWwgcGFnbyBjb24gcmVkc3lzJylcbiAgICAgICAgICAgICAgICByZXR1cm4gICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudmVudGFuYT8uY2xvc2UoKVxuICAgICAgICAgICAgdGhpcy5wcm9jZXNzRXJyb3IoJycpXG4gICAgICAgICAgICByZXR1cm4gIFxuICAgICAgICB9XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYWxsU3RhdGUoKVxuICAgICAgICB9LCA1MDAwKTsgICAgXG4gICAgICAgIFxuICAgIH1cblxuICAgIHByb2Nlc3NFcnJvciA9IChlcnIpID0+IHtcbiAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coZXJyICE9ICcnID8gZXJyIDogJ3BheW1lbnQtZXJyb3InKTtcbiAgICAgICAgY29uc29sZS5sb2coXCJFUlJPUiBFTlZJTyBCQUNLICBcIiwgZXJyKTtcbiAgICB9XG5cblxuICAgIHNldEVycm9yID0gKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgXG4gICAgfVxuXG59XG4iXX0=