vk-payments 0.0.19 → 0.0.21

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.
@@ -154,7 +154,7 @@ var SpsDecidirComponent = /** @class */ (function () {
154
154
  function () {
155
155
  this.decidir = new Decidir(this.spsDecidirApiService.normalizeUrl(this.spsUrlApi), !this.useCybersource);
156
156
  this.decidir.setTimeout(15000);
157
- this.decidir.setPublishableKey(this.publishableKey);
157
+ this.decidir.setPublishableKey(this.defaultPublishableKey);
158
158
  };
159
159
  /**
160
160
  * @private
@@ -227,23 +227,34 @@ var SpsDecidirComponent = /** @class */ (function () {
227
227
  if (!this.checkOutForm.valid) {
228
228
  return;
229
229
  }
230
- this.paymentState = 'processing';
231
- /** @type {?} */
232
- var form = document.querySelector('#formulario');
233
- this.decidir.createToken(form, (/**
234
- * @param {?} status
235
- * @param {?} response
230
+ this.spsDecidirApiService.getDecidirConfigByBin(this.cardText.substring(0, 8), this.vkUrlApi)
231
+ .subscribe((/**
232
+ * @param {?} config
236
233
  * @return {?}
237
234
  */
238
- function (status, response) {
239
- if (status !== 200 && status !== 201) {
240
- _this.paymentState = 'error';
241
- _this.statusPay.emit(_this.paymentResult);
242
- _this.processErrorToken(response);
243
- }
244
- else {
245
- _this.makePayment(form, response);
235
+ function (config) {
236
+ if (config = 'SPS-Decidir-Supervielle') {
237
+ console.log('Modo Supervielle');
238
+ _this.decidir.setPublishableKey(_this.superviellePublishableKey);
246
239
  }
240
+ _this.paymentState = 'processing';
241
+ /** @type {?} */
242
+ var form = document.querySelector('#formulario');
243
+ _this.decidir.createToken(form, (/**
244
+ * @param {?} status
245
+ * @param {?} response
246
+ * @return {?}
247
+ */
248
+ function (status, response) {
249
+ if (status !== 200 && status !== 201) {
250
+ _this.paymentState = 'error';
251
+ _this.statusPay.emit(_this.paymentResult);
252
+ _this.processErrorToken(response);
253
+ }
254
+ else {
255
+ _this.makePayment(form, response);
256
+ }
257
+ }));
247
258
  }));
248
259
  };
249
260
  /**
@@ -807,7 +818,7 @@ var SpsDecidirComponent = /** @class */ (function () {
807
818
  bin.substring(0, 2) === '53' ||
808
819
  bin.substring(0, 2) === '54' ||
809
820
  bin.substring(0, 2) === '55') {
810
- this.issuer = 15;
821
+ this.issuer = 104;
811
822
  }
812
823
  // tarjeta naranja
813
824
  else if (bin.substring(0, 6) === '589562') {
@@ -887,7 +898,8 @@ var SpsDecidirComponent = /** @class */ (function () {
887
898
  paymentAmount: [{ type: Input }],
888
899
  logoSps: [{ type: Input }],
889
900
  currency: [{ type: Input }],
890
- publishableKey: [{ type: Input }],
901
+ defaultPublishableKey: [{ type: Input }],
902
+ superviellePublishableKey: [{ type: Input }],
891
903
  successUrl: [{ type: Input }],
892
904
  failureUrl: [{ type: Input }],
893
905
  useCybersource: [{ type: Input }],
@@ -919,7 +931,9 @@ if (false) {
919
931
  /** @type {?} */
920
932
  SpsDecidirComponent.prototype.currency;
921
933
  /** @type {?} */
922
- SpsDecidirComponent.prototype.publishableKey;
934
+ SpsDecidirComponent.prototype.defaultPublishableKey;
935
+ /** @type {?} */
936
+ SpsDecidirComponent.prototype.superviellePublishableKey;
923
937
  /** @type {?} */
924
938
  SpsDecidirComponent.prototype.successUrl;
925
939
  /** @type {?} */
@@ -1005,4 +1019,4 @@ if (false) {
1005
1019
  /** @type {?} */
1006
1020
  SpsDecidirComponent.prototype.spsDecidirApiService;
1007
1021
  }
1008
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BzLWRlY2lkaXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdmstcGF5bWVudHMvIiwic291cmNlcyI6WyJsaWIvc3BzLWRlY2lkaXIvY29tcG9uZW50cy9zcHMtZGVjaWRpci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBWTVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSTNFO0lBMkRFLDZCQUFvQixNQUFjLEVBQVMsb0JBQTBDO1FBQWpFLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBbkM1RSxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2YsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRXhELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFPdEIseUJBQW9CLEdBQW9CLElBQUksQ0FBQztRQUU3QyxrQkFBYSxHQUFrQixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFTeEYsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFHcEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUVqQixpQkFBWSxHQUFHLGFBQWEsQ0FBQztRQUU3QixXQUFNLEdBQVksSUFBSSxDQUFDO0lBS2tFLENBQUM7Ozs7SUFFMUYsc0NB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Q0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUTtnQkFDaEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVTtnQkFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssVUFBVSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQzthQUNsQjtZQUNELGFBQWE7aUJBQ1IsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJO2dCQUNuQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJO2dCQUM1QixHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJO2dCQUM1QixHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJO2dCQUM1QixHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO2FBQ2xCO1lBQ0Qsa0JBQWtCO2lCQUNiLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQzthQUNsQjtZQUNELGVBQWU7aUJBQ1YsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ2pCO1lBRUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDM0I7SUFDSCxDQUFDOzs7O0lBRUQscUNBQU87OztJQUFQO1FBQ0UsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7O0lBRUQsdUNBQVM7OztJQUFUO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQTtRQUNoQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLDZCQUE2QjtRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUM3QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUU5RSxZQUFZO1FBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUM7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUU5QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQzs7Z0JBam5CRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLGsxYkFBMkM7O2lCQUU1Qzs7OztnQkFyQlEsTUFBTTtnQkFhTixvQkFBb0I7OzsrQkFXMUIsU0FBUyxTQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7OEJBQ2hDLEtBQUs7NEJBQ0wsS0FBSzsyQkFDTCxLQUFLO2dDQUNMLEtBQUs7MEJBQ0wsS0FBSzsyQkFDTCxLQUFLO2lDQUNMLEtBQUs7NkJBQ0wsS0FBSzs2QkFDTCxLQUFLO2lDQUNMLEtBQUs7MkJBQ0wsS0FBSzswQkFDTCxLQUFLOzJCQUNMLEtBQUs7d0JBQ0wsS0FBSzt1QkFDTCxLQUFLOzhCQUNMLEtBQUs7MkJBQ0wsS0FBSzs0QkFDTCxNQUFNOztJQTBsQlQsMEJBQUM7Q0FBQSxBQW5uQkQsSUFtbkJDO1NBOW1CWSxtQkFBbUI7OztJQUU5QiwyQ0FBd0Q7O0lBQ3hELDBDQUE2Qjs7SUFDN0Isd0NBQTJCOztJQUMzQix1Q0FBMEI7O0lBQzFCLDRDQUErQjs7SUFDL0Isc0NBQXlCOztJQUN6Qix1Q0FBMEI7O0lBQzFCLDZDQUFnQzs7SUFDaEMseUNBQTRCOztJQUM1Qix5Q0FBNEI7O0lBQzVCLDZDQUFpQzs7SUFDakMsdUNBQTJCOztJQUMzQixzQ0FBeUI7O0lBQ3pCLHVDQUEwQjs7SUFDMUIsb0NBQXVCOztJQUN2QixtQ0FBc0I7O0lBQ3RCLDBDQUE2Qjs7SUFDN0IsdUNBQXlCOztJQUN6Qix3Q0FBd0Q7O0lBRXhELHVDQUFpQjs7SUFDakIsNENBQXNCOztJQUN0QiwwQ0FBb0I7O0lBQ3BCLGtEQUE0Qjs7SUFDNUIseUNBQW1COztJQUNuQix5Q0FBbUI7O0lBRW5CLDBDQUEwQjs7SUFDMUIsbURBQTZDOztJQUM3Qyw4Q0FBbUM7O0lBQ25DLDRDQUF3Rjs7SUFHeEYsd0NBQWtCOztJQUNsQix1Q0FBaUI7O0lBQ2pCLHNDQUFnQjs7SUFDaEIsc0NBQWdCOztJQUNoQiw0Q0FBc0I7O0lBQ3RCLHVDQUFpQjs7SUFDakIsNENBQXNCOztJQUN0QiwwQ0FBb0I7Ozs7O0lBRXBCLHNDQUFxQjs7SUFDckIsd0NBQWlCOztJQUVqQiwyQ0FBNkI7O0lBQzdCLHdDQUFrQjs7SUFDbEIscUNBQXVCOztJQUN2QixzQ0FBaUI7O0lBQ2pCLGlEQUF3Qzs7SUFDeEMsMkNBQXFCOzs7OztJQUVULHFDQUFzQjs7SUFBRSxtREFBaUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCBzaGEyNTYgZnJvbSAnc2hhMjU2JztcblxuaW1wb3J0IHtcbiAgQ3JlZGl0Q2FyZCxcbiAgQ3JlZGl0Q2FyZFBsYW5zLFxuICBFcnJvclRva2VuLFxuICBQYXltZW50LFxuICBQYXltZW50UmVzcG9uc2VJbmZvLFxuICBQYXltZW50UmVzdWx0LFxuICBSZXNwb25zZUFwaSxcbiAgU3BzUmVzcG9uc2VQYXltZW50LFxufSBmcm9tICcuLi9tb2RlbHMvcGF5bWVudC5tb2RlbCc7XG5pbXBvcnQgeyBTcHNEZWNpZGlyQXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Nwcy1kZWNpZGlyLmFwaS5zZXJ2aWNlJztcblxuZGVjbGFyZSB2YXIgRGVjaWRpcjogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHMtZm9ybS1wYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BzLWRlY2lkaXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcHMtZGVjaWRpci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNwc0RlY2lkaXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQFZpZXdDaGlsZCgnZicsIHsgc3RhdGljOiBmYWxzZSB9KSBjaGVja091dEZvcm06IE5nRm9ybTtcbiAgQElucHV0KCkgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgQElucHV0KCkgc3BzVXJsQXBpOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZrVXJsQXBpOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBheW1lbnRBbW91bnQ6IHN0cmluZztcbiAgQElucHV0KCkgbG9nb1Nwczogc3RyaW5nO1xuICBASW5wdXQoKSBjdXJyZW5jeTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaXNoYWJsZUtleTogc3RyaW5nO1xuICBASW5wdXQoKSBzdWNjZXNzVXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZhaWx1cmVVcmw6IHN0cmluZztcbiAgQElucHV0KCkgdXNlQ3liZXJzb3VyY2U6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRlYnVnTG9nOiBib29sZWFuO1xuICBASW5wdXQoKSBzdG9yZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRvbWFpbklkOiBudW1iZXI7XG4gIEBJbnB1dCgpIGlkVmVuOiBudW1iZXI7XG4gIEBJbnB1dCgpIGRhdGE6IHN0cmluZztcbiAgQElucHV0KCkgbGFiZWxCdXR0b246IHN0cmluZztcbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSAnZXMnO1xuICBAT3V0cHV0KCkgc3RhdHVzUGF5ID0gbmV3IEV2ZW50RW1pdHRlcjxQYXltZW50UmVzdWx0PigpO1xuXG4gIGRpc2FibGVkID0gZmFsc2U7XG4gIGRpc2FibGVTZWxlY3QgPSBmYWxzZTtcbiAgdG90YWxBbW91bnQ6IHN0cmluZztcbiAgdG90YWxGaW5hbmNlZEFtb3VudDogc3RyaW5nO1xuICBjdXJyZW50VEVBOiBzdHJpbmc7XG4gIGN1cnJlbnRDRlQ6IHN0cmluZztcblxuICBjcmVkaXRDYXJkczogQ3JlZGl0Q2FyZFtdO1xuICBzZWxlY3RDcmVkaXRDYXJkUGxhbjogQ3JlZGl0Q2FyZFBsYW5zID0gbnVsbDtcbiAgY3JlZGl0Q2FyZFBsYW5zOiBDcmVkaXRDYXJkUGxhbnNbXTtcbiAgcGF5bWVudFJlc3VsdDogUGF5bWVudFJlc3VsdCA9IHsgc3VjY2VzczogZmFsc2UsIHBheW1lbnRJZDogJycsIGludGVncmF0b3I6ICdERUNJRElSJyB9O1xuXG4gIC8vIEZvcm0gYmluZFxuICBtb250aFRleHQ6IHN0cmluZztcbiAgeWVhclRleHQ6IHN0cmluZztcbiAgY3ZjVGV4dDogc3RyaW5nO1xuICBkbmlUZXh0OiBzdHJpbmc7XG4gIHBheWVyTmFtZVRleHQ6IHN0cmluZztcbiAgY2FyZFRleHQ6IHN0cmluZztcbiAgc3VibWl0UHJlc3NlZCA9IGZhbHNlO1xuICBpbnZhbGlkRGF0ZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZGVjaWRpcjogYW55O1xuICBhZGRTY3JpcHQgPSB0cnVlO1xuXG4gIHBheW1lbnRTdGF0ZSA9ICd1bnN1Ym1pdHRlZCc7XG4gIHBheWVyTmFtZTogc3RyaW5nO1xuICBpc3N1ZXI/OiBudW1iZXIgPSBudWxsO1xuICBwYXltZW50OiBQYXltZW50O1xuICBwYXltZW50U3VjY2Vzc0luZm86IFBheW1lbnRSZXNwb25zZUluZm87XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyBzcHNEZWNpZGlyQXBpU2VydmljZTogU3BzRGVjaWRpckFwaVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdERlY2lkaXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIWNoYW5nZXMucGF5bWVudEFtb3VudC5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgIHRoaXMuY2hlY2tPdXRGb3JtLnJlc2V0KCk7XG4gICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmRpc2FibGVTZWxlY3QgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXREZWNpZGlyKCkge1xuICAgIHRoaXMuYWRkRGVjaWRpclNjcmlwdCgpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuZ2V0Q3JlZGl0Q2FyZHMoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplU3BzRGVjaWRpcigpO1xuICAgICAgfSk7XG4gIH1cblxuICBhZGREZWNpZGlyU2NyaXB0KCkge1xuICAgIHRoaXMuYWRkU2NyaXB0ID0gdHJ1ZTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IHNjcmlwdHRhZ0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdHRhZ0VsZW1lbnQuc3JjID0gJ2h0dHBzOi8vbGl2ZS5kZWNpZGlyLmNvbS9zdGF0aWMvdjIuNC9kZWNpZGlyLmpzJztcbiAgICAgIHNjcmlwdHRhZ0VsZW1lbnQub25sb2FkID0gcmVzb2x2ZTtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0dGFnRWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldENyZWRpdENhcmRzKCkge1xuICAgIHRoaXMuc3BzRGVjaWRpckFwaVNlcnZpY2UuZ2V0Q3JlZGl0Q2FyZHModGhpcy5hY2Nlc3NUb2tlbiwgdGhpcy52a1VybEFwaSwgdGhpcy5kb21haW5JZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogUmVzcG9uc2VBcGkpID0+IHtcbiAgICAgICAgdGhpcy5jcmVkaXRDYXJkcyA9IHJlcy5kYXRhIGFzIENyZWRpdENhcmRbXTtcbiAgICAgICAgdGhpcy5sb2dnZXIoJ2dldENyZWRpdENhcmRzJywgdGhpcy5jcmVkaXRDYXJkcyk7XG4gICAgICB9LCBfID0+IHRoaXMucGF5bWVudFN0YXRlID0gJ2FwaUVycm9yJyk7XG4gIH1cblxuICBwcml2YXRlIGdldFBsYW5zQnlDcmVkaXRDYXJkSWQoYW1vdW50OiBzdHJpbmcsIGNyZWRpdENhcmRJZDogbnVtYmVyLCBkb21haW5JZDogbnVtYmVyLCBiaW46IHN0cmluZykge1xuICAgIHRoaXMuc3BzRGVjaWRpckFwaVNlcnZpY2UuZ2V0UGxhbnNCeUNyZWRpdENhcmRJZCh0aGlzLmFjY2Vzc1Rva2VuLCB0aGlzLnZrVXJsQXBpLCBhbW91bnQsIGNyZWRpdENhcmRJZCwgZG9tYWluSWQsIGJpbilcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogUmVzcG9uc2VBcGkpID0+IHtcbiAgICAgICAgdGhpcy5jcmVkaXRDYXJkUGxhbnMgPSByZXMuZGF0YSBhcyBDcmVkaXRDYXJkUGxhbnNbXTtcbiAgICAgICAgdGhpcy5sb2dnZXIoJ2dldFBsYW5zQnlDcmVkaXRDYXJkSWQnLCB0aGlzLmNyZWRpdENhcmRQbGFucyk7XG4gICAgICB9LCBfID0+IHRoaXMucGF5bWVudFN0YXRlID0gJ2FwaUVycm9yJyk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVTcHNEZWNpZGlyKCkge1xuICAgIHRoaXMuZGVjaWRpciA9IG5ldyBEZWNpZGlyKHRoaXMuc3BzRGVjaWRpckFwaVNlcnZpY2Uubm9ybWFsaXplVXJsKHRoaXMuc3BzVXJsQXBpKSwgIXRoaXMudXNlQ3liZXJzb3VyY2UpO1xuICAgIHRoaXMuZGVjaWRpci5zZXRUaW1lb3V0KDE1MDAwKTtcbiAgICB0aGlzLmRlY2lkaXIuc2V0UHVibGlzaGFibGVLZXkodGhpcy5wdWJsaXNoYWJsZUtleSk7XG4gIH1cblxuICBwcml2YXRlIGxvZ2dlcihtZXNzYWdlOiBzdHJpbmcsIGRhdGE6IGFueSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kZWJ1Z0xvZykgeyByZXR1cm47IH1cbiAgICBjb25zb2xlLmxvZyhtZXNzYWdlLCBkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZENyZWRpdENhcmQoKSB7XG4gICAgaWYgKCF0aGlzLmlzc3VlcikgeyByZXR1cm47IH1cblxuICAgIHRoaXMuc2VsZWN0Q3JlZGl0Q2FyZFBsYW4gPSBudWxsO1xuICAgIGlmICh0aGlzLmN1cnJlbmN5ID09PSAnQVJTJyAmJiB0aGlzLmNhcmRUZXh0LnN1YnN0cmluZygwLDgpICE9PSAnMDAwMDAwMDAnKSB7XG4gICAgICB0aGlzLmdldFBsYW5zQnlDcmVkaXRDYXJkSWQodGhpcy5wYXltZW50QW1vdW50LCB0aGlzLmlzc3VlciwgdGhpcy5kb21haW5JZCwgdGhpcy5jYXJkVGV4dC5zdWJzdHJpbmcoMCw4KSk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FyZFRleHQgPScnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmN1cnJlbmN5ID09PSAnVVNEJykge1xuICAgICAgdGhpcy50b3RhbEFtb3VudCA9IHRoaXMudG90YWxGaW5hbmNlZEFtb3VudCA9IHRoaXMucGF5bWVudEFtb3VudDtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RlZENyZWRpdENhcmRQbGFuKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdENyZWRpdENhcmRQbGFuID09PSBudWxsKSB7IHJldHVybjsgfVxuXG4gICAgdGhpcy50b3RhbEZpbmFuY2VkQW1vdW50ID0gdGhpcy5zZWxlY3RDcmVkaXRDYXJkUGxhbi50b3RhbEFtb3VudDtcbiAgICB0aGlzLnRvdGFsQW1vdW50ID0gdGhpcy5wYXltZW50QW1vdW50O1xuICAgIHRoaXMuY3VycmVudFRFQSA9IHRoaXMuc2VsZWN0Q3JlZGl0Q2FyZFBsYW4udG5hO1xuICAgIHRoaXMuY3VycmVudENGVCA9IHRoaXMuc2VsZWN0Q3JlZGl0Q2FyZFBsYW4uY2Z0O1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc3VibWl0UHJlc3NlZCA9IHRydWU7XG4gICAgdGhpcy5wYXltZW50UmVzdWx0ID0geyBzdWNjZXNzOiBmYWxzZSwgcGF5bWVudElkOiAnJywgaW50ZWdyYXRvcjogJ0RFQ0lESVInIH07XG5cbiAgICBpZiAoIXRoaXMuY2hlY2tPdXRGb3JtLnZhbGlkKSB7IHJldHVybjsgfVxuXG4gICAgdGhpcy5wYXltZW50U3RhdGUgPSAncHJvY2Vzc2luZyc7XG4gICAgY29uc3QgZm9ybSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNmb3JtdWxhcmlvJyk7XG4gICAgdGhpcy5kZWNpZGlyLmNyZWF0ZVRva2VuKGZvcm0sIChzdGF0dXM6IG51bWJlciwgcmVzcG9uc2U6IFNwc1Jlc3BvbnNlUGF5bWVudCkgPT4ge1xuICAgICAgaWYgKHN0YXR1cyAhPT0gMjAwICYmIHN0YXR1cyAhPT0gMjAxKSB7XG4gICAgICAgIHRoaXMucGF5bWVudFN0YXRlID0gJ2Vycm9yJztcbiAgICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh0aGlzLnBheW1lbnRSZXN1bHQpO1xuICAgICAgICB0aGlzLnByb2Nlc3NFcnJvclRva2VuKHJlc3BvbnNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubWFrZVBheW1lbnQoZm9ybSwgcmVzcG9uc2UpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbWFrZVBheW1lbnQoZm9ybTogYW55LCBwYXltZW50UmVzcG9uc2U6IFNwc1Jlc3BvbnNlUGF5bWVudCk6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyKCdtYWtlUGF5bWVudDonLCBKU09OLnN0cmluZ2lmeShwYXltZW50UmVzcG9uc2UpKTtcbiAgICBjb25zdCBoYXNoZWRDYXJkID0gdGhpcy5oYXNoVGV4dCh0aGlzLmNhcmRUZXh0LDEwMDAwMCk7XG4gICAgdGhpcy5wYXltZW50ID0ge1xuICAgICAgdG9rZW46IHBheW1lbnRSZXNwb25zZS5pZCxcbiAgICAgIGFtb3VudDogdGhpcy50b3RhbEFtb3VudCxcbiAgICAgIHRvdGFsRmluYW5jZWRBbW91bnQ6IHRoaXMudG90YWxGaW5hbmNlZEFtb3VudCxcbiAgICAgIGJpbjogcGF5bWVudFJlc3BvbnNlLmJpbixcbiAgICAgIGN1cnJlbmN5OiAnQVJTJyxcbiAgICAgIGRvY3VtZW50TnVtYmVyOiB0aGlzLmN1cnJlbmN5ID09PSAnVVNEJyA/ICcwJyA6IHBheW1lbnRSZXNwb25zZS5jYXJkaG9sZGVyLmlkZW50aWZpY2F0aW9uLm51bWJlcixcbiAgICAgIGlkVmVuOiB0aGlzLmlkVmVuLFxuICAgICAgcGF5bWVudFR5cGU6ICdzaW5nbGUnLFxuICAgICAgaW5zdGFsbG1lbnRzOiB0aGlzLmN1cnJlbmN5ID09PSAnVVNEJyA/IDEgOiB0aGlzLnNlbGVjdENyZWRpdENhcmRQbGFuLmluc3RhbGxtZW50cyxcbiAgICAgIGNyZWRpdENhcmRQbGFuSWQ6IHRoaXMuY3VycmVuY3kgPT09ICdVU0QnID8gMCA6IHRoaXMuc2VsZWN0Q3JlZGl0Q2FyZFBsYW4uaWQsXG4gICAgICBwYXltZW50TWV0aG9kSWQ6IHRoaXMuaXNzdWVyLFxuICAgICAgY2FyZGhvbGRlcjogdGhpcy5wYXllck5hbWVUZXh0LFxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkLFxuICAgICAgZGF0YTogdGhpcy5kYXRhLFxuICAgICAgc3ViUGF5bWVudHM6IFtdLFxuICAgICAgY3JlZGl0Q2FyZEhhc2g6IGhhc2hlZENhcmQsXG4gICAgICBsYXN0Rm91ckRpZ2l0czogdGhpcy5jYXJkVGV4dC5zbGljZSgtNClcbiAgICB9O1xuICAgIFxuXG4gICAgdGhpcy5sb2dnZXIoJ3BheW1lbnQ6JywgSlNPTi5zdHJpbmdpZnkodGhpcy5wYXltZW50KSk7XG4gICAgdGhpcy5zcHNEZWNpZGlyQXBpU2VydmljZS5tYWtlUGF5bWVudCh0aGlzLnBheW1lbnQsIHRoaXMuYWNjZXNzVG9rZW4sIHRoaXMudmtVcmxBcGkpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IFJlc3BvbnNlQXBpKSA9PiB7XG4gICAgICAgIHRoaXMucGF5bWVudFJlc3BvbnNlSGFuZGxlcihyZXMpO1xuICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHRoaXMucGF5bWVudFJlc3VsdCk7XG4gICAgICAgIHRoaXMucGF5bWVudFN0YXRlID0gJ2FwaUVycm9yJztcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzaFRleHQodGV4dDogc3RyaW5nLCBpdGVyYXRpb25zOm51bWJlcik6IHN0cmluZ3tcbiAgICBsZXQgaGFzaGVkdGV4dCA9IHRleHQ7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVyYXRpb25zOyBpKyspIHtcbiAgICAgIGhhc2hlZHRleHQgPSBzaGEyNTYoaGFzaGVkdGV4dCk7XG4gICAgfVxuICAgIHJldHVybiBoYXNoZWR0ZXh0XG4gIH1cblxuICBwYXltZW50UmVzcG9uc2VIYW5kbGVyKHJlc3BvbnNlOiBSZXNwb25zZUFwaSkge1xuICAgIHRoaXMubG9nZ2VyKCdwYXltZW50UmVzcG9uc2VIYW5kbGVyOicsIEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlKSk7XG5cbiAgICBpZiAocmVzcG9uc2Uuc3VjY2Vzcykge1xuICAgICAgdGhpcy5wYXltZW50U3RhdGUgPSAnc3VjY2Vzcyc7XG4gICAgICB0aGlzLnBheW1lbnRTdWNjZXNzSW5mbyA9IHJlc3BvbnNlLmRhdGEgYXMgUGF5bWVudFJlc3BvbnNlSW5mbztcbiAgICAgIHRoaXMucGF5bWVudFJlc3VsdCA9IHsgc3VjY2VzczogdHJ1ZSwgcGF5bWVudElkOiB0aGlzLnBheW1lbnRTdWNjZXNzSW5mby5wYXltZW50X2lkLCBpbnRlZ3JhdG9yOiAnREVDSURJUicgfTtcbiAgICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgdGhpcy5kaXNhYmxlU2VsZWN0ID0gdHJ1ZTtcblxuICAgICAgaWYgKHRoaXMuc3VjY2Vzc1VybCAmJiB0aGlzLnN1Y2Nlc3NVcmwubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYCR7dGhpcy5zdWNjZXNzVXJsfWBdKS50aGVuKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYXltZW50U3RhdGUgPSAnZXJyb3InO1xuICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh0aGlzLnBheW1lbnRSZXN1bHQpO1xuICAgICAgdGhpcy5wcm9jZXNzRXJyb3JNZXNzYWdlKHJlc3BvbnNlLmRhdGEpO1xuXG4gICAgICBpZiAodGhpcy5mYWlsdXJlVXJsICYmIHRoaXMuZmFpbHVyZVVybC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHt0aGlzLmZhaWx1cmVVcmx9YF0pLnRoZW4oKVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvY2Vzc0Vycm9yVG9rZW4ocmVzcG9uc2U6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuZGlzYWJsZVNlbGVjdCA9IHRydWU7XG5cbiAgICBjb25zdCBlcnJvcjogRXJyb3JUb2tlbiA9IHJlc3BvbnNlIGFzIEVycm9yVG9rZW47XG5cbiAgICAvLyBvYnRlbmVtb3MgbWVuc2FqZXMgZGUgZXJyb3JcbiAgICBlcnJvci5lcnJvci5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICBpZiAoeC5lcnJvci50eXBlID09PSAnaW52YWxpZF9leHBpcnlfZGF0ZScpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnUmV2aXPDoSBsYSBmZWNoYSBkZSB2ZW5jaW1pZW50by4nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShlcnJvcik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBkaWZlcmVudGVzIHRpcG9zIGRlIGVycm9yIG5vcyBkZXZ1ZWx2ZSBkZWNpZGlyXG4gIHByb2Nlc3NFcnJvck1lc3NhZ2UocmVzcG9uc2VFcnJvcjogUGF5bWVudFJlc3BvbnNlSW5mbyk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuZGlzYWJsZVNlbGVjdCA9IHRydWU7XG5cbiAgICBpZiAocmVzcG9uc2VFcnJvci5lcnJvcikge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSByZXNwb25zZUVycm9yLmVycm9yLnJlYXNvbi5kZXNjcmlwdGlvbjtcblxuICAgICAgaWYgKHJlc3BvbnNlRXJyb3IuZXJyb3IucmVhc29uLmFkZGl0aW9uYWxfZGVzY3JpcHRpb24pIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmVycm9yTWVzc2FnZSArICcgLSAnICsgcmVzcG9uc2VFcnJvci5lcnJvci5yZWFzb24uYWRkaXRpb25hbF9kZXNjcmlwdGlvbjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZXJyb3JNZXNzYWdlID09ICcnIHx8IHRoaXMuZXJyb3JNZXNzYWdlID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlRXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChyZXNwb25zZUVycm9yLmVycm9yX3R5cGUpIHtcbiAgICAgIHN3aXRjaCAocmVzcG9uc2VFcnJvci5lcnJvcl90eXBlKSB7XG4gICAgICAgIGNhc2UgJ2ludmFsaWRfcmVxdWVzdF9lcnJvcic6XG4gICAgICAgICAgaWYgKHJlc3BvbnNlRXJyb3IudmFsaWRhdGlvbl9lcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlRXJyb3IudmFsaWRhdGlvbl9lcnJvcnNbMF0uY29kZSA9PT0gJ2ludmFsaWRfcGFyYW0nKSB7XG4gICAgICAgICAgICAgIHN3aXRjaCAocmVzcG9uc2VFcnJvci52YWxpZGF0aW9uX2Vycm9yc1swXS5wYXJhbSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2NhcmRfbnVtYmVyJzpcbiAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ1RhcmpldGEgaW52w6FsaWRhJztcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Jpbic6XG4gICAgICAgICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdUYXJqZXRhIGludsOhbGlkYSc7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSByZXNwb25zZUVycm9yLmVycm9yLnJlYXNvbi5kZXNjcmlwdGlvbjtcbiAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmVycm9yTWVzc2FnZSA9PSAnJyB8fCB0aGlzLmVycm9yTWVzc2FnZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShyZXNwb25zZUVycm9yKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdub3RfZm91bmRfZXJyb3InOlxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0RhdG9zIG5vIGVuY29udHJhZG9zICg0MDQpLic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2F1dGhlbnRpY2F0aW9uX2Vycm9yJzpcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdFcnJvciAoNDAxKS4nO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdtYWxmb3JtZWRfcmVxdWVzdF9lcnJvcic6XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRXJyb3IgYWwgZW52aWFyIGxvcyBkYXRvcyAgKDQwMCkuJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYXBpX2Vycm9yJzpcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdFcnJvciBpbnRlcm5vICg0MDkpLic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShyZXNwb25zZUVycm9yKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb21wYXJlRGF0ZSh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRheTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBkMTogRGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXkpO1xuICAgIGNvbnN0IGQyOiBEYXRlID0gbmV3IERhdGUoKTtcblxuICAgIGNvbnN0IHNhbWUgPSBkMS5nZXRUaW1lKCkgPT09IGQyLmdldFRpbWUoKTtcbiAgICBpZiAoc2FtZSkgeyByZXR1cm4gMDsgfVxuICAgIGlmIChkMSA+IGQyKSB7IHJldHVybiAxOyB9XG4gICAgaWYgKGQxIDwgZDIpIHsgcmV0dXJuIC0xOyB9XG4gIH1cblxuICAvLyBJbnB1dCBjb250cm9sc1xuICBvblllYXJDaGFuZ2UoKSB7XG4gICAgaWYgKE51bWJlci5pc05hTigrdGhpcy55ZWFyVGV4dCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnllYXJUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvblllYXJCbHVyKGVsZW1lbnQ6IGFueSkge1xuICAgIGlmICh0aGlzLmNvbXBhcmVEYXRlKFxuICAgICAgTnVtYmVyKGAyMCR7dGhpcy55ZWFyVGV4dH1gKSxcbiAgICAgIE51bWJlcih0aGlzLm1vbnRoVGV4dCksXG4gICAgICBuZXcgRGF0ZSgpLmdldERhdGUoKSkgPCAwKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy55ZWFyVGV4dCA9ICcnO1xuICAgICAgICB0aGlzLmludmFsaWREYXRlID0gdHJ1ZTtcbiAgICAgICAgZWxlbWVudC50YXJnZXQuZm9jdXMoKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmludmFsaWREYXRlID0gZmFsc2U7XG4gICAgfVxuXG4gIH1cblxuICBvbk1vbnRoTG9zdEZvY3VzKCkge1xuICAgIGlmICgrdGhpcy5tb250aFRleHQgPiAwICYmICFpc05hTigrdGhpcy5tb250aFRleHQpKSB7XG4gICAgICBpZiAodGhpcy5tb250aFRleHQgPT09ICcxJykge1xuICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwMSc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25Nb250aENoYW5nZSgpIHtcbiAgICBpZiAoK3RoaXMubW9udGhUZXh0ID49IDAgJiYgK3RoaXMubW9udGhUZXh0IDwgMTMgJiYgIWlzTmFOKCt0aGlzLm1vbnRoVGV4dCkpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5tb250aFRleHQpIHtcbiAgICAgICAgY2FzZSAnMic6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwMic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnMyc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwMyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnNCc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwNCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnNSc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwNSc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnNic6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwNic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnNyc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwNyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnOCc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwOCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnOSc6IHtcbiAgICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcwOSc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMubW9udGhUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkNvZGVDaGFuZ2UoKSB7XG4gICAgaWYgKE51bWJlci5pc05hTigrdGhpcy5jdmNUZXh0KSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY3ZjVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3ZjVGV4dC5zZWFyY2goJyAnKSA+IC0xKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jdmNUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkRuaUNoYW5nZSgpIHtcbiAgICBpZiAoTnVtYmVyLmlzTmFOKCt0aGlzLmRuaVRleHQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5kbmlUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kbmlUZXh0LnNlYXJjaCgnICcpID4gLTEpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmRuaVRleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uUGF5ZXJOYW1lQ2hhbmdlKCkge1xuICAgIGlmICghaXNOYU4oK3RoaXMucGF5ZXJOYW1lVGV4dCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnBheWVyTmFtZVRleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2FyZENoYW5nZSgpIHtcbiAgICBpZiAoTnVtYmVyLmlzTmFOKCt0aGlzLmNhcmRUZXh0KSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2FyZFRleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNhcmRUZXh0LnNlYXJjaCgnICcpID4gLTEpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNhcmRUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZih0aGlzLmNhcmRUZXh0Lmxlbmd0aCA8OCkge1xuICAgICAgdGhpcy5kaXNhYmxlU2VsZWN0ID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNzdWVyID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNhYmxlU2VsZWN0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gc2V0ZWEgdGFyamV0YVxuICAgIGlmICh0aGlzLmNhcmRUZXh0Lmxlbmd0aCA9PT0gOCAmJiB0aGlzLmNhcmRUZXh0ICE9PSAnMDAwMDAwMDAnKXtcbiAgICAgIHRoaXMuc2V0Q3JlZGl0VHlwZSh0aGlzLmNhcmRUZXh0KTtcbiAgICB9XG4gICAgXG4gIH1cblxuICBzZXRDcmVkaXRUeXBlKGJpbjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGJpbi5sZW5ndGggPCA4KSB7XG4gICAgICB0aGlzLmlzc3VlciA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGJpbi5sZW5ndGggPT09IDgpIHtcbiAgICAgIHRoaXMuaXNzdWVyID0gbnVsbDtcblxuICAgICAgLy8gdmlzYSBkZWJpdG9cbiAgICAgIGlmIChiaW4uc3Vic3RyaW5nKDAsIDQpID09PSAnNDc3MCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzQ0MjU0OCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzQwNjgwOScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzQwODczOCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzQxMTUyMScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzQxMTY2MycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzQyNjM1OScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzQyOTc4MCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzQzODI2NycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzQ2MTE4NycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzUwMDMzNCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzUwOTQxMycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzUxMjI4NScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzUxMjg4MScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzUxODYzNScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzUzODQ0OScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzU1MDU1MycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzU2NjA1NycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzU2NzkzMycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzU3MjE0MCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzU4NDI1NycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzU5ODcxOCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzYwNTgwMScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzYwNjEyMCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzYzMTA1NycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzY3NjIxNScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzcxMzI3NCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzcxMzI4NCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzcxNzUxNScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzc0ODc2MScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzc1MzM3MScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzc1MzYwMCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzkxMjM5NCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzkxNjE0OCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzkxNjc3MycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzkyMzQwNScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzkzMDk2NScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzkzNDA5MScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzkzNTc2MScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzk0MzMxMycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzk0NTcyMScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzk0ODgwOScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzk2MDY0NCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzk2OTA4NScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzk3MDE2NycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzk3ODA2MScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQwMjY3OTE5JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDAzMjcxNzYnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0MDQxNjAwNCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQwNDIxOTMzJyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDA0NTE1NTYnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0MDU0MTAxMCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQwNjIzODM1JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDA3MzM0NjknIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0MDczMzU4NicgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQwODcyNDk4JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUwMDc3ODknIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTAyNDgyMicgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MDM0NzUxJyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUwNDY5ODcnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTA2MDU0OScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MDYyNDgyJyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUwNzAwNzEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTA4NDcwOCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MDkxNDMzJyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUxMDA5MDInIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTEwMzg2OScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MTMxMDQ3JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUxNjg4ODQnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTE3NDMwNicgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MTg0NjExJyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUxOTE5MjEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTIwMTg4MScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MjA2NDAxJyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUyNDUyOTQnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTMxNDk0NCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MzE3ODQ3JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUzNTc0MDknIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTM3NDU4NycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1Mzk0NzA1JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDU0NTY1ODQnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTU0MTkyNCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1NTQ1Nzk1JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDU1Njc3NDYnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTU4Mzc1OScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1NjQ4ODM4JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDU2NzI1MDYnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTY3ODQyMScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1NzEwNzU2JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDU3MTYwMDYnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTcyNTAyOScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1NzMyMTEzJyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDU3MzI2OTgnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTc5MzkxNycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1ODQxMTg1JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDU4NjIwMjEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTkxNTMzNicgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1OTcxNDk2Jykge1xuICAgICAgICB0aGlzLmlzc3VlciA9IDMxO1xuICAgICAgfVxuICAgICAgLy8gbWFzdGVyY2FyZFxuICAgICAgZWxzZSBpZiAoYmluLnN1YnN0cmluZygwLCAyKSA9PT0gJzUxJyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDIpID09PSAnNTInIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgMikgPT09ICc1MycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCAyKSA9PT0gJzU0JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDIpID09PSAnNTUnKSB7XG4gICAgICAgIHRoaXMuaXNzdWVyID0gMTU7XG4gICAgICB9XG4gICAgICAvLyB0YXJqZXRhIG5hcmFuamFcbiAgICAgIGVsc2UgaWYgKGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc1ODk1NjInKSB7XG4gICAgICAgIHRoaXMuaXNzdWVyID0gMjQ7XG4gICAgICB9XG4gICAgICAvLyB2aXNhIGNyZWRpdG9cbiAgICAgIGVsc2UgaWYgKGJpbi5zdWJzdHJpbmcoMCwgMSkgPT09ICc0Jykge1xuICAgICAgICB0aGlzLmlzc3VlciA9IDE7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2VsZWN0ZWRDcmVkaXRDYXJkKCk7XG4gICAgfVxuICB9XG5cbiAgb25QYXN0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXNldEZvcm0oKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuZGlzYWJsZVNlbGVjdCA9IGZhbHNlO1xuICAgIHRoaXMudG90YWxBbW91bnRcbiAgICB0aGlzLnRvdGFsRmluYW5jZWRBbW91bnQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5jdXJyZW50VEVBID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY3VycmVudENGVCA9IHVuZGVmaW5lZDtcbiAgICAvLyBjcmVkaXRDYXJkczogQ3JlZGl0Q2FyZFtdO1xuICAgIHRoaXMuY3JlZGl0Q2FyZHMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zZWxlY3RDcmVkaXRDYXJkUGxhbiA9IG51bGw7XG4gICAgLy8gY3JlZGl0Q2FyZFBsYW5zOiBDcmVkaXRDYXJkUGxhbnNbXTtcbiAgICB0aGlzLmNyZWRpdENhcmRQbGFucyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnBheW1lbnRSZXN1bHQgPSB7IHN1Y2Nlc3M6IGZhbHNlLCBwYXltZW50SWQ6ICcnLCBpbnRlZ3JhdG9yOiAnREVDSURJUicgfTtcbiAgXG4gICAgLy8gRm9ybSBiaW5kXG4gICAgdGhpcy5tb250aFRleHQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy55ZWFyVGV4dCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmN2Y1RleHQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5kbmlUZXh0ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucGF5ZXJOYW1lVGV4dCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNhcmRUZXh0ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuc3VibWl0UHJlc3NlZCA9IGZhbHNlO1xuICAgIHRoaXMuaW52YWxpZERhdGUgPSBmYWxzZTtcbiAgXG4gICAgdGhpcy5kZWNpZGlyID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuYWRkU2NyaXB0ID0gdHJ1ZTtcbiAgXG4gICAgdGhpcy5wYXltZW50U3RhdGUgPSAndW5zdWJtaXR0ZWQnO1xuICAgIHRoaXMucGF5ZXJOYW1lID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuaXNzdWVyID0gbnVsbDtcbiAgICB0aGlzLnBheW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5wYXltZW50U3VjY2Vzc0luZm8gPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLmluaXREZWNpZGlyKCk7XG4gIH1cblxufVxuIl19
1022
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BzLWRlY2lkaXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdmstcGF5bWVudHMvIiwic291cmNlcyI6WyJsaWIvc3BzLWRlY2lkaXIvY29tcG9uZW50cy9zcHMtZGVjaWRpci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBWTVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSTNFO0lBNERFLDZCQUFvQixNQUFjLEVBQVMsb0JBQTBDO1FBQWpFLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBbkM1RSxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2YsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRXhELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFPdEIseUJBQW9CLEdBQW9CLElBQUksQ0FBQztRQUU3QyxrQkFBYSxHQUFrQixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFTeEYsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFHcEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUVqQixpQkFBWSxHQUFHLGFBQWEsQ0FBQztRQUU3QixXQUFNLEdBQVksSUFBSSxDQUFDO0lBS2tFLENBQUM7Ozs7SUFFMUYsc0NB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QyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRO2dCQUNoQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVO2dCQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMs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SUFDaEIsc0NBQWdCOztJQUNoQiw0Q0FBc0I7O0lBQ3RCLHVDQUFpQjs7SUFDakIsNENBQXNCOztJQUN0QiwwQ0FBb0I7Ozs7O0lBRXBCLHNDQUFxQjs7SUFDckIsd0NBQWlCOztJQUVqQiwyQ0FBNkI7O0lBQzdCLHdDQUFrQjs7SUFDbEIscUNBQXVCOztJQUN2QixzQ0FBaUI7O0lBQ2pCLGlEQUF3Qzs7SUFDeEMsMkNBQXFCOzs7OztJQUVULHFDQUFzQjs7SUFBRSxtREFBaUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCBzaGEyNTYgZnJvbSAnc2hhMjU2JztcblxuaW1wb3J0IHtcbiAgQ3JlZGl0Q2FyZCxcbiAgQ3JlZGl0Q2FyZFBsYW5zLFxuICBFcnJvclRva2VuLFxuICBQYXltZW50LFxuICBQYXltZW50UmVzcG9uc2VJbmZvLFxuICBQYXltZW50UmVzdWx0LFxuICBSZXNwb25zZUFwaSxcbiAgU3BzUmVzcG9uc2VQYXltZW50LFxufSBmcm9tICcuLi9tb2RlbHMvcGF5bWVudC5tb2RlbCc7XG5pbXBvcnQgeyBTcHNEZWNpZGlyQXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Nwcy1kZWNpZGlyLmFwaS5zZXJ2aWNlJztcblxuZGVjbGFyZSB2YXIgRGVjaWRpcjogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHMtZm9ybS1wYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BzLWRlY2lkaXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcHMtZGVjaWRpci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNwc0RlY2lkaXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQFZpZXdDaGlsZCgnZicsIHsgc3RhdGljOiBmYWxzZSB9KSBjaGVja091dEZvcm06IE5nRm9ybTtcbiAgQElucHV0KCkgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgQElucHV0KCkgc3BzVXJsQXBpOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZrVXJsQXBpOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBheW1lbnRBbW91bnQ6IHN0cmluZztcbiAgQElucHV0KCkgbG9nb1Nwczogc3RyaW5nO1xuICBASW5wdXQoKSBjdXJyZW5jeTogc3RyaW5nO1xuICBASW5wdXQoKSBkZWZhdWx0UHVibGlzaGFibGVLZXk6IHN0cmluZztcbiAgQElucHV0KCkgc3VwZXJ2aWVsbGVQdWJsaXNoYWJsZUtleTogc3RyaW5nO1xuICBASW5wdXQoKSBzdWNjZXNzVXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZhaWx1cmVVcmw6IHN0cmluZztcbiAgQElucHV0KCkgdXNlQ3liZXJzb3VyY2U6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRlYnVnTG9nOiBib29sZWFuO1xuICBASW5wdXQoKSBzdG9yZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRvbWFpbklkOiBudW1iZXI7XG4gIEBJbnB1dCgpIGlkVmVuOiBudW1iZXI7XG4gIEBJbnB1dCgpIGRhdGE6IHN0cmluZztcbiAgQElucHV0KCkgbGFiZWxCdXR0b246IHN0cmluZztcbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSAnZXMnO1xuICBAT3V0cHV0KCkgc3RhdHVzUGF5ID0gbmV3IEV2ZW50RW1pdHRlcjxQYXltZW50UmVzdWx0PigpO1xuXG4gIGRpc2FibGVkID0gZmFsc2U7XG4gIGRpc2FibGVTZWxlY3QgPSBmYWxzZTtcbiAgdG90YWxBbW91bnQ6IHN0cmluZztcbiAgdG90YWxGaW5hbmNlZEFtb3VudDogc3RyaW5nO1xuICBjdXJyZW50VEVBOiBzdHJpbmc7XG4gIGN1cnJlbnRDRlQ6IHN0cmluZztcblxuICBjcmVkaXRDYXJkczogQ3JlZGl0Q2FyZFtdO1xuICBzZWxlY3RDcmVkaXRDYXJkUGxhbjogQ3JlZGl0Q2FyZFBsYW5zID0gbnVsbDtcbiAgY3JlZGl0Q2FyZFBsYW5zOiBDcmVkaXRDYXJkUGxhbnNbXTtcbiAgcGF5bWVudFJlc3VsdDogUGF5bWVudFJlc3VsdCA9IHsgc3VjY2VzczogZmFsc2UsIHBheW1lbnRJZDogJycsIGludGVncmF0b3I6ICdERUNJRElSJyB9O1xuXG4gIC8vIEZvcm0gYmluZFxuICBtb250aFRleHQ6IHN0cmluZztcbiAgeWVhclRleHQ6IHN0cmluZztcbiAgY3ZjVGV4dDogc3RyaW5nO1xuICBkbmlUZXh0OiBzdHJpbmc7XG4gIHBheWVyTmFtZVRleHQ6IHN0cmluZztcbiAgY2FyZFRleHQ6IHN0cmluZztcbiAgc3VibWl0UHJlc3NlZCA9IGZhbHNlO1xuICBpbnZhbGlkRGF0ZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZGVjaWRpcjogYW55O1xuICBhZGRTY3JpcHQgPSB0cnVlO1xuXG4gIHBheW1lbnRTdGF0ZSA9ICd1bnN1Ym1pdHRlZCc7XG4gIHBheWVyTmFtZTogc3RyaW5nO1xuICBpc3N1ZXI/OiBudW1iZXIgPSBudWxsO1xuICBwYXltZW50OiBQYXltZW50O1xuICBwYXltZW50U3VjY2Vzc0luZm86IFBheW1lbnRSZXNwb25zZUluZm87XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyBzcHNEZWNpZGlyQXBpU2VydmljZTogU3BzRGVjaWRpckFwaVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdERlY2lkaXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIWNoYW5nZXMucGF5bWVudEFtb3VudC5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgIHRoaXMuY2hlY2tPdXRGb3JtLnJlc2V0KCk7XG4gICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmRpc2FibGVTZWxlY3QgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXREZWNpZGlyKCkge1xuICAgIHRoaXMuYWRkRGVjaWRpclNjcmlwdCgpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuZ2V0Q3JlZGl0Q2FyZHMoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplU3BzRGVjaWRpcigpO1xuICAgICAgfSk7XG4gIH1cblxuICBhZGREZWNpZGlyU2NyaXB0KCkge1xuICAgIHRoaXMuYWRkU2NyaXB0ID0gdHJ1ZTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IHNjcmlwdHRhZ0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdHRhZ0VsZW1lbnQuc3JjID0gJ2h0dHBzOi8vbGl2ZS5kZWNpZGlyLmNvbS9zdGF0aWMvdjIuNC9kZWNpZGlyLmpzJztcbiAgICAgIHNjcmlwdHRhZ0VsZW1lbnQub25sb2FkID0gcmVzb2x2ZTtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0dGFnRWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldENyZWRpdENhcmRzKCkge1xuICAgIHRoaXMuc3BzRGVjaWRpckFwaVNlcnZpY2UuZ2V0Q3JlZGl0Q2FyZHModGhpcy5hY2Nlc3NUb2tlbiwgdGhpcy52a1VybEFwaSwgdGhpcy5kb21haW5JZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogUmVzcG9uc2VBcGkpID0+IHtcbiAgICAgICAgdGhpcy5jcmVkaXRDYXJkcyA9IHJlcy5kYXRhIGFzIENyZWRpdENhcmRbXTtcbiAgICAgICAgdGhpcy5sb2dnZXIoJ2dldENyZWRpdENhcmRzJywgdGhpcy5jcmVkaXRDYXJkcyk7XG4gICAgICB9LCBfID0+IHRoaXMucGF5bWVudFN0YXRlID0gJ2FwaUVycm9yJyk7XG4gIH1cblxuICBwcml2YXRlIGdldFBsYW5zQnlDcmVkaXRDYXJkSWQoYW1vdW50OiBzdHJpbmcsIGNyZWRpdENhcmRJZDogbnVtYmVyLCBkb21haW5JZDogbnVtYmVyLCBiaW46IHN0cmluZykge1xuICAgIHRoaXMuc3BzRGVjaWRpckFwaVNlcnZpY2UuZ2V0UGxhbnNCeUNyZWRpdENhcmRJZCh0aGlzLmFjY2Vzc1Rva2VuLCB0aGlzLnZrVXJsQXBpLCBhbW91bnQsIGNyZWRpdENhcmRJZCwgZG9tYWluSWQsIGJpbilcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogUmVzcG9uc2VBcGkpID0+IHtcbiAgICAgICAgdGhpcy5jcmVkaXRDYXJkUGxhbnMgPSByZXMuZGF0YSBhcyBDcmVkaXRDYXJkUGxhbnNbXTtcbiAgICAgICAgdGhpcy5sb2dnZXIoJ2dldFBsYW5zQnlDcmVkaXRDYXJkSWQnLCB0aGlzLmNyZWRpdENhcmRQbGFucyk7XG4gICAgICB9LCBfID0+IHRoaXMucGF5bWVudFN0YXRlID0gJ2FwaUVycm9yJyk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVTcHNEZWNpZGlyKCkge1xuICAgIHRoaXMuZGVjaWRpciA9IG5ldyBEZWNpZGlyKHRoaXMuc3BzRGVjaWRpckFwaVNlcnZpY2Uubm9ybWFsaXplVXJsKHRoaXMuc3BzVXJsQXBpKSwgIXRoaXMudXNlQ3liZXJzb3VyY2UpO1xuICAgIHRoaXMuZGVjaWRpci5zZXRUaW1lb3V0KDE1MDAwKTtcbiAgICB0aGlzLmRlY2lkaXIuc2V0UHVibGlzaGFibGVLZXkodGhpcy5kZWZhdWx0UHVibGlzaGFibGVLZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2dnZXIobWVzc2FnZTogc3RyaW5nLCBkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGVidWdMb2cpIHsgcmV0dXJuOyB9XG4gICAgY29uc29sZS5sb2cobWVzc2FnZSwgZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0ZWRDcmVkaXRDYXJkKCkge1xuICAgIGlmICghdGhpcy5pc3N1ZXIpIHsgcmV0dXJuOyB9XG5cbiAgICB0aGlzLnNlbGVjdENyZWRpdENhcmRQbGFuID0gbnVsbDtcbiAgICBpZiAodGhpcy5jdXJyZW5jeSA9PT0gJ0FSUycgJiYgdGhpcy5jYXJkVGV4dC5zdWJzdHJpbmcoMCw4KSAhPT0gJzAwMDAwMDAwJykge1xuICAgICAgdGhpcy5nZXRQbGFuc0J5Q3JlZGl0Q2FyZElkKHRoaXMucGF5bWVudEFtb3VudCwgdGhpcy5pc3N1ZXIsIHRoaXMuZG9tYWluSWQsIHRoaXMuY2FyZFRleHQuc3Vic3RyaW5nKDAsOCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNhcmRUZXh0ID0nJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jdXJyZW5jeSA9PT0gJ1VTRCcpIHtcbiAgICAgIHRoaXMudG90YWxBbW91bnQgPSB0aGlzLnRvdGFsRmluYW5jZWRBbW91bnQgPSB0aGlzLnBheW1lbnRBbW91bnQ7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0ZWRDcmVkaXRDYXJkUGxhbigpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RDcmVkaXRDYXJkUGxhbiA9PT0gbnVsbCkgeyByZXR1cm47IH1cblxuICAgIHRoaXMudG90YWxGaW5hbmNlZEFtb3VudCA9IHRoaXMuc2VsZWN0Q3JlZGl0Q2FyZFBsYW4udG90YWxBbW91bnQ7XG4gICAgdGhpcy50b3RhbEFtb3VudCA9IHRoaXMucGF5bWVudEFtb3VudDtcbiAgICB0aGlzLmN1cnJlbnRURUEgPSB0aGlzLnNlbGVjdENyZWRpdENhcmRQbGFuLnRuYTtcbiAgICB0aGlzLmN1cnJlbnRDRlQgPSB0aGlzLnNlbGVjdENyZWRpdENhcmRQbGFuLmNmdDtcbiAgfVxuXG4gIG9uU3VibWl0KGV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnN1Ym1pdFByZXNzZWQgPSB0cnVlO1xuICAgIHRoaXMucGF5bWVudFJlc3VsdCA9IHsgc3VjY2VzczogZmFsc2UsIHBheW1lbnRJZDogJycsIGludGVncmF0b3I6ICdERUNJRElSJyB9O1xuXG4gICAgaWYgKCF0aGlzLmNoZWNrT3V0Rm9ybS52YWxpZCkgeyByZXR1cm47IH1cblxuICAgIHRoaXMuc3BzRGVjaWRpckFwaVNlcnZpY2UuZ2V0RGVjaWRpckNvbmZpZ0J5QmluKHRoaXMuY2FyZFRleHQuc3Vic3RyaW5nKDAsIDgpLCB0aGlzLnZrVXJsQXBpKVxuICAgICAgLnN1YnNjcmliZShjb25maWcgPT4ge1xuICAgICAgICBpZihjb25maWcgPSdTUFMtRGVjaWRpci1TdXBlcnZpZWxsZScpe1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdNb2RvIFN1cGVydmllbGxlJyk7XG4gICAgICAgICAgdGhpcy5kZWNpZGlyLnNldFB1Ymxpc2hhYmxlS2V5KHRoaXMuc3VwZXJ2aWVsbGVQdWJsaXNoYWJsZUtleSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBheW1lbnRTdGF0ZSA9ICdwcm9jZXNzaW5nJztcbiAgICAgICAgY29uc3QgZm9ybSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNmb3JtdWxhcmlvJyk7XG4gICAgICAgIHRoaXMuZGVjaWRpci5jcmVhdGVUb2tlbihmb3JtLCAoc3RhdHVzOiBudW1iZXIsIHJlc3BvbnNlOiBTcHNSZXNwb25zZVBheW1lbnQpID0+IHtcbiAgICAgICAgICBpZiAoc3RhdHVzICE9PSAyMDAgJiYgc3RhdHVzICE9PSAyMDEpIHtcbiAgICAgICAgICAgIHRoaXMucGF5bWVudFN0YXRlID0gJ2Vycm9yJztcbiAgICAgICAgICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0Vycm9yVG9rZW4ocmVzcG9uc2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1ha2VQYXltZW50KGZvcm0sIHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICB9KTtcbiAgfVxuXG4gIG1ha2VQYXltZW50KGZvcm06IGFueSwgcGF5bWVudFJlc3BvbnNlOiBTcHNSZXNwb25zZVBheW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2dlcignbWFrZVBheW1lbnQ6JywgSlNPTi5zdHJpbmdpZnkocGF5bWVudFJlc3BvbnNlKSk7XG4gICAgY29uc3QgaGFzaGVkQ2FyZCA9IHRoaXMuaGFzaFRleHQodGhpcy5jYXJkVGV4dCwxMDAwMDApO1xuICAgIHRoaXMucGF5bWVudCA9IHtcbiAgICAgIHRva2VuOiBwYXltZW50UmVzcG9uc2UuaWQsXG4gICAgICBhbW91bnQ6IHRoaXMudG90YWxBbW91bnQsXG4gICAgICB0b3RhbEZpbmFuY2VkQW1vdW50OiB0aGlzLnRvdGFsRmluYW5jZWRBbW91bnQsXG4gICAgICBiaW46IHBheW1lbnRSZXNwb25zZS5iaW4sXG4gICAgICBjdXJyZW5jeTogJ0FSUycsXG4gICAgICBkb2N1bWVudE51bWJlcjogdGhpcy5jdXJyZW5jeSA9PT0gJ1VTRCcgPyAnMCcgOiBwYXltZW50UmVzcG9uc2UuY2FyZGhvbGRlci5pZGVudGlmaWNhdGlvbi5udW1iZXIsXG4gICAgICBpZFZlbjogdGhpcy5pZFZlbixcbiAgICAgIHBheW1lbnRUeXBlOiAnc2luZ2xlJyxcbiAgICAgIGluc3RhbGxtZW50czogdGhpcy5jdXJyZW5jeSA9PT0gJ1VTRCcgPyAxIDogdGhpcy5zZWxlY3RDcmVkaXRDYXJkUGxhbi5pbnN0YWxsbWVudHMsXG4gICAgICBjcmVkaXRDYXJkUGxhbklkOiB0aGlzLmN1cnJlbmN5ID09PSAnVVNEJyA/IDAgOiB0aGlzLnNlbGVjdENyZWRpdENhcmRQbGFuLmlkLFxuICAgICAgcGF5bWVudE1ldGhvZElkOiB0aGlzLmlzc3VlcixcbiAgICAgIGNhcmRob2xkZXI6IHRoaXMucGF5ZXJOYW1lVGV4dCxcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCxcbiAgICAgIGRhdGE6IHRoaXMuZGF0YSxcbiAgICAgIHN1YlBheW1lbnRzOiBbXSxcbiAgICAgIGNyZWRpdENhcmRIYXNoOiBoYXNoZWRDYXJkLFxuICAgICAgbGFzdEZvdXJEaWdpdHM6IHRoaXMuY2FyZFRleHQuc2xpY2UoLTQpXG4gICAgfTtcbiAgICBcblxuICAgIHRoaXMubG9nZ2VyKCdwYXltZW50OicsIEpTT04uc3RyaW5naWZ5KHRoaXMucGF5bWVudCkpO1xuICAgIHRoaXMuc3BzRGVjaWRpckFwaVNlcnZpY2UubWFrZVBheW1lbnQodGhpcy5wYXltZW50LCB0aGlzLmFjY2Vzc1Rva2VuLCB0aGlzLnZrVXJsQXBpKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBSZXNwb25zZUFwaSkgPT4ge1xuICAgICAgICB0aGlzLnBheW1lbnRSZXNwb25zZUhhbmRsZXIocmVzKTtcbiAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh0aGlzLnBheW1lbnRSZXN1bHQpO1xuICAgICAgICB0aGlzLnBheW1lbnRTdGF0ZSA9ICdhcGlFcnJvcic7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhc2hUZXh0KHRleHQ6IHN0cmluZywgaXRlcmF0aW9uczpudW1iZXIpOiBzdHJpbmd7XG4gICAgbGV0IGhhc2hlZHRleHQgPSB0ZXh0O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlcmF0aW9uczsgaSsrKSB7XG4gICAgICBoYXNoZWR0ZXh0ID0gc2hhMjU2KGhhc2hlZHRleHQpO1xuICAgIH1cbiAgICByZXR1cm4gaGFzaGVkdGV4dFxuICB9XG5cbiAgcGF5bWVudFJlc3BvbnNlSGFuZGxlcihyZXNwb25zZTogUmVzcG9uc2VBcGkpIHtcbiAgICB0aGlzLmxvZ2dlcigncGF5bWVudFJlc3BvbnNlSGFuZGxlcjonLCBKU09OLnN0cmluZ2lmeShyZXNwb25zZSkpO1xuXG4gICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MpIHtcbiAgICAgIHRoaXMucGF5bWVudFN0YXRlID0gJ3N1Y2Nlc3MnO1xuICAgICAgdGhpcy5wYXltZW50U3VjY2Vzc0luZm8gPSByZXNwb25zZS5kYXRhIGFzIFBheW1lbnRSZXNwb25zZUluZm87XG4gICAgICB0aGlzLnBheW1lbnRSZXN1bHQgPSB7IHN1Y2Nlc3M6IHRydWUsIHBheW1lbnRJZDogdGhpcy5wYXltZW50U3VjY2Vzc0luZm8ucGF5bWVudF9pZCwgaW50ZWdyYXRvcjogJ0RFQ0lESVInIH07XG4gICAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHRoaXMucGF5bWVudFJlc3VsdCk7XG4gICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuZGlzYWJsZVNlbGVjdCA9IHRydWU7XG5cbiAgICAgIGlmICh0aGlzLnN1Y2Nlc3NVcmwgJiYgdGhpcy5zdWNjZXNzVXJsLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2Ake3RoaXMuc3VjY2Vzc1VybH1gXSkudGhlbigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGF5bWVudFN0YXRlID0gJ2Vycm9yJztcbiAgICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcbiAgICAgIHRoaXMucHJvY2Vzc0Vycm9yTWVzc2FnZShyZXNwb25zZS5kYXRhKTtcblxuICAgICAgaWYgKHRoaXMuZmFpbHVyZVVybCAmJiB0aGlzLmZhaWx1cmVVcmwubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYCR7dGhpcy5mYWlsdXJlVXJsfWBdKS50aGVuKClcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb2Nlc3NFcnJvclRva2VuKHJlc3BvbnNlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmRpc2FibGVTZWxlY3QgPSB0cnVlO1xuXG4gICAgY29uc3QgZXJyb3I6IEVycm9yVG9rZW4gPSByZXNwb25zZSBhcyBFcnJvclRva2VuO1xuXG4gICAgLy8gb2J0ZW5lbW9zIG1lbnNhamVzIGRlIGVycm9yXG4gICAgZXJyb3IuZXJyb3IuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgaWYgKHguZXJyb3IudHlwZSA9PT0gJ2ludmFsaWRfZXhwaXJ5X2RhdGUnKSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ1Jldmlzw6EgbGEgZmVjaGEgZGUgdmVuY2ltaWVudG8uJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gSlNPTi5zdHJpbmdpZnkoZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gZGlmZXJlbnRlcyB0aXBvcyBkZSBlcnJvciBub3MgZGV2dWVsdmUgZGVjaWRpclxuICBwcm9jZXNzRXJyb3JNZXNzYWdlKHJlc3BvbnNlRXJyb3I6IFBheW1lbnRSZXNwb25zZUluZm8pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmRpc2FibGVTZWxlY3QgPSB0cnVlO1xuXG4gICAgaWYgKHJlc3BvbnNlRXJyb3IuZXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gcmVzcG9uc2VFcnJvci5lcnJvci5yZWFzb24uZGVzY3JpcHRpb247XG5cbiAgICAgIGlmIChyZXNwb25zZUVycm9yLmVycm9yLnJlYXNvbi5hZGRpdGlvbmFsX2Rlc2NyaXB0aW9uKSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvck1lc3NhZ2UgKyAnIC0gJyArIHJlc3BvbnNlRXJyb3IuZXJyb3IucmVhc29uLmFkZGl0aW9uYWxfZGVzY3JpcHRpb247XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmVycm9yTWVzc2FnZSA9PSAnJyB8fCB0aGlzLmVycm9yTWVzc2FnZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShyZXNwb25zZUVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAocmVzcG9uc2VFcnJvci5lcnJvcl90eXBlKSB7XG4gICAgICBzd2l0Y2ggKHJlc3BvbnNlRXJyb3IuZXJyb3JfdHlwZSkge1xuICAgICAgICBjYXNlICdpbnZhbGlkX3JlcXVlc3RfZXJyb3InOlxuICAgICAgICAgIGlmIChyZXNwb25zZUVycm9yLnZhbGlkYXRpb25fZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGlmIChyZXNwb25zZUVycm9yLnZhbGlkYXRpb25fZXJyb3JzWzBdLmNvZGUgPT09ICdpbnZhbGlkX3BhcmFtJykge1xuICAgICAgICAgICAgICBzd2l0Y2ggKHJlc3BvbnNlRXJyb3IudmFsaWRhdGlvbl9lcnJvcnNbMF0ucGFyYW0pIHtcbiAgICAgICAgICAgICAgICBjYXNlICdjYXJkX251bWJlcic6XG4gICAgICAgICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdUYXJqZXRhIGludsOhbGlkYSc7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdiaW4nOlxuICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnVGFyamV0YSBpbnbDoWxpZGEnO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gcmVzcG9uc2VFcnJvci5lcnJvci5yZWFzb24uZGVzY3JpcHRpb247XG4gICAgICAgICAgICAgICAgICBpZiAodGhpcy5lcnJvck1lc3NhZ2UgPT0gJycgfHwgdGhpcy5lcnJvck1lc3NhZ2UgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gSlNPTi5zdHJpbmdpZnkocmVzcG9uc2VFcnJvcik7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbm90X2ZvdW5kX2Vycm9yJzpcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdEYXRvcyBubyBlbmNvbnRyYWRvcyAoNDA0KS4nO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdhdXRoZW50aWNhdGlvbl9lcnJvcic6XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRXJyb3IgKDQwMSkuJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbWFsZm9ybWVkX3JlcXVlc3RfZXJyb3InOlxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0Vycm9yIGFsIGVudmlhciBsb3MgZGF0b3MgICg0MDApLic7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2FwaV9lcnJvcic6XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRXJyb3IgaW50ZXJubyAoNDA5KS4nO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gSlNPTi5zdHJpbmdpZnkocmVzcG9uc2VFcnJvcik7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29tcGFyZURhdGUoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXk6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgZDE6IERhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5KTtcbiAgICBjb25zdCBkMjogRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICBjb25zdCBzYW1lID0gZDEuZ2V0VGltZSgpID09PSBkMi5nZXRUaW1lKCk7XG4gICAgaWYgKHNhbWUpIHsgcmV0dXJuIDA7IH1cbiAgICBpZiAoZDEgPiBkMikgeyByZXR1cm4gMTsgfVxuICAgIGlmIChkMSA8IGQyKSB7IHJldHVybiAtMTsgfVxuICB9XG5cbiAgLy8gSW5wdXQgY29udHJvbHNcbiAgb25ZZWFyQ2hhbmdlKCkge1xuICAgIGlmIChOdW1iZXIuaXNOYU4oK3RoaXMueWVhclRleHQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy55ZWFyVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25ZZWFyQmx1cihlbGVtZW50OiBhbnkpIHtcbiAgICBpZiAodGhpcy5jb21wYXJlRGF0ZShcbiAgICAgIE51bWJlcihgMjAke3RoaXMueWVhclRleHR9YCksXG4gICAgICBOdW1iZXIodGhpcy5tb250aFRleHQpLFxuICAgICAgbmV3IERhdGUoKS5nZXREYXRlKCkpIDwgMCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMueWVhclRleHQgPSAnJztcbiAgICAgICAgdGhpcy5pbnZhbGlkRGF0ZSA9IHRydWU7XG4gICAgICAgIGVsZW1lbnQudGFyZ2V0LmZvY3VzKCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnZhbGlkRGF0ZSA9IGZhbHNlO1xuICAgIH1cblxuICB9XG5cbiAgb25Nb250aExvc3RGb2N1cygpIHtcbiAgICBpZiAoK3RoaXMubW9udGhUZXh0ID4gMCAmJiAhaXNOYU4oK3RoaXMubW9udGhUZXh0KSkge1xuICAgICAgaWYgKHRoaXMubW9udGhUZXh0ID09PSAnMScpIHtcbiAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDEnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uTW9udGhDaGFuZ2UoKSB7XG4gICAgaWYgKCt0aGlzLm1vbnRoVGV4dCA+PSAwICYmICt0aGlzLm1vbnRoVGV4dCA8IDEzICYmICFpc05hTigrdGhpcy5tb250aFRleHQpKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMubW9udGhUZXh0KSB7XG4gICAgICAgIGNhc2UgJzInOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDInO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzMnOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDMnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzQnOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDQnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzUnOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDUnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzYnOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDYnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzcnOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzgnOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDgnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJzknOiB7XG4gICAgICAgICAgdGhpcy5tb250aFRleHQgPSAnMDknO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1vbnRoVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Db2RlQ2hhbmdlKCkge1xuICAgIGlmIChOdW1iZXIuaXNOYU4oK3RoaXMuY3ZjVGV4dCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmN2Y1RleHQgPSAnJztcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmN2Y1RleHQuc2VhcmNoKCcgJykgPiAtMSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY3ZjVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25EbmlDaGFuZ2UoKSB7XG4gICAgaWYgKE51bWJlci5pc05hTigrdGhpcy5kbmlUZXh0KSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZG5pVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZG5pVGV4dC5zZWFyY2goJyAnKSA+IC0xKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5kbmlUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvblBheWVyTmFtZUNoYW5nZSgpIHtcbiAgICBpZiAoIWlzTmFOKCt0aGlzLnBheWVyTmFtZVRleHQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5wYXllck5hbWVUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkNhcmRDaGFuZ2UoKSB7XG4gICAgaWYgKE51bWJlci5pc05hTigrdGhpcy5jYXJkVGV4dCkpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNhcmRUZXh0ID0gJyc7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jYXJkVGV4dC5zZWFyY2goJyAnKSA+IC0xKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jYXJkVGV4dCA9ICcnO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYodGhpcy5jYXJkVGV4dC5sZW5ndGggPDgpIHtcbiAgICAgIHRoaXMuZGlzYWJsZVNlbGVjdCA9IHRydWU7XG4gICAgICB0aGlzLmlzc3VlciA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGlzYWJsZVNlbGVjdCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIHNldGVhIHRhcmpldGFcbiAgICBpZiAodGhpcy5jYXJkVGV4dC5sZW5ndGggPT09IDggJiYgdGhpcy5jYXJkVGV4dCAhPT0gJzAwMDAwMDAwJyl7XG4gICAgICB0aGlzLnNldENyZWRpdFR5cGUodGhpcy5jYXJkVGV4dCk7XG4gICAgfVxuICAgIFxuICB9XG5cbiAgc2V0Q3JlZGl0VHlwZShiaW46IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChiaW4ubGVuZ3RoIDwgOCkge1xuICAgICAgdGhpcy5pc3N1ZXIgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChiaW4ubGVuZ3RoID09PSA4KSB7XG4gICAgICB0aGlzLmlzc3VlciA9IG51bGw7XG5cbiAgICAgIC8vIHZpc2EgZGViaXRvXG4gICAgICBpZiAoYmluLnN1YnN0cmluZygwLCA0KSA9PT0gJzQ3NzAnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc0NDI1NDgnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc0MDY4MDknIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc0MDg3MzgnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc0MTE1MjEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc0MTE2NjMnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc0MjYzNTknIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc0Mjk3ODAnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc0MzgyNjcnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc0NjExODcnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc1MDAzMzQnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc1MDk0MTMnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc1MTIyODUnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc1MTI4ODEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc1MTg2MzUnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc1Mzg0NDknIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc1NTA1NTMnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc1NjYwNTcnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc1Njc5MzMnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc1NzIxNDAnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc1ODQyNTcnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc1OTg3MTgnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc2MDU4MDEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc2MDYxMjAnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc2MzEwNTcnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc2NzYyMTUnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc3MTMyNzQnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc3MTMyODQnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc3MTc1MTUnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc3NDg3NjEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc3NTMzNzEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc3NTM2MDAnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5MTIzOTQnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5MTYxNDgnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5MTY3NzMnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5MjM0MDUnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5MzA5NjUnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5MzQwOTEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5MzU3NjEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5NDMzMTMnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5NDU3MjEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5NDg4MDknIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5NjA2NDQnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5NjkwODUnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5NzAxNjcnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgNikgPT09ICc5NzgwNjEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0MDI2NzkxOScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQwMzI3MTc2JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDA0MTYwMDQnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0MDQyMTkzMycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQwNDUxNTU2JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDA1NDEwMTAnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0MDYyMzgzNScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQwNzMzNDY5JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDA3MzM1ODYnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0MDg3MjQ5OCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MDA3Nzg5JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUwMjQ4MjInIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTAzNDc1MScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MDQ2OTg3JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUwNjA1NDknIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTA2MjQ4MicgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MDcwMDcxJyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUwODQ3MDgnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTA5MTQzMycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MTAwOTAyJyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUxMDM4NjknIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTEzMTA0NycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MTY4ODg0JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUxNzQzMDYnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTE4NDYxMScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MTkxOTIxJyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUyMDE4ODEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTIwNjQwMScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MjQ1Mjk0JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUzMTQ5NDQnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTMxNzg0NycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1MzU3NDA5JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDUzNzQ1ODcnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTM5NDcwNScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1NDU2NTg0JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDU1NDE5MjQnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTU0NTc5NScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1NTY3NzQ2JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDU1ODM3NTknIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTY0ODgzOCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1NjcyNTA2JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDU2Nzg0MjEnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTcxMDc1NicgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1NzE2MDA2JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDU3MjUwMjknIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTczMjExMycgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1NzMyNjk4JyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDU3OTM5MTcnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTg0MTE4NScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCA4KSA9PT0gJzQ1ODYyMDIxJyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDgpID09PSAnNDU5MTUzMzYnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgOCkgPT09ICc0NTk3MTQ5NicpIHtcbiAgICAgICAgdGhpcy5pc3N1ZXIgPSAzMTtcbiAgICAgIH1cbiAgICAgIC8vIG1hc3RlcmNhcmRcbiAgICAgIGVsc2UgaWYgKGJpbi5zdWJzdHJpbmcoMCwgMikgPT09ICc1MScgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCAyKSA9PT0gJzUyJyB8fFxuICAgICAgICBiaW4uc3Vic3RyaW5nKDAsIDIpID09PSAnNTMnIHx8XG4gICAgICAgIGJpbi5zdWJzdHJpbmcoMCwgMikgPT09ICc1NCcgfHxcbiAgICAgICAgYmluLnN1YnN0cmluZygwLCAyKSA9PT0gJzU1Jykge1xuICAgICAgICB0aGlzLmlzc3VlciA9IDEwNDtcbiAgICAgIH1cbiAgICAgIC8vIHRhcmpldGEgbmFyYW5qYVxuICAgICAgZWxzZSBpZiAoYmluLnN1YnN0cmluZygwLCA2KSA9PT0gJzU4OTU2MicpIHtcbiAgICAgICAgdGhpcy5pc3N1ZXIgPSAyNDtcbiAgICAgIH1cbiAgICAgIC8vIHZpc2EgY3JlZGl0b1xuICAgICAgZWxzZSBpZiAoYmluLnN1YnN0cmluZygwLCAxKSA9PT0gJzQnKSB7XG4gICAgICAgIHRoaXMuaXNzdWVyID0gMTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZWxlY3RlZENyZWRpdENhcmQoKTtcbiAgICB9XG4gIH1cblxuICBvblBhc3RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJlc2V0Rm9ybSgpIHtcbiAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgdGhpcy5kaXNhYmxlU2VsZWN0ID0gZmFsc2U7XG4gICAgdGhpcy50b3RhbEFtb3VudFxuICAgIHRoaXMudG90YWxGaW5hbmNlZEFtb3VudCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmN1cnJlbnRURUEgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5jdXJyZW50Q0ZUID0gdW5kZWZpbmVkO1xuICAgIC8vIGNyZWRpdENhcmRzOiBDcmVkaXRDYXJkW107XG4gICAgdGhpcy5jcmVkaXRDYXJkcyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNlbGVjdENyZWRpdENhcmRQbGFuID0gbnVsbDtcbiAgICAvLyBjcmVkaXRDYXJkUGxhbnM6IENyZWRpdENhcmRQbGFuc1tdO1xuICAgIHRoaXMuY3JlZGl0Q2FyZFBsYW5zID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucGF5bWVudFJlc3VsdCA9IHsgc3VjY2VzczogZmFsc2UsIHBheW1lbnRJZDogJycsIGludGVncmF0b3I6ICdERUNJRElSJyB9O1xuICBcbiAgICAvLyBGb3JtIGJpbmRcbiAgICB0aGlzLm1vbnRoVGV4dCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnllYXJUZXh0ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY3ZjVGV4dCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmRuaVRleHQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5wYXllck5hbWVUZXh0ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY2FyZFRleHQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zdWJtaXRQcmVzc2VkID0gZmFsc2U7XG4gICAgdGhpcy5pbnZhbGlkRGF0ZSA9IGZhbHNlO1xuICBcbiAgICB0aGlzLmRlY2lkaXIgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5hZGRTY3JpcHQgPSB0cnVlO1xuICBcbiAgICB0aGlzLnBheW1lbnRTdGF0ZSA9ICd1bnN1Ym1pdHRlZCc7XG4gICAgdGhpcy5wYXllck5hbWUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5pc3N1ZXIgPSBudWxsO1xuICAgIHRoaXMucGF5bWVudCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnBheW1lbnRTdWNjZXNzSW5mbyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHVuZGVmaW5lZDtcblxuICAgIHRoaXMuaW5pdERlY2lkaXIoKTtcbiAgfVxuXG59XG4iXX0=
@@ -27,6 +27,19 @@ var SpsDecidirApiService = /** @class */ (function () {
27
27
  this._setAuthHeaders(access_token);
28
28
  return this.httpClient.post(this.normalizeUrl(url) + '/Payment', payment, { headers: this.authHeaders });
29
29
  };
30
+ /**
31
+ * @param {?} bin
32
+ * @param {?} url
33
+ * @return {?}
34
+ */
35
+ SpsDecidirApiService.prototype.getDecidirConfigByBin = /**
36
+ * @param {?} bin
37
+ * @param {?} url
38
+ * @return {?}
39
+ */
40
+ function (bin, url) {
41
+ return this.httpClient.get(this.normalizeUrl(url) + ("/GetDecidirConfigByBin?bin=" + bin));
42
+ };
30
43
  /**
31
44
  * @param {?} url
32
45
  * @return {?}
@@ -121,4 +134,4 @@ if (false) {
121
134
  */
122
135
  SpsDecidirApiService.prototype.httpClient;
123
136
  }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BzLWRlY2lkaXIuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly92ay1wYXltZW50cy8iLCJzb3VyY2VzIjpbImxpYi9zcHMtZGVjaWRpci9zZXJ2aWNlcy9zcHMtZGVjaWRpci5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDO0lBTUUsOEJBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBSSxDQUFDOzs7Ozs7O0lBRXhDLDBDQUFXOzs7Ozs7SUFBbEIsVUFBbUIsT0FBZ0IsRUFBRSxZQUFvQixFQUFFLEdBQVc7UUFDcEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMzRyxDQUFDOzs7OztJQUVNLDJDQUFZOzs7O0lBQW5CLFVBQW9CLEdBQVc7UUFDN0IsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFO1lBQ3ZELEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzs7Ozs7O0lBRU0sNkNBQWM7Ozs7OztJQUFyQixVQUFzQixZQUFvQixFQUFFLEdBQVcsRUFBRSxRQUFnQjtRQUN2RSxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQWMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxpQ0FBaUMsR0FBRSxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDL0ksQ0FBQzs7Ozs7Ozs7OztJQUVNLHFEQUFzQjs7Ozs7Ozs7O0lBQTdCLFVBQThCLFlBQW9CLEVBQUUsR0FBVyxFQUFFLE1BQWMsRUFBRSxZQUFvQixFQUFFLFFBQWdCLEVBQUUsR0FBVztRQUNsSSxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDOztZQUM3QixJQUFJLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFDO1FBQ3hGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQWMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxnQ0FBZ0MsRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDM0ksQ0FBQzs7Ozs7O0lBRU8sOENBQWU7Ozs7O0lBQXZCLFVBQXdCLFlBQW9COztZQUNwQyxTQUFTLEdBQUcsU0FBUyxHQUFHLFlBQVk7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6RyxDQUFDOztnQkFsQ0YsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFSUSxVQUFVOzs7K0JBQW5CO0NBeUNDLEFBbkNELElBbUNDO1NBaENZLG9CQUFvQjs7Ozs7O0lBQy9CLDJDQUFpQzs7Ozs7SUFFckIsMENBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQ3JlZGl0Q2FyZCwgQ3JlZGl0Q2FyZFBsYW5zLCBQYXltZW50LCBSZXNwb25zZUFwaSB9IGZyb20gJy4uL21vZGVscy9wYXltZW50Lm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwc0RlY2lkaXJBcGlTZXJ2aWNlIHtcclxuICBwcml2YXRlIGF1dGhIZWFkZXJzOiBIdHRwSGVhZGVycztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgcHVibGljIG1ha2VQYXltZW50KHBheW1lbnQ6IFBheW1lbnQsIGFjY2Vzc190b2tlbjogc3RyaW5nLCB1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLl9zZXRBdXRoSGVhZGVycyhhY2Nlc3NfdG9rZW4pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMubm9ybWFsaXplVXJsKHVybCkgKyAnL1BheW1lbnQnLCBwYXltZW50LCB7IGhlYWRlcnM6IHRoaXMuYXV0aEhlYWRlcnMgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbm9ybWFsaXplVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmICh1cmwubGVuZ3RoID4gMCAmJiB1cmwuY2hhckF0KHVybC5sZW5ndGggLSAxKSA9PSAnLycpIHtcclxuICAgICAgdXJsID0gdXJsLnN1YnN0cigwLCB1cmwubGVuZ3RoIC0gMSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXJsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENyZWRpdENhcmRzKGFjY2Vzc190b2tlbjogc3RyaW5nLCB1cmw6IHN0cmluZywgZG9tYWluSWQ6IG51bWJlcik6IE9ic2VydmFibGU8UmVzcG9uc2VBcGk+IHtcclxuICAgIHRoaXMuX3NldEF1dGhIZWFkZXJzKGFjY2Vzc190b2tlbik7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxSZXNwb25zZUFwaT4odGhpcy5ub3JtYWxpemVVcmwodXJsKSArICcvR2V0Q3JlZGl0Q2FyZHNFbmFibGU/ZG9tYWluSWQ9JysgZG9tYWluSWQsIHsgaGVhZGVyczogdGhpcy5hdXRoSGVhZGVycyB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRQbGFuc0J5Q3JlZGl0Q2FyZElkKGFjY2Vzc190b2tlbjogc3RyaW5nLCB1cmw6IHN0cmluZywgYW1vdW50OiBzdHJpbmcsIGNyZWRpdENhcmRJZDogbnVtYmVyLCBkb21haW5JZDogbnVtYmVyLCBiaW46IHN0cmluZyk6IE9ic2VydmFibGU8UmVzcG9uc2VBcGk+IHtcclxuICAgIHRoaXMuX3NldEF1dGhIZWFkZXJzKGFjY2Vzc190b2tlbik7XHJcbiAgICBjb25zdCBib2R5ID0geyBhbW91bnQ6IGFtb3VudCwgY3JlZGl0Q2FyZElkOiBjcmVkaXRDYXJkSWQsIGRvbWFpbklkOiBkb21haW5JZCwgYmluOiBiaW59O1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFJlc3BvbnNlQXBpPih0aGlzLm5vcm1hbGl6ZVVybCh1cmwpICsgJy9DYWxjdWxhdGVBbW91bnRJbkluc3RhbGxtZW50cycsIGJvZHksIHsgaGVhZGVyczogdGhpcy5hdXRoSGVhZGVycyB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldEF1dGhIZWFkZXJzKGFjY2Vzc190b2tlbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c2VyVG9rZW4gPSAnQmVhcmVyICcgKyBhY2Nlc3NfdG9rZW47XHJcbiAgICB0aGlzLmF1dGhIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJywgJ0F1dGhvcml6YXRpb24nOiB1c2VyVG9rZW4gfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BzLWRlY2lkaXIuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly92ay1wYXltZW50cy8iLCJzb3VyY2VzIjpbImxpYi9zcHMtZGVjaWRpci9zZXJ2aWNlcy9zcHMtZGVjaWRpci5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDO0lBTUUsOEJBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBSSxDQUFDOzs7Ozs7O0lBRXhDLDBDQUFXOzs7Ozs7SUFBbEIsVUFBbUIsT0FBZ0IsRUFBRSxZQUFvQixFQUFFLEdBQVc7UUFDcEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMzRyxDQUFDOzs7Ozs7SUFFTSxvREFBcUI7Ozs7O0lBQTVCLFVBQTZCLEdBQVcsRUFBRSxHQUFXO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQWMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBRSxnQ0FBOEIsR0FBSyxDQUFBLENBQUMsQ0FBQztJQUN2RyxDQUFDOzs7OztJQUdNLDJDQUFZOzs7O0lBQW5CLFVBQW9CLEdBQVc7UUFDN0IsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFO1lBQ3ZELEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzs7Ozs7O0lBRU0sNkNBQWM7Ozs7OztJQUFyQixVQUFzQixZQUFvQixFQUFFLEdBQVcsRUFBRSxRQUFnQjtRQUN2RSxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQWMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxpQ0FBaUMsR0FBRSxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDL0ksQ0FBQzs7Ozs7Ozs7OztJQUVNLHFEQUFzQjs7Ozs7Ozs7O0lBQTdCLFVBQThCLFlBQW9CLEVBQUUsR0FBVyxFQUFFLE1BQWMsRUFBRSxZQUFvQixFQUFFLFFBQWdCLEVBQUUsR0FBVztRQUNsSSxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDOztZQUM3QixJQUFJLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFDO1FBQ3hGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQWMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxnQ0FBZ0MsRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDM0ksQ0FBQzs7Ozs7O0lBRU8sOENBQWU7Ozs7O0lBQXZCLFVBQXdCLFlBQW9COztZQUNwQyxTQUFTLEdBQUcsU0FBUyxHQUFHLFlBQVk7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6RyxDQUFDOztnQkF2Q0YsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFSUSxVQUFVOzs7K0JBQW5CO0NBOENDLEFBeENELElBd0NDO1NBckNZLG9CQUFvQjs7Ozs7O0lBQy9CLDJDQUFpQzs7Ozs7SUFFckIsMENBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQ3JlZGl0Q2FyZCwgQ3JlZGl0Q2FyZFBsYW5zLCBQYXltZW50LCBSZXNwb25zZUFwaSB9IGZyb20gJy4uL21vZGVscy9wYXltZW50Lm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwc0RlY2lkaXJBcGlTZXJ2aWNlIHtcclxuICBwcml2YXRlIGF1dGhIZWFkZXJzOiBIdHRwSGVhZGVycztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgcHVibGljIG1ha2VQYXltZW50KHBheW1lbnQ6IFBheW1lbnQsIGFjY2Vzc190b2tlbjogc3RyaW5nLCB1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLl9zZXRBdXRoSGVhZGVycyhhY2Nlc3NfdG9rZW4pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMubm9ybWFsaXplVXJsKHVybCkgKyAnL1BheW1lbnQnLCBwYXltZW50LCB7IGhlYWRlcnM6IHRoaXMuYXV0aEhlYWRlcnMgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGVjaWRpckNvbmZpZ0J5QmluKGJpbjogc3RyaW5nLCB1cmw6IHN0cmluZywpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8UmVzcG9uc2VBcGk+KHRoaXMubm9ybWFsaXplVXJsKHVybCkgK2AvR2V0RGVjaWRpckNvbmZpZ0J5QmluP2Jpbj0ke2Jpbn1gKTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgbm9ybWFsaXplVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmICh1cmwubGVuZ3RoID4gMCAmJiB1cmwuY2hhckF0KHVybC5sZW5ndGggLSAxKSA9PSAnLycpIHtcclxuICAgICAgdXJsID0gdXJsLnN1YnN0cigwLCB1cmwubGVuZ3RoIC0gMSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXJsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENyZWRpdENhcmRzKGFjY2Vzc190b2tlbjogc3RyaW5nLCB1cmw6IHN0cmluZywgZG9tYWluSWQ6IG51bWJlcik6IE9ic2VydmFibGU8UmVzcG9uc2VBcGk+IHtcclxuICAgIHRoaXMuX3NldEF1dGhIZWFkZXJzKGFjY2Vzc190b2tlbik7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxSZXNwb25zZUFwaT4odGhpcy5ub3JtYWxpemVVcmwodXJsKSArICcvR2V0Q3JlZGl0Q2FyZHNFbmFibGU/ZG9tYWluSWQ9JysgZG9tYWluSWQsIHsgaGVhZGVyczogdGhpcy5hdXRoSGVhZGVycyB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRQbGFuc0J5Q3JlZGl0Q2FyZElkKGFjY2Vzc190b2tlbjogc3RyaW5nLCB1cmw6IHN0cmluZywgYW1vdW50OiBzdHJpbmcsIGNyZWRpdENhcmRJZDogbnVtYmVyLCBkb21haW5JZDogbnVtYmVyLCBiaW46IHN0cmluZyk6IE9ic2VydmFibGU8UmVzcG9uc2VBcGk+IHtcclxuICAgIHRoaXMuX3NldEF1dGhIZWFkZXJzKGFjY2Vzc190b2tlbik7XHJcbiAgICBjb25zdCBib2R5ID0geyBhbW91bnQ6IGFtb3VudCwgY3JlZGl0Q2FyZElkOiBjcmVkaXRDYXJkSWQsIGRvbWFpbklkOiBkb21haW5JZCwgYmluOiBiaW59O1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFJlc3BvbnNlQXBpPih0aGlzLm5vcm1hbGl6ZVVybCh1cmwpICsgJy9DYWxjdWxhdGVBbW91bnRJbkluc3RhbGxtZW50cycsIGJvZHksIHsgaGVhZGVyczogdGhpcy5hdXRoSGVhZGVycyB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldEF1dGhIZWFkZXJzKGFjY2Vzc190b2tlbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c2VyVG9rZW4gPSAnQmVhcmVyICcgKyBhY2Nlc3NfdG9rZW47XHJcbiAgICB0aGlzLmF1dGhIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJywgJ0F1dGhvcml6YXRpb24nOiB1c2VyVG9rZW4gfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1086,6 +1086,14 @@ class SpsDecidirApiService {
1086
1086
  this._setAuthHeaders(access_token);
1087
1087
  return this.httpClient.post(this.normalizeUrl(url) + '/Payment', payment, { headers: this.authHeaders });
1088
1088
  }
1089
+ /**
1090
+ * @param {?} bin
1091
+ * @param {?} url
1092
+ * @return {?}
1093
+ */
1094
+ getDecidirConfigByBin(bin, url) {
1095
+ return this.httpClient.get(this.normalizeUrl(url) + `/GetDecidirConfigByBin?bin=${bin}`);
1096
+ }
1089
1097
  /**
1090
1098
  * @param {?} url
1091
1099
  * @return {?}
@@ -1277,7 +1285,7 @@ class SpsDecidirComponent {
1277
1285
  initializeSpsDecidir() {
1278
1286
  this.decidir = new Decidir(this.spsDecidirApiService.normalizeUrl(this.spsUrlApi), !this.useCybersource);
1279
1287
  this.decidir.setTimeout(15000);
1280
- this.decidir.setPublishableKey(this.publishableKey);
1288
+ this.decidir.setPublishableKey(this.defaultPublishableKey);
1281
1289
  }
1282
1290
  /**
1283
1291
  * @private
@@ -1333,23 +1341,34 @@ class SpsDecidirComponent {
1333
1341
  if (!this.checkOutForm.valid) {
1334
1342
  return;
1335
1343
  }
1336
- this.paymentState = 'processing';
1337
- /** @type {?} */
1338
- const form = document.querySelector('#formulario');
1339
- this.decidir.createToken(form, (/**
1340
- * @param {?} status
1341
- * @param {?} response
1344
+ this.spsDecidirApiService.getDecidirConfigByBin(this.cardText.substring(0, 8), this.vkUrlApi)
1345
+ .subscribe((/**
1346
+ * @param {?} config
1342
1347
  * @return {?}
1343
1348
  */
1344
- (status, response) => {
1345
- if (status !== 200 && status !== 201) {
1346
- this.paymentState = 'error';
1347
- this.statusPay.emit(this.paymentResult);
1348
- this.processErrorToken(response);
1349
- }
1350
- else {
1351
- this.makePayment(form, response);
1349
+ config => {
1350
+ if (config = 'SPS-Decidir-Supervielle') {
1351
+ console.log('Modo Supervielle');
1352
+ this.decidir.setPublishableKey(this.superviellePublishableKey);
1352
1353
  }
1354
+ this.paymentState = 'processing';
1355
+ /** @type {?} */
1356
+ const form = document.querySelector('#formulario');
1357
+ this.decidir.createToken(form, (/**
1358
+ * @param {?} status
1359
+ * @param {?} response
1360
+ * @return {?}
1361
+ */
1362
+ (status, response) => {
1363
+ if (status !== 200 && status !== 201) {
1364
+ this.paymentState = 'error';
1365
+ this.statusPay.emit(this.paymentResult);
1366
+ this.processErrorToken(response);
1367
+ }
1368
+ else {
1369
+ this.makePayment(form, response);
1370
+ }
1371
+ }));
1353
1372
  }));
1354
1373
  }
1355
1374
  /**
@@ -1840,7 +1859,7 @@ class SpsDecidirComponent {
1840
1859
  bin.substring(0, 2) === '53' ||
1841
1860
  bin.substring(0, 2) === '54' ||
1842
1861
  bin.substring(0, 2) === '55') {
1843
- this.issuer = 15;
1862
+ this.issuer = 104;
1844
1863
  }
1845
1864
  // tarjeta naranja
1846
1865
  else if (bin.substring(0, 6) === '589562') {
@@ -1915,7 +1934,8 @@ SpsDecidirComponent.propDecorators = {
1915
1934
  paymentAmount: [{ type: Input }],
1916
1935
  logoSps: [{ type: Input }],
1917
1936
  currency: [{ type: Input }],
1918
- publishableKey: [{ type: Input }],
1937
+ defaultPublishableKey: [{ type: Input }],
1938
+ superviellePublishableKey: [{ type: Input }],
1919
1939
  successUrl: [{ type: Input }],
1920
1940
  failureUrl: [{ type: Input }],
1921
1941
  useCybersource: [{ type: Input }],
@@ -1944,7 +1964,9 @@ if (false) {
1944
1964
  /** @type {?} */
1945
1965
  SpsDecidirComponent.prototype.currency;
1946
1966
  /** @type {?} */
1947
- SpsDecidirComponent.prototype.publishableKey;
1967
+ SpsDecidirComponent.prototype.defaultPublishableKey;
1968
+ /** @type {?} */
1969
+ SpsDecidirComponent.prototype.superviellePublishableKey;
1948
1970
  /** @type {?} */
1949
1971
  SpsDecidirComponent.prototype.successUrl;
1950
1972
  /** @type {?} */