iptdevs-design-system 3.1.218 → 3.1.221

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.
@@ -363,12 +363,13 @@ export class CodFormStepFourComponent extends CodFormSteps {
363
363
  this.codFormStepFour.controls['total_price'].setValue(null);
364
364
  }
365
365
  setDataFromPreviusCodPrices() {
366
- this.codFormStepFour.controls['payment_method'].setValue(this.initialData.cod_price.fee_number == 1 ? 2 : 1);
366
+ this.codFormStepFour.controls['payment_method'].setValue(this.initialData.cod_payment.lenght == 1 ? 2 : 1);
367
367
  this.codFormStepFour.controls['total_price'].setValue(this.initialData.cod_price.enrollment);
368
- this.codFormStepFour.controls['program_price'].setValue(this.initialData.cod_price.fee_number == 1 ? this.initialData.normal_price : this.initialData.financed_price);
368
+ this.codFormStepFour.controls['program_price'].setValue(this.initialData.cod_payment.lenght == 1 ? this.initialData.cod_price.normal_price : this.initialData.cod_price.financed_price);
369
369
  this.codFormStepFour.controls['paid_level'].setValue(this.initialData.cod_price.paid_level);
370
- this.codFormStepFour.controls['fee_number'].setValue(this.initialData.cod_price.fee_number);
370
+ this.codFormStepFour.controls['fee_number'].setValue(this.initialData.cod_payment.lenght == 1 ? 1 : this.initialData.cod_price.fee_number);
371
371
  this.codFormStepFour.controls['quota_price'].setValue(this.initialData.cod_price.quota_price);
372
+ this.codFormStepFour.controls['payment_date'].setValue(this.initialData.cod_payment[0].timely_date);
372
373
  }
373
374
  }
374
375
  CodFormStepFourComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepFourComponent, deps: [{ token: i1.FormBuilder }, { token: i2.CalculateQuotesService }, { token: i3.CommunicatorService }, { token: i4.ParameterService }, { token: i5.CodFormControls }, { token: i6.CommercialService }, { token: i7.BaseService }], target: i0.ɵɵFactoryTarget.Component });
@@ -385,4 +386,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
385
386
  }], financingData: [{
386
387
  type: Output
387
388
  }] } });
388
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC1mb3VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qvc3RlcHMvY29kLWZvcm0tc3RlcC1mb3VyL2NvZC1mb3JtLXN0ZXAtZm91ci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtZm91ci9jb2QtZm9ybS1zdGVwLWZvdXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFVLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsWUFBWSxFQUFzQixNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQXFCaEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFlBQVk7SUEwQnhELFlBQ1UsRUFBZSxFQUNmLHNCQUE4QyxFQUM5QyxtQkFBd0MsRUFDeEMsZ0JBQWtDLEVBQ2xDLGVBQWdDLEVBQ2hDLGlCQUFvQyxFQUNwQyxXQUF3QjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQVJBLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FB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LFVBQVUsQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2SyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVoRyxDQUFDOztxSEFuWVUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsMlBDMUJyQyw0M0pBa0lBOzJGRHhHYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usd0JBQXdCO2dTQUt6QixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvZEZvcm1TdGVwcywgbG9jYWxTdG9yYWdlVmFsdWVzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLWZvcm0tc3RlcHMnO1xuaW1wb3J0IHsgQ29kRm9ybUNvbnRyb2xzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLWZvcm0tY29udHJvbHMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlUXVvdGVzUGFyYW1zLCBDYWxjdWxhdGVRdW90ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbG9naWMvY2FsY3VsYXRlLXF1b3Rlcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW11bmljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9sb2dpYy9jb21tdW5pY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBDb2RQcmljZXMsIENvZFByaWNlc1JxLCBJT2J0YWluQ29kUHJpY2VzUnEgfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscy9jb21tZXJjaWFsL2NvbW1lcmNpYWwubW9kZWwnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvcGFyYW1ldGVycy1zZXJ2aWNlL3BhcmFtZXRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tZXJjaWFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvY29tbWVyY2lhbC1zZXJ2aWNlL2NvbWVyY2lhbC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9iYXNlLXNlcnZpY2UvYmFzZS5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIENvdXJzZVR5cGVzIHtcbiAgY29kZTogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIG51bWJlcl9jbGFzczogbnVtYmVyO1xuICBhY2FkZW1pY19wbGFuOiBudW1iZXI7XG4gIHVwZGF0ZWRfYXQ6IHN0cmluZztcbiAgY3JlYXRlZF9hdDogc3RyaW5nO1xufVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvZC1mb3JtLXN0ZXAtZm91cicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2QtZm9ybS1zdGVwLWZvdXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2QtZm9ybS1zdGVwLWZvdXIuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RGb3JtU3RlcEZvdXJDb21wb25lbnQgZXh0ZW5kcyBDb2RGb3JtU3RlcHMgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBpc0VkaXRDb2Q/OiBib29sZWFuO1xuICBASW5wdXQoKSBpbml0aWFsRGF0YT86IGFueTtcbiAgQE91dHB1dCgpIGNoYW5nZVN0ZXBFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgZmluYW5jaW5nRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvZEZvcm1TdGVwRm91ciE6IEZvcm1Hcm91cDtcbiAgaXNDYWxjdWxhdGVRdW90ZXNCdXR0b25DbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nID0gJ0ZhbHRhbiBjYW1wb3MgcG9yIGxsZW5hci4nO1xuICBwYXltZW50TWV0aG9kczogYW55W10gPSBbXG4gICAgeyBjb2RlOiAnMScsIG5hbWU6ICdGaW5hbmNpYWRvJyB9LFxuICAgIHsgY29kZTogJzInLCBuYW1lOiAnQ29udGFkbycgfSxcbiAgXTtcbiAgZGF0YUZpbmFuY2luZzogYW55W10gPSBbXTtcbiAgaXNGaW5hbmNpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNTZW1lc3RyYWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29kUHJpY2VzOiBDb2RQcmljZXNbXSA9IFtdO1xuICBjb2RQcmljZXNGaWx0ZXI6IENvZFByaWNlc1tdID0gW107XG5cbiAgZGF0YVByaWNlczphbnk7XG4gIGZlZVJlc3BvbnNlOiBib29sZWFuID0gZmFsc2U7XG4gIHRoZXJlQXJlUGxhbnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBDb250cm9scyBkZWwgZm9ybXVsYXJpb1xuICBjb250cm9scyA9IG5ldyBDb2RGb3JtQ29udHJvbHMoKS5jb250cm9sc1szXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGNhbGN1bGF0ZVF1b3Rlc1NlcnZpY2U6IENhbGN1bGF0ZVF1b3Rlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb21tdW5pY2F0b3JTZXJ2aWNlOiBDb21tdW5pY2F0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGFyYW1ldGVyU2VydmljZTogUGFyYW1ldGVyU2VydmljZSxcbiAgICBwcml2YXRlIGNvZEZvcm1Db250cm9sczogQ29kRm9ybUNvbnRyb2xzLFxuICAgIHByaXZhdGUgY29tbWVyY2lhbFNlcnZpY2U6IENvbW1lcmNpYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFzZVNlcnZpY2U6IEJhc2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMuc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCk7XG4gICAgdGhpcy52YWxpZGF0ZUVycm9ycygpO1xuICAgIC8vIHRoaXMuZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnQoKTtcbiAgICB0aGlzLmdldFZhbHVlc09mU3RlcE9uZUNvbXBvbmVudCgpO1xuICAgIGlmIChjaGFuZ2VzWydpbml0aWFsRGF0YSddKSB7XG4gICAgICBpZiAodGhpcy5pbml0aWFsRGF0YSAhPSBudWxsKSB7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxEYXRhLmNvZF9wcmljZSAhPSBudWxsKSB7XG4gICAgICAgICAgdGhpcy5zZXREYXRhRnJvbVByZXZpdXNDb2RQcmljZXMoKTtcbiAgICAgICAgICB0aGlzLmdldFZhbHVlc09mU3RlcE9uZUNvbXBvbmVudCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIG5nT25Jbml0KCk6IHZvaWQge1xuICAvLyAgIC8vIHRoaXMuY2xlYW5Db21wb25lbnQoKTtcbiAgLy8gICB0aGlzLmluaXRGb3JtKCk7XG4gIC8vICAgdGhpcy5zdGFydExvY2FsU3RvcmFnZVdvcmsoKTtcbiAgLy8gICB0aGlzLnZhbGlkYXRlRXJyb3JzKCk7XG4gIC8vICAgLy8gdGhpcy5nZXRDb2RQcmljZXNCeUFncmVlbWVudCgpO1xuICAvLyAgIHRoaXMuZ2V0VmFsdWVzT2ZTdGVwT25lQ29tcG9uZW50KCk7XG4gIC8vIH1cblxuXG4gIGdldFZhbHVlc09mU3RlcE9uZUNvbXBvbmVudCgpIHtcbiAgICAvLyBUaXBvIGRlIGN1cnNvIHNlbGVjY2lvbmFkb1xuICAgIHRoaXMuY29tbXVuaWNhdG9yU2VydmljZS5nZXRTZWxlY3RlZENvdXJzZVR5cGUoKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldENvdXJzZXNUeXBlcygpLnBpcGUoXG4gICAgICAgIG1hcCggKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBjb3Vyc2VUeXBlczogQ291cnNlVHlwZXNbXSA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICAgICAgcmV0dXJuIGNvdXJzZVR5cGVzLmZpbHRlciggKHsgbmFtZSB9KSA9PiBuYW1lLmluY2x1ZGVzKCdTZW1lc3RyYWwnKSApXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCAoY291cnNlVHlwZXM6IENvdXJzZVR5cGVzW10pID0+IHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3Vyc2VUeXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGlmIChjb3Vyc2VUeXBlc1tpXS5jb2RlLnRvU3RyaW5nKCkgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmlzU2VtZXN0cmFsID0gdHJ1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzU2VtZXN0cmFsID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pO1xuXG4gICAgLy8gQ29udmVuaW8gc2VsZWNjaW9uYWRvXG4gICAgLy8gdGhpcy5jb21tdW5pY2F0b3JTZXJ2aWNlLmdldFNlbGVjdGVkQWdyZWVtZW50KCkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAvLyAgIHRoaXMuZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnQodmFsdWUpO1xuICAgIC8vIH0pO1xuICB9XG5cbiAgZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnQoYWdyZWVtZW50Pzogc3RyaW5nKSB7XG4gICAgbGV0IGFncmVlbWVudFNlbGVjdGVkOiBzdHJpbmcgfCBudWxsO1xuICAgIGlmIChhZ3JlZW1lbnQpIHtcbiAgICAgIGFncmVlbWVudFNlbGVjdGVkID0gYWdyZWVtZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICBhZ3JlZW1lbnRTZWxlY3RlZCA9IHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDEsICdhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknKVxuICAgIH1cblxuICAgIGlmICh0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9tZXRob2QnXS52YWx1ZSA9PT0gJzEnKSB7XG4gICAgICBsZXQgcmVxdWVzdDogQ29kUHJpY2VzUnEgPSB7XG4gICAgICAgIGFncmVlbWVudDogICAgIE51bWJlcihhZ3JlZW1lbnRTZWxlY3RlZCksXG4gICAgICAgIHBheW1lbnRfbWV0aG9kOiAnY3VvdGEnXG4gICAgICB9XG4gICAgICB0aGlzLmNvbW1lcmNpYWxTZXJ2aWNlLmdldENvZFByaWNlc0J5QWdyZWVtZW50VHlwZVBheW1lbnQocmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PntcbiAgICAgICAgdGhpcy5jb2RQcmljZXMgPSByZXNwb25zZS5kYXRhO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXS5zZXRWYWx1ZSh0aGlzLmNvZFByaWNlc1swXS5jb2RlKVxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncHJvZ3JhbV9wcmljZSddLnNldFZhbHVlKHRoaXMuY29kUHJpY2VzWzBdLm5vcm1hbF9wcmljZSlcbiAgICAgIH0pXG4gICAgICB9ZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9tZXRob2QnXS52YWx1ZSA9PT0gJzInKSB7XG4gICAgICAgICAgbGV0IHJlcXVlc3Q6IENvZFByaWNlc1JxID0ge1xuICAgICAgICAgICAgYWdyZWVtZW50OiAgICAgTnVtYmVyKGFncmVlbWVudFNlbGVjdGVkKSxcbiAgICAgICAgICAgIHBheW1lbnRfbWV0aG9kOiAnY29udGEnXG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY29tbWVyY2lhbFNlcnZpY2UuZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnRUeXBlUGF5bWVudChyZXF1ZXN0KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+e1xuICAgICAgICAgICAgdGhpcy5jb2RQcmljZXMgPSByZXNwb25zZS5kYXRhO1xuICAgICAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3F1b3RhX3RpbWVzJ10uc2V0VmFsdWUodGhpcy5jb2RQcmljZXNbMF0uY29kZSk7XG4gICAgICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncHJvZ3JhbV9wcmljZSddLnNldFZhbHVlKHRoaXMuY29kUHJpY2VzWzBdLm5vcm1hbF9wcmljZSlcbiAgICAgICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWyd0b3RhbF9wcmljZSddLnNldFZhbHVlKHRoaXMuY29kUHJpY2VzWzBdLmVucm9sbG1lbnQpO1xuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIHRoaXMuY29tbWVyY2lhbFNlcnZpY2UuZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnQoTnVtYmVyKGFncmVlbWVudFNlbGVjdGVkKSkuc3Vic2NyaWJlKHtcbiAgICAvLyAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgLy8gICAgIGlmIChyZXNwb25zZS5kYXRhKSB7XG4gICAgLy8gICAgICAgY29uc3QgY29kUHJpY2VzOiBDb2RQcmljZXNbXSA9IHJlc3BvbnNlLmRhdGE7XG4gICAgLy8gICAgICAgdGhpcy5jb2RQcmljZXMgPSBjb2RQcmljZXM7XG4gICAgLy8gICAgICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYXltZW50X21ldGhvZCddLnZhbHVlID09PSAnMScpIHtcbiAgICAvLyAgICAgICAgICAgY29uc3QgYXV4ID0gdGhpcy5jb2RQcmljZXMuZmlsdGVyKGNvZFByaWNlID0+IGNvZFByaWNlLmFncmVlbWVudCA9PT0gTnVtYmVyKGFncmVlbWVudFNlbGVjdGVkKSlbMF07XG4gICAgLy8gICAgICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV90aW1lcyddLnNldFZhbHVlKGF1eC5jb2RlKVxuICAgIC8vICAgICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncHJvZ3JhbV9wcmljZSddLnNldFZhbHVlKGF1eC5ub3JtYWxfcHJpY2UpXG4gICAgLy8gICAgICAgICB9ZWxzZSB7XG4gICAgLy8gICAgICAgICAgIGlmICh0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9tZXRob2QnXS52YWx1ZSA9PT0gJzInKSB7XG4gICAgLy8gICAgICAgICAgICAgLy8gY29uc3QgYXV4ID0gdGhpcy5jb2RQcmljZXMuZmlsdGVyKGNvZFByaWNlID0+IGNvZFByaWNlLmFncmVlbWVudCA9PT0gTnVtYmVyKGFncmVlbWVudFNlbGVjdGVkKSlbMF07XG4gICAgLy8gICAgICAgICAgICAgY29uc3QgYXV4ID0gdGhpcy5jb2RQcmljZXMuZmlsdGVyKGNvZFByaWNlID0+IGNvZFByaWNlLmZlZV9udW1iZXIgPT09IDEpWzBdO1xuICAgIC8vICAgICAgICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV90aW1lcyddLnNldFZhbHVlKGF1eC5jb2RlKTtcbiAgICAvLyAgICAgICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncHJvZ3JhbV9wcmljZSddLnNldFZhbHVlKGF1eC5ub3JtYWxfcHJpY2UpXG4gICAgLy8gICAgICAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3RvdGFsX3ByaWNlJ10uc2V0VmFsdWUoYXV4LmVucm9sbG1lbnQpO1xuICAgIC8vICAgICAgICAgICB9XG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgICAgfVxuICAgIC8vICAgICB9LFxuICAgIC8vICAgZXJyb3I6IChlcnIpID0+IGNvbnNvbGUubG9nKGVycilcbiAgICAvLyB9KVxuICB9XG5cbiAgdmFsaWRhdGVFcnJvcnMoKSB7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjaGFuZ2VzID0+IHtcbiAgICAgIGlmICh0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXS5oYXNFcnJvcignbWluJykpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTGEgY2FudGlkYWQgZGUgY3VvdGFzIG3DrW5pbWFzIGRlYmUgc2VyIDEnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXS5oYXNFcnJvcignbWF4JykpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTGEgY2FudGlkYWQgZGUgY3VvdGFzIG5vIGRlYmUgc2VyIHN1cGVyaW9yIGEgMTInO1xuICAgICAgfVxuICAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdGYWx0YW4gY2FtcG9zIHBvciBsbGVuYXInO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBzZWFyY2hQcmljZUJ5VHlwZVBheW1lbnQoYWdyZWVtZW50U2VsZWN0ZWQ6IGFueSwgdHlwZTogc3RyaW5nLCBjaGFuZ2U6IHN0cmluZyl7XG4gICAgbGV0IHJlcXVlc3Q6IENvZFByaWNlc1JxID0ge1xuICAgICAgYWdyZWVtZW50OiAgICAgTnVtYmVyKGFncmVlbWVudFNlbGVjdGVkKSxcbiAgICAgIHBheW1lbnRfbWV0aG9kOiB0eXBlXG4gICAgfVxuICAgIHRoaXMuY29tbWVyY2lhbFNlcnZpY2UuZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnRUeXBlUGF5bWVudChyZXF1ZXN0KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+e1xuICAgICAgdGhpcy5jb2RQcmljZXMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pXG4gIH1cblxuICBpbml0Rm9ybSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRm91ciA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgcHJvZ3JhbV9wcmljZTogW3sgdmFsdWU6ICcnLCBkaXNhYmxlZDogdHJ1ZSB9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgcGF5bWVudF9kYXRlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBwYXltZW50X21ldGhvZDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgcXVvdGFfdGltZXM6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHRvdGFsX3ByaWNlOiBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBwYWlkX2xldmVsOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBxdW90YV9wcmljZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgZmVlX251bWJlcjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgIH0pO1xuXG4gICAgdGhpcy5saXN0ZW5QYXltZW50TWV0aG9kRmllbGQoKTtcbiAgfVxuXG4gIGxpc3RlblBheW1lbnRNZXRob2RGaWVsZCgpIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb2RGb3JtU3RlcEZvdXIuZ2V0KCdwYXltZW50X21ldGhvZCcpO1xuICAgIGNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgLy8gRmluYW5jaWFkb1xuICAgICAgaWYgKGNoYW5nZSA9PT0gJzEnKSB7XG4gICAgICAgIC8vIFBvbmVyIHZhbGlkYWNpb25lc1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncHJvZ3JhbV9wcmljZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3BheW1lbnRfZGF0ZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3F1b3RhX3RpbWVzJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sndG90YWxfcHJpY2UnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG5cbiAgICAgICAgLy8gQWN0dWFsaXphciBwYXJhIHF1ZSBzZSB0b21lbiBsb3MgY2FtYmlvc1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcblxuICAgICAgICAvLyBBY3R1YWxpemFyIGxvcyBjb250cm9scyBnbG9iYWxlc1xuICAgICAgICB0aGlzLnVwZGF0ZUdsb2JhbENvbnRyb2xzKGNoYW5nZSlcbiAgICAgIH1cblxuICAgICAgLy8gZGUgY29udGFkb1xuICAgICAgaWYgKGNoYW5nZSA9PT0gJzInKSB7XG4gICAgICAgIC8vIFF1aXRhciBsYXMgdmFsaWRhY2lvbmVzXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwcm9ncmFtX3ByaWNlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9kYXRlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3RvdGFsX3ByaWNlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuXG4gICAgICAgIC8vIEFjdHVhbGl6YXIgcGFyYSBxdWUgc2UgdG9tZW4gbG9zIGNhbWJpb3NcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG5cbiAgICAgICAgLy8gQWN0dWFsaXphciBsb3MgY29udHJvbHMgZ2xvYmFsZXNcbiAgICAgICAgdGhpcy51cGRhdGVHbG9iYWxDb250cm9scyhjaGFuZ2UpXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVHbG9iYWxDb250cm9scyhjaGFuZ2U6IHN0cmluZykge1xuICAgIGxldCBjb250cm9scyA9IHRoaXMuY29udHJvbHMuZmlsdGVyKGNvbnRyb2wgPT4gY29udHJvbC5uYW1lICE9PSAncGF5bWVudF9tZXRob2QnKTtcbiAgICBjb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgaWYgKGNoYW5nZSA9PT0gJzEnKSB0aGlzLmNvZEZvcm1Db250cm9scy5jaGFuZ2VWYWx1ZSg0LCBjb250cm9sLm5hbWUsIHRydWUpXG4gICAgICBpZiAoY2hhbmdlID09PSAnMicpIHtcbiAgICAgICAgaWYgKGNvbnRyb2wubmFtZSA9PT0gJ3F1b3RhX3RpbWVzJykgdGhpcy5jb2RGb3JtQ29udHJvbHMuY2hhbmdlVmFsdWUoNCwgY29udHJvbC5uYW1lLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwcm9ncmFtX3ByaWNlJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYXltZW50X2RhdGUnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3F1b3RhX3RpbWVzJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWyd0b3RhbF9wcmljZSddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHN0YXJ0TG9jYWxTdG9yYWdlV29yaygpIHtcbiAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBsZXQgbG9jYWxTdG9yYWdlVmFsdWU6IGxvY2FsU3RvcmFnZVZhbHVlcyA9IHRoaXMucmVhZEFuZFdyaXRlTFMoNCwgY29udHJvbC5uYW1lKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobG9jYWxTdG9yYWdlVmFsdWUudmFsdWUpO1xuICAgICAgdGhpcy5saXN0ZW5Gb3JtQ2hhbmdlcyg0LCBjb250cm9sLm5hbWUsIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0udmFsdWVDaGFuZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNob3dUYWJsZSgpIHtcbiAgICB0aGlzLmlzQ2FsY3VsYXRlUXVvdGVzQnV0dG9uQ2xpY2tlZCA9IHRydWU7XG4gICAgY29uc3QgdG90YWxfcHJpY2UgPSB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sndG90YWxfcHJpY2UnXS52YWx1ZTtcbiAgICBpZiAoKHRvdGFsX3ByaWNlID09PSAnbnVsbCcpIHx8IHRoaXMuY29kRm9ybVN0ZXBGb3VyLmludmFsaWQpIHtcbiAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgIHRpdGxlOiAnRXJyb3IgdGFibGUnLFxuICAgICAgICB0ZXh0OiAnRGViZXMgaW5ncmVzYXIgZWwgbW9udG8gdG90YWwgZGUgbGEgbWF0csOtY3VsYSB5IGxhIGN1b3RhIGluaWNpYWwnLFxuICAgICAgICBpY29uOiAnZXJyb3InXG4gICAgICB9KVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENhbGN1bGFyIGN1b3Rhc1xuICAgIHRoaXMuZGF0YUZpbmFuY2luZyA9IFtdO1xuICAgIC8vIGNvbnN0IHF1b3RhVmFsdWVzID0gdGhpcy5jb2RQcmljZXMuZmlsdGVyKGNvZFByaWNlID0+IGNvZFByaWNlLmNvZGUgPT09IE51bWJlcih0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXS52YWx1ZSkpWzBdLnF1b3RhX3ByaWNlO1xuICAgIC8vIGxldCBwYXJhbXM6IENhbGN1bGF0ZVF1b3Rlc1BhcmFtcyA9IHtcbiAgICAvLyAgIGRhdGU6IG5ldyBEYXRlKHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYXltZW50X2RhdGUnXS52YWx1ZSksXG4gICAgLy8gICBxdW90YVZhbHVlcyxcbiAgICAvLyAgIHF1b3RhVGltZXM6IHRoaXMuY29kUHJpY2VzLmZpbHRlcihjb2RQcmljZSA9PiBjb2RQcmljZS5jb2RlID09PSBOdW1iZXIodGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3F1b3RhX3RpbWVzJ10udmFsdWUpKVswXS5mZWVfbnVtYmVyLFxuICAgIC8vICAgdG90YWxQcmljZTogdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3RvdGFsX3ByaWNlJ10udmFsdWUsXG4gICAgLy8gfVxuXG4gICAgbGV0IHBhcmFtczogQ2FsY3VsYXRlUXVvdGVzUGFyYW1zID0ge1xuICAgICAgZGF0ZTogbmV3IERhdGUodGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3BheW1lbnRfZGF0ZSddLnZhbHVlKSxcbiAgICAgIHF1b3RhVmFsdWVzOiBOdW1iZXIodGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3F1b3RhX3ByaWNlJ10udmFsdWUpLFxuICAgICAgcXVvdGFUaW1lczogTnVtYmVyKHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydmZWVfbnVtYmVyJ10udmFsdWUpLFxuICAgICAgdG90YWxQcmljZTogdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3RvdGFsX3ByaWNlJ10udmFsdWUsXG4gICAgfVxuXG4gICAgdGhpcy5kYXRhRmluYW5jaW5nID0gdGhpcy5jYWxjdWxhdGVRdW90ZXNTZXJ2aWNlLmNhbGN1bGF0ZVF1b3RlcyhwYXJhbXMpO1xuICAgIHRoaXMuaXNGaW5hbmNpbmcgPSB0cnVlO1xuICAgIHRoaXMuZmluYW5jaW5nRGF0YS5lbWl0KHRoaXMuZGF0YUZpbmFuY2luZyk7XG4gIH1cblxuICBjYWxjdWxhdGVOZXdRdW90ZXMoKSB7XG4gICAgdGhpcy5pc0NhbGN1bGF0ZVF1b3Rlc0J1dHRvbkNsaWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzRmluYW5jaW5nID0gZmFsc2U7XG4gICAgdGhpcy5maW5hbmNpbmdEYXRhLmVtaXQobnVsbCk7XG4gIH1cblxuICBzZW5kRm9ybSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBGb3VyLmludmFsaWQpIHJldHVybjtcbiAgICAvLyBNb3Zlcm5vcyBhbCBwYXNvIDVcbiAgICB0aGlzLmNoYW5nZVN0ZXBFdmVudC5lbWl0KDQpO1xuICB9XG5cbiAgaXNGaW5hbmNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3BheW1lbnRfbWV0aG9kJ10udmFsdWUgPT0gMTtcbiAgfVxuXG4gIC8vIEV2ZW50b3MgZGVsIHNlbGVjdFxuICBzZWxlY3RQYXltZW50TWV0aG9kKHBheW1lbnRNZXRob2Q6IGFueSkge1xuICAgIHRoaXMuZmVlUmVzcG9uc2UgPSB0cnVlO1xuICAgIHRoaXMudGhlcmVBcmVQbGFucyA9IGZhbHNlO1xuXG4gICAgaWYgKHBheW1lbnRNZXRob2QgIT09ICcnKSB7XG4gICAgICBjb25zdCByZXF1ZXN0OiBJT2J0YWluQ29kUHJpY2VzUnEgPSB7XG4gICAgICAgIHRva2VuOiAgICAgICAgICAgIHRoaXMuYmFzZVNlcnZpY2UuZ2V0VXNlclRva2VuKCksXG4gICAgICAgIGNvdXJzZV90eXBlOiAgICAgIE51bWJlcih0aGlzLmxvY2FsU3RvcmFnZUNPRC5nZXRDb2RGb3JtRGF0YSgxLCAnY291cnNlX3R5cGUnKSksXG4gICAgICAgIGFncmVlbWVudDogICAgICAgIE51bWJlcih0aGlzLmxvY2FsU3RvcmFnZUNPRC5nZXRDb2RGb3JtRGF0YSgxLCAnYWdyZWVtZW50X2J5X2NhdGVnb3J5JykpLFxuICAgICAgICBjb3Vyc2VfbW9kYWxpdHk6ICBOdW1iZXIodGhpcy5sb2NhbFN0b3JhZ2VDT0QuZ2V0Q29kRm9ybURhdGEoMSwgJ2NvdXJzZV9tb2RhbGl0eScpKSxcbiAgICAgICAgcGF5bWVudF9tZXRob2Q6ICAgcGFyc2VJbnQocGF5bWVudE1ldGhvZClcbiAgICAgIH1cbiAgICAgIHRoaXMuY29tbWVyY2lhbFNlcnZpY2UuT2J0YWluQ29kUHJpY2VzKHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2UpPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2UuZGF0YSAhPSBudWxsKSB7XG4gICAgICAgICAgdGhpcy5kYXRhUHJpY2VzID0gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgICB0aGlzLmZlZVJlc3BvbnNlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy50aGVyZUFyZVBsYW5zID0gdHJ1ZTtcbiAgICAgICAgfWVsc2Uge1xuICAgICAgICAgIHRoaXMudGhlcmVBcmVQbGFucyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZmVlUmVzcG9uc2UgPSBmYWxzZTtcbiAgICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgcG9zaXRpb246ICdjZW50ZXInLFxuICAgICAgICAgICAgaWNvbjogJ3dhcm5pbmcnLFxuICAgICAgICAgICAgdGl0bGU6XG4gICAgICAgICAgICAgICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5Pb3BzLi4gbm8gaGF5IHBsYW5lcyBkZSBwYWdvcywgXFxuIGVuIGVsIGN1cnNvIGVsZWdpZG8uPC9wPicsXG4gICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXG4gICAgICAgICAgICB0aW1lcjogMzAwMCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNsZWFySW5wdXRQYXltZW50KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3BheW1lbnRfbWV0aG9kJ10uc2V0VmFsdWUocGF5bWVudE1ldGhvZCk7XG4gICAgICAvLyB0aGlzLmdldENvZFByaWNlc0J5QWdyZWVtZW50KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYXltZW50X21ldGhvZCddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFF1b3RhcyhxdW90YXM6IHN0cmluZykge1xuICAgIGlmIChxdW90YXMgIT09ICdOw7ptZXJvIGRlIGN1b3RhcycpIHtcbiAgICAgIGNvbnN0IGNvZFByaWNlOiBDb2RQcmljZXNbXSA9IHRoaXMuY29kUHJpY2VzLmZpbHRlcihjb2RQcmljZSA9PiBjb2RQcmljZS5jb2RlID09PSBOdW1iZXIocXVvdGFzKSk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXS5zZXRWYWx1ZShjb2RQcmljZVswXS5jb2RlKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWyd0b3RhbF9wcmljZSddLnNldFZhbHVlKGNvZFByaWNlWzBdLmVucm9sbG1lbnQpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3Byb2dyYW1fcHJpY2UnXS5zZXRWYWx1ZShjb2RQcmljZVswXS5maW5hbmNlZF9wcmljZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV90aW1lcyddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3RvdGFsX3ByaWNlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncHJvZ3JhbV9wcmljZSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFuQ29tcG9uZW50KCl7XG4gICAgdGhpcy5yZXNldExvY2FsU3RvcmFnZSh0aGlzLmNvbnRyb2xzKTtcbiAgfVxuXG4gIHNlbGVjdExldmVscyhkYXRhUGF5bWVudDogYW55KXtcbiAgICBpZiAodGhpcy5jb2RGb3JtU3RlcEZvdXIuZ2V0KCdwYXltZW50X21ldGhvZCcpPy52YWx1ZSA9PSAxKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXS5zZXRWYWx1ZShkYXRhUGF5bWVudC5jb2RlKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWyd0b3RhbF9wcmljZSddLnNldFZhbHVlKGRhdGFQYXltZW50LmVucm9sbG1lbnQpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3Byb2dyYW1fcHJpY2UnXS5zZXRWYWx1ZShkYXRhUGF5bWVudC5maW5hbmNlZF9wcmljZSk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGFpZF9sZXZlbCddLnNldFZhbHVlKGRhdGFQYXltZW50LnBhaWRfbGV2ZWwgLSAxKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydmZWVfbnVtYmVyJ10uc2V0VmFsdWUoZGF0YVBheW1lbnQuZmVlX251bWJlcik7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfcHJpY2UnXS5zZXRWYWx1ZShkYXRhUGF5bWVudC5xdW90YV9wcmljZSk7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9IGVsc2UgaWYodGhpcy5jb2RGb3JtU3RlcEZvdXIuZ2V0KCdwYXltZW50X21ldGhvZCcpPy52YWx1ZSA9PSAyKXtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV90aW1lcyddLnNldFZhbHVlKGRhdGFQYXltZW50LmNvZGUpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3RvdGFsX3ByaWNlJ10uc2V0VmFsdWUoZGF0YVBheW1lbnQuZW5yb2xsbWVudCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncHJvZ3JhbV9wcmljZSddLnNldFZhbHVlKGRhdGFQYXltZW50Lm5vcm1hbF9wcmljZSk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGFpZF9sZXZlbCddLnNldFZhbHVlKGRhdGFQYXltZW50LnBhaWRfbGV2ZWwgLSAxKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydmZWVfbnVtYmVyJ10uc2V0VmFsdWUoZGF0YVBheW1lbnQuZmVlX251bWJlcik7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfcHJpY2UnXS5zZXRWYWx1ZShkYXRhUGF5bWVudC5xdW90YV9wcmljZSk7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG4gIH1cblxuICBjbGVhcklucHV0UGF5bWVudCgpe1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwcm9ncmFtX3ByaWNlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3F1b3RhX3RpbWVzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3RvdGFsX3ByaWNlJ10uc2V0VmFsdWUobnVsbCk7XG4gIH1cblxuICBzZXREYXRhRnJvbVByZXZpdXNDb2RQcmljZXMoKXtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9tZXRob2QnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmNvZF9wcmljZS5mZWVfbnVtYmVyID09IDEgPyAyIDogMSlcbiAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sndG90YWxfcHJpY2UnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmNvZF9wcmljZS5lbnJvbGxtZW50KTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncHJvZ3JhbV9wcmljZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuY29kX3ByaWNlLmZlZV9udW1iZXIgPT0gMSA/IHRoaXMuaW5pdGlhbERhdGEubm9ybWFsX3ByaWNlICA6IHRoaXMuaW5pdGlhbERhdGEuZmluYW5jZWRfcHJpY2UpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYWlkX2xldmVsJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5jb2RfcHJpY2UucGFpZF9sZXZlbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ZlZV9udW1iZXInXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmNvZF9wcmljZS5mZWVfbnVtYmVyKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfcHJpY2UnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmNvZF9wcmljZS5xdW90YV9wcmljZSk7XG5cbiAgfVxuXG59XG5cbiIsIjxkaXYgKm5nSWY9XCJpc1NlbWVzdHJhbFwiIGNsYXNzPVwibS0xIHAtMiBib3JkZXItcm91bmQtbGcgYmctYmx1ZS01MDAgdGV4dC13aGl0ZVwiPlxuICA8c3Ryb25nPk5vdGE6IDwvc3Ryb25nPlxuICBFbCB0aXBvIGRlIGN1cnNvIHNlbGVjY2lvbmFkbyBmdWUgc2VtZXN0cmFsLCBwb3IgbG8gdGFudG8gZWwgZXN0dWRpYW50ZSBkZWJlIHBhZ2FyIG1hdHLDrWN1bGEgeSBwcmltZXJhIGN1b3RhIChNJk0pXG48L2Rpdj5cblxuPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJjb2RGb3JtU3RlcEZvdXJcIiBjbGFzcz1cImdyaWQgbXQtMlwiPlxuXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICA8aXB0LXNlbGVjdFxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3BheW1lbnRfbWV0aG9kJ10udmFsdWVcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYXltZW50X21ldGhvZCddXCJcbiAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RQYXltZW50TWV0aG9kKCRldmVudClcIlxuICAgICAgW2RhdGFdPVwicGF5bWVudE1ldGhvZHNcIlxuICAgICAgW2RlZmF1bHRUZXh0XT1cIidNw6l0b2RvIGRlIHBhZ28nXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICAgIDxpcHQtbG9hZGVyICpuZ0lmPVwiZmVlUmVzcG9uc2VcIj48L2lwdC1sb2FkZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCIgKm5nSWY9XCJ0aGVyZUFyZVBsYW5zXCI+XG4gICAgICA8cC10YWJsZVxuICAgICAgICBbdmFsdWVdPVwiZGF0YVByaWNlc1wiXG4gICAgICAgIFt0YWJsZVN0eWxlXT1cInsnbWluLXdpZHRoJzogJzEwMCUnfVwiXG4gICAgICAgIFtyb3dIb3Zlcl09XCJ0cnVlXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICBTZWxlY2Npb24gZGUgbml2ZWxlcyBhIGNhbmNlbGFyLlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIGNsYXNzPVwiYmctYmx1ZS0yMDAgdGV4dC1jZW50ZXIgZm9udC1tZWRpdW0gcHQtMiBwYi0yXCI+Q2FuY2VsYXI8L3RoPlxuICAgICAgICAgICAgPHRoIGNsYXNzPVwiYmctYmx1ZS0yMDAgdGV4dC1jZW50ZXIgZm9udC1tZWRpdW0gcHQtMiBwYi0yXCI+Q3VvdGFzPC90aD5cbiAgICAgICAgICAgIDx0aCBjbGFzcz1cImJnLWJsdWUtMjAwIHRleHQtY2VudGVyIGZvbnQtbWVkaXVtIHB0LTIgcGItMlwiPkFkbWluPC90aD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1kYXRhPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0ZD57eyBkYXRhLnBhaWRfbGV2ZWwgfX0gTml2ZWwoZXMpPC90ZD5cbiAgICAgICAgICAgIDx0ZD57eyBkYXRhLmZlZV9udW1iZXIgfX08L3RkPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwicHQtMiBwYi0yXCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBwQnV0dG9uXG4gICAgICAgICAgICAgICAgcFJpcHBsZVxuICAgICAgICAgICAgICAgIGljb249XCJwaSBwaS1tb25leS1iaWxsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXNtIHAtYnV0dG9uLXJvdW5kZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RMZXZlbHMoZGF0YSlcIlxuICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L3AtdGFibGU+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV90aW1lcyddLnZhbHVlXCIgLS0+XG4gICAgPCEtLSA8aXB0LXNlbGVjdCAqbmdJZj1cImlzRmluYW5jZWQoKTtcIlxuICAgICAgW2luaXRpYWxWYWx1ZV09XCInMSdcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV90aW1lcyddXCJcbiAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RRdW90YXMoJGV2ZW50KVwiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ07Dum1lcm8gZGUgY3VvdGFzJ1wiXG4gICAgICBbZGF0YV09XCJjb2RQcmljZXNcIlxuICAgICAgPjwvaXB0LXNlbGVjdD4gLS0+XG4gICAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInTW9udG8gdG90YWwgZGUgbGEgbWF0csOtY3VsYSdcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWyd0b3RhbF9wcmljZSddXCJcbiAgICAgIFt3aXRoUGlwZV09XCJ0cnVlXCJcbiAgICA+PC9pcHQtaW5wdXQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICA8aXB0LWlucHV0XG4gICAgICBbd2l0aFBpcGVdPVwidHJ1ZVwiXG4gICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3Byb2dyYW1fcHJpY2UnXVwiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ1ZhbG9yIHRvdGFsIGRlbCBwcm9ncmFtYSdcIlxuICAgID48L2lwdC1pbnB1dD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIG9uZm9jdXM9XCIodGhpcy50eXBlPSdkYXRlJylcIlxuICAgICAgW2lucHV0VHlwZV09XCInZGF0ZSdcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYXltZW50X2RhdGUnXVwiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ0ZlY2hhIGRlIHBhZ28nXCJcbiAgICA+PC9pcHQtaW5wdXQ+XG4gIDwvZGl2PlxuXG4gIDwhLS0gVGFibGEgZGUgZmluYW5jaWFjacOzbiAtLT5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMlwiICpuZ0lmPVwiaXNGaW5hbmNpbmdcIj5cbiAgICA8cC10YWJsZVxuICAgICAgW3ZhbHVlXT1cImRhdGFGaW5hbmNpbmdcIlxuICAgICAgW3RhYmxlU3R5bGVdPVwieydtaW4td2lkdGgnOiAnMTAwJSd9XCJcbiAgICAgIFtyb3dIb3Zlcl09XCJ0cnVlXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICBDw6FsY3VsbyBkZSBjdW90YXNcbiAgICAgICAgICA8YnV0dG9uIHBCdXR0b24gY2xhc3M9XCJwLWJ1dHRvbi1zbSBtbC1hdXRvXCIgbGFiZWw9XCJOdWV2byBjw6FsY3Vsb1wiIChjbGljayk9XCJjYWxjdWxhdGVOZXdRdW90ZXMoKVwiIGxhYiBpY29uPVwicGkgcGktcmVwbGF5XCI+PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aD4jPC90aD5cbiAgICAgICAgICA8dGg+VmFsb3I8L3RoPlxuICAgICAgICAgIDx0aD5GZWNoYTwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZGF0YT5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0ZD57eyBkYXRhWzBdIH19PC90ZD5cbiAgICAgICAgICA8dGQ+e3sgZGF0YVsxXSB9fTwvdGQ+XG4gICAgICAgICAgPHRkPnt7IGRhdGFbMl0gfX08L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3AtdGFibGU+XG4gIDwvZGl2PlxuICA8IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG5cbjwvZm9ybT5cblxuPGRpdiBjbGFzcz1cImZsZXggbXQtMyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgPHNwYW4gKm5nSWY9XCJjb2RGb3JtU3RlcEZvdXIuaW52YWxpZCAmJiBjb2RGb3JtU3RlcEZvdXIudG91Y2hlZFwiIGNsYXNzPVwidGV4dC1yZWQtNTAwIGZvbnQtYm9sZCB0ZXh0LWNlbnRlciBtdC0xIHB5LTIgYmctcmVkLTEwMCB3LWZ1bGwgYm9yZGVyLXJvdW5kLXhsXCI+e3sgZXJyb3JNZXNzYWdlIH19PC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBtbC1hdXRvIGdhcC0yXCI+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9tZXRob2QnXS52YWx1ZSA9PT0gJzEnXCIgW2Rpc2FibGVkXT1cImlzRmluYW5jaW5nIHx8IGNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9tZXRob2QnXS52YWx1ZSAhPT0gJzEnXCJ0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJtbC1hdXRvIHAtYnV0dG9uLXNtIHAtYnV0dG9uLXNlY29uZGFyeVwiIChjbGljayk9XCJzaG93VGFibGUoKVwiIHBCdXR0b24gbGFiZWw9XCJDYWxjdWxhciBjdW90YXNcIiBpY29uPVwicGkgcGktc2xpZGVycy1oXCI+PC9idXR0b24+XG4gICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiIWlzRmluYW5jaW5nICYmIGNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9tZXRob2QnXS52YWx1ZSA9PT0gJzEnXCIgdHlwZT1cInN1Ym1pdFwiIFtjbGFzc109XCJpc0VkaXRDb2QgPyAnbWwtYXV0byB5ZWxsb3ctMzAwIHAtYnV0dG9uLXNtJyA6ICdtbC1hdXRvIHAtYnV0dG9uLXNtJ1wiIChjbGljayk9XCJzZW5kRm9ybSgpXCIgcEJ1dHRvbiBsYWJlbD1cIlNpZ3VpZW50ZVwiIGljb249XCJwaSBwaS1hcnJvdy1yaWdodFwiPjwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
389
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC1mb3VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qvc3RlcHMvY29kLWZvcm0tc3RlcC1mb3VyL2NvZC1mb3JtLXN0ZXAtZm91ci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtZm91ci9jb2QtZm9ybS1zdGVwLWZvdXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFVLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsWUFBWSxFQUFzQixNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQXFCaEUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFlBQVk7SUEwQnhELFlBQ1UsRUFBZSxFQUNmLHNCQUE4QyxFQUM5QyxtQkFBd0MsRUFDeEMsZ0JBQWtDLEVBQ2xDLGVBQWdDLEVBQ2hDLGlCQUFvQyxFQUNwQyxXQUF3QjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQVJBLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FB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QUFlO3NCQUF4QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29kRm9ybVN0ZXBzLCBsb2NhbFN0b3JhZ2VWYWx1ZXMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1zdGVwcyc7XG5pbXBvcnQgeyBDb2RGb3JtQ29udHJvbHMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1jb250cm9scyc7XG5pbXBvcnQgeyBDYWxjdWxhdGVRdW90ZXNQYXJhbXMsIENhbGN1bGF0ZVF1b3Rlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9sb2dpYy9jYWxjdWxhdGUtcXVvdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbXVuaWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL2xvZ2ljL2NvbW11bmljYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IENvZFByaWNlcywgQ29kUHJpY2VzUnEsIElPYnRhaW5Db2RQcmljZXNScSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL2NvbW1lcmNpYWwvY29tbWVyY2lhbC5tb2RlbCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9wYXJhbWV0ZXJzLXNlcnZpY2UvcGFyYW1ldGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1lcmNpYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9jb21tZXJjaWFsLXNlcnZpY2UvY29tZXJjaWFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3V0aWxzL2Jhc2Utc2VydmljZS9iYXNlLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgQ291cnNlVHlwZXMge1xuICBjb2RlOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbiAgbnVtYmVyX2NsYXNzOiBudW1iZXI7XG4gIGFjYWRlbWljX3BsYW46IG51bWJlcjtcbiAgdXBkYXRlZF9hdDogc3RyaW5nO1xuICBjcmVhdGVkX2F0OiBzdHJpbmc7XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29kLWZvcm0tc3RlcC1mb3VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZC1mb3JtLXN0ZXAtZm91ci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1mb3JtLXN0ZXAtZm91ci5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvZEZvcm1TdGVwRm91ckNvbXBvbmVudCBleHRlbmRzIENvZEZvcm1TdGVwcyBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGlzRWRpdENvZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGluaXRpYWxEYXRhPzogYW55O1xuICBAT3V0cHV0KCkgY2hhbmdlU3RlcEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBmaW5hbmNpbmdEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29kRm9ybVN0ZXBGb3VyITogRm9ybUdyb3VwO1xuICBpc0NhbGN1bGF0ZVF1b3Rlc0J1dHRvbkNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyLic7XG4gIHBheW1lbnRNZXRob2RzOiBhbnlbXSA9IFtcbiAgICB7IGNvZGU6ICcxJywgbmFtZTogJ0ZpbmFuY2lhZG8nIH0sXG4gICAgeyBjb2RlOiAnMicsIG5hbWU6ICdDb250YWRvJyB9LFxuICBdO1xuICBkYXRhRmluYW5jaW5nOiBhbnlbXSA9IFtdO1xuICBpc0ZpbmFuY2luZzogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1NlbWVzdHJhbDogYm9vbGVhbiA9IGZhbHNlO1xuICBjb2RQcmljZXM6IENvZFByaWNlc1tdID0gW107XG4gIGNvZFByaWNlc0ZpbHRlcjogQ29kUHJpY2VzW10gPSBbXTtcblxuICBkYXRhUHJpY2VzOmFueTtcbiAgZmVlUmVzcG9uc2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdGhlcmVBcmVQbGFuczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIENvbnRyb2xzIGRlbCBmb3JtdWxhcmlvXG4gIGNvbnRyb2xzID0gbmV3IENvZEZvcm1Db250cm9scygpLmNvbnRyb2xzWzNdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgY2FsY3VsYXRlUXVvdGVzU2VydmljZTogQ2FsY3VsYXRlUXVvdGVzU2VydmljZSxcbiAgICBwcml2YXRlIGNvbW11bmljYXRvclNlcnZpY2U6IENvbW11bmljYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYXJhbWV0ZXJTZXJ2aWNlOiBQYXJhbWV0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29kRm9ybUNvbnRyb2xzOiBDb2RGb3JtQ29udHJvbHMsXG4gICAgcHJpdmF0ZSBjb21tZXJjaWFsU2VydmljZTogQ29tbWVyY2lhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYXNlU2VydmljZTogQmFzZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgdGhpcy5zdGFydExvY2FsU3RvcmFnZVdvcmsoKTtcbiAgICB0aGlzLnZhbGlkYXRlRXJyb3JzKCk7XG4gICAgLy8gdGhpcy5nZXRDb2RQcmljZXNCeUFncmVlbWVudCgpO1xuICAgIHRoaXMuZ2V0VmFsdWVzT2ZTdGVwT25lQ29tcG9uZW50KCk7XG4gICAgaWYgKGNoYW5nZXNbJ2luaXRpYWxEYXRhJ10pIHtcbiAgICAgIGlmICh0aGlzLmluaXRpYWxEYXRhICE9IG51bGwpIHtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbERhdGEuY29kX3ByaWNlICE9IG51bGwpIHtcbiAgICAgICAgICB0aGlzLnNldERhdGFGcm9tUHJldml1c0NvZFByaWNlcygpO1xuICAgICAgICAgIHRoaXMuZ2V0VmFsdWVzT2ZTdGVwT25lQ29tcG9uZW50KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gbmdPbkluaXQoKTogdm9pZCB7XG4gIC8vICAgLy8gdGhpcy5jbGVhbkNvbXBvbmVudCgpO1xuICAvLyAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgLy8gICB0aGlzLnN0YXJ0TG9jYWxTdG9yYWdlV29yaygpO1xuICAvLyAgIHRoaXMudmFsaWRhdGVFcnJvcnMoKTtcbiAgLy8gICAvLyB0aGlzLmdldENvZFByaWNlc0J5QWdyZWVtZW50KCk7XG4gIC8vICAgdGhpcy5nZXRWYWx1ZXNPZlN0ZXBPbmVDb21wb25lbnQoKTtcbiAgLy8gfVxuXG5cbiAgZ2V0VmFsdWVzT2ZTdGVwT25lQ29tcG9uZW50KCkge1xuICAgIC8vIFRpcG8gZGUgY3Vyc28gc2VsZWNjaW9uYWRvXG4gICAgdGhpcy5jb21tdW5pY2F0b3JTZXJ2aWNlLmdldFNlbGVjdGVkQ291cnNlVHlwZSgpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0Q291cnNlc1R5cGVzKCkucGlwZShcbiAgICAgICAgbWFwKCAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvdXJzZVR5cGVzOiBDb3Vyc2VUeXBlc1tdID0gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgICByZXR1cm4gY291cnNlVHlwZXMuZmlsdGVyKCAoeyBuYW1lIH0pID0+IG5hbWUuaW5jbHVkZXMoJ1NlbWVzdHJhbCcpIClcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoIChjb3Vyc2VUeXBlczogQ291cnNlVHlwZXNbXSkgPT4ge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdXJzZVR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKGNvdXJzZVR5cGVzW2ldLmNvZGUudG9TdHJpbmcoKSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNTZW1lc3RyYWwgPSB0cnVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNTZW1lc3RyYWwgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSk7XG5cbiAgICAvLyBDb252ZW5pbyBzZWxlY2Npb25hZG9cbiAgICAvLyB0aGlzLmNvbW11bmljYXRvclNlcnZpY2UuZ2V0U2VsZWN0ZWRBZ3JlZW1lbnQoKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgIC8vICAgdGhpcy5nZXRDb2RQcmljZXNCeUFncmVlbWVudCh2YWx1ZSk7XG4gICAgLy8gfSk7XG4gIH1cblxuICBnZXRDb2RQcmljZXNCeUFncmVlbWVudChhZ3JlZW1lbnQ/OiBzdHJpbmcpIHtcbiAgICBsZXQgYWdyZWVtZW50U2VsZWN0ZWQ6IHN0cmluZyB8IG51bGw7XG4gICAgaWYgKGFncmVlbWVudCkge1xuICAgICAgYWdyZWVtZW50U2VsZWN0ZWQgPSBhZ3JlZW1lbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFncmVlbWVudFNlbGVjdGVkID0gdGhpcy5sb2NhbFN0b3JhZ2VDT0QuZ2V0Q29kRm9ybURhdGEoMSwgJ2FncmVlbWVudF9ieV9jYXRlZ29yeScpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYXltZW50X21ldGhvZCddLnZhbHVlID09PSAnMScpIHtcbiAgICAgIGxldCByZXF1ZXN0OiBDb2RQcmljZXNScSA9IHtcbiAgICAgICAgYWdyZWVtZW50OiAgICAgTnVtYmVyKGFncmVlbWVudFNlbGVjdGVkKSxcbiAgICAgICAgcGF5bWVudF9tZXRob2Q6ICdjdW90YSdcbiAgICAgIH1cbiAgICAgIHRoaXMuY29tbWVyY2lhbFNlcnZpY2UuZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnRUeXBlUGF5bWVudChyZXF1ZXN0KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+e1xuICAgICAgICB0aGlzLmNvZFByaWNlcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV90aW1lcyddLnNldFZhbHVlKHRoaXMuY29kUHJpY2VzWzBdLmNvZGUpXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwcm9ncmFtX3ByaWNlJ10uc2V0VmFsdWUodGhpcy5jb2RQcmljZXNbMF0ubm9ybWFsX3ByaWNlKVxuICAgICAgfSlcbiAgICAgIH1lbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYXltZW50X21ldGhvZCddLnZhbHVlID09PSAnMicpIHtcbiAgICAgICAgICBsZXQgcmVxdWVzdDogQ29kUHJpY2VzUnEgPSB7XG4gICAgICAgICAgICBhZ3JlZW1lbnQ6ICAgICBOdW1iZXIoYWdyZWVtZW50U2VsZWN0ZWQpLFxuICAgICAgICAgICAgcGF5bWVudF9tZXRob2Q6ICdjb250YSdcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5jb21tZXJjaWFsU2VydmljZS5nZXRDb2RQcmljZXNCeUFncmVlbWVudFR5cGVQYXltZW50KHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT57XG4gICAgICAgICAgICB0aGlzLmNvZFByaWNlcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXS5zZXRWYWx1ZSh0aGlzLmNvZFByaWNlc1swXS5jb2RlKTtcbiAgICAgICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwcm9ncmFtX3ByaWNlJ10uc2V0VmFsdWUodGhpcy5jb2RQcmljZXNbMF0ubm9ybWFsX3ByaWNlKVxuICAgICAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3RvdGFsX3ByaWNlJ10uc2V0VmFsdWUodGhpcy5jb2RQcmljZXNbMF0uZW5yb2xsbWVudCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gdGhpcy5jb21tZXJjaWFsU2VydmljZS5nZXRDb2RQcmljZXNCeUFncmVlbWVudChOdW1iZXIoYWdyZWVtZW50U2VsZWN0ZWQpKS5zdWJzY3JpYmUoe1xuICAgIC8vICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAvLyAgICAgaWYgKHJlc3BvbnNlLmRhdGEpIHtcbiAgICAvLyAgICAgICBjb25zdCBjb2RQcmljZXM6IENvZFByaWNlc1tdID0gcmVzcG9uc2UuZGF0YTtcbiAgICAvLyAgICAgICB0aGlzLmNvZFByaWNlcyA9IGNvZFByaWNlcztcbiAgICAvLyAgICAgICBpZiAodGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3BheW1lbnRfbWV0aG9kJ10udmFsdWUgPT09ICcxJykge1xuICAgIC8vICAgICAgICAgICBjb25zdCBhdXggPSB0aGlzLmNvZFByaWNlcy5maWx0ZXIoY29kUHJpY2UgPT4gY29kUHJpY2UuYWdyZWVtZW50ID09PSBOdW1iZXIoYWdyZWVtZW50U2VsZWN0ZWQpKVswXTtcbiAgICAvLyAgICAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3F1b3RhX3RpbWVzJ10uc2V0VmFsdWUoYXV4LmNvZGUpXG4gICAgLy8gICAgICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwcm9ncmFtX3ByaWNlJ10uc2V0VmFsdWUoYXV4Lm5vcm1hbF9wcmljZSlcbiAgICAvLyAgICAgICAgIH1lbHNlIHtcbiAgICAvLyAgICAgICAgICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYXltZW50X21ldGhvZCddLnZhbHVlID09PSAnMicpIHtcbiAgICAvLyAgICAgICAgICAgICAvLyBjb25zdCBhdXggPSB0aGlzLmNvZFByaWNlcy5maWx0ZXIoY29kUHJpY2UgPT4gY29kUHJpY2UuYWdyZWVtZW50ID09PSBOdW1iZXIoYWdyZWVtZW50U2VsZWN0ZWQpKVswXTtcbiAgICAvLyAgICAgICAgICAgICBjb25zdCBhdXggPSB0aGlzLmNvZFByaWNlcy5maWx0ZXIoY29kUHJpY2UgPT4gY29kUHJpY2UuZmVlX251bWJlciA9PT0gMSlbMF07XG4gICAgLy8gICAgICAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3F1b3RhX3RpbWVzJ10uc2V0VmFsdWUoYXV4LmNvZGUpO1xuICAgIC8vICAgICAgICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwcm9ncmFtX3ByaWNlJ10uc2V0VmFsdWUoYXV4Lm5vcm1hbF9wcmljZSlcbiAgICAvLyAgICAgICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sndG90YWxfcHJpY2UnXS5zZXRWYWx1ZShhdXguZW5yb2xsbWVudCk7XG4gICAgLy8gICAgICAgICAgIH1cbiAgICAvLyAgICAgICAgIH1cbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgIH0sXG4gICAgLy8gICBlcnJvcjogKGVycikgPT4gY29uc29sZS5sb2coZXJyKVxuICAgIC8vIH0pXG4gIH1cblxuICB2YWxpZGF0ZUVycm9ycygpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGNoYW5nZXMgPT4ge1xuICAgICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV90aW1lcyddLmhhc0Vycm9yKCdtaW4nKSkge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdMYSBjYW50aWRhZCBkZSBjdW90YXMgbcOtbmltYXMgZGViZSBzZXIgMSc7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV90aW1lcyddLmhhc0Vycm9yKCdtYXgnKSkge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdMYSBjYW50aWRhZCBkZSBjdW90YXMgbm8gZGViZSBzZXIgc3VwZXJpb3IgYSAxMic7XG4gICAgICB9XG4gICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0ZhbHRhbiBjYW1wb3MgcG9yIGxsZW5hcic7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHNlYXJjaFByaWNlQnlUeXBlUGF5bWVudChhZ3JlZW1lbnRTZWxlY3RlZDogYW55LCB0eXBlOiBzdHJpbmcsIGNoYW5nZTogc3RyaW5nKXtcbiAgICBsZXQgcmVxdWVzdDogQ29kUHJpY2VzUnEgPSB7XG4gICAgICBhZ3JlZW1lbnQ6ICAgICBOdW1iZXIoYWdyZWVtZW50U2VsZWN0ZWQpLFxuICAgICAgcGF5bWVudF9tZXRob2Q6IHR5cGVcbiAgICB9XG4gICAgdGhpcy5jb21tZXJjaWFsU2VydmljZS5nZXRDb2RQcmljZXNCeUFncmVlbWVudFR5cGVQYXltZW50KHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT57XG4gICAgICB0aGlzLmNvZFByaWNlcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSlcbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBwcm9ncmFtX3ByaWNlOiBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBwYXltZW50X2RhdGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHBheW1lbnRfbWV0aG9kOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBxdW90YV90aW1lczogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgdG90YWxfcHJpY2U6IFt7IHZhbHVlOiAnJywgZGlzYWJsZWQ6IHRydWUgfSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHBhaWRfbGV2ZWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHF1b3RhX3ByaWNlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBmZWVfbnVtYmVyOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmxpc3RlblBheW1lbnRNZXRob2RGaWVsZCgpO1xuICB9XG5cbiAgbGlzdGVuUGF5bWVudE1ldGhvZEZpZWxkKCkge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvZEZvcm1TdGVwRm91ci5nZXQoJ3BheW1lbnRfbWV0aG9kJyk7XG4gICAgY29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XG4gICAgICAvLyBGaW5hbmNpYWRvXG4gICAgICBpZiAoY2hhbmdlID09PSAnMScpIHtcbiAgICAgICAgLy8gUG9uZXIgdmFsaWRhY2lvbmVzXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwcm9ncmFtX3ByaWNlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9kYXRlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWyd0b3RhbF9wcmljZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcblxuICAgICAgICAvLyBBY3R1YWxpemFyIHBhcmEgcXVlIHNlIHRvbWVuIGxvcyBjYW1iaW9zXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuXG4gICAgICAgIC8vIEFjdHVhbGl6YXIgbG9zIGNvbnRyb2xzIGdsb2JhbGVzXG4gICAgICAgIHRoaXMudXBkYXRlR2xvYmFsQ29udHJvbHMoY2hhbmdlKVxuICAgICAgfVxuXG4gICAgICAvLyBkZSBjb250YWRvXG4gICAgICBpZiAoY2hhbmdlID09PSAnMicpIHtcbiAgICAgICAgLy8gUXVpdGFyIGxhcyB2YWxpZGFjaW9uZXNcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3Byb2dyYW1fcHJpY2UnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYXltZW50X2RhdGUnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV90aW1lcyddLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sndG90YWxfcHJpY2UnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG5cbiAgICAgICAgLy8gQWN0dWFsaXphciBwYXJhIHF1ZSBzZSB0b21lbiBsb3MgY2FtYmlvc1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcblxuICAgICAgICAvLyBBY3R1YWxpemFyIGxvcyBjb250cm9scyBnbG9iYWxlc1xuICAgICAgICB0aGlzLnVwZGF0ZUdsb2JhbENvbnRyb2xzKGNoYW5nZSlcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZUdsb2JhbENvbnRyb2xzKGNoYW5nZTogc3RyaW5nKSB7XG4gICAgbGV0IGNvbnRyb2xzID0gdGhpcy5jb250cm9scy5maWx0ZXIoY29udHJvbCA9PiBjb250cm9sLm5hbWUgIT09ICdwYXltZW50X21ldGhvZCcpO1xuICAgIGNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBpZiAoY2hhbmdlID09PSAnMScpIHRoaXMuY29kRm9ybUNvbnRyb2xzLmNoYW5nZVZhbHVlKDQsIGNvbnRyb2wubmFtZSwgdHJ1ZSlcbiAgICAgIGlmIChjaGFuZ2UgPT09ICcyJykge1xuICAgICAgICBpZiAoY29udHJvbC5uYW1lID09PSAncXVvdGFfdGltZXMnKSB0aGlzLmNvZEZvcm1Db250cm9scy5jaGFuZ2VWYWx1ZSg0LCBjb250cm9sLm5hbWUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKSB7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3Byb2dyYW1fcHJpY2UnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3BheW1lbnRfZGF0ZSddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3RvdGFsX3ByaWNlJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCkge1xuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGxldCBsb2NhbFN0b3JhZ2VWYWx1ZTogbG9jYWxTdG9yYWdlVmFsdWVzID0gdGhpcy5yZWFkQW5kV3JpdGVMUyg0LCBjb250cm9sLm5hbWUpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbY29udHJvbC5uYW1lXS5zZXRWYWx1ZShsb2NhbFN0b3JhZ2VWYWx1ZS52YWx1ZSk7XG4gICAgICB0aGlzLmxpc3RlbkZvcm1DaGFuZ2VzKDQsIGNvbnRyb2wubmFtZSwgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbY29udHJvbC5uYW1lXS52YWx1ZUNoYW5nZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgc2hvd1RhYmxlKCkge1xuICAgIHRoaXMuaXNDYWxjdWxhdGVRdW90ZXNCdXR0b25DbGlja2VkID0gdHJ1ZTtcbiAgICBjb25zdCB0b3RhbF9wcmljZSA9IHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWyd0b3RhbF9wcmljZSddLnZhbHVlO1xuICAgIGlmICgodG90YWxfcHJpY2UgPT09ICdudWxsJykgfHwgdGhpcy5jb2RGb3JtU3RlcEZvdXIuaW52YWxpZCkge1xuICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgdGl0bGU6ICdFcnJvciB0YWJsZScsXG4gICAgICAgIHRleHQ6ICdEZWJlcyBpbmdyZXNhciBlbCBtb250byB0b3RhbCBkZSBsYSBtYXRyw61jdWxhIHkgbGEgY3VvdGEgaW5pY2lhbCcsXG4gICAgICAgIGljb246ICdlcnJvcidcbiAgICAgIH0pXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2FsY3VsYXIgY3VvdGFzXG4gICAgdGhpcy5kYXRhRmluYW5jaW5nID0gW107XG4gICAgLy8gY29uc3QgcXVvdGFWYWx1ZXMgPSB0aGlzLmNvZFByaWNlcy5maWx0ZXIoY29kUHJpY2UgPT4gY29kUHJpY2UuY29kZSA9PT0gTnVtYmVyKHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV90aW1lcyddLnZhbHVlKSlbMF0ucXVvdGFfcHJpY2U7XG4gICAgLy8gbGV0IHBhcmFtczogQ2FsY3VsYXRlUXVvdGVzUGFyYW1zID0ge1xuICAgIC8vICAgZGF0ZTogbmV3IERhdGUodGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3BheW1lbnRfZGF0ZSddLnZhbHVlKSxcbiAgICAvLyAgIHF1b3RhVmFsdWVzLFxuICAgIC8vICAgcXVvdGFUaW1lczogdGhpcy5jb2RQcmljZXMuZmlsdGVyKGNvZFByaWNlID0+IGNvZFByaWNlLmNvZGUgPT09IE51bWJlcih0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXS52YWx1ZSkpWzBdLmZlZV9udW1iZXIsXG4gICAgLy8gICB0b3RhbFByaWNlOiB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sndG90YWxfcHJpY2UnXS52YWx1ZSxcbiAgICAvLyB9XG5cbiAgICBsZXQgcGFyYW1zOiBDYWxjdWxhdGVRdW90ZXNQYXJhbXMgPSB7XG4gICAgICBkYXRlOiBuZXcgRGF0ZSh0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9kYXRlJ10udmFsdWUpLFxuICAgICAgcXVvdGFWYWx1ZXM6IE51bWJlcih0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfcHJpY2UnXS52YWx1ZSksXG4gICAgICBxdW90YVRpbWVzOiBOdW1iZXIodGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ZlZV9udW1iZXInXS52YWx1ZSksXG4gICAgICB0b3RhbFByaWNlOiB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sndG90YWxfcHJpY2UnXS52YWx1ZSxcbiAgICB9XG5cbiAgICB0aGlzLmRhdGFGaW5hbmNpbmcgPSB0aGlzLmNhbGN1bGF0ZVF1b3Rlc1NlcnZpY2UuY2FsY3VsYXRlUXVvdGVzKHBhcmFtcyk7XG4gICAgdGhpcy5pc0ZpbmFuY2luZyA9IHRydWU7XG4gICAgdGhpcy5maW5hbmNpbmdEYXRhLmVtaXQodGhpcy5kYXRhRmluYW5jaW5nKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZU5ld1F1b3RlcygpIHtcbiAgICB0aGlzLmlzQ2FsY3VsYXRlUXVvdGVzQnV0dG9uQ2xpY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNGaW5hbmNpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmZpbmFuY2luZ0RhdGEuZW1pdChudWxsKTtcbiAgfVxuXG4gIHNlbmRGb3JtKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICBpZiAodGhpcy5jb2RGb3JtU3RlcEZvdXIuaW52YWxpZCkgcmV0dXJuO1xuICAgIC8vIE1vdmVybm9zIGFsIHBhc28gNVxuICAgIHRoaXMuY2hhbmdlU3RlcEV2ZW50LmVtaXQoNCk7XG4gIH1cblxuICBpc0ZpbmFuY2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9tZXRob2QnXS52YWx1ZSA9PSAxO1xuICB9XG5cbiAgLy8gRXZlbnRvcyBkZWwgc2VsZWN0XG4gIHNlbGVjdFBheW1lbnRNZXRob2QocGF5bWVudE1ldGhvZDogYW55KSB7XG4gICAgdGhpcy5mZWVSZXNwb25zZSA9IHRydWU7XG4gICAgdGhpcy50aGVyZUFyZVBsYW5zID0gZmFsc2U7XG5cbiAgICBpZiAocGF5bWVudE1ldGhvZCAhPT0gJycpIHtcbiAgICAgIGNvbnN0IHJlcXVlc3Q6IElPYnRhaW5Db2RQcmljZXNScSA9IHtcbiAgICAgICAgdG9rZW46ICAgICAgICAgICAgdGhpcy5iYXNlU2VydmljZS5nZXRVc2VyVG9rZW4oKSxcbiAgICAgICAgY291cnNlX3R5cGU6ICAgICAgTnVtYmVyKHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDEsICdjb3Vyc2VfdHlwZScpKSxcbiAgICAgICAgYWdyZWVtZW50OiAgICAgICAgTnVtYmVyKHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDEsICdhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknKSksXG4gICAgICAgIGNvdXJzZV9tb2RhbGl0eTogIE51bWJlcih0aGlzLmxvY2FsU3RvcmFnZUNPRC5nZXRDb2RGb3JtRGF0YSgxLCAnY291cnNlX21vZGFsaXR5JykpLFxuICAgICAgICBwYXltZW50X21ldGhvZDogICBwYXJzZUludChwYXltZW50TWV0aG9kKVxuICAgICAgfVxuICAgICAgdGhpcy5jb21tZXJjaWFsU2VydmljZS5PYnRhaW5Db2RQcmljZXMocmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5kYXRhICE9IG51bGwpIHtcbiAgICAgICAgICB0aGlzLmRhdGFQcmljZXMgPSByZXNwb25zZS5kYXRhO1xuICAgICAgICAgIHRoaXMuZmVlUmVzcG9uc2UgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnRoZXJlQXJlUGxhbnMgPSB0cnVlO1xuICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgdGhpcy50aGVyZUFyZVBsYW5zID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5mZWVSZXNwb25zZSA9IGZhbHNlO1xuICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ2NlbnRlcicsXG4gICAgICAgICAgICBpY29uOiAnd2FybmluZycsXG4gICAgICAgICAgICB0aXRsZTpcbiAgICAgICAgICAgICAgJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPk9vcHMuLiBubyBoYXkgcGxhbmVzIGRlIHBhZ29zLCBcXG4gZW4gZWwgY3Vyc28gZWxlZ2lkby48L3A+JyxcbiAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcbiAgICAgICAgICAgIHRpbWVyOiAzMDAwLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuY2xlYXJJbnB1dFBheW1lbnQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9tZXRob2QnXS5zZXRWYWx1ZShwYXltZW50TWV0aG9kKTtcbiAgICAgIC8vIHRoaXMuZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3BheW1lbnRfbWV0aG9kJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0UXVvdGFzKHF1b3Rhczogc3RyaW5nKSB7XG4gICAgaWYgKHF1b3RhcyAhPT0gJ07Dum1lcm8gZGUgY3VvdGFzJykge1xuICAgICAgY29uc3QgY29kUHJpY2U6IENvZFByaWNlc1tdID0gdGhpcy5jb2RQcmljZXMuZmlsdGVyKGNvZFByaWNlID0+IGNvZFByaWNlLmNvZGUgPT09IE51bWJlcihxdW90YXMpKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV90aW1lcyddLnNldFZhbHVlKGNvZFByaWNlWzBdLmNvZGUpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3RvdGFsX3ByaWNlJ10uc2V0VmFsdWUoY29kUHJpY2VbMF0uZW5yb2xsbWVudCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncHJvZ3JhbV9wcmljZSddLnNldFZhbHVlKGNvZFByaWNlWzBdLmZpbmFuY2VkX3ByaWNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3F1b3RhX3RpbWVzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sndG90YWxfcHJpY2UnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwcm9ncmFtX3ByaWNlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYW5Db21wb25lbnQoKXtcbiAgICB0aGlzLnJlc2V0TG9jYWxTdG9yYWdlKHRoaXMuY29udHJvbHMpO1xuICB9XG5cbiAgc2VsZWN0TGV2ZWxzKGRhdGFQYXltZW50OiBhbnkpe1xuICAgIGlmICh0aGlzLmNvZEZvcm1TdGVwRm91ci5nZXQoJ3BheW1lbnRfbWV0aG9kJyk/LnZhbHVlID09IDEpIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV90aW1lcyddLnNldFZhbHVlKGRhdGFQYXltZW50LmNvZGUpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3RvdGFsX3ByaWNlJ10uc2V0VmFsdWUoZGF0YVBheW1lbnQuZW5yb2xsbWVudCk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncHJvZ3JhbV9wcmljZSddLnNldFZhbHVlKGRhdGFQYXltZW50LmZpbmFuY2VkX3ByaWNlKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYWlkX2xldmVsJ10uc2V0VmFsdWUoZGF0YVBheW1lbnQucGFpZF9sZXZlbCAtIDEpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ZlZV9udW1iZXInXS5zZXRWYWx1ZShkYXRhUGF5bWVudC5mZWVfbnVtYmVyKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV9wcmljZSddLnNldFZhbHVlKGRhdGFQYXltZW50LnF1b3RhX3ByaWNlKTtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH0gZWxzZSBpZih0aGlzLmNvZEZvcm1TdGVwRm91ci5nZXQoJ3BheW1lbnRfbWV0aG9kJyk/LnZhbHVlID09IDIpe1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3F1b3RhX3RpbWVzJ10uc2V0VmFsdWUoZGF0YVBheW1lbnQuY29kZSk7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sndG90YWxfcHJpY2UnXS5zZXRWYWx1ZShkYXRhUGF5bWVudC5lbnJvbGxtZW50KTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwcm9ncmFtX3ByaWNlJ10uc2V0VmFsdWUoZGF0YVBheW1lbnQubm9ybWFsX3ByaWNlKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYWlkX2xldmVsJ10uc2V0VmFsdWUoZGF0YVBheW1lbnQucGFpZF9sZXZlbCAtIDEpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ZlZV9udW1iZXInXS5zZXRWYWx1ZShkYXRhUGF5bWVudC5mZWVfbnVtYmVyKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV9wcmljZSddLnNldFZhbHVlKGRhdGFQYXltZW50LnF1b3RhX3ByaWNlKTtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFySW5wdXRQYXltZW50KCl7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3Byb2dyYW1fcHJpY2UnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sndG90YWxfcHJpY2UnXS5zZXRWYWx1ZShudWxsKTtcbiAgfVxuXG4gIHNldERhdGFGcm9tUHJldml1c0NvZFByaWNlcygpe1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYXltZW50X21ldGhvZCddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuY29kX3BheW1lbnQubGVuZ2h0ID09IDEgPyAyIDogMSlcbiAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sndG90YWxfcHJpY2UnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmNvZF9wcmljZS5lbnJvbGxtZW50KTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncHJvZ3JhbV9wcmljZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuY29kX3BheW1lbnQubGVuZ2h0ID09IDEgPyB0aGlzLmluaXRpYWxEYXRhLmNvZF9wcmljZS5ub3JtYWxfcHJpY2UgIDogdGhpcy5pbml0aWFsRGF0YS5jb2RfcHJpY2UuZmluYW5jZWRfcHJpY2UpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYWlkX2xldmVsJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5jb2RfcHJpY2UucGFpZF9sZXZlbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ZlZV9udW1iZXInXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmNvZF9wYXltZW50LmxlbmdodCA9PSAxID8gMSA6IHRoaXMuaW5pdGlhbERhdGEuY29kX3ByaWNlLmZlZV9udW1iZXIpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydxdW90YV9wcmljZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuY29kX3ByaWNlLnF1b3RhX3ByaWNlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9kYXRlJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5jb2RfcGF5bWVudFswXS50aW1lbHlfZGF0ZSk7XG4gIH1cblxufVxuXG4iLCI8ZGl2ICpuZ0lmPVwiaXNTZW1lc3RyYWxcIiBjbGFzcz1cIm0tMSBwLTIgYm9yZGVyLXJvdW5kLWxnIGJnLWJsdWUtNTAwIHRleHQtd2hpdGVcIj5cbiAgPHN0cm9uZz5Ob3RhOiA8L3N0cm9uZz5cbiAgRWwgdGlwbyBkZSBjdXJzbyBzZWxlY2Npb25hZG8gZnVlIHNlbWVzdHJhbCwgcG9yIGxvIHRhbnRvIGVsIGVzdHVkaWFudGUgZGViZSBwYWdhciBtYXRyw61jdWxhIHkgcHJpbWVyYSBjdW90YSAoTSZNKVxuPC9kaXY+XG5cbjxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiY29kRm9ybVN0ZXBGb3VyXCIgY2xhc3M9XCJncmlkIG10LTJcIj5cblxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwYXltZW50X21ldGhvZCddLnZhbHVlXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9tZXRob2QnXVwiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0UGF5bWVudE1ldGhvZCgkZXZlbnQpXCJcbiAgICAgIFtkYXRhXT1cInBheW1lbnRNZXRob2RzXCJcbiAgICAgIFtkZWZhdWx0VGV4dF09XCInTcOpdG9kbyBkZSBwYWdvJ1wiXG4gICAgPjwvaXB0LXNlbGVjdD5cbiAgICA8aXB0LWxvYWRlciAqbmdJZj1cImZlZVJlc3BvbnNlXCI+PC9pcHQtbG9hZGVyPlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiICpuZ0lmPVwidGhlcmVBcmVQbGFuc1wiPlxuICAgICAgPHAtdGFibGVcbiAgICAgICAgW3ZhbHVlXT1cImRhdGFQcmljZXNcIlxuICAgICAgICBbdGFibGVTdHlsZV09XCJ7J21pbi13aWR0aCc6ICcxMDAlJ31cIlxuICAgICAgICBbcm93SG92ZXJdPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjYXB0aW9uXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgU2VsZWNjaW9uIGRlIG5pdmVsZXMgYSBjYW5jZWxhci5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCBjbGFzcz1cImJnLWJsdWUtMjAwIHRleHQtY2VudGVyIGZvbnQtbWVkaXVtIHB0LTIgcGItMlwiPkNhbmNlbGFyPC90aD5cbiAgICAgICAgICAgIDx0aCBjbGFzcz1cImJnLWJsdWUtMjAwIHRleHQtY2VudGVyIGZvbnQtbWVkaXVtIHB0LTIgcGItMlwiPkN1b3RhczwvdGg+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJiZy1ibHVlLTIwMCB0ZXh0LWNlbnRlciBmb250LW1lZGl1bSBwdC0yIHBiLTJcIj5BZG1pbjwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZGF0YT5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGQ+e3sgZGF0YS5wYWlkX2xldmVsIH19IE5pdmVsKGVzKTwvdGQ+XG4gICAgICAgICAgICA8dGQ+e3sgZGF0YS5mZWVfbnVtYmVyIH19PC90ZD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cInB0LTIgcGItMlwiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgcEJ1dHRvblxuICAgICAgICAgICAgICAgIHBSaXBwbGVcbiAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktbW9uZXktYmlsbFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1zbSBwLWJ1dHRvbi1yb3VuZGVkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0TGV2ZWxzKGRhdGEpXCJcbiAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9wLXRhYmxlPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXS52YWx1ZVwiIC0tPlxuICAgIDwhLS0gPGlwdC1zZWxlY3QgKm5nSWY9XCJpc0ZpbmFuY2VkKCk7XCJcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiJzEnXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncXVvdGFfdGltZXMnXVwiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0UXVvdGFzKCRldmVudClcIlxuICAgICAgW2RlZmF1bHRUZXh0XT1cIidOw7ptZXJvIGRlIGN1b3RhcydcIlxuICAgICAgW2RhdGFdPVwiY29kUHJpY2VzXCJcbiAgICAgID48L2lwdC1zZWxlY3Q+IC0tPlxuICAgIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICA8aXB0LWlucHV0XG4gICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ01vbnRvIHRvdGFsIGRlIGxhIG1hdHLDrWN1bGEnXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sndG90YWxfcHJpY2UnXVwiXG4gICAgICBbd2l0aFBpcGVdPVwidHJ1ZVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgPGlwdC1pbnB1dFxuICAgICAgW3dpdGhQaXBlXT1cInRydWVcIlxuICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydwcm9ncmFtX3ByaWNlJ11cIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIidWYWxvciB0b3RhbCBkZWwgcHJvZ3JhbWEnXCJcbiAgICA+PC9pcHQtaW5wdXQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICA8aXB0LWlucHV0XG4gICAgICBvbmZvY3VzPVwiKHRoaXMudHlwZT0nZGF0ZScpXCJcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ2RhdGUnXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwRm91ci5jb250cm9sc1sncGF5bWVudF9kYXRlJ11cIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIidGZWNoYSBkZSBwYWdvJ1wiXG4gICAgPjwvaXB0LWlucHV0PlxuICA8L2Rpdj5cblxuICA8IS0tIFRhYmxhIGRlIGZpbmFuY2lhY2nDs24gLS0+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIiAqbmdJZj1cImlzRmluYW5jaW5nXCI+XG4gICAgPHAtdGFibGVcbiAgICAgIFt2YWx1ZV09XCJkYXRhRmluYW5jaW5nXCJcbiAgICAgIFt0YWJsZVN0eWxlXT1cInsnbWluLXdpZHRoJzogJzEwMCUnfVwiXG4gICAgICBbcm93SG92ZXJdPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgQ8OhbGN1bG8gZGUgY3VvdGFzXG4gICAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIGNsYXNzPVwicC1idXR0b24tc20gbWwtYXV0b1wiIGxhYmVsPVwiTnVldm8gY8OhbGN1bG9cIiAoY2xpY2spPVwiY2FsY3VsYXRlTmV3UXVvdGVzKClcIiBsYWIgaWNvbj1cInBpIHBpLXJlcGxheVwiPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGg+IzwvdGg+XG4gICAgICAgICAgPHRoPlZhbG9yPC90aD5cbiAgICAgICAgICA8dGg+RmVjaGE8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWRhdGE+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGQ+e3sgZGF0YVswXSB9fTwvdGQ+XG4gICAgICAgICAgPHRkPnt7IGRhdGFbMV0gfX08L3RkPlxuICAgICAgICAgIDx0ZD57eyBkYXRhWzJdIH19PC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9wLXRhYmxlPlxuICA8L2Rpdj5cbiAgPCEtLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuXG48L2Zvcm0+XG5cbjxkaXYgY2xhc3M9XCJmbGV4IG10LTMgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gIDxzcGFuICpuZ0lmPVwiY29kRm9ybVN0ZXBGb3VyLmludmFsaWQgJiYgY29kRm9ybVN0ZXBGb3VyLnRvdWNoZWRcIiBjbGFzcz1cInRleHQtcmVkLTUwMCBmb250LWJvbGQgdGV4dC1jZW50ZXIgbXQtMSBweS0yIGJnLXJlZC0xMDAgdy1mdWxsIGJvcmRlci1yb3VuZC14bFwiPnt7IGVycm9yTWVzc2FnZSB9fTwvc3Bhbj5cbiAgPGRpdiBjbGFzcz1cImZsZXggbWwtYXV0byBnYXAtMlwiPlxuICAgIDxidXR0b24gKm5nSWY9XCJjb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3BheW1lbnRfbWV0aG9kJ10udmFsdWUgPT09ICcxJ1wiIFtkaXNhYmxlZF09XCJpc0ZpbmFuY2luZyB8fCBjb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3BheW1lbnRfbWV0aG9kJ10udmFsdWUgIT09ICcxJ1widHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwibWwtYXV0byBwLWJ1dHRvbi1zbSBwLWJ1dHRvbi1zZWNvbmRhcnlcIiAoY2xpY2spPVwic2hvd1RhYmxlKClcIiBwQnV0dG9uIGxhYmVsPVwiQ2FsY3VsYXIgY3VvdGFzXCIgaWNvbj1cInBpIHBpLXNsaWRlcnMtaFwiPjwvYnV0dG9uPlxuICAgIDxidXR0b24gW2Rpc2FibGVkXT1cIiFpc0ZpbmFuY2luZyAmJiBjb2RGb3JtU3RlcEZvdXIuY29udHJvbHNbJ3BheW1lbnRfbWV0aG9kJ10udmFsdWUgPT09ICcxJ1wiIHR5cGU9XCJzdWJtaXRcIiBbY2xhc3NdPVwiaXNFZGl0Q29kID8gJ21sLWF1dG8geWVsbG93LTMwMCBwLWJ1dHRvbi1zbScgOiAnbWwtYXV0byBwLWJ1dHRvbi1zbSdcIiAoY2xpY2spPVwic2VuZEZvcm0oKVwiIHBCdXR0b24gbGFiZWw9XCJTaWd1aWVudGVcIiBpY29uPVwicGkgcGktYXJyb3ctcmlnaHRcIj48L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -52,7 +52,7 @@ export class CodFormStepThreeComponent extends CodFormSteps {
52
52
  }
53
53
  }
54
54
  else {
55
- this.selectNeedAtendant(2);
55
+ this.selectNeedAtendant(null);
56
56
  }
57
57
  }
58
58
  }
@@ -226,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
226
226
  }], changeStepEvent: [{
227
227
  type: Output
228
228
  }] } });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBc0IsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7O0FBTzlFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxZQUFZO0lBa0J6RCxZQUNVLEVBQWUsRUFDZixnQkFBa0MsRUFDbEMsZUFBZ0M7UUFFeEMsS0FBSyxFQUFFLENBQUM7UUFKQSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFsQmhDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN2RCxtQkFBYyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFLdkMsaUJBQVksR0FBVywyQkFBMkIsQ0FBQztRQUNuRCxrQkFBYSxHQUFVO1lBQ3JCLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7WUFDNUMsRUFBRSxJ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b250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvcGFyYW1ldGVycy1zZXJ2aWNlL3BhcmFtZXRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBDb2RGb3JtQ29udHJvbHMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1jb250cm9scyc7XG5pbXBvcnQgeyBDb2RGb3JtU3RlcHMsIGxvY2FsU3RvcmFnZVZhbHVlcyB9IGZyb20gJy4uLy4uL2xvZ2ljL2NvZC1mb3JtLXN0ZXBzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvZC1mb3JtLXN0ZXAtdGhyZWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1mb3JtLXN0ZXAtdGhyZWUuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvZEZvcm1TdGVwVGhyZWVDb21wb25lbnQgZXh0ZW5kcyBDb2RGb3JtU3RlcHMgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBpbml0aWFsRGF0YT86IGFueTtcbiAgQElucHV0KCkgaXNFZGl0Q29kPzogYm9vbGVhbjtcbiAgQE91dHB1dCgpIGNoYW5nZVN0ZXBFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBnbG9iYWxDb250cm9scyA9IG5ldyBDb2RGb3JtQ29udHJvbHMoKTtcblxuICBpZFR5cGVzOiBhbnk7XG4gIGluZGljYXRpdmVzOiBhbnk7XG4gIGNvZEZvcm1TdGVwVGhyZWUhOiBGb3JtR3JvdXA7XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nID0gJ0ZhbHRhbiBjYW1wb3MgcG9yIGxsZW5hci4nO1xuICBuZWVkQXRlbmRhbnRzOiBhbnlbXSA9IFtcbiAgICB7IGNvZGU6ICcxJywgbmFtZTogJ1NpIHJlcXVpZXJlIGFjdWRpZW50ZScgfSxcbiAgICB7IGNvZGU6ICcyJywgbmFtZTogJ05vIHJlcXVpZXJlIGFjdWRpZW50ZScgfSxcbiAgXTtcblxuICAgLy8gQ29udHJvbHMgZGVsIGZvcm11bGFyaW9cbiAgIGNvbnRyb2xzID0gbmV3IENvZEZvcm1Db250cm9scygpLmNvbnRyb2xzWzJdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcGFyYW1ldGVyU2VydmljZTogUGFyYW1ldGVyU2VydmljZSxcbiAgICBwcml2YXRlIGNvZEZvcm1Db250cm9sczogQ29kRm9ybUNvbnRyb2xzXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvLyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgLy8gICB0aGlzLmdldFBhcmFtZXRlcnMoKTtcbiAgLy8gICB0aGlzLmluaXRGb3JtKCk7XG4gIC8vICAgdGhpcy5zdGFydExvY2FsU3RvcmFnZVdvcmsoKTtcbiAgLy8gICB0aGlzLnZhbGlkYXRlRXJyb3JzKCk7XG4gIC8vICAgaWYgKHRoaXMuaW5pdGlhbERhdGEgIT0gbnVsbCkge1xuICAvLyAgICAgdGhpcy5zZXRWYWx1ZVN0ZXBUaHJlZSgpO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmdldFBhcmFtZXRlcnMoKTtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgdGhpcy5zdGFydExvY2FsU3RvcmFnZVdvcmsoKTtcbiAgICB0aGlzLnZhbGlkYXRlRXJyb3JzKCk7XG5cbiAgICBpZiAoY2hhbmdlc1snaW5pdGlhbERhdGEnXSkge1xuICAgICAgaWYgKHRoaXMuaW5pdGlhbERhdGEgIT0gbnVsbCkge1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsRGF0YS5wYXJlbnQgIT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0TmVlZEF0ZW5kYW50KDEpO1xuICAgICAgICAgIGlmICh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZVN0ZXBUaHJlZSgpO1xuICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgdGhpcy5zZXREYXRhRnJvbVVzZXJIaXN0b3J5KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VsZWN0TmVlZEF0ZW5kYW50KDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVFcnJvcnMoKSB7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoY2hhbmdlcyA9PiB7XG4gICAgICBpZiAodGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSkge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdMb3Mgbm9tYnJlcyBkZWJlbiB0ZW5lciBtw61uaW1vIDMgY2FyYWN0ZXJlcyc7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSkge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdMb3MgYXBlbGxpZG9zIGRlYmVuIHRlbmVyIG3DrW5pbW8gNSBjYXJhY3RlcmVzJztcbiAgICAgIH1cbiAgICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyJztcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCkge1xuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGxldCBsb2NhbFN0b3JhZ2VWYWx1ZTogbG9jYWxTdG9yYWdlVmFsdWVzID0gdGhpcy5yZWFkQW5kV3JpdGVMUygzLCBjb250cm9sLm5hbWUpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobG9jYWxTdG9yYWdlVmFsdWUudmFsdWUpO1xuICAgICAgdGhpcy5saXN0ZW5Gb3JtQ2hhbmdlcygzLCBjb250cm9sLm5hbWUsIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1tjb250cm9sLm5hbWVdLnZhbHVlQ2hhbmdlcyk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRQYXJhbWV0ZXJzKCkge1xuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRDYXJkVHlwZXMoJ2NvbCcpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuaWRUeXBlcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldEluZGljYXRpdmVzKCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgdGhpcy5pbmRpY2F0aXZlcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBpbml0Rm9ybSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHBhcmVudF9pZF9jYXJkX3R5cGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHBhcmVudF9pZF9jYXJkOiBbJycsW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjApLF0sXSxcbiAgICAgIHBhcmVudF9sYXN0X25hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMiksXSxdLFxuICAgICAgcGFyZW50X25hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMildLF0sXG4gICAgICBuZWVkQXRlbmRhbnQ6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcbiAgICAgIHBhcmVudF9vY2N1cGF0aW9uOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgcGFyZW50X2FkZHJlc3M6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBwYXJlbnRfcGhvbmVfbnVtYmVyOiBbJycsW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoMTApLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDE1KSxdLF0sXG4gICAgfSlcblxuICAgIHRoaXMubGlzdGVuTmVlZEF0ZW5kYW50RmllbGQoKVxuICB9XG5cbiAgbGlzdGVuTmVlZEF0ZW5kYW50RmllbGQoKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5nZXQoJ25lZWRBdGVuZGFudCcpO1xuICAgIGNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgaWYgKGNoYW5nZSA9PT0gJzEnKSB7XG4gICAgICAgIC8vIFBvbmVyIHZhbGlkYWNpb25lc1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjApXSlcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbGFzdF9uYW1lJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMildKVxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9uYW1lJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMildKVxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X29jY3VwYXRpb24nXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9udW1iZXInXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDEwKSxWYWxpZGF0b3JzLm1heExlbmd0aCgxNSldKVxuXG4gICAgICAgIC8vIEFjdHVhbGl6YXIgcGFyYSBxdWUgc2UgdG9tZW4gbG9zIGNhbWJpb3NcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG5cbiAgICAgICAgLy8gQWN0dWFsaXphciBsb3MgY29udHJvbHMgZ2xvYmFsZXNcbiAgICAgICAgdGhpcy51cGRhdGVHbG9iYWxDb250cm9scyhjaGFuZ2UpXG4gICAgICB9XG4gICAgICBpZiAoY2hhbmdlID09PSAnMicpIHtcbiAgICAgICAgLy8gUXVpdGFyIGxhcyB2YWxpZGFjaW9uZXNcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmQnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbGFzdF9uYW1lJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X25hbWUnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9vY2N1cGF0aW9uJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2FkZHJlc3MnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfbnVtYmVyJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG5cbiAgICAgICAgLy8gQWN0dWFsaXphciBwYXJhIHF1ZSBzZSB0b21lbiBsb3MgY2FtYmlvc1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcblxuICAgICAgICAvLyBBY3R1YWxpemFyIGxvcyBjb250cm9scyBnbG9iYWxlc1xuICAgICAgICB0aGlzLnVwZGF0ZUdsb2JhbENvbnRyb2xzKGNoYW5nZSlcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZUdsb2JhbENvbnRyb2xzKGNoYW5nZTogc3RyaW5nKSB7XG4gICAgbGV0IGNvbnRyb2xzID0gdGhpcy5jb250cm9scy5maWx0ZXIoY29udHJvbCA9PiBjb250cm9sLm5hbWUgIT09ICduZWVkQXRlbmRhbnQnKTtcbiAgICBjb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgaWYgKGNoYW5nZSA9PT0gJzEnKSB0aGlzLmNvZEZvcm1Db250cm9scy5jaGFuZ2VWYWx1ZSgzLCBjb250cm9sLm5hbWUsIHRydWUpXG4gICAgICBpZiAoY2hhbmdlID09PSAnMicpIHRoaXMuY29kRm9ybUNvbnRyb2xzLmNoYW5nZVZhbHVlKDMsIGNvbnRyb2wubmFtZSwgZmFsc2UpXG4gICAgfSk7XG4gIH1cblxuICBzZXRWYWx1ZVN0ZXBUaHJlZSgpe1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEucGFyZW50LmlkX2NhcmRfdHlwZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEucGFyZW50LmlkX2NhcmQpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEucGFyZW50Lmxhc3RfbmFtZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEucGFyZW50Lm5hbWUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnBhcmVudC5waG9uZV9pbmRpY2F0aXZlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9vY2N1cGF0aW9uJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5wYXJlbnQub2NjdXBhdGlvbik7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfbnVtYmVyJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5wYXJlbnQucGhvbmVfbnVtYmVyKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9hZGRyZXNzJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5wYXJlbnQub2ZmaWNlX2FkcnJlc3MpO1xuICB9XG4gIHNldERhdGFGcm9tVXNlckhpc3RvcnkoKXtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbGFzdF9uYW1lJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9vY2N1cGF0aW9uJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfbnVtYmVyJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddLnNldFZhbHVlKG51bGwpO1xuICB9XG5cbiAgdXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9sYXN0X25hbWUnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X29jY3VwYXRpb24nXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9udW1iZXInXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBuZWVkQXRlbmRhbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWUgPT0gMTtcbiAgfVxuXG4gIHNlbmRGb3JtKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWUgPT09ICcxJyAmJiB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgLy8gTW92ZXJub3MgYWwgcGFzbyA0XG4gICAgdGhpcy5jaGFuZ2VTdGVwRXZlbnQuZW1pdCgzKTtcbiAgfVxuXG4gIC8vIEV2ZW50b3MgZGUgbG9zIHNlbGVjdFxuICBzZWxlY3ROZWVkQXRlbmRhbnQobmVlZEF0ZW5kYW50OiBhbnkpIHtcbiAgICBpZiAobmVlZEF0ZW5kYW50ID09IDEpIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10uc2V0VmFsdWUobmVlZEF0ZW5kYW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGVhbkNvbXBvbmVudCgpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJZFR5cGVQYXJlbnRzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgIT09ICdUaXBvIGRlIGRvY3VtZW50bycpIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0SW5kaWNhdGl2ZXNQYXJlbnRzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgIT09ICdJbmRpY2F0aXZvJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnNldFZhbHVlKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFuQ29tcG9uZW50KCl7XG4gICAgdGhpcy5yZXNldExvY2FsU3RvcmFnZSh0aGlzLmNvbnRyb2xzKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUucmVzZXQoKTtcbiAgfVxuXG59XG4iLCI8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImNvZEZvcm1TdGVwVGhyZWVcImNsYXNzPVwiZ3JpZFwiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWVcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J11cIlxuICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdE5lZWRBdGVuZGFudCgkZXZlbnQpXCJcbiAgICAgIFtkYXRhXT1cIm5lZWRBdGVuZGFudHNcIlxuICAgICAgW2RlZmF1bHRUZXh0XT1cIidSZXF1aWVyZSBhY3VkaWVudGUnXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwibmVlZEF0ZW5kYW50KClcIiBjbGFzcz1cImdyaWQgY29sLTEyXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNlwiPlxuICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInTm9tYnJlcydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLnZhbHVlXCJcbiAgICAgICAgW2RhdGFdPVwiaWRUeXBlc1wiXG4gICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RJZFR5cGVQYXJlbnRzKCRldmVudClcIlxuICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ1RpcG8gZGUgZG9jdW1lbnRvJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXVwiXG4gICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnZhbHVlXCJcbiAgICAgICAgW2RhdGFdPVwiaW5kaWNhdGl2ZXNcIlxuICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SW5kaWNhdGl2ZXNQYXJlbnRzKCRldmVudClcIlxuICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ0luZGljYXRpdm8nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXVwiXG4gICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInT2N1cGFjacOzbidcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfb2NjdXBhdGlvbiddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1kOmNvbC02XCI+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidBcGVsbGlkb3MnXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInTsO6bWVybyBkZSBkb2N1bWVudG8nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmQnXVwiXG4gICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ251bWJlcidcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ07Dum1lcm8gZGUgdGVsw6lmb25vJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9udW1iZXInXVwiXG4gICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidEaXJlY2Npw7NuIC0gT2ZpY2luYSdcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+XG5cbjxkaXYgY2xhc3M9XCJmbGV4IG10LTMgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gIDxzcGFuICpuZ0lmPVwiKGNvZEZvcm1TdGVwVGhyZWUuaW52YWxpZCAmJiBjb2RGb3JtU3RlcFRocmVlLnRvdWNoZWQpICYmIG5lZWRBdGVuZGFudCgpXCIgY2xhc3M9XCJ0ZXh0LXJlZC01MDAgZm9udC1ib2xkIHRleHQtY2VudGVyIG10LTEgcHktMiBiZy1yZWQtMTAwIHctZnVsbCBib3JkZXItcm91bmQteGxcIj57eyBlcnJvck1lc3NhZ2UgfX08L3NwYW4+XG4gIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIFtjbGFzc109XCJpc0VkaXRDb2QgPyAnbWwtYXV0byB5ZWxsb3ctMzAwIHAtYnV0dG9uLXNtJyA6ICdtbC1hdXRvIHAtYnV0dG9uLXNtJ1wiIChjbGljayk9XCJzZW5kRm9ybSgpXCIgcEJ1dHRvbiBsYWJlbD1cIlNpZ3VpZW50ZVwiIGljb249XCJwaSBwaS1hcnJvdy1yaWdodFwiPjwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBc0IsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7O0FBTzlFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxZQUFZO0lBa0J6RCxZQUNVLEVBQWUsRUFDZixnQkFBa0MsRUFDbEMsZUFBZ0M7UUFFeEMsS0FBSyxFQUFFLENBQUM7UUFKQSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFsQmhDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN2RCxtQkFBYyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFLdkMsaUJBQVksR0FBVywyQkFBMkIsQ0FBQztRQUNuRCxrQkFBYSxHQUFVO1lBQ3JCLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7WUFDNUMsRUFBRSxJ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b250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvcGFyYW1ldGVycy1zZXJ2aWNlL3BhcmFtZXRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBDb2RGb3JtQ29udHJvbHMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1jb250cm9scyc7XG5pbXBvcnQgeyBDb2RGb3JtU3RlcHMsIGxvY2FsU3RvcmFnZVZhbHVlcyB9IGZyb20gJy4uLy4uL2xvZ2ljL2NvZC1mb3JtLXN0ZXBzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvZC1mb3JtLXN0ZXAtdGhyZWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1mb3JtLXN0ZXAtdGhyZWUuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvZEZvcm1TdGVwVGhyZWVDb21wb25lbnQgZXh0ZW5kcyBDb2RGb3JtU3RlcHMgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBpbml0aWFsRGF0YT86IGFueTtcbiAgQElucHV0KCkgaXNFZGl0Q29kPzogYm9vbGVhbjtcbiAgQE91dHB1dCgpIGNoYW5nZVN0ZXBFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBnbG9iYWxDb250cm9scyA9IG5ldyBDb2RGb3JtQ29udHJvbHMoKTtcblxuICBpZFR5cGVzOiBhbnk7XG4gIGluZGljYXRpdmVzOiBhbnk7XG4gIGNvZEZvcm1TdGVwVGhyZWUhOiBGb3JtR3JvdXA7XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nID0gJ0ZhbHRhbiBjYW1wb3MgcG9yIGxsZW5hci4nO1xuICBuZWVkQXRlbmRhbnRzOiBhbnlbXSA9IFtcbiAgICB7IGNvZGU6ICcxJywgbmFtZTogJ1NpIHJlcXVpZXJlIGFjdWRpZW50ZScgfSxcbiAgICB7IGNvZGU6ICcyJywgbmFtZTogJ05vIHJlcXVpZXJlIGFjdWRpZW50ZScgfSxcbiAgXTtcblxuICAgLy8gQ29udHJvbHMgZGVsIGZvcm11bGFyaW9cbiAgIGNvbnRyb2xzID0gbmV3IENvZEZvcm1Db250cm9scygpLmNvbnRyb2xzWzJdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcGFyYW1ldGVyU2VydmljZTogUGFyYW1ldGVyU2VydmljZSxcbiAgICBwcml2YXRlIGNvZEZvcm1Db250cm9sczogQ29kRm9ybUNvbnRyb2xzXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvLyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgLy8gICB0aGlzLmdldFBhcmFtZXRlcnMoKTtcbiAgLy8gICB0aGlzLmluaXRGb3JtKCk7XG4gIC8vICAgdGhpcy5zdGFydExvY2FsU3RvcmFnZVdvcmsoKTtcbiAgLy8gICB0aGlzLnZhbGlkYXRlRXJyb3JzKCk7XG4gIC8vICAgaWYgKHRoaXMuaW5pdGlhbERhdGEgIT0gbnVsbCkge1xuICAvLyAgICAgdGhpcy5zZXRWYWx1ZVN0ZXBUaHJlZSgpO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmdldFBhcmFtZXRlcnMoKTtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgdGhpcy5zdGFydExvY2FsU3RvcmFnZVdvcmsoKTtcbiAgICB0aGlzLnZhbGlkYXRlRXJyb3JzKCk7XG5cbiAgICBpZiAoY2hhbmdlc1snaW5pdGlhbERhdGEnXSkge1xuICAgICAgaWYgKHRoaXMuaW5pdGlhbERhdGEgIT0gbnVsbCkge1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsRGF0YS5wYXJlbnQgIT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0TmVlZEF0ZW5kYW50KDEpO1xuICAgICAgICAgIGlmICh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZVN0ZXBUaHJlZSgpO1xuICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgdGhpcy5zZXREYXRhRnJvbVVzZXJIaXN0b3J5KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VsZWN0TmVlZEF0ZW5kYW50KG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVFcnJvcnMoKSB7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoY2hhbmdlcyA9PiB7XG4gICAgICBpZiAodGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSkge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdMb3Mgbm9tYnJlcyBkZWJlbiB0ZW5lciBtw61uaW1vIDMgY2FyYWN0ZXJlcyc7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSkge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdMb3MgYXBlbGxpZG9zIGRlYmVuIHRlbmVyIG3DrW5pbW8gNSBjYXJhY3RlcmVzJztcbiAgICAgIH1cbiAgICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyJztcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCkge1xuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGxldCBsb2NhbFN0b3JhZ2VWYWx1ZTogbG9jYWxTdG9yYWdlVmFsdWVzID0gdGhpcy5yZWFkQW5kV3JpdGVMUygzLCBjb250cm9sLm5hbWUpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobG9jYWxTdG9yYWdlVmFsdWUudmFsdWUpO1xuICAgICAgdGhpcy5saXN0ZW5Gb3JtQ2hhbmdlcygzLCBjb250cm9sLm5hbWUsIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1tjb250cm9sLm5hbWVdLnZhbHVlQ2hhbmdlcyk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRQYXJhbWV0ZXJzKCkge1xuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRDYXJkVHlwZXMoJ2NvbCcpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuaWRUeXBlcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldEluZGljYXRpdmVzKCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgdGhpcy5pbmRpY2F0aXZlcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBpbml0Rm9ybSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHBhcmVudF9pZF9jYXJkX3R5cGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHBhcmVudF9pZF9jYXJkOiBbJycsW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjApLF0sXSxcbiAgICAgIHBhcmVudF9sYXN0X25hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMiksXSxdLFxuICAgICAgcGFyZW50X25hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMildLF0sXG4gICAgICBuZWVkQXRlbmRhbnQ6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcbiAgICAgIHBhcmVudF9vY2N1cGF0aW9uOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgcGFyZW50X2FkZHJlc3M6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBwYXJlbnRfcGhvbmVfbnVtYmVyOiBbJycsW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoMTApLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDE1KSxdLF0sXG4gICAgfSlcblxuICAgIHRoaXMubGlzdGVuTmVlZEF0ZW5kYW50RmllbGQoKVxuICB9XG5cbiAgbGlzdGVuTmVlZEF0ZW5kYW50RmllbGQoKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5nZXQoJ25lZWRBdGVuZGFudCcpO1xuICAgIGNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgaWYgKGNoYW5nZSA9PT0gJzEnKSB7XG4gICAgICAgIC8vIFBvbmVyIHZhbGlkYWNpb25lc1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjApXSlcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbGFzdF9uYW1lJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMildKVxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9uYW1lJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMildKVxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X29jY3VwYXRpb24nXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9udW1iZXInXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDEwKSxWYWxpZGF0b3JzLm1heExlbmd0aCgxNSldKVxuXG4gICAgICAgIC8vIEFjdHVhbGl6YXIgcGFyYSBxdWUgc2UgdG9tZW4gbG9zIGNhbWJpb3NcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG5cbiAgICAgICAgLy8gQWN0dWFsaXphciBsb3MgY29udHJvbHMgZ2xvYmFsZXNcbiAgICAgICAgdGhpcy51cGRhdGVHbG9iYWxDb250cm9scyhjaGFuZ2UpXG4gICAgICB9XG4gICAgICBpZiAoY2hhbmdlID09PSAnMicpIHtcbiAgICAgICAgLy8gUXVpdGFyIGxhcyB2YWxpZGFjaW9uZXNcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmQnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbGFzdF9uYW1lJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X25hbWUnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9vY2N1cGF0aW9uJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2FkZHJlc3MnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfbnVtYmVyJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG5cbiAgICAgICAgLy8gQWN0dWFsaXphciBwYXJhIHF1ZSBzZSB0b21lbiBsb3MgY2FtYmlvc1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcblxuICAgICAgICAvLyBBY3R1YWxpemFyIGxvcyBjb250cm9scyBnbG9iYWxlc1xuICAgICAgICB0aGlzLnVwZGF0ZUdsb2JhbENvbnRyb2xzKGNoYW5nZSlcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZUdsb2JhbENvbnRyb2xzKGNoYW5nZTogc3RyaW5nKSB7XG4gICAgbGV0IGNvbnRyb2xzID0gdGhpcy5jb250cm9scy5maWx0ZXIoY29udHJvbCA9PiBjb250cm9sLm5hbWUgIT09ICduZWVkQXRlbmRhbnQnKTtcbiAgICBjb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgaWYgKGNoYW5nZSA9PT0gJzEnKSB0aGlzLmNvZEZvcm1Db250cm9scy5jaGFuZ2VWYWx1ZSgzLCBjb250cm9sLm5hbWUsIHRydWUpXG4gICAgICBpZiAoY2hhbmdlID09PSAnMicpIHRoaXMuY29kRm9ybUNvbnRyb2xzLmNoYW5nZVZhbHVlKDMsIGNvbnRyb2wubmFtZSwgZmFsc2UpXG4gICAgfSk7XG4gIH1cblxuICBzZXRWYWx1ZVN0ZXBUaHJlZSgpe1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEucGFyZW50LmlkX2NhcmRfdHlwZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEucGFyZW50LmlkX2NhcmQpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEucGFyZW50Lmxhc3RfbmFtZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEucGFyZW50Lm5hbWUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnBhcmVudC5waG9uZV9pbmRpY2F0aXZlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9vY2N1cGF0aW9uJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5wYXJlbnQub2NjdXBhdGlvbik7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfbnVtYmVyJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5wYXJlbnQucGhvbmVfbnVtYmVyKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9hZGRyZXNzJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5wYXJlbnQub2ZmaWNlX2FkcnJlc3MpO1xuICB9XG4gIHNldERhdGFGcm9tVXNlckhpc3RvcnkoKXtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbGFzdF9uYW1lJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9vY2N1cGF0aW9uJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfbnVtYmVyJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddLnNldFZhbHVlKG51bGwpO1xuICB9XG5cbiAgdXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9sYXN0X25hbWUnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X29jY3VwYXRpb24nXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9udW1iZXInXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBuZWVkQXRlbmRhbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWUgPT0gMTtcbiAgfVxuXG4gIHNlbmRGb3JtKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWUgPT09ICcxJyAmJiB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgLy8gTW92ZXJub3MgYWwgcGFzbyA0XG4gICAgdGhpcy5jaGFuZ2VTdGVwRXZlbnQuZW1pdCgzKTtcbiAgfVxuXG4gIC8vIEV2ZW50b3MgZGUgbG9zIHNlbGVjdFxuICBzZWxlY3ROZWVkQXRlbmRhbnQobmVlZEF0ZW5kYW50OiBhbnkpIHtcbiAgICBpZiAobmVlZEF0ZW5kYW50ID09IDEpIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10uc2V0VmFsdWUobmVlZEF0ZW5kYW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGVhbkNvbXBvbmVudCgpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJZFR5cGVQYXJlbnRzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgIT09ICdUaXBvIGRlIGRvY3VtZW50bycpIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0SW5kaWNhdGl2ZXNQYXJlbnRzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgIT09ICdJbmRpY2F0aXZvJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnNldFZhbHVlKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFuQ29tcG9uZW50KCl7XG4gICAgdGhpcy5yZXNldExvY2FsU3RvcmFnZSh0aGlzLmNvbnRyb2xzKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUucmVzZXQoKTtcbiAgfVxuXG59XG4iLCI8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImNvZEZvcm1TdGVwVGhyZWVcImNsYXNzPVwiZ3JpZFwiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWVcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J11cIlxuICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdE5lZWRBdGVuZGFudCgkZXZlbnQpXCJcbiAgICAgIFtkYXRhXT1cIm5lZWRBdGVuZGFudHNcIlxuICAgICAgW2RlZmF1bHRUZXh0XT1cIidSZXF1aWVyZSBhY3VkaWVudGUnXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwibmVlZEF0ZW5kYW50KClcIiBjbGFzcz1cImdyaWQgY29sLTEyXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNlwiPlxuICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInTm9tYnJlcydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLnZhbHVlXCJcbiAgICAgICAgW2RhdGFdPVwiaWRUeXBlc1wiXG4gICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RJZFR5cGVQYXJlbnRzKCRldmVudClcIlxuICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ1RpcG8gZGUgZG9jdW1lbnRvJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXVwiXG4gICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnZhbHVlXCJcbiAgICAgICAgW2RhdGFdPVwiaW5kaWNhdGl2ZXNcIlxuICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SW5kaWNhdGl2ZXNQYXJlbnRzKCRldmVudClcIlxuICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ0luZGljYXRpdm8nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXVwiXG4gICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInT2N1cGFjacOzbidcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfb2NjdXBhdGlvbiddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1kOmNvbC02XCI+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidBcGVsbGlkb3MnXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInTsO6bWVybyBkZSBkb2N1bWVudG8nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmQnXVwiXG4gICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ251bWJlcidcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ07Dum1lcm8gZGUgdGVsw6lmb25vJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9udW1iZXInXVwiXG4gICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidEaXJlY2Npw7NuIC0gT2ZpY2luYSdcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+XG5cbjxkaXYgY2xhc3M9XCJmbGV4IG10LTMgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gIDxzcGFuICpuZ0lmPVwiKGNvZEZvcm1TdGVwVGhyZWUuaW52YWxpZCAmJiBjb2RGb3JtU3RlcFRocmVlLnRvdWNoZWQpICYmIG5lZWRBdGVuZGFudCgpXCIgY2xhc3M9XCJ0ZXh0LXJlZC01MDAgZm9udC1ib2xkIHRleHQtY2VudGVyIG10LTEgcHktMiBiZy1yZWQtMTAwIHctZnVsbCBib3JkZXItcm91bmQteGxcIj57eyBlcnJvck1lc3NhZ2UgfX08L3NwYW4+XG4gIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIFtjbGFzc109XCJpc0VkaXRDb2QgPyAnbWwtYXV0byB5ZWxsb3ctMzAwIHAtYnV0dG9uLXNtJyA6ICdtbC1hdXRvIHAtYnV0dG9uLXNtJ1wiIChjbGljayk9XCJzZW5kRm9ybSgpXCIgcEJ1dHRvbiBsYWJlbD1cIlNpZ3VpZW50ZVwiIGljb249XCJwaSBwaS1hcnJvdy1yaWdodFwiPjwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -3691,7 +3691,7 @@ class CodFormStepThreeComponent extends CodFormSteps {
3691
3691
  }
3692
3692
  }
3693
3693
  else {
3694
- this.selectNeedAtendant(2);
3694
+ this.selectNeedAtendant(null);
3695
3695
  }
3696
3696
  }
3697
3697
  }
@@ -4295,12 +4295,13 @@ class CodFormStepFourComponent extends CodFormSteps {
4295
4295
  this.codFormStepFour.controls['total_price'].setValue(null);
4296
4296
  }
4297
4297
  setDataFromPreviusCodPrices() {
4298
- this.codFormStepFour.controls['payment_method'].setValue(this.initialData.cod_price.fee_number == 1 ? 2 : 1);
4298
+ this.codFormStepFour.controls['payment_method'].setValue(this.initialData.cod_payment.lenght == 1 ? 2 : 1);
4299
4299
  this.codFormStepFour.controls['total_price'].setValue(this.initialData.cod_price.enrollment);
4300
- this.codFormStepFour.controls['program_price'].setValue(this.initialData.cod_price.fee_number == 1 ? this.initialData.normal_price : this.initialData.financed_price);
4300
+ this.codFormStepFour.controls['program_price'].setValue(this.initialData.cod_payment.lenght == 1 ? this.initialData.cod_price.normal_price : this.initialData.cod_price.financed_price);
4301
4301
  this.codFormStepFour.controls['paid_level'].setValue(this.initialData.cod_price.paid_level);
4302
- this.codFormStepFour.controls['fee_number'].setValue(this.initialData.cod_price.fee_number);
4302
+ this.codFormStepFour.controls['fee_number'].setValue(this.initialData.cod_payment.lenght == 1 ? 1 : this.initialData.cod_price.fee_number);
4303
4303
  this.codFormStepFour.controls['quota_price'].setValue(this.initialData.cod_price.quota_price);
4304
+ this.codFormStepFour.controls['payment_date'].setValue(this.initialData.cod_payment[0].timely_date);
4304
4305
  }
4305
4306
  }
4306
4307
  CodFormStepFourComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepFourComponent, deps: [{ token: i1$1.FormBuilder }, { token: CalculateQuotesService }, { token: CommunicatorService }, { token: ParameterService }, { token: CodFormControls }, { token: CommercialService }, { token: BaseService }], target: i0.ɵɵFactoryTarget.Component });