iptdevs-design-system 3.1.607 → 3.1.609

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.
@@ -232,6 +232,50 @@ export class BudgetService extends IPTGeneralService {
232
232
  this.generateRequestParams(param);
233
233
  return this.http.post(serviceUrl, this.httpOptions);
234
234
  }
235
+ createEgress(param) {
236
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/register/egress';
237
+ this.generateRequestParams(param);
238
+ return this.http.post(serviceUrl, this.httpOptions);
239
+ }
240
+ getCategory() {
241
+ let serviceUrl = this.SERVICE_URL + 'get/type/supplier/all';
242
+ return this.http.get(serviceUrl);
243
+ }
244
+ createCashClosing(param) {
245
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash';
246
+ this.generateRequestParams(param);
247
+ return this.http.post(serviceUrl, this.httpOptions);
248
+ }
249
+ searchCommonExpenses(name) {
250
+ let serviceUrl = this.SERVICE_URL + 'get/search/common/expenses/' + name;
251
+ return this.http.get(serviceUrl);
252
+ }
253
+ getUsersCashClosing() {
254
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash/by/user';
255
+ return this.http.get(serviceUrl);
256
+ }
257
+ getCashClosingDay(code) {
258
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash/by/day/codeuser/' + code;
259
+ return this.http.get(serviceUrl);
260
+ }
261
+ getCashClosingMonth(code) {
262
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash/by/month/codeuser/' + code;
263
+ return this.http.get(serviceUrl);
264
+ }
265
+ getCashClosingYear(code) {
266
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash/by/year/codeuser/' + code;
267
+ return this.http.get(serviceUrl);
268
+ }
269
+ getInfoCashClosingByCode(param) {
270
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash/by/code';
271
+ this.generateRequestParams(param);
272
+ return this.http.post(serviceUrl, this.httpOptions);
273
+ }
274
+ getCashClosingDate(param) {
275
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash/by/date/range';
276
+ this.generateRequestParams(param);
277
+ return this.http.post(serviceUrl, this.httpOptions);
278
+ }
235
279
  }
236
280
  BudgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BudgetService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
237
281
  BudgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BudgetService, providedIn: 'root' });
@@ -241,4 +285,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
241
285
  providedIn: 'root'
242
286
  }]
243
287
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVkZ2V0LXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9idWRnZXQtc2VydmljZS9idWRnZXQtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFLM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFJbEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsYUFBYSxDQUFDO1FBSWxDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFzQjtRQUNuQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDJCQUEyQixDQUFDO1FBQ2hFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELGNBQWMsQ0FBQyxNQUFrQjtRQUMvQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDZCQUE2QixDQUFDO1FBQ2xFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELGNBQWMsQ0FBQyxN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QUN0RCxDQUFDO0lBRUQsb0NBQW9DLENBQUMsS0FBa0M7UUFDckUsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRywyQ0FBMkMsQ0FBQztRQUNoRixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCx3Q0FBd0MsQ0FBQyxLQUF5QztRQUNoRixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLGdEQUFnRCxDQUFDO1FBQ3JGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7MEdBOVFVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldGRpc2NvdW50QWxsUnEsIERpc2NvdW50UnEsIERpc2NvdW50VXBkYXRlUnEsIElPYnRhaW5BbGxDb3Vyc2V3YWxsZXQsIElBc3NpZ25SZXF1ZXN0UnEsIElPYnRhaW5BdmFpbGFibGVDb3Vyc2VScywgSUdldENvZEJ5UGF5bWVudFBsYW5ScSwgSVVwZGF0ZUFtb3VudENvZFBheW1lbnRzUnEsIElQYXJhbXNVcGRhdGVEYXRlQ29kUGF5bWVudHNScSwgSUNhbmNlbFN0dWRlbnRSZWNlaXB0UnEsIElDYW5jZWxsZWRSZWNlaXB0QnlEYXRlUnEsIElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnEsIElPYnRhaW5Db3Vyc2VCeUNvb2REaWZmUGFyYW1ScSwgTmFtZUNvbW1vbkV4cGVuc2VzLCBJT2J0YWluUGF5bWVudFRyYW5IaXN0b3J5UnEsIElPYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZlBhcmFtUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnVkZ2V0L2J1ZGdldC5tb2RlbCc7XG5pbXBvcnQgeyBJRnVsbENvZFN0dWRlbnRPdmVyZHVlQnlDb29yZGluYXRvclJxLCBJUGF5bWVudE92ZXJkdWVCeUNvb3JkaW5hdG9yQ291cnNlUnEsIElQYXltZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSwgUGF5bWVudEJpbGxScSwgUGF5bWVudEJpbGxScTIsIFByaWNlQnlUeXBlU2VydmljZVJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3BheW1lbnQvcGF5bWVudC1ycS5tb2RlbCc7XG5pbXBvcnQgeyBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSB9IGZyb20gJy4uLy4uL21vZGVscy9yZXBvcnRzL3JlcG9ydHMubW9kZWwnO1xuaW1wb3J0IHsgSVBUR2VuZXJhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlLWVudmlyb21lbnRzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQnVkZ2V0U2VydmljZSBleHRlbmRzIElQVEdlbmVyYWxTZXJ2aWNle1xuXG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnYnVkZ2V0L2FwaS8nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5TRVJWSUNFX1VSTCA9IHRoaXMuYmFzZVVybCgpICsgdGhpcy5TRVJWSUNFX1VSTDtcbiAgfVxuXG4gIGdldEFsbERpc2NvdW50KHVzZXI6IGdldGRpc2NvdW50QWxsUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2Rpc2NvdW50cy9jb3Vwb24vYWxsJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh1c2VyKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBjcmVhdGVEaXNjb3VudChwYXJhbXM6IERpc2NvdW50UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2Rpc2NvdW50L2NvdXBvbi9jcmVhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHVwZGF0ZURpc2NvdW50KHBhcmFtczogRGlzY291bnRVcGRhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvZGlzY291bnQvY291cG9uL3VwZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRQYXltZW50U3R1ZGVudHNCeUNvZGUoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wYXltZW50L2NvZC9zdHVkZW50L2J5L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0UGF5bWVudFdhbGxldEJ5Q2FtcHVzKGNvZGVDYW1wdXM6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wYXltZW50L3dhbGxldC9ieS9jYW1wdXMvJyArIGNvZGVDYW1wdXM7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBwYXltZW50QmlsbER1ZXMocGFyYW1zOiBQYXltZW50QmlsbFJxMik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL3JlZ2lzdGVyL2R1ZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcGF5bWVudEJpbGxTZXJ2aWNlcyhwYXJhbXM6IFBheW1lbnRCaWxsUnEyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvcmVnaXN0ZXIvc2VydmljZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0UGF5bWVudEJpbGxBbGwoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3BheW1lbnQvYmlsbC9jYW5jZWxlZC9hbGwnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0UGF5bWVudEJpbGxCeUNvZGUoY29kZVBheW1lbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgICdnZXQvcGF5bWVudC9iaWxsL2NhbmNlbGVkL2J5L2NvZGUvJyArIGNvZGVQYXltZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0UGF5bWVudEJpbGxCeVN0dWRlbnQoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgICdnZXQvcGF5bWVudC9iaWxsL2NhbmNlbGVkL2J5L3N0dWRlbnQvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0UHJpY2VCeVR5cGVTZXJ2aWNlKHBhcmFtczogUHJpY2VCeVR5cGVTZXJ2aWNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9wcmljZS9ieS90eXBlL3NlcnZpY2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ291cnNlc0J5Q29vcmRpbmF0b3IocGFyYW1zOiBJT2J0YWluQWxsQ291cnNld2FsbGV0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb3Vyc2Uvd2FsbGV0L3VzZXIvYnkvY29vcmRpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0V2FsbGV0QnlDb2RlVXNlciAoY29kZVVzZXI6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC93YWxsZXQvYnkvY29kZS91c2VyLycgKyBjb2RlVXNlcjtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRwYXltZW50QmlsbEJ5V2FsbGV0Q29kZSAoY29kZVdhbGxldDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L29idGFpbi9wYXltZW50L2JpbGwvYnkvd2FsbGV0cy9ieS8nICsgY29kZVdhbGxldDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRwYXltZW50QmlsbEluY29tZSAoY29kZVdhbGxldDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3BheW1lbnQvYmlsbC93YWxsZXRzL2NvZGUvZmlsdGVyL2luY29tZS8nICsgY29kZVdhbGxldDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRwYXltZW50QmlsbEVncmVzcyAoY29kZVdhbGxldDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3BheW1lbnQvYmlsbC93YWxsZXRzL2NvZGUvZmlsdGVyL2VncmVzcy8nICsgY29kZVdhbGxldDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFBheW1lbnRPdmVyZHVlU3R1ZGVudCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICAnZ2V0L3BheW1lbnQvb3ZlcmR1ZS9hbGwvc3R1ZGVudCc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXREYXlQYXltZW50T3ZlcmR1ZVN0dWRlbnQoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9kYXkvcGF5bWVudC9vdmVyZHVlL3N0dWRlbnQvYnkvY29kZS8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRQYXltZW50T3ZlcmR1ZUNvdXJzZUJ5Q29vcmRpbmF0b3IocGFyYW1zOiBJUGF5bWVudE92ZXJkdWVCeUNvb3JkaW5hdG9yUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvb3ZlcmR1ZS9jb3Vyc2UvYnkvY29vcmRpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0UGF5bWVudE92ZXJkdWVTdHVkZW50QnlDb29yZGluYXRvcihwYXJhbXM6IElQYXltZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9vdmVyZHVlL3N0dWRlbnQvYnkvY29vZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRQYXltZW50T3ZlcmR1ZVN0dWRlbnRCeUNvb3JkaW5hdG9yQW5kQ291cnNlQ29kZShwYXJhbXM6IElQYXltZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JDb3Vyc2VScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9vdmVyZHVlL3N0dWRlbnQvYnkvY29vZGluYXRvcmNvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRPYnRhaW5Db2RTdHVkZW50QnlDb29yZGluYXRvcihwYXJhbXM6IElGdWxsQ29kU3R1ZGVudE92ZXJkdWVCeUNvb3JkaW5hdG9yUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2Qvc3R1bmRlbnQvYnkvY29vcmRpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWQocGFyYW1zOiBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2NvdXJzZS9ieS91c2VyL2J1ZGdldCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICAvLyBBc3NpbmdDb3Vyc2UocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAvLyAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvdXJzZS9ieS9jb2RlL3VzZXIvYnVkZ2V0L2Fzc2lnbic7XG4gIC8vICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIC8vIH1cbiAgQXNzaW5nQ291cnNlKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvdXJzZS9hc3NpZ24vZGV0YWlsL2J5L2FkdmlzZXIvYnVkZ2V0JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIEFzc2luZ0NvdXJzZXMocGFyYW1zOiBJQXNzaWduUmVxdWVzdFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb3Vyc2UvYnkvdXNlci9idWRnZXQvYXNzaWduJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkFsbEF2YWlsYWJsZUNvdXJzZXNCeVN0dWRlbnQocGFyYW1zOiBJT2J0YWluQXZhaWxhYmxlQ291cnNlUnMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9hbGwvYXZhaWxhYmxlL2NvdXJzZXMvYnkvc3R1ZGVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5PYnNlcnZhdGlvbkJ5Q29kU3R1ZGVudChwYXJhbXM6IElGdWxsQ29kU3R1ZGVudE92ZXJkdWVCeUNvb3JkaW5hdG9yUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9vYnNlcnZhcmlvbi9ieS9jb2Qvc3R1ZGV0JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFkbWluU3R1ZGVudEJ5Q29vcmRpbmF0b3IocGFyYW1zOiBJRnVsbENvZFN0dWRlbnRPdmVyZHVlQnlDb29yZGluYXRvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hZG1pbi9zdHVkZW50L2J5L2Nvb3JkaW5hdG9yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZGJ5UGF5bWVudFBsYW5ScShwYXJhbXM6IElHZXRDb2RCeVBheW1lbnRQbGFuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2Qvc3R1bmRlbnQvcGF5bWVudHMvYnkvY29kZS91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIFVwZGF0ZUFtb3VudENvZFBheW1lbnRzKHBhcmFtczogSVVwZGF0ZUFtb3VudENvZFBheW1lbnRzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NoYW5nZS9hbW91bnQvY29kL3BheW1lbnRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIFVwZGF0ZURhdGVDb2RQYXltZW50cyhwYXJhbXM6IElQYXJhbXNVcGRhdGVEYXRlQ29kUGF5bWVudHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2hhbmdlL2RhdGUvcGF5bWVudC9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudFJlY2VpcHRCeUNvZGUgKGNvZGVSZWNlaXB0OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvb2J0YWluL3BheW1lbnQvcmVjZWlwdC9ieS9jb2RlLycgKyBjb2RlUmVjZWlwdDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBheW1lbnRzRm9yU3R1ZGVudENvZGUgKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvb2J0YWluL3BheW1lbnRzL2Zvci9zdHVkZW50L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluU3R1ZGVudFBheW1lbnRzQnlHcm91cGluZ0NvZCAoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9zdHVkZW50L3BheW1lbnRzL2J5L2dyb3VwaW5nL2NvZC8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5SZWNlaXB0QnlDb2RlIChjb2RlUmVjZWlwdDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3JlY2VpcHQvYnkvY29kZS8nICsgY29kZVJlY2VpcHQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50c0ZvclJlY2VpcHRDb2RlIChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L29idGFpbi9wYXltZW50cy9mb3IvcmVjZWlwdC9jb2RlLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNhbmVsU3R1ZGVudFJlY2VpcHQocGFyYW1zOiBJQ2FuY2VsU3R1ZGVudFJlY2VpcHRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2FuY2VsL3N0dWRlbnQvcmVjZWlwdCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDYW5jZWxsZWRSZWNlaXB0c0J5RGF0ZShwYXJhbXM6IElDYW5jZWxsZWRSZWNlaXB0QnlEYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NhbmNlbGxlZC9yZWNlaXB0cy9ieS9kYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBheW1lbnRyZWNlaXZlZEJ5VXNlcihwYXJhbXM6IElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9wYXltZW50cy9yZWNlaXZlZC9ieS91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFRvdGFsQ2FzaFJlY2VpcHRzQnlEYXRlQW5kVXNlcihwYXJhbXM6IElQYXltZW50c1JlY2VpdmVkQnlVc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RvdGFsL2Nhc2gvcmVjZWlwdHMvYnkvZGF0ZS9hbmQvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VzQnlDb29yZEFuZERpZmZQYXJhbShwYXJhbXM6IElPYnRhaW5Db3Vyc2VCeUNvb2REaWZmUGFyYW1ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9jb3Vyc2Uvd2FsbGV0L2J5L2Nvb3JkaW5hdG9yL2RpZmZldGVudC9wYXJhbSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBbGxDb21tb25FeHBlbnNlcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY29tbW9uL2V4cGVuc2VzL2FsbCc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgY3JlYXRlQ29tbW1vbkV4cGVuc2VzKHBhcmFtOiBOYW1lQ29tbW9uRXhwZW5zZXMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvbW1vbi9leHBlbnNlcy9jcmVhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgb2J0YWluQ29kQW5kU3RhdHVzQXBwcm92ZWRMZXZlbEJ5R3JvdXAocGFyYW06IE5hbWVDb21tb25FeHBlbnNlcyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9zdHVkZW50L3N0YXR1cy9hcHByb3ZlZC9ieS9ncm91cCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblN0dWRlbnRQYXltZW50VHJhbnNhY3Rpb25IaXN0b3J5QnlDb3Vyc2UocGFyYW06IElPYnRhaW5QYXltZW50VHJhbkhpc3RvcnlScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9zdHVkZW50L3BheW1lbnQvdHJhbnNhY3Rpb24vaGlzdG9yeS9ieS9jb3Vyc2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50VHJhbnNhY3Rpb25IaXN0b3J5QnlDb2QocGFyYW06IElPYnRhaW5QYXltZW50VHJhbkhpc3RvcnlScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9wYXltZW50L3RyYW5zYWN0aW9uL2hpc3RvcnkvYnkvY29kJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluU3R1ZGVudFBheW1lbnRCeURpZmZlcmVudFBhcmFtZXRlcihwYXJhbTogSU9idGFpblN0dWRlbnRQYXltZW50QnlEaWZmUGFyYW1ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9zdHVkZW50L3BheW1lbnQvYnkvZGlmZmVyZW50L3BhcmFtZXRlcnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxufVxuIl19
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVkZ2V0LXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9idWRnZXQtc2VydmljZS9idWRnZXQtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFLM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFJbEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsYUFBYSxDQUFDO1FBSWxDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFzQjtRQUNuQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDJCQUEyQixDQUFDO1FBQ2hFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELGNBQWMsQ0FBQyxNQUFrQjtRQUMvQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDZCQUE2QixDQUFDO1FBQ2xFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELGNBQWMsQ0FBQyxN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Q0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQXFCO1FBQ3RDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsNENBQTRDLENBQUM7UUFDakYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDOzswR0E3VFUsYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0ZGlzY291bnRBbGxScSwgRGlzY291bnRScSwgRGlzY291bnRVcGRhdGVScSwgSU9idGFpbkFsbENvdXJzZXdhbGxldCwgSUFzc2lnblJlcXVlc3RScSwgSU9idGFpbkF2YWlsYWJsZUNvdXJzZVJzLCBJR2V0Q29kQnlQYXltZW50UGxhblJxLCBJVXBkYXRlQW1vdW50Q29kUGF5bWVudHNScSwgSVBhcmFtc1VwZGF0ZURhdGVDb2RQYXltZW50c1JxLCBJQ2FuY2VsU3R1ZGVudFJlY2VpcHRScSwgSUNhbmNlbGxlZFJlY2VpcHRCeURhdGVScSwgSVBheW1lbnRzUmVjZWl2ZWRCeVVzZXJScSwgSU9idGFpbkNvdXJzZUJ5Q29vZERpZmZQYXJhbVJxLCBOYW1lQ29tbW9uRXhwZW5zZXMsIElPYnRhaW5QYXltZW50VHJhbkhpc3RvcnlScSwgSU9idGFpblN0dWRlbnRQYXltZW50QnlEaWZmUGFyYW1ScSwgUGF5bWVudEJpbGxFZ3Jlc3MsIENhc2hDbG9zaW5nLCBJbmZvQ2FzaENsb3NpbmcsIENhc2hDbG9zaW5nRGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9idWRnZXQvYnVkZ2V0Lm1vZGVsJztcbmltcG9ydCB7IElGdWxsQ29kU3R1ZGVudE92ZXJkdWVCeUNvb3JkaW5hdG9yUnEsIElQYXltZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JDb3Vyc2VScSwgSVBheW1lbnRPdmVyZHVlQnlDb29yZGluYXRvclJxLCBQYXltZW50QmlsbFJxLCBQYXltZW50QmlsbFJxMiwgUHJpY2VCeVR5cGVTZXJ2aWNlUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvcGF5bWVudC9wYXltZW50LXJxLm1vZGVsJztcbmltcG9ydCB7IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JlcG9ydHMvcmVwb3J0cy5tb2RlbCc7XG5pbXBvcnQgeyBJUFRHZW5lcmFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UtZW52aXJvbWVudHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCdWRnZXRTZXJ2aWNlIGV4dGVuZHMgSVBUR2VuZXJhbFNlcnZpY2V7XG5cbiAgcHJpdmF0ZSBTRVJWSUNFX1VSTCA9ICdidWRnZXQvYXBpLyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLlNFUlZJQ0VfVVJMID0gdGhpcy5iYXNlVXJsKCkgKyB0aGlzLlNFUlZJQ0VfVVJMO1xuICB9XG5cbiAgZ2V0QWxsRGlzY291bnQodXNlcjogZ2V0ZGlzY291bnRBbGxScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvZGlzY291bnRzL2NvdXBvbi9hbGwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHVzZXIpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGNyZWF0ZURpc2NvdW50KHBhcmFtczogRGlzY291bnRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvZGlzY291bnQvY291cG9uL2NyZWF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgdXBkYXRlRGlzY291bnQocGFyYW1zOiBEaXNjb3VudFVwZGF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kaXNjb3VudC9jb3Vwb24vdXBkYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFBheW1lbnRTdHVkZW50c0J5Q29kZShjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3BheW1lbnQvY29kL3N0dWRlbnQvYnkvY29kZS8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRQYXltZW50V2FsbGV0QnlDYW1wdXMoY29kZUNhbXB1czogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3BheW1lbnQvd2FsbGV0L2J5L2NhbXB1cy8nICsgY29kZUNhbXB1cztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIHBheW1lbnRCaWxsRHVlcyhwYXJhbXM6IFBheW1lbnRCaWxsUnEyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvcmVnaXN0ZXIvZHVlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwYXltZW50QmlsbFNlcnZpY2VzKHBhcmFtczogUGF5bWVudEJpbGxScTIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9yZWdpc3Rlci9zZXJ2aWNlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRQYXltZW50QmlsbEFsbCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC9iaWxsL2NhbmNlbGVkL2FsbCc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRQYXltZW50QmlsbEJ5Q29kZShjb2RlUGF5bWVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAgJ2dldC9wYXltZW50L2JpbGwvY2FuY2VsZWQvYnkvY29kZS8nICsgY29kZVBheW1lbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRQYXltZW50QmlsbEJ5U3R1ZGVudChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAgJ2dldC9wYXltZW50L2JpbGwvY2FuY2VsZWQvYnkvc3R1ZGVudC8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRQcmljZUJ5VHlwZVNlcnZpY2UocGFyYW1zOiBQcmljZUJ5VHlwZVNlcnZpY2VScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3ByaWNlL2J5L3R5cGUvc2VydmljZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VzQnlDb29yZGluYXRvcihwYXJhbXM6IElPYnRhaW5BbGxDb3Vyc2V3YWxsZXQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvdXJzZS93YWxsZXQvdXNlci9ieS9jb29yZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRXYWxsZXRCeUNvZGVVc2VyIChjb2RlVXNlcjogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3dhbGxldC9ieS9jb2RlL3VzZXIvJyArIGNvZGVVc2VyO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldHBheW1lbnRCaWxsQnlXYWxsZXRDb2RlIChjb2RlV2FsbGV0OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvb2J0YWluL3BheW1lbnQvYmlsbC9ieS93YWxsZXRzL2J5LycgKyBjb2RlV2FsbGV0O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldHBheW1lbnRCaWxsSW5jb21lIChjb2RlV2FsbGV0OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC9iaWxsL3dhbGxldHMvY29kZS9maWx0ZXIvaW5jb21lLycgKyBjb2RlV2FsbGV0O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldHBheW1lbnRCaWxsRWdyZXNzIChjb2RlV2FsbGV0OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcGF5bWVudC9iaWxsL3dhbGxldHMvY29kZS9maWx0ZXIvZWdyZXNzLycgKyBjb2RlV2FsbGV0O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0UGF5bWVudE92ZXJkdWVTdHVkZW50KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgICdnZXQvcGF5bWVudC9vdmVyZHVlL2FsbC9zdHVkZW50JztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldERheVBheW1lbnRPdmVyZHVlU3R1ZGVudChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2RheS9wYXltZW50L292ZXJkdWUvc3R1ZGVudC9ieS9jb2RlLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldFBheW1lbnRPdmVyZHVlQ291cnNlQnlDb29yZGluYXRvcihwYXJhbXM6IElQYXltZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9vdmVyZHVlL2NvdXJzZS9ieS9jb29yZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRQYXltZW50T3ZlcmR1ZVN0dWRlbnRCeUNvb3JkaW5hdG9yKHBhcmFtczogSVBheW1lbnRPdmVyZHVlQnlDb29yZGluYXRvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L292ZXJkdWUvc3R1ZGVudC9ieS9jb29kaW5hdG9yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFBheW1lbnRPdmVyZHVlU3R1ZGVudEJ5Q29vcmRpbmF0b3JBbmRDb3Vyc2VDb2RlKHBhcmFtczogSVBheW1lbnRPdmVyZHVlQnlDb29yZGluYXRvckNvdXJzZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L292ZXJkdWUvc3R1ZGVudC9ieS9jb29kaW5hdG9yY291cnNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldE9idGFpbkNvZFN0dWRlbnRCeUNvb3JkaW5hdG9yKHBhcmFtczogSUZ1bGxDb2RTdHVkZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9zdHVuZGVudC9ieS9jb29yZGluYXRvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZChwYXJhbXM6IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY291cnNlL2J5L3VzZXIvYnVkZ2V0JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIC8vIEFzc2luZ0NvdXJzZShwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gIC8vICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY291cnNlL2J5L2NvZGUvdXNlci9idWRnZXQvYXNzaWduJztcbiAgLy8gICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAvLyAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgLy8gfVxuICBBc3NpbmdDb3Vyc2UocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vY291cnNlL2Fzc2lnbi9kZXRhaWwvYnkvYWR2aXNlci9idWRnZXQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgQXNzaW5nQ291cnNlcyhwYXJhbXM6IElBc3NpZ25SZXF1ZXN0UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvdXJzZS9ieS91c2VyL2J1ZGdldC9hc3NpZ24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWxsQXZhaWxhYmxlQ291cnNlc0J5U3R1ZGVudChwYXJhbXM6IElPYnRhaW5BdmFpbGFibGVDb3Vyc2VScyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2FsbC9hdmFpbGFibGUvY291cnNlcy9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbk9ic2VydmF0aW9uQnlDb2RTdHVkZW50KHBhcmFtczogSUZ1bGxDb2RTdHVkZW50T3ZlcmR1ZUJ5Q29vcmRpbmF0b3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL29ic2VydmFyaW9uL2J5L2NvZC9zdHVkZXQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgYWRtaW5TdHVkZW50QnlDb29yZGluYXRvcihwYXJhbXM6IElGdWxsQ29kU3R1ZGVudE92ZXJkdWVCeUNvb3JkaW5hdG9yUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2FkbWluL3N0dWRlbnQvYnkvY29vcmRpbmF0b3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kYnlQYXltZW50UGxhblJxKHBhcmFtczogSUdldENvZEJ5UGF5bWVudFBsYW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9zdHVuZGVudC9wYXltZW50cy9ieS9jb2RlL3VzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgVXBkYXRlQW1vdW50Q29kUGF5bWVudHMocGFyYW1zOiBJVXBkYXRlQW1vdW50Q29kUGF5bWVudHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2hhbmdlL2Ftb3VudC9jb2QvcGF5bWVudHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgVXBkYXRlRGF0ZUNvZFBheW1lbnRzKHBhcmFtczogSVBhcmFtc1VwZGF0ZURhdGVDb2RQYXltZW50c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jaGFuZ2UvZGF0ZS9wYXltZW50L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QYXltZW50UmVjZWlwdEJ5Q29kZSAoY29kZVJlY2VpcHQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9vYnRhaW4vcGF5bWVudC9yZWNlaXB0L2J5L2NvZGUvJyArIGNvZGVSZWNlaXB0O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudHNGb3JTdHVkZW50Q29kZSAoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9vYnRhaW4vcGF5bWVudHMvZm9yL3N0dWRlbnQvY29kZS8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5TdHVkZW50UGF5bWVudHNCeUdyb3VwaW5nQ29kIChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3N0dWRlbnQvcGF5bWVudHMvYnkvZ3JvdXBpbmcvY29kLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblJlY2VpcHRCeUNvZGUgKGNvZGVSZWNlaXB0OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcmVjZWlwdC9ieS9jb2RlLycgKyBjb2RlUmVjZWlwdDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBheW1lbnRzRm9yUmVjZWlwdENvZGUgKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvb2J0YWluL3BheW1lbnRzL2Zvci9yZWNlaXB0L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY2FuZWxTdHVkZW50UmVjZWlwdChwYXJhbXM6IElDYW5jZWxTdHVkZW50UmVjZWlwdFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jYW5jZWwvc3R1ZGVudC9yZWNlaXB0JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENhbmNlbGxlZFJlY2VpcHRzQnlEYXRlKHBhcmFtczogSUNhbmNlbGxlZFJlY2VpcHRCeURhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2FuY2VsbGVkL3JlY2VpcHRzL2J5L2RhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluUGF5bWVudHJlY2VpdmVkQnlVc2VyKHBhcmFtczogSVBheW1lbnRzUmVjZWl2ZWRCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3BheW1lbnRzL3JlY2VpdmVkL2J5L3VzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0VG90YWxDYXNoUmVjZWlwdHNCeURhdGVBbmRVc2VyKHBhcmFtczogSVBheW1lbnRzUmVjZWl2ZWRCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdG90YWwvY2FzaC9yZWNlaXB0cy9ieS9kYXRlL2FuZC91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZXNCeUNvb3JkQW5kRGlmZlBhcmFtKHBhcmFtczogSU9idGFpbkNvdXJzZUJ5Q29vZERpZmZQYXJhbVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvdXJzZS93YWxsZXQvYnkvY29vcmRpbmF0b3IvZGlmZmV0ZW50L3BhcmFtJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvbW1vbkV4cGVuc2VzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb21tb24vZXhwZW5zZXMvYWxsJztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuICBjcmVhdGVDb21tbW9uRXhwZW5zZXMocGFyYW06IE5hbWVDb21tb25FeHBlbnNlcyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29tbW9uL2V4cGVuc2VzL2NyZWF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBvYnRhaW5Db2RBbmRTdGF0dXNBcHByb3ZlZExldmVsQnlHcm91cChwYXJhbTogTmFtZUNvbW1vbkV4cGVuc2VzKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3N0dWRlbnQvc3RhdHVzL2FwcHJvdmVkL2J5L2dyb3VwJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluU3R1ZGVudFBheW1lbnRUcmFuc2FjdGlvbkhpc3RvcnlCeUNvdXJzZShwYXJhbTogSU9idGFpblBheW1lbnRUcmFuSGlzdG9yeVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3N0dWRlbnQvcGF5bWVudC90cmFuc2FjdGlvbi9oaXN0b3J5L2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblBheW1lbnRUcmFuc2FjdGlvbkhpc3RvcnlCeUNvZChwYXJhbTogSU9idGFpblBheW1lbnRUcmFuSGlzdG9yeVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3BheW1lbnQvdHJhbnNhY3Rpb24vaGlzdG9yeS9ieS9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5TdHVkZW50UGF5bWVudEJ5RGlmZmVyZW50UGFyYW1ldGVyKHBhcmFtOiBJT2J0YWluU3R1ZGVudFBheW1lbnRCeURpZmZQYXJhbVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3N0dWRlbnQvcGF5bWVudC9ieS9kaWZmZXJlbnQvcGFyYW1ldGVycyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZUVncmVzcyhwYXJhbTogUGF5bWVudEJpbGxFZ3Jlc3MpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcGF5bWVudC9iaWxsL3JlZ2lzdGVyL2VncmVzcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRDYXRlZ29yeSgpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC90eXBlL3N1cHBsaWVyL2FsbCc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgY3JlYXRlQ2FzaENsb3NpbmcocGFyYW06IENhc2hDbG9zaW5nKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9jbG9zZS9jYXNoJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgc2VhcmNoQ29tbW9uRXhwZW5zZXMobmFtZTpzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsnZ2V0L3NlYXJjaC9jb21tb24vZXhwZW5zZXMvJyArIG5hbWU7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgZ2V0VXNlcnNDYXNoQ2xvc2luZygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9jbG9zZS9jYXNoL2J5L3VzZXInO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0Q2FzaENsb3NpbmdEYXkoY29kZTpudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArJ3Bvc3QvcGF5bWVudC9iaWxsL2Nsb3NlL2Nhc2gvYnkvZGF5L2NvZGV1c2VyLycgKyBjb2RlO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG4gIGdldENhc2hDbG9zaW5nTW9udGgoY29kZTpudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCsgJ3Bvc3QvcGF5bWVudC9iaWxsL2Nsb3NlL2Nhc2gvYnkvbW9udGgvY29kZXVzZXIvJyArIGNvZGU7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgZ2V0Q2FzaENsb3NpbmdZZWFyKGNvZGU6bnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wYXltZW50L2JpbGwvY2xvc2UvY2FzaC9ieS95ZWFyL2NvZGV1c2VyLycgKyBjb2RlO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG4gIGdldEluZm9DYXNoQ2xvc2luZ0J5Q29kZShwYXJhbTpJbmZvQ2FzaENsb3NpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9jbG9zZS9jYXNoL2J5L2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDYXNoQ2xvc2luZ0RhdGUocGFyYW06Q2FzaENsb3NpbmdEYXRlKTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3BheW1lbnQvYmlsbC9jbG9zZS9jYXNoL2J5L2RhdGUvcmFuZ2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
@@ -6036,6 +6036,50 @@ class BudgetService extends IPTGeneralService {
6036
6036
  this.generateRequestParams(param);
6037
6037
  return this.http.post(serviceUrl, this.httpOptions);
6038
6038
  }
6039
+ createEgress(param) {
6040
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/register/egress';
6041
+ this.generateRequestParams(param);
6042
+ return this.http.post(serviceUrl, this.httpOptions);
6043
+ }
6044
+ getCategory() {
6045
+ let serviceUrl = this.SERVICE_URL + 'get/type/supplier/all';
6046
+ return this.http.get(serviceUrl);
6047
+ }
6048
+ createCashClosing(param) {
6049
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash';
6050
+ this.generateRequestParams(param);
6051
+ return this.http.post(serviceUrl, this.httpOptions);
6052
+ }
6053
+ searchCommonExpenses(name) {
6054
+ let serviceUrl = this.SERVICE_URL + 'get/search/common/expenses/' + name;
6055
+ return this.http.get(serviceUrl);
6056
+ }
6057
+ getUsersCashClosing() {
6058
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash/by/user';
6059
+ return this.http.get(serviceUrl);
6060
+ }
6061
+ getCashClosingDay(code) {
6062
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash/by/day/codeuser/' + code;
6063
+ return this.http.get(serviceUrl);
6064
+ }
6065
+ getCashClosingMonth(code) {
6066
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash/by/month/codeuser/' + code;
6067
+ return this.http.get(serviceUrl);
6068
+ }
6069
+ getCashClosingYear(code) {
6070
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash/by/year/codeuser/' + code;
6071
+ return this.http.get(serviceUrl);
6072
+ }
6073
+ getInfoCashClosingByCode(param) {
6074
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash/by/code';
6075
+ this.generateRequestParams(param);
6076
+ return this.http.post(serviceUrl, this.httpOptions);
6077
+ }
6078
+ getCashClosingDate(param) {
6079
+ let serviceUrl = this.SERVICE_URL + 'post/payment/bill/close/cash/by/date/range';
6080
+ this.generateRequestParams(param);
6081
+ return this.http.post(serviceUrl, this.httpOptions);
6082
+ }
6039
6083
  }
6040
6084
  BudgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BudgetService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
6041
6085
  BudgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BudgetService, providedIn: 'root' });
@@ -7369,10 +7413,10 @@ class CodSelfFormStepThreeComponent extends CodSelfManagedSteps {
7369
7413
  }
7370
7414
  }
7371
7415
  CodSelfFormStepThreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepThreeComponent, deps: [{ token: i1$1.FormBuilder }, { token: i2$1.MessageService }, { token: CommercialService }, { token: BaseService }, { token: CodSelfManagedControls }, { token: CalculateQuotesService }], target: i0.ɵɵFactoryTarget.Component });
7372
- CodSelfFormStepThreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepThreeComponent, selector: "app-cod-self-form-step-three", outputs: { completed: "completed", financingData: "financingData" }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Pagos</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto mb-4\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepThree\" class=\"grid mt-2 flex flex-column align-items-center\">\n\n <div class=\"container_selects col-12\">\n <ipt-select\n [initialValue]=\"codSelfFormStepThree.controls['payment_method'].value\"\n [control]=\"codSelfFormStepThree.controls['payment_method']\"\n (eventSelect)=\"selectPaymentMethod($event)\"\n [data]=\"paymentMethods\"\n [defaultText]=\"'M\u00E9todo de pago'\"\n ></ipt-select>\n <ipt-loader *ngIf=\"feeResponse\"></ipt-loader>\n\n <div class=\"col-12\" *ngIf=\"thereArePlans\">\n <p-table\n [value]=\"dataPrices\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n Seleccion de niveles a cancelar\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cancelar</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cuotas</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data let-rowIndex=\"rowIndex\">\n <tr [class.selected-row]=\"selectedRow === rowIndex\" (click)=\"selectLevels(data,rowIndex)\">\n <td class=\"pt-2 pb-2\">{{ data.paid_level }} Nivel(es)</td>\n <td class=\"pt-2 pb-2\">{{ data.fee_number }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Monto total de la matr\u00EDcula'\"\n [control]=\"codSelfFormStepThree.controls['total_price']\"\n [withPipe]=\"true\"\n ></ipt-input>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [withPipe]=\"true\"\n [inputType]=\"'text'\"\n [control]=\"codSelfFormStepThree.controls['program_price']\"\n [placeHolder]=\"'Valor total del programa'\"\n ></ipt-input>\n </div>\n\n <div class=\"flex justify-content-center flex-wrap m-2\">\n <button *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && !isFinancing\" [disabled]=\"isFinancing || codSelfFormStepThree.controls['payment_method'].value !== '1'\"type=\"submit\" class=\"ml-auto p-button-sm p-button-secondary\" (click)=\"showTable()\" pButton label=\"Calcular cuotas\" icon=\"pi pi-sliders-h\"></button>\n <div *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && isFinancing\" class=\"flex align-items-center\">\n <button pButton class=\"p-button-sm ml-auto\" label=\"Nuevo c\u00E1lculo\" (click)=\"calculateNewQuotes()\" lab icon=\"pi pi-replay\"></button>\n </div>\n <!-- <button [disabled]=\"!isFinancing && codSelfFormStepThree.controls['payment_method'].value === '1'\" type=\"submit\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button> -->\n </div>\n\n <!-- Tabla de financiaci\u00F3n -->\n <div class=\"col-12\" *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && isFinancing\">\n <!-- <span>NOTA: Deber\u00E1 pagar la matr\u00EDcula y la primera cuota para completar el proceso de inscripci\u00F3n.</span> -->\n <div class=\"m-1 p-2 border-round bg-blue-500 text-white\">\n <span><strong>NOTA:</strong> Deber\u00E1 pagar la matr\u00EDcula y la primera cuota <strong>(total: {{ totalInitialPayment | currency:'USD':'symbol' }})</strong> para completar el proceso de inscripci\u00F3n.</span><br>\n <span>Recuerda que las fechas cambian de acuerdo a la fecha que comienza el plan</span>\n </div>\n <p-table\n [value]=\"dataFinancing\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n C\u00E1lculo de cuotas\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">#</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Valor</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Fecha</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data>\n <tr>\n <td class=\"p-0 text-center text-sm\">{{ data[0] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[1] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[2] }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n\n <!-- ---------------------- -->\n\n </form>\n </div>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n [disabled]=\"!isFinancing && codSelfFormStepThree.controls['payment_method'].value === '1'\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n</div>\n\n\n\n\n<div>\n <pre>{{ codSelfFormStepThree.value | json }}</pre>\n <div>\n <pre>{{ codSelfFormStepThree.valid | json }}</pre>\n </div>\n</div>\n", styles: [".error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}:host ::ng-deep .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-highlight):hover{color:#1c77f7!important}.selected-row{background-color:#bfdbfe!important;color:#1c77f7!important}tr{cursor:pointer}td,.header-reports-advisers{font-family:Poppins,sans-serif}:host ::ng-deep .p-datatable .p-datatable-header{background:#f8f9fa;color:#f8f9fa;border:none;padding:1rem;font-weight:700;background-color:#1c77f7;border-radius:10px 10px 0 0}:host ::ng-deep .p-datatable{position:relative;border-radius:10px;border:1px solid #1c77f7}:host ::ng-deep .p-datatable>.p-datatable-wrapper{border-radius:0 0 10px 10px}.container_selects{width:15rem}.p-datatable .p-datatable-tbody>tr>td{padding:.1rem .5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i7$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i9.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i13.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "pipe", type: i1.JsonPipe, name: "json" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }] });
7416
+ CodSelfFormStepThreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepThreeComponent, selector: "app-cod-self-form-step-three", outputs: { completed: "completed", financingData: "financingData" }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Pagos</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto mb-4\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepThree\" class=\"grid mt-2 flex flex-column align-items-center\">\n\n <div class=\"container_selects col-12\">\n <ipt-select\n [initialValue]=\"codSelfFormStepThree.controls['payment_method'].value\"\n [control]=\"codSelfFormStepThree.controls['payment_method']\"\n (eventSelect)=\"selectPaymentMethod($event)\"\n [data]=\"paymentMethods\"\n [defaultText]=\"'M\u00E9todo de pago'\"\n ></ipt-select>\n <ipt-loader *ngIf=\"feeResponse\"></ipt-loader>\n\n <div class=\"col-12\" *ngIf=\"thereArePlans\">\n <p-table\n [value]=\"dataPrices\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n Seleccion de niveles a cancelar\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cancelar</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cuotas</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data let-rowIndex=\"rowIndex\">\n <tr [class.selected-row]=\"selectedRow === rowIndex\" (click)=\"selectLevels(data,rowIndex)\">\n <td class=\"pt-2 pb-2\">{{ data.paid_level }} Nivel(es)</td>\n <td class=\"pt-2 pb-2\">{{ data.fee_number }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Monto total de la matr\u00EDcula'\"\n [control]=\"codSelfFormStepThree.controls['total_price']\"\n [withPipe]=\"true\"\n ></ipt-input>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [withPipe]=\"true\"\n [inputType]=\"'text'\"\n [control]=\"codSelfFormStepThree.controls['program_price']\"\n [placeHolder]=\"'Valor total del programa'\"\n ></ipt-input>\n </div>\n\n <div class=\"flex justify-content-center flex-wrap m-2\">\n <button *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && !isFinancing\" [disabled]=\"isFinancing || codSelfFormStepThree.controls['payment_method'].value !== '1'\"type=\"submit\" class=\"ml-auto p-button-sm p-button-secondary\" (click)=\"showTable()\" pButton label=\"Calcular cuotas\" icon=\"pi pi-sliders-h\"></button>\n <div *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && isFinancing\" class=\"flex align-items-center\">\n <button pButton class=\"p-button-sm ml-auto\" label=\"Nuevo c\u00E1lculo\" (click)=\"calculateNewQuotes()\" lab icon=\"pi pi-replay\"></button>\n </div>\n <!-- <button [disabled]=\"!isFinancing && codSelfFormStepThree.controls['payment_method'].value === '1'\" type=\"submit\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button> -->\n </div>\n\n <!-- Tabla de financiaci\u00F3n -->\n <div class=\"col-12\" *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && isFinancing\">\n <!-- <span>NOTA: Deber\u00E1 pagar la matr\u00EDcula y la primera cuota para completar el proceso de inscripci\u00F3n.</span> -->\n <div class=\"p-left m-1 p-2 border-round bg-blue-500 text-white\">\n <i class=\"pi-info-circle cursor-pointer w-auto mb-4\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <span><strong>NOTA:</strong> Deber\u00E1 pagar la matr\u00EDcula y la primera cuota <strong>(total: {{ totalInitialPayment | currency:'USD':'symbol' }})</strong> para completar el proceso de inscripci\u00F3n.</span><br>\n <span>Recuerda que las fechas cambian de acuerdo a la fecha que comienza el plan</span>\n </div>\n <p-table\n [value]=\"dataFinancing\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n C\u00E1lculo de cuotas\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">#</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Valor</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Fecha</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data>\n <tr>\n <td class=\"p-0 text-center text-sm\">{{ data[0] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[1] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[2] }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n\n <!-- ---------------------- -->\n\n </form>\n </div>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n [disabled]=\"!isFinancing && codSelfFormStepThree.controls['payment_method'].value === '1'\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n</div>\n\n\n\n\n<div>\n <pre>{{ codSelfFormStepThree.value | json }}</pre>\n <div>\n <pre>{{ codSelfFormStepThree.valid | json }}</pre>\n </div>\n</div>\n", styles: [".error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}:host ::ng-deep .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-highlight):hover{color:#1c77f7!important}.selected-row{background-color:#bfdbfe!important;color:#1c77f7!important}tr{cursor:pointer}td,.header-reports-advisers{font-family:Poppins,sans-serif}:host ::ng-deep .p-datatable .p-datatable-header{background:#f8f9fa;color:#f8f9fa;border:none;padding:1rem;font-weight:700;background-color:#1c77f7;border-radius:10px 10px 0 0}:host ::ng-deep .p-datatable{position:relative;border-radius:10px;border:1px solid #1c77f7}:host ::ng-deep .p-datatable>.p-datatable-wrapper{border-radius:0 0 10px 10px}.container_selects{width:15rem}.p-datatable .p-datatable-tbody>tr>td{padding:.1rem .5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: LoaderComponent, selector: "ipt-loader", inputs: ["message", "isDialog"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i7$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i9.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i13.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "virtualRowHeight", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "pipe", type: i1.JsonPipe, name: "json" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }] });
7373
7417
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepThreeComponent, decorators: [{
7374
7418
  type: Component,
7375
- args: [{ selector: 'app-cod-self-form-step-three', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Pagos</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto mb-4\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepThree\" class=\"grid mt-2 flex flex-column align-items-center\">\n\n <div class=\"container_selects col-12\">\n <ipt-select\n [initialValue]=\"codSelfFormStepThree.controls['payment_method'].value\"\n [control]=\"codSelfFormStepThree.controls['payment_method']\"\n (eventSelect)=\"selectPaymentMethod($event)\"\n [data]=\"paymentMethods\"\n [defaultText]=\"'M\u00E9todo de pago'\"\n ></ipt-select>\n <ipt-loader *ngIf=\"feeResponse\"></ipt-loader>\n\n <div class=\"col-12\" *ngIf=\"thereArePlans\">\n <p-table\n [value]=\"dataPrices\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n Seleccion de niveles a cancelar\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cancelar</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cuotas</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data let-rowIndex=\"rowIndex\">\n <tr [class.selected-row]=\"selectedRow === rowIndex\" (click)=\"selectLevels(data,rowIndex)\">\n <td class=\"pt-2 pb-2\">{{ data.paid_level }} Nivel(es)</td>\n <td class=\"pt-2 pb-2\">{{ data.fee_number }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Monto total de la matr\u00EDcula'\"\n [control]=\"codSelfFormStepThree.controls['total_price']\"\n [withPipe]=\"true\"\n ></ipt-input>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [withPipe]=\"true\"\n [inputType]=\"'text'\"\n [control]=\"codSelfFormStepThree.controls['program_price']\"\n [placeHolder]=\"'Valor total del programa'\"\n ></ipt-input>\n </div>\n\n <div class=\"flex justify-content-center flex-wrap m-2\">\n <button *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && !isFinancing\" [disabled]=\"isFinancing || codSelfFormStepThree.controls['payment_method'].value !== '1'\"type=\"submit\" class=\"ml-auto p-button-sm p-button-secondary\" (click)=\"showTable()\" pButton label=\"Calcular cuotas\" icon=\"pi pi-sliders-h\"></button>\n <div *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && isFinancing\" class=\"flex align-items-center\">\n <button pButton class=\"p-button-sm ml-auto\" label=\"Nuevo c\u00E1lculo\" (click)=\"calculateNewQuotes()\" lab icon=\"pi pi-replay\"></button>\n </div>\n <!-- <button [disabled]=\"!isFinancing && codSelfFormStepThree.controls['payment_method'].value === '1'\" type=\"submit\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button> -->\n </div>\n\n <!-- Tabla de financiaci\u00F3n -->\n <div class=\"col-12\" *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && isFinancing\">\n <!-- <span>NOTA: Deber\u00E1 pagar la matr\u00EDcula y la primera cuota para completar el proceso de inscripci\u00F3n.</span> -->\n <div class=\"m-1 p-2 border-round bg-blue-500 text-white\">\n <span><strong>NOTA:</strong> Deber\u00E1 pagar la matr\u00EDcula y la primera cuota <strong>(total: {{ totalInitialPayment | currency:'USD':'symbol' }})</strong> para completar el proceso de inscripci\u00F3n.</span><br>\n <span>Recuerda que las fechas cambian de acuerdo a la fecha que comienza el plan</span>\n </div>\n <p-table\n [value]=\"dataFinancing\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n C\u00E1lculo de cuotas\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">#</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Valor</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Fecha</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data>\n <tr>\n <td class=\"p-0 text-center text-sm\">{{ data[0] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[1] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[2] }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n\n <!-- ---------------------- -->\n\n </form>\n </div>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n [disabled]=\"!isFinancing && codSelfFormStepThree.controls['payment_method'].value === '1'\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n</div>\n\n\n\n\n<div>\n <pre>{{ codSelfFormStepThree.value | json }}</pre>\n <div>\n <pre>{{ codSelfFormStepThree.valid | json }}</pre>\n </div>\n</div>\n", styles: [".error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}:host ::ng-deep .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-highlight):hover{color:#1c77f7!important}.selected-row{background-color:#bfdbfe!important;color:#1c77f7!important}tr{cursor:pointer}td,.header-reports-advisers{font-family:Poppins,sans-serif}:host ::ng-deep .p-datatable .p-datatable-header{background:#f8f9fa;color:#f8f9fa;border:none;padding:1rem;font-weight:700;background-color:#1c77f7;border-radius:10px 10px 0 0}:host ::ng-deep .p-datatable{position:relative;border-radius:10px;border:1px solid #1c77f7}:host ::ng-deep .p-datatable>.p-datatable-wrapper{border-radius:0 0 10px 10px}.container_selects{width:15rem}.p-datatable .p-datatable-tbody>tr>td{padding:.1rem .5rem}\n"] }]
7419
+ args: [{ selector: 'app-cod-self-form-step-three', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Pagos</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto mb-4\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepThree\" class=\"grid mt-2 flex flex-column align-items-center\">\n\n <div class=\"container_selects col-12\">\n <ipt-select\n [initialValue]=\"codSelfFormStepThree.controls['payment_method'].value\"\n [control]=\"codSelfFormStepThree.controls['payment_method']\"\n (eventSelect)=\"selectPaymentMethod($event)\"\n [data]=\"paymentMethods\"\n [defaultText]=\"'M\u00E9todo de pago'\"\n ></ipt-select>\n <ipt-loader *ngIf=\"feeResponse\"></ipt-loader>\n\n <div class=\"col-12\" *ngIf=\"thereArePlans\">\n <p-table\n [value]=\"dataPrices\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n Seleccion de niveles a cancelar\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cancelar</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Cuotas</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data let-rowIndex=\"rowIndex\">\n <tr [class.selected-row]=\"selectedRow === rowIndex\" (click)=\"selectLevels(data,rowIndex)\">\n <td class=\"pt-2 pb-2\">{{ data.paid_level }} Nivel(es)</td>\n <td class=\"pt-2 pb-2\">{{ data.fee_number }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Monto total de la matr\u00EDcula'\"\n [control]=\"codSelfFormStepThree.controls['total_price']\"\n [withPipe]=\"true\"\n ></ipt-input>\n </div>\n\n <div class=\"container_selects col-12\">\n <ipt-input\n [withPipe]=\"true\"\n [inputType]=\"'text'\"\n [control]=\"codSelfFormStepThree.controls['program_price']\"\n [placeHolder]=\"'Valor total del programa'\"\n ></ipt-input>\n </div>\n\n <div class=\"flex justify-content-center flex-wrap m-2\">\n <button *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && !isFinancing\" [disabled]=\"isFinancing || codSelfFormStepThree.controls['payment_method'].value !== '1'\"type=\"submit\" class=\"ml-auto p-button-sm p-button-secondary\" (click)=\"showTable()\" pButton label=\"Calcular cuotas\" icon=\"pi pi-sliders-h\"></button>\n <div *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && isFinancing\" class=\"flex align-items-center\">\n <button pButton class=\"p-button-sm ml-auto\" label=\"Nuevo c\u00E1lculo\" (click)=\"calculateNewQuotes()\" lab icon=\"pi pi-replay\"></button>\n </div>\n <!-- <button [disabled]=\"!isFinancing && codSelfFormStepThree.controls['payment_method'].value === '1'\" type=\"submit\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button> -->\n </div>\n\n <!-- Tabla de financiaci\u00F3n -->\n <div class=\"col-12\" *ngIf=\"codSelfFormStepThree.controls['payment_method'].value === '1' && isFinancing\">\n <!-- <span>NOTA: Deber\u00E1 pagar la matr\u00EDcula y la primera cuota para completar el proceso de inscripci\u00F3n.</span> -->\n <div class=\"p-left m-1 p-2 border-round bg-blue-500 text-white\">\n <i class=\"pi-info-circle cursor-pointer w-auto mb-4\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <span><strong>NOTA:</strong> Deber\u00E1 pagar la matr\u00EDcula y la primera cuota <strong>(total: {{ totalInitialPayment | currency:'USD':'symbol' }})</strong> para completar el proceso de inscripci\u00F3n.</span><br>\n <span>Recuerda que las fechas cambian de acuerdo a la fecha que comienza el plan</span>\n </div>\n <p-table\n [value]=\"dataFinancing\"\n [tableStyle]=\"{'min-width': '100%'}\"\n [rowHover]=\"true\"\n >\n <ng-template pTemplate=\"caption\">\n <div class=\"flex align-items-center\">\n C\u00E1lculo de cuotas\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">#</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Valor</th>\n <th class=\"bg-blue-200 text-center font-medium pt-2 pb-2\">Fecha</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-data>\n <tr>\n <td class=\"p-0 text-center text-sm\">{{ data[0] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[1] }}</td>\n <td class=\"p-0 text-center text-sm\">{{ data[2] }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n\n <!-- ---------------------- -->\n\n </form>\n </div>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n [disabled]=\"!isFinancing && codSelfFormStepThree.controls['payment_method'].value === '1'\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n</div>\n\n\n\n\n<div>\n <pre>{{ codSelfFormStepThree.value | json }}</pre>\n <div>\n <pre>{{ codSelfFormStepThree.valid | json }}</pre>\n </div>\n</div>\n", styles: [".error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}:host ::ng-deep .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-highlight):hover{color:#1c77f7!important}.selected-row{background-color:#bfdbfe!important;color:#1c77f7!important}tr{cursor:pointer}td,.header-reports-advisers{font-family:Poppins,sans-serif}:host ::ng-deep .p-datatable .p-datatable-header{background:#f8f9fa;color:#f8f9fa;border:none;padding:1rem;font-weight:700;background-color:#1c77f7;border-radius:10px 10px 0 0}:host ::ng-deep .p-datatable{position:relative;border-radius:10px;border:1px solid #1c77f7}:host ::ng-deep .p-datatable>.p-datatable-wrapper{border-radius:0 0 10px 10px}.container_selects{width:15rem}.p-datatable .p-datatable-tbody>tr>td{padding:.1rem .5rem}\n"] }]
7376
7420
  }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }, { type: i2$1.MessageService }, { type: CommercialService }, { type: BaseService }, { type: CodSelfManagedControls }, { type: CalculateQuotesService }]; }, propDecorators: { completed: [{
7377
7421
  type: Output
7378
7422
  }], financingData: [{
@@ -7419,7 +7463,7 @@ class CodSelfFormStepFourComponent {
7419
7463
  this.visible = true;
7420
7464
  }
7421
7465
  }
7422
- selectOpcionsPlacementTest(eve) {
7466
+ selectOpcionsPayments(eve) {
7423
7467
  this.selectedOptionPayments = eve;
7424
7468
  console.log(this.selectedOptionPayments);
7425
7469
  if (this.selectedOptionPayments.length === 0) {
@@ -7429,12 +7473,14 @@ class CodSelfFormStepFourComponent {
7429
7473
  this.messageAlertPlacementTest = false;
7430
7474
  }
7431
7475
  }
7476
+ next() {
7477
+ }
7432
7478
  }
7433
7479
  CodSelfFormStepFourComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepFourComponent, deps: [{ token: i1$1.FormBuilder }, { token: i2$1.MessageService }], target: i0.ɵɵFactoryTarget.Component });
7434
- CodSelfFormStepFourComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepFourComponent, selector: "app-cod-self-form-step-four", outputs: { completed: "completed" }, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Datos de Facturacion</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto mb-4\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepFour\" class=\"grid mt-2 flex flex-column align-items-center\">\n </form>\n </div>\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <h3>\u00BFcomo quieres pagar?</h3>\n <div class=\"flex flex-column gap-3\">\n <div *ngFor=\"let category of OptionPayments; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPayments\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPlacementTest($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n</div>\n", styles: [".container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i9.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i14.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }] });
7480
+ CodSelfFormStepFourComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepFourComponent, selector: "app-cod-self-form-step-four", outputs: { completed: "completed" }, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Datos de Facturacion</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto mb-4\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepFour\" class=\"grid mt-2 flex flex-column align-items-center\">\n <div class=\"flex flex-column gap-3\">\n <h3>\u00BFcomo quieres pagar?</h3>\n <div *ngFor=\"let category of OptionPayments; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPayments\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPayments($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </form>\n </div>\n\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"next()\"\n ></button>\n <!-- <button\n pButton\n icon=\"pi pi-arrow-right\"\n (click)=\"sendForm()\"\n ></button> -->\n </div>\n </div>\n</div>\n", styles: [".container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i9.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i14.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }] });
7435
7481
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepFourComponent, decorators: [{
7436
7482
  type: Component,
7437
- args: [{ selector: 'app-cod-self-form-step-four', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Datos de Facturacion</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto mb-4\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepFour\" class=\"grid mt-2 flex flex-column align-items-center\">\n </form>\n </div>\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <h3>\u00BFcomo quieres pagar?</h3>\n <div class=\"flex flex-column gap-3\">\n <div *ngFor=\"let category of OptionPayments; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPayments\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPlacementTest($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n</div>\n", styles: [".container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}\n"] }]
7483
+ args: [{ selector: 'app-cod-self-form-step-four', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Datos de Facturacion</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"https://qa.iptdev.com.co/assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto mb-4\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepFour\" class=\"grid mt-2 flex flex-column align-items-center\">\n <div class=\"flex flex-column gap-3\">\n <h3>\u00BFcomo quieres pagar?</h3>\n <div *ngFor=\"let category of OptionPayments; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPayments\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPayments($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </form>\n </div>\n\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"next()\"\n ></button>\n <!-- <button\n pButton\n icon=\"pi pi-arrow-right\"\n (click)=\"sendForm()\"\n ></button> -->\n </div>\n </div>\n</div>\n", styles: [".container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}\n"] }]
7438
7484
  }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }, { type: i2$1.MessageService }]; }, propDecorators: { completed: [{
7439
7485
  type: Output
7440
7486
  }] } });