@jooler/inputs 0.0.54 → 0.0.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/ag-grid-select-mixin.mjs +1 -1
- package/esm2022/lib/choose-general-item/choose-general-item.component.mjs +75 -14
- package/esm2022/lib/choose-general-item/choose-object-basic-template-label-field.enum.mjs +1 -1
- package/esm2022/lib/choose-general-item/choose-object-basic-template.model.mjs +1 -1
- package/esm2022/lib/choose-general-item/choose-object-template-type.enum.mjs +1 -1
- package/esm2022/lib/choose-general-item-renderer/choose-general-item-renderer-change-event.interface.mjs +2 -0
- package/esm2022/lib/choose-general-item-renderer/choose-general-item-renderer-validation-type.enum.mjs +6 -0
- package/esm2022/lib/choose-general-item-renderer/choose-general-item-renderer.component.mjs +112 -18
- package/esm2022/lib/dictionary-to-params-converter.mjs +1 -1
- package/esm2022/lib/enum-helper-functions.mjs +15 -27
- package/esm2022/lib/enum-helper.model.mjs +1 -1
- package/esm2022/lib/formcontrol-validation-msg-for-ng-select.directive.mjs +126 -0
- package/esm2022/lib/inputs.module.mjs +21 -15
- package/esm2022/lib/models/choose-item-full-object-control-config.enum.mjs +1 -1
- package/esm2022/lib/tooltip-msg-error/tooltip-message-type.enum.mjs +8 -0
- package/esm2022/lib/tooltip-msg-error/tooltip-msg-error.component.mjs +213 -0
- package/esm2022/public-api.mjs +16 -12
- package/fesm2022/inputs.mjs +1056 -853
- package/fesm2022/inputs.mjs.map +1 -1
- package/lib/choose-general-item/choose-general-item.component.d.ts +8 -3
- package/lib/choose-general-item-renderer/choose-general-item-renderer-change-event.interface.d.ts +9 -0
- package/lib/choose-general-item-renderer/choose-general-item-renderer-validation-type.enum.d.ts +4 -0
- package/lib/choose-general-item-renderer/choose-general-item-renderer.component.d.ts +19 -4
- package/lib/formcontrol-validation-msg-for-ng-select.directive.d.ts +23 -0
- package/lib/inputs.module.d.ts +9 -7
- package/lib/tooltip-msg-error/tooltip-message-type.enum.d.ts +6 -0
- package/lib/tooltip-msg-error/tooltip-msg-error.component.d.ts +49 -0
- package/package.json +2 -2
- package/public-api.d.ts +15 -11
- package/esm2022/lib/custom-colors/bom-production-type.enum.mjs +0 -11
- package/esm2022/lib/custom-colors/enum-custom-color-mapping.mjs +0 -32
- package/esm2022/lib/custom-colors/enum-custom-colors.mjs +0 -21
- package/esm2022/lib/custom-colors/sales-order-status.enum.mjs +0 -27
- package/esm2022/lib/enum-custom-label-mapping.mjs +0 -32
- package/esm2022/lib/enum-models/bill-status.model.mjs +0 -25
- package/esm2022/lib/enum-models/charge-level.enum.mjs +0 -6
- package/esm2022/lib/enum-models/custom-order-request-status.enum.mjs +0 -29
- package/esm2022/lib/enum-models/invitation-status.model.mjs +0 -15
- package/esm2022/lib/enum-models/invoice-status.model.mjs +0 -15
- package/esm2022/lib/enum-models/locker-transfer-status.enum.mjs +0 -11
- package/esm2022/lib/enum-models/priority.model.mjs +0 -13
- package/esm2022/lib/enum-models/quotation-status.model.mjs +0 -19
- package/esm2022/lib/enum-models/request-status.model.mjs +0 -15
- package/esm2022/lib/enum-string-class-map.mjs +0 -26
- package/esm2022/lib/json/enum-custom-label-mappings.json +0 -10
- package/lib/custom-colors/bom-production-type.enum.d.ts +0 -5
- package/lib/custom-colors/enum-custom-color-mapping.d.ts +0 -11
- package/lib/custom-colors/enum-custom-colors.d.ts +0 -2
- package/lib/custom-colors/sales-order-status.enum.d.ts +0 -13
- package/lib/enum-custom-label-mapping.d.ts +0 -7
- package/lib/enum-models/bill-status.model.d.ts +0 -12
- package/lib/enum-models/charge-level.enum.d.ts +0 -4
- package/lib/enum-models/custom-order-request-status.enum.d.ts +0 -14
- package/lib/enum-models/invitation-status.model.d.ts +0 -7
- package/lib/enum-models/invoice-status.model.d.ts +0 -13
- package/lib/enum-models/locker-transfer-status.enum.d.ts +0 -5
- package/lib/enum-models/priority.model.d.ts +0 -6
- package/lib/enum-models/quotation-status.model.d.ts +0 -9
- package/lib/enum-models/request-status.model.d.ts +0 -7
- package/lib/enum-string-class-map.d.ts +0 -3
|
@@ -70,4 +70,4 @@ export class AgGridSelectMixin {
|
|
|
70
70
|
return false;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1zZWxlY3QtbWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2xpYi9hZy1ncmlkLXNlbGVjdC1taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBTTtJQUNaLEdBQUcsQ0FBUztJQUNaLEtBQUssQ0FBQztJQUNOLEtBQUssQ0FBUztJQUNkLE1BQU0sQ0FBVTtJQUNoQixLQUFLLENBQVM7SUFDZCxRQUFRLEdBQVcsU0FBUyxDQUFDO0lBQzdCLFVBQVUsQ0FBWTtJQUN0QixLQUFLLENBQVM7SUFDZCxjQUFjLENBQVM7SUFFdkIsTUFBTSxDQUFDLE1BQU07UUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQU07UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNsQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDekM7UUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxJQUFJLE9BQU8sR0FBYyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDdkQsSUFBSSxFQUFFLEdBQWMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFjLENBQUM7UUFDNUQsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFjLENBQUM7UUFDaEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLEVBQUUsR0FBZ0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZ0IsQ0FBQztRQUNuRSxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQW9CO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLElBQUksT0FBTyxHQUFZLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDbkMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsV0FBVyxDQUFDLE1BQVc7UUFDckIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsWUFBWSxRQUFRLEVBQUU7WUFDL0MsTUFBTSxNQUFNLEdBQUc7Z0JBQ2IsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQzlCLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTthQUMxQixDQUFDO1lBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLFlBQVksUUFBUSxFQUFFO1lBQy9DLE1BQU0sTUFBTSxHQUFHO2dCQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUM5QixLQUFLLEVBQUUsTUFBTTtnQkFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO2FBQzFCLENBQUM7WUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBSztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBSb3dOb2RlIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFnR3JpZFNlbGVjdE1peGluIGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIHtcclxuICBwYXJhbXM6IGFueTtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZTtcclxuICByb3dJZDogbnVtYmVyO1xyXG4gIGlzRWRpdDogYm9vbGVhbjtcclxuICBpbmRleDogbnVtYmVyO1xyXG4gIGFycmF5S2V5OiBzdHJpbmcgPSAnZW50cmllcyc7XHJcbiAgcm93TGV2ZWxGRzogRm9ybUdyb3VwO1xyXG4gIHdpZHRoOiBudW1iZXI7XHJcbiAgc2VsZWN0ZWRJdGVtSWQ6IG51bWJlcjtcclxuXHJcbiAgYWdJbml0KHBhcmFtcyk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0aWFsaXplUmVuZGVyZXIocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVSZW5kZXJlcihwYXJhbXMpIHtcclxuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xyXG4gICAgdGhpcy53aWR0aCA9IHBhcmFtcy53aWR0aDtcclxuICAgIHRoaXMua2V5ID0gcGFyYW1zLmNvbnRleHQuY3JlYXRlS2V5KHBhcmFtcy5jb2x1bW5BcGksIHBhcmFtcy5jb2x1bW4pO1xyXG4gICAgdGhpcy52YWx1ZSA9IHBhcmFtcy52YWx1ZTtcclxuICAgIHRoaXMucm93SWQgPSBwYXJhbXMubm9kZS5pZDtcclxuICAgIHRoaXMuaW5kZXggPSBwYXJhbXMubm9kZS5yb3dJbmRleDtcclxuICAgIGlmIChwYXJhbXMuY29udGV4dC5hcnJheUtleSkge1xyXG4gICAgICB0aGlzLmFycmF5S2V5ID0gcGFyYW1zLmNvbnRleHQuYXJyYXlLZXk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFJvd0xldmVsRkcoKTtcclxuICB9XHJcblxyXG4gIHNldFJvd0xldmVsRkcoKSB7XHJcbiAgICB0aGlzLmluZGV4ID0gdGhpcy5wYXJhbXMubm9kZS5yb3dJbmRleDtcclxuICAgIGxldCB0YWJsZUZHOiBGb3JtR3JvdXAgPSB0aGlzLnBhcmFtcy5jb250ZXh0LmZvcm1Hcm91cDtcclxuICAgIGxldCBmYTogRm9ybUFycmF5ID0gdGFibGVGRy5nZXQodGhpcy5hcnJheUtleSkgYXMgRm9ybUFycmF5O1xyXG4gICAgbGV0IHJvd0xldmVsRkcgPSBmYS5hdCh0aGlzLmluZGV4KSBhcyBGb3JtR3JvdXA7XHJcbiAgICB0aGlzLnJvd0xldmVsRkcgPSByb3dMZXZlbEZHO1xyXG4gIH1cclxuXHJcbiAgZ2V0Rm9ybUNvbnRyb2woKSB7XHJcbiAgICBsZXQgZmM6IEZvcm1Db250cm9sID0gdGhpcy5yb3dMZXZlbEZHLmdldCh0aGlzLmtleSkgYXMgRm9ybUNvbnRyb2w7XHJcbiAgICByZXR1cm4gZmM7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZShwYXJhbXMsIHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XHJcbiAgICB0aGlzLnNldFJvd0xldmVsRkcoKTtcclxuICAgIHRoaXMuZ2V0Rm9ybUNvbnRyb2woKS5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICBsZXQgcm93Tm9kZTogUm93Tm9kZSA9IHBhcmFtcy5ub2RlO1xyXG4gICAgcm93Tm9kZS5zZXREYXRhVmFsdWUodGhpcy5rZXksIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8vICRldmVudCBoZXJlIGlzIGFuIG9iamVjdC5cclxuICBvblNlbGVjdGlvbigkZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1JZCA9ICRldmVudD8uaWQ7XHJcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMucGFyYW1zLCAkZXZlbnQ/LmlkKTtcclxuICAgIGlmICh0aGlzLnBhcmFtcy5vblNlbGVjdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XHJcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHtcclxuICAgICAgICBvYmplY3Q6ICRldmVudCxcclxuICAgICAgICByb3dEYXRhOiB0aGlzLnBhcmFtcy5ub2RlLmRhdGEsXHJcbiAgICAgICAgdmFsdWU6ICRldmVudC5pZCxcclxuICAgICAgICByb3dOb2RlOiB0aGlzLnBhcmFtcy5ub2RlLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnBhcmFtcy5vblNlbGVjdGlvbihwYXJhbXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25FbnVtU2VsZWN0ZWQoJGV2ZW50OiBudW1iZXIpIHtcclxuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5wYXJhbXMsICRldmVudCk7XHJcbiAgICBpZiAodGhpcy5wYXJhbXMub25TZWxlY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbikge1xyXG4gICAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgICAgcm93RGF0YTogdGhpcy5wYXJhbXMubm9kZS5kYXRhLFxyXG4gICAgICAgIHZhbHVlOiAkZXZlbnQsXHJcbiAgICAgICAgcm93Tm9kZTogdGhpcy5wYXJhbXMubm9kZSxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5wYXJhbXMub25TZWxlY3Rpb24ocGFyYW1zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZnJlc2gocGFyYW0pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Component, ContentChild, EventEmitter, forwardRef, Input, Output, } from '@angular/core';
|
|
2
2
|
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
|
+
import { ChipInputType } from '@jooler/shared-general-components';
|
|
4
|
+
import { filter, Subject, switchMap, tap } from 'rxjs';
|
|
5
|
+
import { ChooseItemFullObjectControlConfig } from '../models/choose-item-full-object-control-config.enum';
|
|
3
6
|
import { PrimaryColors } from '../primary-colors';
|
|
4
7
|
import { ChooseObjectTemplateType } from './choose-object-template-type.enum';
|
|
5
|
-
import { ChooseItemFullObjectControlConfig } from '../models/choose-item-full-object-control-config.enum';
|
|
6
|
-
import { ChipInputType } from '@jooler/shared-general-components';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "./choose-general-item.service";
|
|
9
10
|
import * as i2 from "@angular/material/dialog";
|
|
@@ -60,6 +61,8 @@ export class ChooseGeneralItemComponent {
|
|
|
60
61
|
customOptionTemplate;
|
|
61
62
|
ChooseObjectTemplateType = ChooseObjectTemplateType;
|
|
62
63
|
chipInputTypes = ChipInputType;
|
|
64
|
+
fetchTrigger$ = new Subject();
|
|
65
|
+
fetchSub;
|
|
63
66
|
constructor(_ChooseGeneralItemService, dialog, _cdr) {
|
|
64
67
|
this._ChooseGeneralItemService = _ChooseGeneralItemService;
|
|
65
68
|
this.dialog = dialog;
|
|
@@ -69,26 +72,78 @@ export class ChooseGeneralItemComponent {
|
|
|
69
72
|
if (this.templateType == ChooseObjectTemplateType.BASIC) {
|
|
70
73
|
this.setupBasicTemplate();
|
|
71
74
|
}
|
|
75
|
+
this.fetchTrigger$
|
|
76
|
+
.pipe(tap(() => (this.isLoading = true)), switchMap(({ apiPath, filterParams }) => this._ChooseGeneralItemService.getData(apiPath, filterParams)))
|
|
77
|
+
.subscribe(data => {
|
|
78
|
+
this.items = data;
|
|
79
|
+
this.isLoading = false;
|
|
80
|
+
console.log("response: items from '", this.apiPath, "' found: ", this.items);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
triggerFetch() {
|
|
84
|
+
this.isLoading = true;
|
|
85
|
+
this.fetchTrigger$.next({
|
|
86
|
+
apiPath: this.apiPath,
|
|
87
|
+
filterParams: this.filterParams,
|
|
88
|
+
});
|
|
72
89
|
}
|
|
73
90
|
setupBasicTemplate() { }
|
|
74
91
|
ngOnChanges(changes) {
|
|
75
|
-
|
|
76
|
-
this.items = undefined;
|
|
77
|
-
}
|
|
78
|
-
if (changes['apiPath'] && !changes.apiPath) {
|
|
79
|
-
this.apiPath = undefined;
|
|
80
|
-
}
|
|
92
|
+
// console.log('changes: ', changes);
|
|
81
93
|
this.validateInputs(changes);
|
|
82
94
|
if (this.showAdd) {
|
|
83
95
|
this.validateAddConfiguration();
|
|
84
96
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
this.
|
|
97
|
+
// 1️⃣ Manually assign input updates immediately
|
|
98
|
+
if (changes['filterParams']) {
|
|
99
|
+
this.filterParams = changes['filterParams'].currentValue;
|
|
88
100
|
}
|
|
89
|
-
|
|
90
|
-
|
|
101
|
+
// CASE A — apiPath changed and items not provided
|
|
102
|
+
if (changes['apiPath'] && !changes['items']) {
|
|
103
|
+
const newApiPath = changes['apiPath'].currentValue;
|
|
104
|
+
// If apiPath becomes undefined → tear down subscription
|
|
105
|
+
if (!newApiPath) {
|
|
106
|
+
this.cleanupFetchSubscription();
|
|
107
|
+
return; // Do NOT subscribe and do NOT fetch
|
|
108
|
+
}
|
|
109
|
+
// apiPath is now defined → create subscription if missing
|
|
110
|
+
if (!this.fetchSub) {
|
|
111
|
+
this.setupFetchSubscription();
|
|
112
|
+
}
|
|
113
|
+
// And trigger the fetch if items not provided
|
|
114
|
+
if (!this.items && this.fetchSub) {
|
|
115
|
+
// console.log('FETTCCHNNG 3');
|
|
116
|
+
this.triggerFetch();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// CASE B — Parent passed items → use them and never fetch
|
|
120
|
+
if (changes['items']) {
|
|
121
|
+
if (changes['items'].currentValue && changes['items'].currentValue.length > 0) {
|
|
122
|
+
this.isLoading = false;
|
|
123
|
+
this.items = changes['items'].currentValue;
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// FROM HERE → items is not provided → backend fetch required
|
|
128
|
+
// CASE C — initial load (items missing)
|
|
129
|
+
if (changes['items'] && !changes['items'].currentValue && this.fetchSub) {
|
|
130
|
+
// console.log('FETTCCHNNG 1');
|
|
131
|
+
this.triggerFetch();
|
|
91
132
|
}
|
|
133
|
+
// CASE D — filterParams changed and items not provided
|
|
134
|
+
if (changes['filterParams'] && this.fetchSub) {
|
|
135
|
+
// console.log('FETTCCHNNG 2');
|
|
136
|
+
this.triggerFetch();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
setupFetchSubscription() {
|
|
140
|
+
this.fetchSub = this.fetchTrigger$
|
|
141
|
+
.pipe(filter(trigger => trigger !== null), tap(() => (this.isLoading = true)), switchMap(({ apiPath, filterParams }) => this._ChooseGeneralItemService.getData(apiPath, filterParams)))
|
|
142
|
+
.subscribe(data => {
|
|
143
|
+
this.items = data;
|
|
144
|
+
this.isLoading = false;
|
|
145
|
+
// console.log('fetched items from ', this.apiPath, data);
|
|
146
|
+
});
|
|
92
147
|
}
|
|
93
148
|
validateAddConfiguration() {
|
|
94
149
|
if ((this.addRoute == '' || this.addRoute == null || this.addRoute == undefined) &&
|
|
@@ -206,6 +261,12 @@ export class ChooseGeneralItemComponent {
|
|
|
206
261
|
registerOnValidatorChange(fn) {
|
|
207
262
|
this.onValidationChange = fn;
|
|
208
263
|
}
|
|
264
|
+
cleanupFetchSubscription() {
|
|
265
|
+
if (this.fetchSub) {
|
|
266
|
+
this.fetchSub.unsubscribe();
|
|
267
|
+
this.fetchSub = undefined;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
209
270
|
validate(control) {
|
|
210
271
|
return null;
|
|
211
272
|
if (control) {
|
|
@@ -323,4 +384,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
323
384
|
type: ContentChild,
|
|
324
385
|
args: ['customOption']
|
|
325
386
|
}] } });
|
|
326
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWdlbmVyYWwtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2xpYi9jaG9vc2UtZ2VuZXJhbC1pdGVtL2Nob29zZS1nZW5lcmFsLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWdlbmVyYWwtaXRlbS9jaG9vc2UtZ2VuZXJhbC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixHQUdsQixNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUU5RSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7Ozs7QUFtQmxFLE1BQU0sT0FBTywwQkFBMEI7SUFrRDNCO0lBQ0E7SUFDQTtJQWpEVixVQUFVLEdBQVcsYUFBYSxDQUFDLGdCQUFnQixDQUFDO0lBQ3BELFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDbEIsS0FBSyxDQUFRO0lBQ2IsS0FBSyxHQUFXLE9BQU8sQ0FBQztJQUN4QixRQUFRLEdBQVcsTUFBTSxDQUFDO0lBQzFCLFdBQVcsQ0FBUztJQUNwQixPQUFPLENBQVM7SUFDaEIsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUM1QixnQkFBZ0IsQ0FBVTtJQUMxQixPQUFPLENBQWtCO0lBQ3pCLFNB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VTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBQ3VCLG9CQUFvQjtzQkFBakQsWUFBWTt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5HX1ZBTElEQVRPUlMsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgVmFsaWRhdGlvbkVycm9ycyxcclxuICBWYWxpZGF0b3IsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBMYWJlbEFuZEZpZWxkIH0gZnJvbSAnLi4vbW9kZWxzL2xhYmVsLWFuZC1maWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IENob29zZUdlbmVyYWxJdGVtU2VydmljZSB9IGZyb20gJy4vY2hvb3NlLWdlbmVyYWwtaXRlbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJpbWFyeUNvbG9ycyB9IGZyb20gJy4uL3ByaW1hcnktY29sb3JzJztcclxuaW1wb3J0IHsgQ2hvb3NlT2JqZWN0VGVtcGxhdGVUeXBlIH0gZnJvbSAnLi9jaG9vc2Utb2JqZWN0LXRlbXBsYXRlLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IENob29zZU9iamVjdEJhc2ljVGVtcGxhdGUgfSBmcm9tICcuL2Nob29zZS1vYmplY3QtYmFzaWMtdGVtcGxhdGUubW9kZWwnO1xyXG5pbXBvcnQgeyBDaG9vc2VJdGVtRnVsbE9iamVjdENvbnRyb2xDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY2hvb3NlLWl0ZW0tZnVsbC1vYmplY3QtY29udHJvbC1jb25maWcuZW51bSc7XHJcbmltcG9ydCB7IENoaXBJbnB1dFR5cGUgfSBmcm9tICdAam9vbGVyL3NoYXJlZC1nZW5lcmFsLWNvbXBvbmVudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjaG9vc2UtZ2VuZXJhbC1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hvb3NlLWdlbmVyYWwtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hvb3NlLWdlbmVyYWwtaXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hvb3NlR2VuZXJhbEl0ZW1Db21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBDaG9vc2VHZW5lcmFsSXRlbUNvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaG9vc2VHZW5lcmFsSXRlbUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIFZhbGlkYXRvciwgQ29udHJvbFZhbHVlQWNjZXNzb3Jcclxue1xyXG4gIHByaW1hcnlSZWQ6IHN0cmluZyA9IFByaW1hcnlDb2xvcnMuJHByaW1hcnlSZWRDb2xvcjtcclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpdGVtczogYW55W107XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICdsYWJlbCc7XHJcbiAgQElucHV0KCkgYXBwZW5kVG86IHN0cmluZyA9ICdib2R5JztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFwaVBhdGg6IHN0cmluZztcclxuICBASW5wdXQoKSBpc011bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGlkZVNlbGVjdGVkSXRlbTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBvYmplY3RzOiBMYWJlbEFuZEZpZWxkW107XHJcbiAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcclxuICBASW5wdXQoKSBpc0NoaXA6IEJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1R5cGVEYXRlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGNoaXBDb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcclxuICBASW5wdXQoKSBjaGlwVGV4dENvbG9yOiBzdHJpbmcgPSAnd2hpdGUnO1xyXG4gIEBJbnB1dCgpIGNoaXBXaWR0aDogbnVtYmVyID0gMTE7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtSWQ6IG51bWJlciB8IG51bWJlcltdO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHJlYWRPbmx5OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHVzZUZ1bGxPYmplY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93QWRkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlhbG9nQ29tcG9uZW50Q2xhc3M6IGFueTtcclxuICBASW5wdXQoKSBzaG93RGlhbG9nRGVmYXVsdEJ1dHRvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBkaWFsb2dDb21wb25lbnRJbnB1dHM6IGFueSA9IHtcclxuICAgIGlzRGlhbG9nOiB0cnVlLFxyXG4gIH07XHJcbiAgQElucHV0KCkgYmluZFZhbHVlS2V5OiBzdHJpbmcgfCBudWxsID0gJ2lkJzsgLy8gb3IgbnVsbCBmb3IgZnVsbCBvYmplY3RcclxuICBASW5wdXQoKSBhZGRSb3V0ZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNhbkFjdGlvbnNSb3V0ZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkaWFsb2dUaXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsZWFyYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgZmlsdGVyUGFyYW1zOiBhbnk7XHJcbiAgQElucHV0KCkgdGVtcGxhdGVUeXBlOiBDaG9vc2VPYmplY3RUZW1wbGF0ZVR5cGUgPSBDaG9vc2VPYmplY3RUZW1wbGF0ZVR5cGUuREVGQVVMVDtcclxuICBASW5wdXQoKSBiYXNpY1RlbXBsYXRlRGF0YTogQ2hvb3NlT2JqZWN0QmFzaWNUZW1wbGF0ZTtcclxuICBASW5wdXQoKSBjb250ZW50UHJvamVjdGlvbkxhYmVsS2V5OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZnVsbE9iamVjdENvbnRyb2xDb25maWc6IENob29zZUl0ZW1GdWxsT2JqZWN0Q29udHJvbENvbmZpZyA9XHJcbiAgICBDaG9vc2VJdGVtRnVsbE9iamVjdENvbnRyb2xDb25maWcuSUQ7XHJcbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAQ29udGVudENoaWxkKCdjdXN0b21PcHRpb24nKSBjdXN0b21PcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQ2hvb3NlT2JqZWN0VGVtcGxhdGVUeXBlID0gQ2hvb3NlT2JqZWN0VGVtcGxhdGVUeXBlO1xyXG4gIGNoaXBJbnB1dFR5cGVzID0gQ2hpcElucHV0VHlwZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9DaG9vc2VHZW5lcmFsSXRlbVNlcnZpY2U6IENob29zZUdlbmVyYWxJdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRlbXBsYXRlVHlwZSA9PSBDaG9vc2VPYmplY3RUZW1wbGF0ZVR5cGUuQkFTSUMpIHtcclxuICAgICAgdGhpcy5zZXR1cEJhc2ljVGVtcGxhdGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldHVwQmFzaWNUZW1wbGF0ZSgpIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydpdGVtcyddICYmICFjaGFuZ2VzLml0ZW1zKSB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snYXBpUGF0aCddICYmICFjaGFuZ2VzLmFwaVBhdGgpIHtcclxuICAgICAgdGhpcy5hcGlQYXRoID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgdGhpcy52YWxpZGF0ZUlucHV0cyhjaGFuZ2VzKTtcclxuXHJcbiAgICBpZiAodGhpcy5zaG93QWRkKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGVBZGRDb25maWd1cmF0aW9uKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWNoYW5nZXNbJ2l0ZW1zJ10gfHwgIWNoYW5nZXNbJ2l0ZW1zJ10uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVBZGRDb25maWd1cmF0aW9uKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICAodGhpcy5hZGRSb3V0ZSA9PSAnJyB8fCB0aGlzLmFkZFJvdXRlID09IG51bGwgfHwgdGhpcy5hZGRSb3V0ZSA9PSB1bmRlZmluZWQpICYmXHJcbiAgICAgICh0aGlzLmRpYWxvZ0NvbXBvbmVudENsYXNzID09IG51bGwgfHwgdGhpcy5kaWFsb2dDb21wb25lbnRDbGFzcyA9PSB1bmRlZmluZWQpXHJcbiAgICApIHtcclxuICAgICAgdGhyb3cgRXJyb3IoXHJcbiAgICAgICAgJ1Nob3dpbmcgdGhlIGFkZCBidXR0b24gcmVxdWlyZXMgZWl0aGVyIGEgcm91dGUgZm9yIHRoZSBhZGQgYnV0dG9uIHRvIHJvdXRlIHRvLCBvciBhIGNvbXBvbmVudCBjbGFzcyBmb3IgYSBkaWFsb2cgdG8gb3BlbiB1cCB3aXRoIHRoYXQgY29tcG9uZW50LidcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUoaXRlbTogYW55KSB7XHJcbiAgICBpZiAoaXRlbSAhPSB1bmRlZmluZWQgfHwgaXRlbSAhPSBudWxsKSB7XHJcbiAgICAgIGlmICghdGhpcy51c2VGdWxsT2JqZWN0KSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1JZCA9IGl0ZW07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbSkpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtSWQgPSBpdGVtLm1hcChpdGVtID0+IGl0ZW0uaWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbUlkID0gaXRlbS5pZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtSWQgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLnByb3BvZ2F0ZVRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xyXG4gIHByaXZhdGUgcHJvcG9nYXRlVG91Y2ggPSAoKSA9PiB7fTtcclxuICBwcml2YXRlIG9uVmFsaWRhdGlvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcblxyXG4gIHVwZGF0ZUJsdXIoKSB7XHJcbiAgICB0aGlzLnByb3BvZ2F0ZVRvdWNoKCk7XHJcbiAgICB0aGlzLmJsdXIuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RlZEl0ZW1DaGFuZ2VkKCRldmVudCkge1xyXG4gICAgbGV0IHZhbHVlVG9Qcm9wYWdhdGU6IGFueTtcclxuICAgIGlmICh0aGlzLmZ1bGxPYmplY3RDb250cm9sQ29uZmlnID09IENob29zZUl0ZW1GdWxsT2JqZWN0Q29udHJvbENvbmZpZy5JRCkge1xyXG4gICAgICB2YWx1ZVRvUHJvcGFnYXRlID0gdGhpcy5zZWxlY3RlZEl0ZW1JZDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5mdWxsT2JqZWN0Q29udHJvbENvbmZpZyA9PSBDaG9vc2VJdGVtRnVsbE9iamVjdENvbnRyb2xDb25maWcuT0JKRUNUKSB7XHJcbiAgICAgIHZhbHVlVG9Qcm9wYWdhdGUgPSAkZXZlbnQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBFcnJvcignQ2hvb3NlSXRlbUZ1bGxPYmplY3RDb250cm9sQ29uZmlnIGlzIG5vdCByZWNvZ25pemVkLicpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodmFsdWVUb1Byb3BhZ2F0ZSk7XHJcbiAgICB0aGlzLmNoYW5nZS5lbWl0KCRldmVudCk7XHJcbiAgICB0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVJbnB1dHMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKFxyXG4gICAgICBjaGFuZ2VzLmFwaVBhdGggJiZcclxuICAgICAgY2hhbmdlcy5hcGlQYXRoLmN1cnJlbnRWYWx1ZSAmJlxyXG4gICAgICBjaGFuZ2VzLml0ZW1zICYmXHJcbiAgICAgIGNoYW5nZXMuaXRlbXMuY3VycmVudFZhbHVlXHJcbiAgICApIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ0JvdGggYW4gQVBJIHBhdGggYW5kIGFuIGl0ZW1zIGxpc3Qgd2FzIHByb3ZpZGVkLicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIGlmICh0aGlzLmFwaVBhdGgpIHtcclxuICAgICAgdGhpcy5fQ2hvb3NlR2VuZXJhbEl0ZW1TZXJ2aWNlLmdldERhdGEodGhpcy5hcGlQYXRoLCB0aGlzLmZpbHRlclBhcmFtcykuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IGFueVtdKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLml0ZW1zID0gcmVzcG9uc2U7XHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCJyZXNwb25zZTogaXRlbXMgZnJvbSAnXCIsIHRoaXMuYXBpUGF0aCwgXCInIGZvdW5kOiBcIiwgdGhpcy5pdGVtcyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogZXJyb3IgPT4gY29uc29sZS5lcnJvcignZXJyb3InLCBlcnJvciksXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0V2lkdGgoKSB7XHJcbiAgICBsZXQgc3R5bGUgPSB7fTtcclxuICAgIGlmICh0aGlzLndpZHRoKSB7XHJcbiAgICAgIHN0eWxlID0ge1xyXG4gICAgICAgIHdpZHRoOiB0aGlzLndpZHRoICsgJ3JlbScsXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzdHlsZSA9IHtcclxuICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0eWxlO1xyXG4gIH1cclxuXHJcbiAgb25DbGlja0FkZE5ldygpIHtcclxuICAgIGNvbnNvbGUubG9nKCdEWU5BTUlDIERJQUxPRyBOT1QgSU1QTEVNRU5URUQgSU4gTElCUkFSWSBZRVQnKTtcclxuICAgIFxyXG4gICAgLy8gQWRkIGR5bmFtaWMgZGlhbG9nIGxhdGVyXHJcbiAgICAvLyBsZXQgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEeW5hbWljRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAvLyAgIHBhbmVsQ2xhc3M6ICdjdXN0b20tZGlhbG9nLXBhZGRpbmcnLFxyXG4gICAgLy8gICB3aWR0aDogJzkwJScsXHJcbiAgICAvLyAgIG1pbldpZHRoOiAnOTAlJyxcclxuICAgIC8vICAgbWF4SGVpZ2h0OiAnOTB2aCcsXHJcbiAgICAvLyAgIGRhdGE6IHtcclxuICAgIC8vICAgICBjb21wb25lbnQ6IHRoaXMuZGlhbG9nQ29tcG9uZW50Q2xhc3MsXHJcbiAgICAvLyAgICAgc2hvd0RlZmF1bHRCdXR0b25zOiB0aGlzLnNob3dEaWFsb2dEZWZhdWx0QnV0dG9ucyxcclxuICAgIC8vICAgICB0aXRsZTogdGhpcy5kaWFsb2dUaXRsZSxcclxuICAgIC8vICAgICBpbnB1dHM6IHRoaXMuZGlhbG9nQ29tcG9uZW50SW5wdXRzLFxyXG4gICAgLy8gICB9LFxyXG4gICAgLy8gfSk7XHJcblxyXG4gICAgLy8gZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgIC8vICAgaWYgKGRhdGEpIHtcclxuICAgIC8vICAgICBjb25zb2xlLmxvZygnTmV3IGl0ZW0gQWRkZWQ6ICcsIGRhdGEpO1xyXG4gICAgLy8gICAgIHRoaXMuaXRlbXMucHVzaChkYXRhKTtcclxuICAgIC8vICAgICB0aGlzLml0ZW1zID0gWy4uLnRoaXMuaXRlbXNdO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9KTtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlPyhmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gICAgaWYgKGNvbnRyb2wpIHtcclxuICAgICAgY29uc3QgZXJyb3JzID0gY29udHJvbC5lcnJvcnM7XHJcbiAgICAgIGlmIChlcnJvcnMpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnZXJyb3Jzc3NzOiAnLCBlcnJvcnMpO1xyXG4gICAgICAgIHJldHVybiBlcnJvcnM7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNlbGVjdFwiPlxyXG4gICAgPG5nLXNlbGVjdCBbcmVhZG9ubHldPVwicmVhZE9ubHlcIiBbbG9hZGluZ109XCJpc0xvYWRpbmdcIiBbaGlkZVNlbGVjdGVkXT1cImhpZGVTZWxlY3RlZEl0ZW1cIlxyXG4gICAgICAgIFtjbG9zZU9uU2VsZWN0XT1cIiFpc011bHRpcGxlXCIgW25nU3R5bGVdPVwic2V0V2lkdGgoKVwiIGNsYXNzPVwiY29tcG9uZW50XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBbYXBwZW5kVG9dPVwiYXBwZW5kVG9cIiBkcm9wZG93blBvc2l0aW9uPVwiYm90dG9tXCIgKGJsdXIpPVwidXBkYXRlQmx1cigpXCIgW2JpbmRMYWJlbF09XCJsYWJlbFwiXHJcbiAgICAgICAgW2JpbmRWYWx1ZV09XCJiaW5kVmFsdWVLZXlcIiBbY29tcGFyZVdpdGhdPVwiXCIgW2l0ZW1zXT1cIml0ZW1zXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0ZWRJdGVtQ2hhbmdlZCgkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEl0ZW1JZFwiIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcclxuICAgICAgICBbbXVsdGlwbGVdPVwiaXNNdWx0aXBsZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZVR5cGUgPT0gQ2hvb3NlT2JqZWN0VGVtcGxhdGVUeXBlLkRFRkFVTFRcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaXNMb2FkaW5nXCIgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1jbGVhcj1cImNsZWFyXCI+IDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCIgbGV0LXNlYXJjaD1cInNlYXJjaFRlcm1cIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYmplY3RzOyBlbHNlIG5vbk9iamVjdExhYmVsVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRlbXBsYXRlXCIgKm5nRm9yPVwibGV0IG9iamVjdCBvZiBvYmplY3RzOyBsZXQgaXNMYXN0ID0gbGFzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRlbXBsYXRlLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNob3dMYWJlbCA/IG9iamVjdC5sYWJlbCArICc6ICcgOiAnJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNUeXBlRGF0ZSA/IChpdGVtW29iamVjdC5maWVsZF0gfCBkYXRlOiAnbWVkaXVtRGF0ZScpIDogaXRlbVtvYmplY3QuZmllbGRdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9uT2JqZWN0TGFiZWxUZW1wbGF0ZT57eyBpdGVtIH19IDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8IS0tIE9wdGlvbiBUZW1wbGF0ZSAtLT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIiBsZXQtc2VhcmNoPVwic2VhcmNoVGVybVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9iamVjdHM7IGVsc2Ugbm9uT2JqZWN0T3B0aW9uVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgb2JqZWN0IG9mIG9iamVjdHM7IGxldCBpc0xhc3QgPSBsYXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNob3dMYWJlbCA/IG9iamVjdC5sYWJlbCArICc6ICcgOiAnJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fXt7IGlzVHlwZURhdGUgPyAoaXRlbVtvYmplY3QuZmllbGRdIHwgZGF0ZTogJ21lZGl1bURhdGUnKSA6IGl0ZW1bb2JqZWN0LmZpZWxkXSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub25PYmplY3RPcHRpb25UZW1wbGF0ZT57eyBpdGVtIH19IDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJpc0NoaXAgJiYgIWlzTG9hZGluZ1wiIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNoaXAgKG1vdXNlZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBbY2xlYXJdPVwiY2xlYXJcIiBbd2l0aENyb3NzXT1cImlzTXVsdGlwbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiY2hpcElucHV0VHlwZXMuQ1VTVE9NXCJcclxuICAgICAgICAgICAgICAgICAgICBbYmFja2dyb3VuZENvbG9yXT1cIml0ZW0uZGlzYWJsZWQgPT0gdHJ1ZSA/IHByaW1hcnlSZWQgOiBjaGlwQ29sb3JcIiBbbGFiZWxdPVwiaXRlbVtvYmplY3RzWzBdLmZpZWxkXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jaGlwPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJpc0NoaXAgJiYgIWlzTG9hZGluZ1wiIG5nLW9wdGlvbi10bXAgbGV0LWNsZWFyPVwiY2xlYXJcIiBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jaGlwIChtb3VzZWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgW3dpdGhDcm9zc109XCJmYWxzZVwiIFtpbnB1dFR5cGVdPVwiY2hpcElucHV0VHlwZXMuQ1VTVE9NXCJcclxuICAgICAgICAgICAgICAgICAgICBbYmFja2dyb3VuZENvbG9yXT1cIml0ZW0uZGlzYWJsZWQgPT0gdHJ1ZSA/IHByaW1hcnlSZWQgOiBjaGlwQ29sb3JcIiBbbGFiZWxdPVwiaXRlbVtvYmplY3RzWzBdLmZpZWxkXVwiPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jaGlwPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGVtcGxhdGVUeXBlID09IENob29zZU9iamVjdFRlbXBsYXRlVHlwZS5CQVNJQ1wiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1jbGVhcj1cImNsZWFyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBpdGVtW2Jhc2ljVGVtcGxhdGVEYXRhLmxhYmVsXSB9fVxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtY2xlYXI9XCJjbGVhclwiIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkIGNsYXNzPVwiYmFzaWMtdGVtcGxhdGUtY2FyZFwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAnd2l0aC1pbWFnZSc6IGJhc2ljVGVtcGxhdGVEYXRhLmhhc0ltYWdlLFxyXG4gICAgICAgICAgICAgICd3aXRob3V0LWltYWdlJzogIWJhc2ljVGVtcGxhdGVEYXRhLmhhc0ltYWdlLFxyXG4gICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlLWNvbnRcIiAqbmdJZj1cImJhc2ljVGVtcGxhdGVEYXRhLmhhc0ltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJtYWluLWltYWdlXCIgW3NyY109XCJpdGVtW2Jhc2ljVGVtcGxhdGVEYXRhLmltYWdlXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmVycm9yPVwidGhpcy5zcmM9Jy4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvZGVmYXVsdEltYWdlLmpwZyc7XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtW2Jhc2ljVGVtcGxhdGVEYXRhLnRpdGxlXSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1YnRpdGxlLXN0eWxlXCIgKm5nSWY9XCJiYXNpY1RlbXBsYXRlRGF0YS5oYXNTdWJ0aXRsZU9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbVtiYXNpY1RlbXBsYXRlRGF0YS5zdWJ0aXRsZU9uZV0gfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYmFzaWNUZW1wbGF0ZURhdGEuaGFzU3VidGl0bGVUd29cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbC1kaXZpZGVyXCI+IHwgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW1bYmFzaWNUZW1wbGF0ZURhdGEuc3VidGl0bGVUd29dIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIiAqbmdJZj1cImJhc2ljVGVtcGxhdGVEYXRhLmhhc0Rlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtW2Jhc2ljVGVtcGxhdGVEYXRhLmRlc2NyaXB0aW9uXSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlVHlwZSA9PSBDaG9vc2VPYmplY3RUZW1wbGF0ZVR5cGUuQ09OVEVOVF9QUk9KRUNUSU9OXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImlzTG9hZGluZ1wiIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtY2xlYXI9XCJjbGVhclwiPiA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiIGxldC1zZWFyY2g9XCJzZWFyY2hUZXJtXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZW1wbGF0ZS1pdGVtXCI+IHt7IGl0ZW1bY29udGVudFByb2plY3Rpb25MYWJlbEtleV0gfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBPcHRpb24gVGVtcGxhdGUgLS0+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCIgbGV0LXNlYXJjaD1cInNlYXJjaFRlcm1cIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tT3B0aW9uVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXNlbGVjdD5cclxuICAgIDxkcm9wZG93bi1hY3Rpb25zICpuZ0lmPVwic2hvd0FkZFwiIFtjYW5Sb3V0ZV09XCJjYW5BY3Rpb25zUm91dGVcIiBbcm91dGVdPVwiYWRkUm91dGVcIlxyXG4gICAgICAgIChhZGRDbGlja2VkKT1cIm9uQ2xpY2tBZGROZXcoKVwiPjwvZHJvcGRvd24tYWN0aW9ucz5cclxuPC9kaXY+XHJcbiAgIl19
|
|
387
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWdlbmVyYWwtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2xpYi9jaG9vc2UtZ2VuZXJhbC1pdGVtL2Nob29zZS1nZW5lcmFsLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWdlbmVyYWwtaXRlbS9jaG9vc2UtZ2VuZXJhbC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixHQUdsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUUxRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7QUFtQjlFLE1BQU0sT0FBTywwQkFBMEI7SUFtRDNCO0lBQ0E7SUFDQTtJQW5EVixVQUFVLEdBQVcsYUFBYSxDQUFDLGdCQUFnQixDQUFDO0lBQ3BELFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDbEIsS0FBSyxDQUFRO0lBQ2IsS0FBSyxHQUFXLE9BQU8sQ0FBQztJQUN4QixRQUFRLEdBQVcsTUFBTSxDQUFDO0lBQzFCLFdBQVcsQ0FBUztJQUNwQixPQUFPLENB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dG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTkdfVkFMSURBVE9SUyxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBWYWxpZGF0aW9uRXJyb3JzLFxyXG4gIFZhbGlkYXRvcixcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IENoaXBJbnB1dFR5cGUgfSBmcm9tICdAam9vbGVyL3NoYXJlZC1nZW5lcmFsLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2hvb3NlSXRlbUZ1bGxPYmplY3RDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2Nob29zZS1pdGVtLWZ1bGwtb2JqZWN0LWNvbnRyb2wtY29uZmlnLmVudW0nO1xyXG5pbXBvcnQgeyBMYWJlbEFuZEZpZWxkIH0gZnJvbSAnLi4vbW9kZWxzL2xhYmVsLWFuZC1maWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IFByaW1hcnlDb2xvcnMgfSBmcm9tICcuLi9wcmltYXJ5LWNvbG9ycyc7XHJcbmltcG9ydCB7IENob29zZUdlbmVyYWxJdGVtU2VydmljZSB9IGZyb20gJy4vY2hvb3NlLWdlbmVyYWwtaXRlbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hvb3NlT2JqZWN0QmFzaWNUZW1wbGF0ZSB9IGZyb20gJy4vY2hvb3NlLW9iamVjdC1iYXNpYy10ZW1wbGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IENob29zZU9iamVjdFRlbXBsYXRlVHlwZSB9IGZyb20gJy4vY2hvb3NlLW9iamVjdC10ZW1wbGF0ZS10eXBlLmVudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjaG9vc2UtZ2VuZXJhbC1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hvb3NlLWdlbmVyYWwtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hvb3NlLWdlbmVyYWwtaXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hvb3NlR2VuZXJhbEl0ZW1Db21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBDaG9vc2VHZW5lcmFsSXRlbUNvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaG9vc2VHZW5lcmFsSXRlbUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIFZhbGlkYXRvciwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHByaW1hcnlSZWQ6IHN0cmluZyA9IFByaW1hcnlDb2xvcnMuJHByaW1hcnlSZWRDb2xvcjtcclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpdGVtczogYW55W107XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICdsYWJlbCc7XHJcbiAgQElucHV0KCkgYXBwZW5kVG86IHN0cmluZyA9ICdib2R5JztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFwaVBhdGg6IHN0cmluZztcclxuICBASW5wdXQoKSBpc011bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGlkZVNlbGVjdGVkSXRlbTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBvYmplY3RzOiBMYWJlbEFuZEZpZWxkW107XHJcbiAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VwYXJhdG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcclxuICBASW5wdXQoKSBpc0NoaXA6IEJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1R5cGVEYXRlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGNoaXBDb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcclxuICBASW5wdXQoKSBjaGlwVGV4dENvbG9yOiBzdHJpbmcgPSAnd2hpdGUnO1xyXG4gIEBJbnB1dCgpIGNoaXBXaWR0aDogbnVtYmVyID0gMTE7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtSWQ6IG51bWJlciB8IG51bWJlcltdO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHJlYWRPbmx5OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHVzZUZ1bGxPYmplY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93QWRkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlhbG9nQ29tcG9uZW50Q2xhc3M6IGFueTtcclxuICBASW5wdXQoKSBzaG93RGlhbG9nRGVmYXVsdEJ1dHRvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBkaWFsb2dDb21wb25lbnRJbnB1dHM6IGFueSA9IHtcclxuICAgIGlzRGlhbG9nOiB0cnVlLFxyXG4gIH07XHJcbiAgQElucHV0KCkgYmluZFZhbHVlS2V5OiBzdHJpbmcgfCBudWxsID0gJ2lkJzsgLy8gb3IgbnVsbCBmb3IgZnVsbCBvYmplY3RcclxuICBASW5wdXQoKSBhZGRSb3V0ZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNhbkFjdGlvbnNSb3V0ZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkaWFsb2dUaXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsZWFyYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgZmlsdGVyUGFyYW1zOiBhbnk7XHJcbiAgQElucHV0KCkgdGVtcGxhdGVUeXBlOiBDaG9vc2VPYmplY3RUZW1wbGF0ZVR5cGUgPSBDaG9vc2VPYmplY3RUZW1wbGF0ZVR5cGUuREVGQVVMVDtcclxuICBASW5wdXQoKSBiYXNpY1RlbXBsYXRlRGF0YTogQ2hvb3NlT2JqZWN0QmFzaWNUZW1wbGF0ZTtcclxuICBASW5wdXQoKSBjb250ZW50UHJvamVjdGlvbkxhYmVsS2V5OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZnVsbE9iamVjdENvbnRyb2xDb25maWc6IENob29zZUl0ZW1GdWxsT2JqZWN0Q29udHJvbENvbmZpZyA9XHJcbiAgICBDaG9vc2VJdGVtRnVsbE9iamVjdENvbnRyb2xDb25maWcuSUQ7XHJcbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAQ29udGVudENoaWxkKCdjdXN0b21PcHRpb24nKSBjdXN0b21PcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQ2hvb3NlT2JqZWN0VGVtcGxhdGVUeXBlID0gQ2hvb3NlT2JqZWN0VGVtcGxhdGVUeXBlO1xyXG4gIGNoaXBJbnB1dFR5cGVzID0gQ2hpcElucHV0VHlwZTtcclxuICBwcml2YXRlIGZldGNoVHJpZ2dlciQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgcHJpdmF0ZSBmZXRjaFN1Yj86IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9DaG9vc2VHZW5lcmFsSXRlbVNlcnZpY2U6IENob29zZUdlbmVyYWxJdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50ZW1wbGF0ZVR5cGUgPT0gQ2hvb3NlT2JqZWN0VGVtcGxhdGVUeXBlLkJBU0lDKSB7XHJcbiAgICAgIHRoaXMuc2V0dXBCYXNpY1RlbXBsYXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5mZXRjaFRyaWdnZXIkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRhcCgoKSA9PiAodGhpcy5pc0xvYWRpbmcgPSB0cnVlKSksXHJcbiAgICAgICAgc3dpdGNoTWFwKCh7IGFwaVBhdGgsIGZpbHRlclBhcmFtcyB9KSA9PlxyXG4gICAgICAgICAgdGhpcy5fQ2hvb3NlR2VuZXJhbEl0ZW1TZXJ2aWNlLmdldERhdGEoYXBpUGF0aCwgZmlsdGVyUGFyYW1zKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMuaXRlbXMgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJyZXNwb25zZTogaXRlbXMgZnJvbSAnXCIsIHRoaXMuYXBpUGF0aCwgXCInIGZvdW5kOiBcIiwgdGhpcy5pdGVtcyk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0cmlnZ2VyRmV0Y2goKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmZldGNoVHJpZ2dlciQubmV4dCh7XHJcbiAgICAgIGFwaVBhdGg6IHRoaXMuYXBpUGF0aCxcclxuICAgICAgZmlsdGVyUGFyYW1zOiB0aGlzLmZpbHRlclBhcmFtcyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0dXBCYXNpY1RlbXBsYXRlKCkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdjaGFuZ2VzOiAnLCBjaGFuZ2VzKTtcclxuICAgIHRoaXMudmFsaWRhdGVJbnB1dHMoY2hhbmdlcyk7XHJcbiAgICBpZiAodGhpcy5zaG93QWRkKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGVBZGRDb25maWd1cmF0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gMe+4j+KDoyBNYW51YWxseSBhc3NpZ24gaW5wdXQgdXBkYXRlcyBpbW1lZGlhdGVseVxyXG4gICAgaWYgKGNoYW5nZXNbJ2ZpbHRlclBhcmFtcyddKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyUGFyYW1zID0gY2hhbmdlc1snZmlsdGVyUGFyYW1zJ10uY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENBU0UgQSDigJQgYXBpUGF0aCBjaGFuZ2VkIGFuZCBpdGVtcyBub3QgcHJvdmlkZWRcclxuICAgIGlmIChjaGFuZ2VzWydhcGlQYXRoJ10gJiYgIWNoYW5nZXNbJ2l0ZW1zJ10pIHtcclxuICAgICAgY29uc3QgbmV3QXBpUGF0aCA9IGNoYW5nZXNbJ2FwaVBhdGgnXS5jdXJyZW50VmFsdWU7XHJcblxyXG4gICAgICAvLyBJZiBhcGlQYXRoIGJlY29tZXMgdW5kZWZpbmVkIOKGkiB0ZWFyIGRvd24gc3Vic2NyaXB0aW9uXHJcbiAgICAgIGlmICghbmV3QXBpUGF0aCkge1xyXG4gICAgICAgIHRoaXMuY2xlYW51cEZldGNoU3Vic2NyaXB0aW9uKCk7XHJcbiAgICAgICAgcmV0dXJuOyAvLyBEbyBOT1Qgc3Vic2NyaWJlIGFuZCBkbyBOT1QgZmV0Y2hcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gYXBpUGF0aCBpcyBub3cgZGVmaW5lZCDihpIgY3JlYXRlIHN1YnNjcmlwdGlvbiBpZiBtaXNzaW5nXHJcbiAgICAgIGlmICghdGhpcy5mZXRjaFN1Yikge1xyXG4gICAgICAgIHRoaXMuc2V0dXBGZXRjaFN1YnNjcmlwdGlvbigpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBBbmQgdHJpZ2dlciB0aGUgZmV0Y2ggaWYgaXRlbXMgbm90IHByb3ZpZGVkXHJcbiAgICAgIGlmICghdGhpcy5pdGVtcyAmJiB0aGlzLmZldGNoU3ViKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0ZFVFRDQ0hOTkcgMycpO1xyXG4gICAgICAgIHRoaXMudHJpZ2dlckZldGNoKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBDQVNFIEIg4oCUIFBhcmVudCBwYXNzZWQgaXRlbXMg4oaSIHVzZSB0aGVtIGFuZCBuZXZlciBmZXRjaFxyXG4gICAgaWYgKGNoYW5nZXNbJ2l0ZW1zJ10pIHtcclxuICAgICAgaWYgKGNoYW5nZXNbJ2l0ZW1zJ10uY3VycmVudFZhbHVlICYmIGNoYW5nZXNbJ2l0ZW1zJ10uY3VycmVudFZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXRlbXMgPSBjaGFuZ2VzWydpdGVtcyddLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBGUk9NIEhFUkUg4oaSIGl0ZW1zIGlzIG5vdCBwcm92aWRlZCDihpIgYmFja2VuZCBmZXRjaCByZXF1aXJlZFxyXG4gICAgLy8gQ0FTRSBDIOKAlCBpbml0aWFsIGxvYWQgKGl0ZW1zIG1pc3NpbmcpXHJcbiAgICBpZiAoY2hhbmdlc1snaXRlbXMnXSAmJiAhY2hhbmdlc1snaXRlbXMnXS5jdXJyZW50VmFsdWUgJiYgdGhpcy5mZXRjaFN1Yikge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnRkVUVENDSE5ORyAxJyk7XHJcbiAgICAgIHRoaXMudHJpZ2dlckZldGNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ0FTRSBEIOKAlCBmaWx0ZXJQYXJhbXMgY2hhbmdlZCBhbmQgaXRlbXMgbm90IHByb3ZpZGVkXHJcbiAgICBpZiAoY2hhbmdlc1snZmlsdGVyUGFyYW1zJ10gJiYgdGhpcy5mZXRjaFN1Yikge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnRkVUVENDSE5ORyAyJyk7XHJcblxyXG4gICAgICB0aGlzLnRyaWdnZXJGZXRjaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgc2V0dXBGZXRjaFN1YnNjcmlwdGlvbigpIHtcclxuICAgIHRoaXMuZmV0Y2hTdWIgPSB0aGlzLmZldGNoVHJpZ2dlciRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKHRyaWdnZXIgPT4gdHJpZ2dlciAhPT0gbnVsbCksXHJcbiAgICAgICAgdGFwKCgpID0+ICh0aGlzLmlzTG9hZGluZyA9IHRydWUpKSxcclxuICAgICAgICBzd2l0Y2hNYXAoKHsgYXBpUGF0aCwgZmlsdGVyUGFyYW1zIH0pID0+XHJcbiAgICAgICAgICB0aGlzLl9DaG9vc2VHZW5lcmFsSXRlbVNlcnZpY2UuZ2V0RGF0YShhcGlQYXRoLCBmaWx0ZXJQYXJhbXMpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgdGhpcy5pdGVtcyA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZygnZmV0Y2hlZCBpdGVtcyBmcm9tICcsIHRoaXMuYXBpUGF0aCwgZGF0YSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHZhbGlkYXRlQWRkQ29uZmlndXJhdGlvbigpIHtcclxuICAgIGlmIChcclxuICAgICAgKHRoaXMuYWRkUm91dGUgPT0gJycgfHwgdGhpcy5hZGRSb3V0ZSA9PSBudWxsIHx8IHRoaXMuYWRkUm91dGUgPT0gdW5kZWZpbmVkKSAmJlxyXG4gICAgICAodGhpcy5kaWFsb2dDb21wb25lbnRDbGFzcyA9PSBudWxsIHx8IHRoaXMuZGlhbG9nQ29tcG9uZW50Q2xhc3MgPT0gdW5kZWZpbmVkKVxyXG4gICAgKSB7XHJcbiAgICAgIHRocm93IEVycm9yKFxyXG4gICAgICAgICdTaG93aW5nIHRoZSBhZGQgYnV0dG9uIHJlcXVpcmVzIGVpdGhlciBhIHJvdXRlIGZvciB0aGUgYWRkIGJ1dHRvbiB0byByb3V0ZSB0bywgb3IgYSBjb21wb25lbnQgY2xhc3MgZm9yIGEgZGlhbG9nIHRvIG9wZW4gdXAgd2l0aCB0aGF0IGNvbXBvbmVudC4nXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKGl0ZW06IGFueSkge1xyXG4gICAgaWYgKGl0ZW0gIT0gdW5kZWZpbmVkIHx8IGl0ZW0gIT0gbnVsbCkge1xyXG4gICAgICBpZiAoIXRoaXMudXNlRnVsbE9iamVjdCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtSWQgPSBpdGVtO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbUlkID0gaXRlbS5tYXAoaXRlbSA9PiBpdGVtLmlkKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1JZCA9IGl0ZW0uaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbUlkID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5wcm9wb2dhdGVUb3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcbiAgcHJpdmF0ZSBwcm9wb2dhdGVUb3VjaCA9ICgpID0+IHsgfTtcclxuICBwcml2YXRlIG9uVmFsaWRhdGlvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICB1cGRhdGVCbHVyKCkge1xyXG4gICAgdGhpcy5wcm9wb2dhdGVUb3VjaCgpO1xyXG4gICAgdGhpcy5ibHVyLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0ZWRJdGVtQ2hhbmdlZCgkZXZlbnQpIHtcclxuICAgIGxldCB2YWx1ZVRvUHJvcGFnYXRlOiBhbnk7XHJcbiAgICBpZiAodGhpcy5mdWxsT2JqZWN0Q29udHJvbENvbmZpZyA9PSBDaG9vc2VJdGVtRnVsbE9iamVjdENvbnRyb2xDb25maWcuSUQpIHtcclxuICAgICAgdmFsdWVUb1Byb3BhZ2F0ZSA9IHRoaXMuc2VsZWN0ZWRJdGVtSWQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZnVsbE9iamVjdENvbnRyb2xDb25maWcgPT0gQ2hvb3NlSXRlbUZ1bGxPYmplY3RDb250cm9sQ29uZmlnLk9CSkVDVCkge1xyXG4gICAgICB2YWx1ZVRvUHJvcGFnYXRlID0gJGV2ZW50O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ0Nob29zZUl0ZW1GdWxsT2JqZWN0Q29udHJvbENvbmZpZyBpcyBub3QgcmVjb2duaXplZC4nKTtcclxuICAgIH1cclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHZhbHVlVG9Qcm9wYWdhdGUpO1xyXG4gICAgdGhpcy5jaGFuZ2UuZW1pdCgkZXZlbnQpO1xyXG4gICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlSW5wdXRzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChcclxuICAgICAgY2hhbmdlcy5hcGlQYXRoICYmXHJcbiAgICAgIGNoYW5nZXMuYXBpUGF0aC5jdXJyZW50VmFsdWUgJiZcclxuICAgICAgY2hhbmdlcy5pdGVtcyAmJlxyXG4gICAgICBjaGFuZ2VzLml0ZW1zLmN1cnJlbnRWYWx1ZVxyXG4gICAgKSB7XHJcbiAgICAgIHRocm93IEVycm9yKCdCb3RoIGFuIEFQSSBwYXRoIGFuZCBhbiBpdGVtcyBsaXN0IHdhcyBwcm92aWRlZC4nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldERhdGEoKSB7XHJcbiAgICBpZiAodGhpcy5hcGlQYXRoKSB7XHJcbiAgICAgIHRoaXMuX0Nob29zZUdlbmVyYWxJdGVtU2VydmljZS5nZXREYXRhKHRoaXMuYXBpUGF0aCwgdGhpcy5maWx0ZXJQYXJhbXMpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnlbXSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pdGVtcyA9IHJlc3BvbnNlO1xyXG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFwicmVzcG9uc2U6IGl0ZW1zIGZyb20gJ1wiLCB0aGlzLmFwaVBhdGgsIFwiJyBmb3VuZDogXCIsIHRoaXMuaXRlbXMpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IGVycm9yID0+IGNvbnNvbGUuZXJyb3IoJ2Vycm9yJywgZXJyb3IpLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFdpZHRoKCkge1xyXG4gICAgbGV0IHN0eWxlID0ge307XHJcbiAgICBpZiAodGhpcy53aWR0aCkge1xyXG4gICAgICBzdHlsZSA9IHtcclxuICAgICAgICB3aWR0aDogdGhpcy53aWR0aCArICdyZW0nLFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3R5bGUgPSB7XHJcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdHlsZTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tBZGROZXcoKSB7XHJcbiAgICBjb25zb2xlLmxvZygnRFlOQU1JQyBESUFMT0cgTk9UIElNUExFTUVOVEVEIElOIExJQlJBUlkgWUVUJyk7XHJcblxyXG4gICAgLy8gQWRkIGR5bmFtaWMgZGlhbG9nIGxhdGVyXHJcbiAgICAvLyBsZXQgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEeW5hbWljRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAvLyAgIHBhbmVsQ2xhc3M6ICdjdXN0b20tZGlhbG9nLXBhZGRpbmcnLFxyXG4gICAgLy8gICB3aWR0aDogJzkwJScsXHJcbiAgICAvLyAgIG1pbldpZHRoOiAnOTAlJyxcclxuICAgIC8vICAgbWF4SGVpZ2h0OiAnOTB2aCcsXHJcbiAgICAvLyAgIGRhdGE6IHtcclxuICAgIC8vICAgICBjb21wb25lbnQ6IHRoaXMuZGlhbG9nQ29tcG9uZW50Q2xhc3MsXHJcbiAgICAvLyAgICAgc2hvd0RlZmF1bHRCdXR0b25zOiB0aGlzLnNob3dEaWFsb2dEZWZhdWx0QnV0dG9ucyxcclxuICAgIC8vICAgICB0aXRsZTogdGhpcy5kaWFsb2dUaXRsZSxcclxuICAgIC8vICAgICBpbnB1dHM6IHRoaXMuZGlhbG9nQ29tcG9uZW50SW5wdXRzLFxyXG4gICAgLy8gICB9LFxyXG4gICAgLy8gfSk7XHJcblxyXG4gICAgLy8gZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgIC8vICAgaWYgKGRhdGEpIHtcclxuICAgIC8vICAgICBjb25zb2xlLmxvZygnTmV3IGl0ZW0gQWRkZWQ6ICcsIGRhdGEpO1xyXG4gICAgLy8gICAgIHRoaXMuaXRlbXMucHVzaChkYXRhKTtcclxuICAgIC8vICAgICB0aGlzLml0ZW1zID0gWy4uLnRoaXMuaXRlbXNdO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9KTtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlPyhmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYW51cEZldGNoU3Vic2NyaXB0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuZmV0Y2hTdWIpIHtcclxuICAgICAgdGhpcy5mZXRjaFN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB0aGlzLmZldGNoU3ViID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgICBpZiAoY29udHJvbCkge1xyXG4gICAgICBjb25zdCBlcnJvcnMgPSBjb250cm9sLmVycm9ycztcclxuICAgICAgaWYgKGVycm9ycykge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdlcnJvcnNzc3M6ICcsIGVycm9ycyk7XHJcbiAgICAgICAgcmV0dXJuIGVycm9ycztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2VsZWN0XCI+XHJcbiAgICA8bmctc2VsZWN0IFtyZWFkb25seV09XCJyZWFkT25seVwiIFtsb2FkaW5nXT1cImlzTG9hZGluZ1wiIFtoaWRlU2VsZWN0ZWRdPVwiaGlkZVNlbGVjdGVkSXRlbVwiXHJcbiAgICAgICAgW2Nsb3NlT25TZWxlY3RdPVwiIWlzTXVsdGlwbGVcIiBbbmdTdHlsZV09XCJzZXRXaWR0aCgpXCIgY2xhc3M9XCJjb21wb25lbnRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFthcHBlbmRUb109XCJhcHBlbmRUb1wiIGRyb3Bkb3duUG9zaXRpb249XCJib3R0b21cIiAoYmx1cik9XCJ1cGRhdGVCbHVyKClcIiBbYmluZExhYmVsXT1cImxhYmVsXCJcclxuICAgICAgICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZUtleVwiIFtjb21wYXJlV2l0aF09XCJcIiBbaXRlbXNdPVwiaXRlbXNcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwib25TZWxlY3RlZEl0ZW1DaGFuZ2VkKCRldmVudClcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkSXRlbUlkXCIgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxyXG4gICAgICAgIFttdWx0aXBsZV09XCJpc011bHRpcGxlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlVHlwZSA9PSBDaG9vc2VPYmplY3RUZW1wbGF0ZVR5cGUuREVGQVVMVFwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJpc0xvYWRpbmdcIiBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNsZWFyPVwiY2xlYXJcIj4gPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIiBsZXQtc2VhcmNoPVwic2VhcmNoVGVybVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9iamVjdHM7IGVsc2Ugbm9uT2JqZWN0TGFiZWxUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGVtcGxhdGVcIiAqbmdGb3I9XCJsZXQgb2JqZWN0IG9mIG9iamVjdHM7IGxldCBpc0xhc3QgPSBsYXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGVtcGxhdGUtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc2hvd0xhYmVsID8gb2JqZWN0LmxhYmVsICsgJzogJyA6ICcnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1R5cGVEYXRlID8gKGl0ZW1bb2JqZWN0LmZpZWxkXSB8IGRhdGU6ICdtZWRpdW1EYXRlJykgOiBpdGVtW29iamVjdC5maWVsZF1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub25PYmplY3RMYWJlbFRlbXBsYXRlPnt7IGl0ZW0gfX0gPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gT3B0aW9uIFRlbXBsYXRlIC0tPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiIGxldC1zZWFyY2g9XCJzZWFyY2hUZXJtXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JqZWN0czsgZWxzZSBub25PYmplY3RPcHRpb25UZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBvYmplY3Qgb2Ygb2JqZWN0czsgbGV0IGlzTGFzdCA9IGxhc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgc2hvd0xhYmVsID8gb2JqZWN0LmxhYmVsICsgJzogJyA6ICcnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19e3sgaXNUeXBlRGF0ZSA/IChpdGVtW29iamVjdC5maWVsZF0gfCBkYXRlOiAnbWVkaXVtRGF0ZScpIDogaXRlbVtvYmplY3QuZmllbGRdIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vbk9iamVjdE9wdGlvblRlbXBsYXRlPnt7IGl0ZW0gfX0gPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImlzQ2hpcCAmJiAhaXNMb2FkaW5nXCIgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1jbGVhcj1cImNsZWFyXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY2hpcCAobW91c2Vkb3duKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIFtjbGVhcl09XCJjbGVhclwiIFt3aXRoQ3Jvc3NdPVwiaXNNdWx0aXBsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lucHV0VHlwZV09XCJjaGlwSW5wdXRUeXBlcy5DVVNUT01cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtiYWNrZ3JvdW5kQ29sb3JdPVwiaXRlbS5kaXNhYmxlZCA9PSB0cnVlID8gcHJpbWFyeVJlZCA6IGNoaXBDb2xvclwiIFtsYWJlbF09XCJpdGVtW29iamVjdHNbMF0uZmllbGRdXCJcclxuICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJpdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNoaXA+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImlzQ2hpcCAmJiAhaXNMb2FkaW5nXCIgbmctb3B0aW9uLXRtcCBsZXQtY2xlYXI9XCJjbGVhclwiIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNoaXAgKG1vdXNlZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBbd2l0aENyb3NzXT1cImZhbHNlXCIgW2lucHV0VHlwZV09XCJjaGlwSW5wdXRUeXBlcy5DVVNUT01cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtiYWNrZ3JvdW5kQ29sb3JdPVwiaXRlbS5kaXNhYmxlZCA9PSB0cnVlID8gcHJpbWFyeVJlZCA6IGNoaXBDb2xvclwiIFtsYWJlbF09XCJpdGVtW29iamVjdHNbMF0uZmllbGRdXCI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNoaXA+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZVR5cGUgPT0gQ2hvb3NlT2JqZWN0VGVtcGxhdGVUeXBlLkJBU0lDXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNsZWFyPVwiY2xlYXJcIj5cclxuICAgICAgICAgICAgICAgIHt7IGl0ZW1bYmFzaWNUZW1wbGF0ZURhdGEubGFiZWxdIH19XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1jbGVhcj1cImNsZWFyXCIgbGV0LWl0ZW09XCJpdGVtXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQgY2xhc3M9XCJiYXNpYy10ZW1wbGF0ZS1jYXJkXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICd3aXRoLWltYWdlJzogYmFzaWNUZW1wbGF0ZURhdGEuaGFzSW1hZ2UsXHJcbiAgICAgICAgICAgICAgJ3dpdGhvdXQtaW1hZ2UnOiAhYmFzaWNUZW1wbGF0ZURhdGEuaGFzSW1hZ2UsXHJcbiAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UtY29udFwiICpuZ0lmPVwiYmFzaWNUZW1wbGF0ZURhdGEuaGFzSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1haW4taW1hZ2VcIiBbc3JjXT1cIml0ZW1bYmFzaWNUZW1wbGF0ZURhdGEuaW1hZ2VdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uZXJyb3I9XCJ0aGlzLnNyYz0nLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9kZWZhdWx0SW1hZ2UuanBnJztcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW1bYmFzaWNUZW1wbGF0ZURhdGEudGl0bGVdIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VidGl0bGUtc3R5bGVcIiAqbmdJZj1cImJhc2ljVGVtcGxhdGVEYXRhLmhhc1N1YnRpdGxlT25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtW2Jhc2ljVGVtcGxhdGVEYXRhLnN1YnRpdGxlT25lXSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJiYXNpY1RlbXBsYXRlRGF0YS5oYXNTdWJ0aXRsZVR3b1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29sLWRpdmlkZXJcIj4gfCA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbVtiYXNpY1RlbXBsYXRlRGF0YS5zdWJ0aXRsZVR3b10gfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiICpuZ0lmPVwiYmFzaWNUZW1wbGF0ZURhdGEuaGFzRGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW1bYmFzaWNUZW1wbGF0ZURhdGEuZGVzY3JpcHRpb25dIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtY2FyZD5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGVtcGxhdGVUeXBlID09IENob29zZU9iamVjdFRlbXBsYXRlVHlwZS5DT05URU5UX1BST0pFQ1RJT05cIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaXNMb2FkaW5nXCIgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1jbGVhcj1cImNsZWFyXCI+IDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCIgbGV0LXNlYXJjaD1cInNlYXJjaFRlcm1cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRlbXBsYXRlLWl0ZW1cIj4ge3sgaXRlbVtjb250ZW50UHJvamVjdGlvbkxhYmVsS2V5XSB9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICA8IS0tIE9wdGlvbiBUZW1wbGF0ZSAtLT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIiBsZXQtc2VhcmNoPVwic2VhcmNoVGVybVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21PcHRpb25UZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctc2VsZWN0PlxyXG4gICAgPGRyb3Bkb3duLWFjdGlvbnMgKm5nSWY9XCJzaG93QWRkXCIgW2NhblJvdXRlXT1cImNhbkFjdGlvbnNSb3V0ZVwiIFtyb3V0ZV09XCJhZGRSb3V0ZVwiXHJcbiAgICAgICAgKGFkZENsaWNrZWQpPVwib25DbGlja0FkZE5ldygpXCI+PC9kcm9wZG93bi1hY3Rpb25zPlxyXG48L2Rpdj5cclxuICAiXX0=
|
|
@@ -4,4 +4,4 @@ export var ChooseObjectBasicTemplateLabelField;
|
|
|
4
4
|
ChooseObjectBasicTemplateLabelField[ChooseObjectBasicTemplateLabelField["SUBTITLE_ONE"] = 1] = "SUBTITLE_ONE";
|
|
5
5
|
ChooseObjectBasicTemplateLabelField[ChooseObjectBasicTemplateLabelField["SUBTITLE_TWO"] = 2] = "SUBTITLE_TWO";
|
|
6
6
|
})(ChooseObjectBasicTemplateLabelField || (ChooseObjectBasicTemplateLabelField = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLW9iamVjdC1iYXNpYy10ZW1wbGF0ZS1sYWJlbC1maWVsZC5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWdlbmVyYWwtaXRlbS9jaG9vc2Utb2JqZWN0LWJhc2ljLXRlbXBsYXRlLWxhYmVsLWZpZWxkLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUNBSVg7QUFKRCxXQUFZLG1DQUFtQztJQUM3QywrRkFBUyxDQUFBO0lBQ1QsNkdBQWdCLENBQUE7SUFDaEIsNkdBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQUpXLG1DQUFtQyxLQUFuQyxtQ0FBbUMsUUFJOUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDaG9vc2VPYmplY3RCYXNpY1RlbXBsYXRlTGFiZWxGaWVsZCB7XHJcbiAgVElUTEUgPSAwLFxyXG4gIFNVQlRJVExFX09ORSA9IDEsXHJcbiAgU1VCVElUTEVfVFdPID0gMixcclxufVxyXG4iXX0=
|
|
@@ -64,4 +64,4 @@ export class ChooseObjectBasicTemplate {
|
|
|
64
64
|
return label;
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLW9iamVjdC1iYXNpYy10ZW1wbGF0ZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvbGliL2Nob29zZS1nZW5lcmFsLWl0ZW0vY2hvb3NlLW9iamVjdC1iYXNpYy10ZW1wbGF0ZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUV0RyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLEtBQUssQ0FBUztJQUNkLFdBQVcsQ0FBUztJQUNwQixXQUFXLENBQVM7SUFDcEIsV0FBVyxDQUFTO0lBQ3BCLEtBQUssQ0FBUztJQUNkLFVBQVUsQ0FBc0M7SUFFaEQsWUFDRSxLQUFhLEVBQ2IsV0FBb0IsRUFDcEIsV0FBb0IsRUFDcEIsV0FBb0IsRUFDcEIsS0FBYyxFQUNkLGFBQWtELG1DQUFtQyxDQUFDLEtBQUs7UUFFM0YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsSUFBSSxLQUFhLENBQUM7UUFDbEIsUUFBUSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3ZCLEtBQUssbUNBQW1DLENBQUMsWUFBWTtnQkFDbkQsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3pCLE1BQU07WUFDUixLQUFLLG1DQUFtQyxDQUFDLFlBQVk7Z0JBQ25ELEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUN6QixNQUFNO1lBQ1IsS0FBSyxtQ0FBbUMsQ0FBQyxLQUFLO2dCQUM1QyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDbkIsTUFBTTtZQUNSO2dCQUNFLE1BQU0sS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7U0FDekU7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENob29zZU9iamVjdEJhc2ljVGVtcGxhdGVMYWJlbEZpZWxkIH0gZnJvbSAnLi9jaG9vc2Utb2JqZWN0LWJhc2ljLXRlbXBsYXRlLWxhYmVsLWZpZWxkLmVudW0nO1xyXG5cclxuZXhwb3J0IGNsYXNzIENob29zZU9iamVjdEJhc2ljVGVtcGxhdGUge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgc3VidGl0bGVPbmU6IHN0cmluZztcclxuICBzdWJ0aXRsZVR3bzogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgaW1hZ2U6IHN0cmluZztcclxuICB1c2VBc0xhYmVsOiBDaG9vc2VPYmplY3RCYXNpY1RlbXBsYXRlTGFiZWxGaWVsZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgc3VidGl0bGVPbmU/OiBzdHJpbmcsXHJcbiAgICBzdWJ0aXRsZVR3bz86IHN0cmluZyxcclxuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nLFxyXG4gICAgaW1hZ2U/OiBzdHJpbmcsXHJcbiAgICB1c2VBc0xhYmVsOiBDaG9vc2VPYmplY3RCYXNpY1RlbXBsYXRlTGFiZWxGaWVsZCA9IENob29zZU9iamVjdEJhc2ljVGVtcGxhdGVMYWJlbEZpZWxkLlRJVExFXHJcbiAgKSB7XHJcbiAgICB0aGlzLnRpdGxlID0gdGl0bGU7XHJcbiAgICB0aGlzLnN1YnRpdGxlT25lID0gc3VidGl0bGVPbmU7XHJcbiAgICB0aGlzLnN1YnRpdGxlVHdvID0gc3VidGl0bGVUd287XHJcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XHJcbiAgICB0aGlzLmltYWdlID0gaW1hZ2U7XHJcbiAgICB0aGlzLnVzZUFzTGFiZWwgPSB1c2VBc0xhYmVsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc1N1YnRpdGxlT25lKCkge1xyXG4gICAgaWYgKHRoaXMuc3VidGl0bGVPbmUpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzU3VidGl0bGVUd28oKSB7XHJcbiAgICBpZiAodGhpcy5zdWJ0aXRsZVR3bykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBoYXNEZXNjcmlwdGlvbigpIHtcclxuICAgIGlmICh0aGlzLmRlc2NyaXB0aW9uKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0ltYWdlKCkge1xyXG4gICAgaWYgKHRoaXMuaW1hZ2UpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgbGFiZWwoKSB7XHJcbiAgICBsZXQgbGFiZWw6IHN0cmluZztcclxuICAgIHN3aXRjaCAodGhpcy51c2VBc0xhYmVsKSB7XHJcbiAgICAgIGNhc2UgQ2hvb3NlT2JqZWN0QmFzaWNUZW1wbGF0ZUxhYmVsRmllbGQuU1VCVElUTEVfT05FOlxyXG4gICAgICAgIGxhYmVsID0gdGhpcy5zdWJ0aXRsZU9uZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDaG9vc2VPYmplY3RCYXNpY1RlbXBsYXRlTGFiZWxGaWVsZC5TVUJUSVRMRV9UV086XHJcbiAgICAgICAgbGFiZWwgPSB0aGlzLnN1YnRpdGxlVHdvO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENob29zZU9iamVjdEJhc2ljVGVtcGxhdGVMYWJlbEZpZWxkLlRJVExFOlxyXG4gICAgICAgIGxhYmVsID0gdGhpcy50aXRsZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aHJvdyBFcnJvcignQ2hvb3NlT2JqZWN0QmFzaWNUZW1wbGF0ZUxhYmVsRmllbGQgaXMgbm90IHJlY29nbml6ZWQuJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbGFiZWw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -4,4 +4,4 @@ export var ChooseObjectTemplateType;
|
|
|
4
4
|
ChooseObjectTemplateType[ChooseObjectTemplateType["BASIC"] = 1] = "BASIC";
|
|
5
5
|
ChooseObjectTemplateType[ChooseObjectTemplateType["CONTENT_PROJECTION"] = 2] = "CONTENT_PROJECTION";
|
|
6
6
|
})(ChooseObjectTemplateType || (ChooseObjectTemplateType = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLW9iamVjdC10ZW1wbGF0ZS10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2xpYi9jaG9vc2UtZ2VuZXJhbC1pdGVtL2Nob29zZS1vYmplY3QtdGVtcGxhdGUtdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHdCQUlYO0FBSkQsV0FBWSx3QkFBd0I7SUFDbEMsNkVBQVcsQ0FBQTtJQUNYLHlFQUFTLENBQUE7SUFDVCxtR0FBc0IsQ0FBQTtBQUN4QixDQUFDLEVBSlcsd0JBQXdCLEtBQXhCLHdCQUF3QixRQUluQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENob29zZU9iamVjdFRlbXBsYXRlVHlwZSB7XHJcbiAgREVGQVVMVCA9IDAsXHJcbiAgQkFTSUMgPSAxLFxyXG4gIENPTlRFTlRfUFJPSkVDVElPTiA9IDIsXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWdlbmVyYWwtaXRlbS1yZW5kZXJlci1jaGFuZ2UtZXZlbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWdlbmVyYWwtaXRlbS1yZW5kZXJlci9jaG9vc2UtZ2VuZXJhbC1pdGVtLXJlbmRlcmVyLWNoYW5nZS1ldmVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm93Tm9kZSB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hvb3NlR2VuZXJhbEl0ZW1SZW5kZXJlckNoYW5nZUV2ZW50IHtcclxuICBjb2xJZDogc3RyaW5nO1xyXG4gIHJvd05vZGU6IFJvd05vZGU7XHJcbiAgdmFsdWU6IG51bWJlcjtcclxuICBvYmplY3Q6IGFueTtcclxuICBsaW5lRm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var ChooseItemRendererValidationType;
|
|
2
|
+
(function (ChooseItemRendererValidationType) {
|
|
3
|
+
ChooseItemRendererValidationType[ChooseItemRendererValidationType["NONE"] = 0] = "NONE";
|
|
4
|
+
ChooseItemRendererValidationType[ChooseItemRendererValidationType["ROW_LEVEL_UNIQUE"] = 1] = "ROW_LEVEL_UNIQUE";
|
|
5
|
+
})(ChooseItemRendererValidationType || (ChooseItemRendererValidationType = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWdlbmVyYWwtaXRlbS1yZW5kZXJlci12YWxpZGF0aW9uLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvbGliL2Nob29zZS1nZW5lcmFsLWl0ZW0tcmVuZGVyZXIvY2hvb3NlLWdlbmVyYWwtaXRlbS1yZW5kZXJlci12YWxpZGF0aW9uLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQ0FHWDtBQUhELFdBQVksZ0NBQWdDO0lBQzFDLHVGQUFRLENBQUE7SUFDUiwrR0FBb0IsQ0FBQTtBQUN0QixDQUFDLEVBSFcsZ0NBQWdDLEtBQWhDLGdDQUFnQyxRQUczQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENob29zZUl0ZW1SZW5kZXJlclZhbGlkYXRpb25UeXBlIHtcclxuICBOT05FID0gMCxcclxuICBST1dfTEVWRUxfVU5JUVVFID0gMSxcclxufVxyXG4iXX0=
|
|
@@ -1,37 +1,131 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
|
+
import { ChooseObjectTemplateType } from '../choose-general-item/choose-object-template-type.enum';
|
|
3
|
+
import { ChooseItemRendererValidationType } from './choose-general-item-renderer-validation-type.enum';
|
|
2
4
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
import * as i3 from "../choose-general-item/choose-general-item.component";
|
|
8
|
+
import * as i4 from "../formcontrol-validation-msg-for-ng-select.directive";
|
|
9
|
+
import * as i5 from "../tooltip-msg-error/tooltip-msg-error.component";
|
|
4
10
|
export class ChooseGeneralItemRendererComponent {
|
|
5
|
-
|
|
6
|
-
|
|
11
|
+
arrayKey = 'entries';
|
|
12
|
+
formGroup;
|
|
13
|
+
items;
|
|
7
14
|
key;
|
|
8
|
-
|
|
9
|
-
|
|
15
|
+
params;
|
|
16
|
+
validationType = ChooseItemRendererValidationType.NONE;
|
|
17
|
+
validationTypes = ChooseItemRendererValidationType;
|
|
18
|
+
clearable = true;
|
|
19
|
+
templateType = ChooseObjectTemplateType.DEFAULT;
|
|
20
|
+
basicTemplateData;
|
|
21
|
+
valueToBind = 'id'; // or null for full object
|
|
22
|
+
showDropdown = true;
|
|
10
23
|
constructor() { }
|
|
11
24
|
agInit(params) {
|
|
12
25
|
this.params = params;
|
|
13
|
-
|
|
26
|
+
if (params.context.arrayKey) {
|
|
27
|
+
this.arrayKey = params.context.arrayKey;
|
|
28
|
+
}
|
|
29
|
+
this.setupRenderer(params);
|
|
30
|
+
this.formGroup = params.context.formGroup.get(this.arrayKey).at(params.node.rowIndex);
|
|
14
31
|
this.key = params.context.createKey(params.columnApi, params.column);
|
|
15
|
-
this.rowId = params.node.id;
|
|
16
32
|
}
|
|
17
33
|
onCellDataChanged($event) {
|
|
18
|
-
let
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
34
|
+
let object = $event;
|
|
35
|
+
this.formGroup.get(this.key);
|
|
36
|
+
let rowNode = this.params.node;
|
|
37
|
+
let valueToBind;
|
|
38
|
+
if (this.valueToBind === null) {
|
|
39
|
+
// Case 1: Bind the entire object
|
|
40
|
+
valueToBind = object;
|
|
41
|
+
}
|
|
42
|
+
else if (this.valueToBind && object) {
|
|
43
|
+
// Case 2: Bind a specific property using dynamic access
|
|
44
|
+
valueToBind = object[this.valueToBind];
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// Case 3: Handle null/cleared selection
|
|
48
|
+
valueToBind = null;
|
|
49
|
+
}
|
|
50
|
+
rowNode.setDataValue(this.key, valueToBind);
|
|
51
|
+
if (this.params.onCellValueChanged instanceof Function) {
|
|
52
|
+
const params = {
|
|
53
|
+
value: object?.[this.valueToBind],
|
|
54
|
+
object: object,
|
|
55
|
+
rowNode: rowNode,
|
|
56
|
+
colId: this.params.column.colId,
|
|
57
|
+
lineFormGroup: this.params.context.formGroup.get(this.arrayKey).at(rowNode.rowIndex),
|
|
58
|
+
};
|
|
59
|
+
this.params.onCellValueChanged(params);
|
|
60
|
+
}
|
|
61
|
+
if (this.validationType == ChooseItemRendererValidationType.ROW_LEVEL_UNIQUE) {
|
|
62
|
+
this.setRowLevelUniqueItems(this.params);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
setupRenderer(params) {
|
|
66
|
+
if (params.showDropdown === true || params.showDropdown === false) {
|
|
67
|
+
this.showDropdown = params.showDropdown;
|
|
68
|
+
}
|
|
69
|
+
if (params.bindValueKey != undefined) {
|
|
70
|
+
this.valueToBind = params.bindValueKey;
|
|
71
|
+
}
|
|
72
|
+
if (params.clearable != null && params.clearable != undefined) {
|
|
73
|
+
this.clearable = params.clearable;
|
|
74
|
+
}
|
|
75
|
+
if (params.templateType) {
|
|
76
|
+
this.templateType = params.templateType;
|
|
77
|
+
}
|
|
78
|
+
if (params.basicTemplateData) {
|
|
79
|
+
this.basicTemplateData = params.basicTemplateData;
|
|
80
|
+
}
|
|
81
|
+
if (params.chooseItemValidationType != null && params.chooseItemValidationType != undefined) {
|
|
82
|
+
this.validationType = params.chooseItemValidationType;
|
|
83
|
+
}
|
|
84
|
+
if (this.validationType == ChooseItemRendererValidationType.ROW_LEVEL_UNIQUE) {
|
|
85
|
+
this.setRowLevelUniqueItems(params);
|
|
86
|
+
}
|
|
87
|
+
else if (this.validationType == ChooseItemRendererValidationType.NONE) {
|
|
88
|
+
this.setAllItems(params);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
throw Error('ChooseGeneralItemRendererValidationType is not recognized.');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
setAllItems(params) {
|
|
95
|
+
if (params.items) {
|
|
96
|
+
this.items = params.items;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
setRowLevelUniqueItems(params) {
|
|
100
|
+
let items;
|
|
101
|
+
if (params.items) {
|
|
102
|
+
items = params.items;
|
|
103
|
+
if (params.value && !items.includes(item => item?.[this.valueToBind] !== params.value)) {
|
|
104
|
+
let appendedItems = [...items];
|
|
105
|
+
appendedItems.push(params.allItems.find(item => item?.[this.valueToBind] === params.value));
|
|
106
|
+
items = appendedItems;
|
|
107
|
+
}
|
|
108
|
+
this.items = items;
|
|
109
|
+
}
|
|
26
110
|
}
|
|
27
111
|
refresh(params) {
|
|
112
|
+
this.formGroup = this.params.context.formGroup.get(this.arrayKey).at(params.node.rowIndex);
|
|
113
|
+
this.setupRenderer(params);
|
|
28
114
|
return true;
|
|
29
115
|
}
|
|
116
|
+
get showError() {
|
|
117
|
+
if (this.formGroup.get(this.key).errors && this.formGroup.get(this.key).touched) {
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
30
124
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChooseGeneralItemRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChooseGeneralItemRendererComponent, selector: "choose-general-item-renderer", ngImport: i0, template: "<choose-general-item [label]=\"params.label\" [appendTo]=\"'body'\" [placeholder]=\"params.placeholder\"\r\n
|
|
125
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChooseGeneralItemRendererComponent, selector: "choose-general-item-renderer", ngImport: i0, template: "<div class=\"all\" [ngClass]=\"{ single: !showError, double: showError }\"\r\n *ngIf=\"formGroup && showDropdown\" [formGroup]=\"formGroup\">\r\n <choose-general-item [bindValueKey]=\"valueToBind\" [clearable]=\"clearable\"\r\n [items]=\"items\" appFormControlValidationMsgForNgSelect [formControlName]=\"key\"\r\n [label]=\"params.label\" [appendTo]=\"'body'\" [placeholder]=\"params.placeholder\"\r\n [isMultiple]=\"params.isMultiple\" [objects]=\"params.objects\"\r\n [showLabel]=\"params.showLabel\" [separator]=\"params.separator\"\r\n [width]=\"params.width\" [isChip]=\"params.isChip\" [isTypeDate]=\"params.isTypeDate\"\r\n [chipColor]=\"params.chipColor\" [chipTextColor]=\"params.chipTextColor\"\r\n [basicTemplateData]=\"basicTemplateData\" [templateType]=\"templateType\"\r\n [chipWidth]=\"params.chipWidth\" (change)=\"onCellDataChanged($event)\"\r\n [showBoxError]=\"false\">\r\n </choose-general-item>\r\n <tooltip-msg-error [control]=\"formGroup.get(this.key)\" *ngIf=\"showError\"\r\n [message]=\"formGroup.get(key).errors.message\"></tooltip-msg-error>\r\n</div>\r\n<div class=\"center\" *ngIf=\"!showDropdown\">-</div>", styles: [".center{display:grid;align-items:center;justify-items:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.ChooseGeneralItemComponent, selector: "choose-general-item", inputs: ["items", "label", "appendTo", "placeholder", "apiPath", "isMultiple", "hideSelectedItem", "objects", "showLabel", "separator", "width", "isChip", "isTypeDate", "chipColor", "chipTextColor", "chipWidth", "selectedItemId", "disabled", "readOnly", "useFullObject", "showAdd", "dialogComponentClass", "showDialogDefaultButtons", "dialogComponentInputs", "bindValueKey", "addRoute", "canActionsRoute", "dialogTitle", "clearable", "filterParams", "templateType", "basicTemplateData", "contentProjectionLabelKey", "fullObjectControlConfig"], outputs: ["change", "blur"] }, { kind: "directive", type: i4.FormControlValidationMsgDirectiveForNgSelect, selector: "[appFormControlValidationMsgForNgSelect]", inputs: ["afterEnd", "showBoxError"] }, { kind: "component", type: i5.TooltipMsgError, selector: "tooltip-msg-error", inputs: ["width", "control", "messageType", "message"] }] });
|
|
32
126
|
}
|
|
33
127
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChooseGeneralItemRendererComponent, decorators: [{
|
|
34
128
|
type: Component,
|
|
35
|
-
args: [{ selector: 'choose-general-item-renderer', template: "<choose-general-item [label]=\"params.label\" [appendTo]=\"'body'\" [placeholder]=\"params.placeholder\"\r\n
|
|
129
|
+
args: [{ selector: 'choose-general-item-renderer', template: "<div class=\"all\" [ngClass]=\"{ single: !showError, double: showError }\"\r\n *ngIf=\"formGroup && showDropdown\" [formGroup]=\"formGroup\">\r\n <choose-general-item [bindValueKey]=\"valueToBind\" [clearable]=\"clearable\"\r\n [items]=\"items\" appFormControlValidationMsgForNgSelect [formControlName]=\"key\"\r\n [label]=\"params.label\" [appendTo]=\"'body'\" [placeholder]=\"params.placeholder\"\r\n [isMultiple]=\"params.isMultiple\" [objects]=\"params.objects\"\r\n [showLabel]=\"params.showLabel\" [separator]=\"params.separator\"\r\n [width]=\"params.width\" [isChip]=\"params.isChip\" [isTypeDate]=\"params.isTypeDate\"\r\n [chipColor]=\"params.chipColor\" [chipTextColor]=\"params.chipTextColor\"\r\n [basicTemplateData]=\"basicTemplateData\" [templateType]=\"templateType\"\r\n [chipWidth]=\"params.chipWidth\" (change)=\"onCellDataChanged($event)\"\r\n [showBoxError]=\"false\">\r\n </choose-general-item>\r\n <tooltip-msg-error [control]=\"formGroup.get(this.key)\" *ngIf=\"showError\"\r\n [message]=\"formGroup.get(key).errors.message\"></tooltip-msg-error>\r\n</div>\r\n<div class=\"center\" *ngIf=\"!showDropdown\">-</div>", styles: [".center{display:grid;align-items:center;justify-items:center}\n"] }]
|
|
36
130
|
}], ctorParameters: function () { return []; } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWdlbmVyYWwtaXRlbS1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2xpYi9jaG9vc2UtZ2VuZXJhbC1pdGVtLXJlbmRlcmVyL2Nob29zZS1nZW5lcmFsLWl0ZW0tcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWdlbmVyYWwtaXRlbS1yZW5kZXJlci9jaG9vc2UtZ2VuZXJhbC1pdGVtLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVExQyxNQUFNLE9BQU8sa0NBQWtDO0lBQzdDLE1BQU0sQ0FBTTtJQUNaLGdCQUFnQixDQUFDO0lBQ2pCLEdBQUcsQ0FBQztJQUNKLE1BQU0sQ0FBUztJQUNmLEtBQUssQ0FBUztJQUVkLGdCQUFnQixDQUFDO0lBRWpCLE1BQU0sQ0FBQyxNQUFXO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFNO1FBQ3RCLElBQUksS0FBSyxHQUFRLE1BQU0sQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxNQUFNLE1BQU0sR0FBRztZQUNiLEtBQUssRUFBRSxLQUFLO1lBQ1osT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtTQUMxQixDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQVc7UUFDakIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO3dHQTdCVSxrQ0FBa0M7NEZBQWxDLGtDQUFrQyxvRUNSL0MsMm1CQU1zQjs7NEZERVQsa0NBQWtDO2tCQUw5QyxTQUFTOytCQUNFLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjaG9vc2UtZ2VuZXJhbC1pdGVtLXJlbmRlcmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hvb3NlLWdlbmVyYWwtaXRlbS1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hvb3NlLWdlbmVyYWwtaXRlbS1yZW5kZXJlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaG9vc2VHZW5lcmFsSXRlbVJlbmRlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIHtcclxuICBwYXJhbXM6IGFueTtcclxuICBmb3JtQ29udHJvbFZhbHVlO1xyXG4gIGtleTtcclxuICBpdGVtSWQ6IG51bWJlcjtcclxuICByb3dJZDogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBhZ0luaXQocGFyYW1zOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xyXG4gICAgdGhpcy5pdGVtSWQgPSBwYXJhbXMuZGF0YS5pZDtcclxuICAgIHRoaXMua2V5ID0gcGFyYW1zLmNvbnRleHQuY3JlYXRlS2V5KHBhcmFtcy5jb2x1bW5BcGksIHBhcmFtcy5jb2x1bW4pO1xyXG4gICAgdGhpcy5yb3dJZCA9IHBhcmFtcy5ub2RlLmlkO1xyXG4gIH1cclxuXHJcbiAgb25DZWxsRGF0YUNoYW5nZWQoJGV2ZW50KSB7XHJcbiAgICBsZXQgdmFsdWU6IGFueSA9ICRldmVudDtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2xWYWx1ZSA9IHRoaXMucGFyYW1zLmNvbnRleHQuZm9ybUdyb3VwLmdldChcImVudHJpZXNcIikuYXQodGhpcy5yb3dJZCk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sVmFsdWUuZ2V0KHRoaXMua2V5KS5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgICAgcm93Tm9kZTogdGhpcy5wYXJhbXMubm9kZSxcclxuICAgIH07XHJcbiAgICB0aGlzLnBhcmFtcy5vbkNlbGxWYWx1ZUNoYW5nZWQocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2gocGFyYW1zOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlXHJcbiAgfVxyXG59XHJcbiIsIjxjaG9vc2UtZ2VuZXJhbC1pdGVtIFtsYWJlbF09XCJwYXJhbXMubGFiZWxcIiBbYXBwZW5kVG9dPVwiJ2JvZHknXCIgW3BsYWNlaG9sZGVyXT1cInBhcmFtcy5wbGFjZWhvbGRlclwiXHJcbiAgICBbYXBpUGF0aF09XCJwYXJhbXMuYXBpUGF0aFwiIFtpc011bHRpcGxlXT1cInBhcmFtcy5pc011bHRpcGxlXCIgW29iamVjdHNdPVwicGFyYW1zLm9iamVjdHNcIlxyXG4gICAgW3Nob3dMYWJlbF09XCJwYXJhbXMuc2hvd0xhYmVsXCIgW3NlcGFyYXRvcl09XCJwYXJhbXMuc2VwYXJhdG9yXCIgW3dpZHRoXT1cInBhcmFtcy53aWR0aFwiIFtpc0NoaXBdPVwicGFyYW1zLmlzQ2hpcFwiXHJcbiAgICBbaXNUeXBlRGF0ZV09XCJwYXJhbXMuaXNUeXBlRGF0ZVwiIFtjaGlwQ29sb3JdPVwicGFyYW1zLmNoaXBDb2xvclwiIFtjaGlwVGV4dENvbG9yXT1cInBhcmFtcy5jaGlwVGV4dENvbG9yXCJcclxuICAgIFtjaGlwV2lkdGhdPVwicGFyYW1zLmNoaXBXaWR0aFwiIFtzZWxlY3RlZEl0ZW1JZF09XCJpdGVtSWRcIiBbZGlzYWJsZWRdPVwicGFyYW1zLmRpc2FibGVkXCJcclxuICAgIChjaGFuZ2UpPVwib25DZWxsRGF0YUNoYW5nZWQoJGV2ZW50KVwiPlxyXG48L2Nob29zZS1nZW5lcmFsLWl0ZW0+Il19
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWdlbmVyYWwtaXRlbS1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2xpYi9jaG9vc2UtZ2VuZXJhbC1pdGVtLXJlbmRlcmVyL2Nob29zZS1nZW5lcmFsLWl0ZW0tcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWdlbmVyYWwtaXRlbS1yZW5kZXJlci9jaG9vc2UtZ2VuZXJhbC1pdGVtLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLMUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFFbkcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0scURBQXFELENBQUM7Ozs7Ozs7QUFPdkcsTUFBTSxPQUFPLGtDQUFrQztJQUM3QyxRQUFRLEdBQVcsU0FBUyxDQUFDO0lBQzdCLFNBQVMsQ0FBWTtJQUNyQixLQUFLLENBQVE7SUFDYixHQUFHLENBQVM7SUFDWixNQUFNLENBQU07SUFDWixjQUFjLEdBQXFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQztJQUN6RixlQUFlLEdBQUcsZ0NBQWdDLENBQUM7SUFDbkQsU0FBUyxHQUFZLElBQUksQ0FBQztJQUMxQixZQUFZLEdBQTZCLHdCQUF3QixDQUFDLE9BQU8sQ0FBQztJQUMxRSxpQkFBaUIsQ0FBNEI7SUFDN0MsV0FBVyxHQUFrQixJQUFJLENBQUMsQ0FBQywwQkFBMEI7SUFDN0QsWUFBWSxHQUFZLElBQUksQ0FBQztJQUU3QixnQkFBZ0IsQ0FBQztJQUVqQixNQUFNLENBQUMsTUFBVztRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLE1BQU0sQ0FBQyxP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QUMsR0FBRyxLQUFLLENBQUMsQ0FBQztnQkFDL0IsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDNUYsS0FBSyxHQUFHLGFBQWEsQ0FBQzthQUN2QjtZQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFXO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUMvRSxPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQzt3R0F4SFUsa0NBQWtDOzRGQUFsQyxrQ0FBa0Msb0VDZC9DLHFzQ0FnQmlEOzs0RkRGcEMsa0NBQWtDO2tCQUw5QyxTQUFTOytCQUNFLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XHJcbmltcG9ydCB7IFJvd05vZGUgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XHJcbmltcG9ydCB7IENob29zZU9iamVjdEJhc2ljVGVtcGxhdGUgfSBmcm9tICcuLi9jaG9vc2UtZ2VuZXJhbC1pdGVtL2Nob29zZS1vYmplY3QtYmFzaWMtdGVtcGxhdGUubW9kZWwnO1xyXG5pbXBvcnQgeyBDaG9vc2VPYmplY3RUZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi9jaG9vc2UtZ2VuZXJhbC1pdGVtL2Nob29zZS1vYmplY3QtdGVtcGxhdGUtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgQ2hvb3NlR2VuZXJhbEl0ZW1SZW5kZXJlckNoYW5nZUV2ZW50IH0gZnJvbSAnLi9jaG9vc2UtZ2VuZXJhbC1pdGVtLXJlbmRlcmVyLWNoYW5nZS1ldmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDaG9vc2VJdGVtUmVuZGVyZXJWYWxpZGF0aW9uVHlwZSB9IGZyb20gJy4vY2hvb3NlLWdlbmVyYWwtaXRlbS1yZW5kZXJlci12YWxpZGF0aW9uLXR5cGUuZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Nob29zZS1nZW5lcmFsLWl0ZW0tcmVuZGVyZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaG9vc2UtZ2VuZXJhbC1pdGVtLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaG9vc2UtZ2VuZXJhbC1pdGVtLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENob29zZUdlbmVyYWxJdGVtUmVuZGVyZXJDb21wb25lbnQgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAge1xyXG4gIGFycmF5S2V5OiBzdHJpbmcgPSAnZW50cmllcyc7XHJcbiAgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgaXRlbXM6IGFueVtdO1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHBhcmFtczogYW55O1xyXG4gIHZhbGlkYXRpb25UeXBlOiBDaG9vc2VJdGVtUmVuZGVyZXJWYWxpZGF0aW9uVHlwZSA9IENob29zZUl0ZW1SZW5kZXJlclZhbGlkYXRpb25UeXBlLk5PTkU7XHJcbiAgdmFsaWRhdGlvblR5cGVzID0gQ2hvb3NlSXRlbVJlbmRlcmVyVmFsaWRhdGlvblR5cGU7XHJcbiAgY2xlYXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuICB0ZW1wbGF0ZVR5cGU6IENob29zZU9iamVjdFRlbXBsYXRlVHlwZSA9IENob29zZU9iamVjdFRlbXBsYXRlVHlwZS5ERUZBVUxUO1xyXG4gIGJhc2ljVGVtcGxhdGVEYXRhOiBDaG9vc2VPYmplY3RCYXNpY1RlbXBsYXRlO1xyXG4gIHZhbHVlVG9CaW5kOiBzdHJpbmcgfCBudWxsID0gJ2lkJzsgLy8gb3IgbnVsbCBmb3IgZnVsbCBvYmplY3RcclxuICBzaG93RHJvcGRvd246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBhZ0luaXQocGFyYW1zOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xyXG4gICAgaWYgKHBhcmFtcy5jb250ZXh0LmFycmF5S2V5KSB7XHJcbiAgICAgIHRoaXMuYXJyYXlLZXkgPSBwYXJhbXMuY29udGV4dC5hcnJheUtleTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0dXBSZW5kZXJlcihwYXJhbXMpO1xyXG4gICAgdGhpcy5mb3JtR3JvdXAgPSBwYXJhbXMuY29udGV4dC5mb3JtR3JvdXAuZ2V0KHRoaXMuYXJyYXlLZXkpLmF0KHBhcmFtcy5ub2RlLnJvd0luZGV4KTtcclxuICAgIHRoaXMua2V5ID0gcGFyYW1zLmNvbnRleHQuY3JlYXRlS2V5KHBhcmFtcy5jb2x1bW5BcGksIHBhcmFtcy5jb2x1bW4pO1xyXG4gIH1cclxuXHJcbiAgb25DZWxsRGF0YUNoYW5nZWQoJGV2ZW50OiBhbnkpIHtcclxuICAgIGxldCBvYmplY3Q6IGFueSA9ICRldmVudDtcclxuICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmtleSk7XHJcbiAgICBsZXQgcm93Tm9kZTogUm93Tm9kZSA9IHRoaXMucGFyYW1zLm5vZGU7XHJcbiAgICBsZXQgdmFsdWVUb0JpbmQ6IGFueTtcclxuXHJcbiAgICBpZiAodGhpcy52YWx1ZVRvQmluZCA9PT0gbnVsbCkge1xyXG4gICAgICAvLyBDYXNlIDE6IEJpbmQgdGhlIGVudGlyZSBvYmplY3RcclxuICAgICAgdmFsdWVUb0JpbmQgPSBvYmplY3Q7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWVUb0JpbmQgJiYgb2JqZWN0KSB7XHJcbiAgICAgIC8vIENhc2UgMjogQmluZCBhIHNwZWNpZmljIHByb3BlcnR5IHVzaW5nIGR5bmFtaWMgYWNjZXNzXHJcbiAgICAgIHZhbHVlVG9CaW5kID0gb2JqZWN0W3RoaXMudmFsdWVUb0JpbmRdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gQ2FzZSAzOiBIYW5kbGUgbnVsbC9jbGVhcmVkIHNlbGVjdGlvblxyXG4gICAgICB2YWx1ZVRvQmluZCA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcm93Tm9kZS5zZXREYXRhVmFsdWUodGhpcy5rZXksIHZhbHVlVG9CaW5kKTtcclxuXHJcbiAgICBpZiAodGhpcy5wYXJhbXMub25DZWxsVmFsdWVDaGFuZ2VkIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcclxuICAgICAgY29uc3QgcGFyYW1zOiBDaG9vc2VHZW5lcmFsSXRlbVJlbmRlcmVyQ2hhbmdlRXZlbnQgPSB7XHJcbiAgICAgICAgdmFsdWU6IG9iamVjdD8uW3RoaXMudmFsdWVUb0JpbmRdLFxyXG4gICAgICAgIG9iamVjdDogb2JqZWN0LFxyXG4gICAgICAgIHJvd05vZGU6IHJvd05vZGUsXHJcbiAgICAgICAgY29sSWQ6IHRoaXMucGFyYW1zLmNvbHVtbi5jb2xJZCxcclxuICAgICAgICBsaW5lRm9ybUdyb3VwOiB0aGlzLnBhcmFtcy5jb250ZXh0LmZvcm1Hcm91cC5nZXQodGhpcy5hcnJheUtleSkuYXQocm93Tm9kZS5yb3dJbmRleCksXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMucGFyYW1zLm9uQ2VsbFZhbHVlQ2hhbmdlZChwYXJhbXMpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudmFsaWRhdGlvblR5cGUgPT0gQ2hvb3NlSXRlbVJlbmRlcmVyVmFsaWRhdGlvblR5cGUuUk9XX0xFVkVMX1VOSVFVRSkge1xyXG4gICAgICB0aGlzLnNldFJvd0xldmVsVW5pcXVlSXRlbXModGhpcy5wYXJhbXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0dXBSZW5kZXJlcihwYXJhbXMpIHtcclxuICAgIGlmIChwYXJhbXMuc2hvd0Ryb3Bkb3duID09PSB0cnVlIHx8IHBhcmFtcy5zaG93RHJvcGRvd24gPT09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gcGFyYW1zLnNob3dEcm9wZG93bjtcclxuICAgIH1cclxuICAgIGlmIChwYXJhbXMuYmluZFZhbHVlS2V5ICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnZhbHVlVG9CaW5kID0gcGFyYW1zLmJpbmRWYWx1ZUtleTtcclxuICAgIH1cclxuICAgIGlmIChwYXJhbXMuY2xlYXJhYmxlICE9IG51bGwgJiYgcGFyYW1zLmNsZWFyYWJsZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5jbGVhcmFibGUgPSBwYXJhbXMuY2xlYXJhYmxlO1xyXG4gICAgfVxyXG4gICAgaWYgKHBhcmFtcy50ZW1wbGF0ZVR5cGUpIHtcclxuICAgICAgdGhpcy50ZW1wbGF0ZVR5cGUgPSBwYXJhbXMudGVtcGxhdGVUeXBlO1xyXG4gICAgfVxyXG4gICAgaWYgKHBhcmFtcy5iYXNpY1RlbXBsYXRlRGF0YSkge1xyXG4gICAgICB0aGlzLmJhc2ljVGVtcGxhdGVEYXRhID0gcGFyYW1zLmJhc2ljVGVtcGxhdGVEYXRhO1xyXG4gICAgfVxyXG4gICAgaWYgKHBhcmFtcy5jaG9vc2VJdGVtVmFsaWRhdGlvblR5cGUgIT0gbnVsbCAmJiBwYXJhbXMuY2hvb3NlSXRlbVZhbGlkYXRpb25UeXBlICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnZhbGlkYXRpb25UeXBlID0gcGFyYW1zLmNob29zZUl0ZW1WYWxpZGF0aW9uVHlwZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy52YWxpZGF0aW9uVHlwZSA9PSBDaG9vc2VJdGVtUmVuZGVyZXJWYWxpZGF0aW9uVHlwZS5ST1dfTEVWRUxfVU5JUVVFKSB7XHJcbiAgICAgIHRoaXMuc2V0Um93TGV2ZWxVbmlxdWVJdGVtcyhwYXJhbXMpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnZhbGlkYXRpb25UeXBlID09IENob29zZUl0ZW1SZW5kZXJlclZhbGlkYXRpb25UeXBlLk5PTkUpIHtcclxuICAgICAgdGhpcy5zZXRBbGxJdGVtcyhwYXJhbXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ0Nob29zZUdlbmVyYWxJdGVtUmVuZGVyZXJWYWxpZGF0aW9uVHlwZSBpcyBub3QgcmVjb2duaXplZC4nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEFsbEl0ZW1zKHBhcmFtcykge1xyXG4gICAgaWYgKHBhcmFtcy5pdGVtcykge1xyXG4gICAgICB0aGlzLml0ZW1zID0gcGFyYW1zLml0ZW1zO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Um93TGV2ZWxVbmlxdWVJdGVtcyhwYXJhbXMpIHtcclxuICAgIGxldCBpdGVtczogYW55W107XHJcbiAgICBpZiAocGFyYW1zLml0ZW1zKSB7XHJcbiAgICAgIGl0ZW1zID0gcGFyYW1zLml0ZW1zO1xyXG4gICAgICBpZiAocGFyYW1zLnZhbHVlICYmICFpdGVtcy5pbmNsdWRlcyhpdGVtID0+IGl0ZW0/Llt0aGlzLnZhbHVlVG9CaW5kXSAhPT0gcGFyYW1zLnZhbHVlKSkge1xyXG4gICAgICAgIGxldCBhcHBlbmRlZEl0ZW1zID0gWy4uLml0ZW1zXTtcclxuICAgICAgICBhcHBlbmRlZEl0ZW1zLnB1c2gocGFyYW1zLmFsbEl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtPy5bdGhpcy52YWx1ZVRvQmluZF0gPT09IHBhcmFtcy52YWx1ZSkpO1xyXG4gICAgICAgIGl0ZW1zID0gYXBwZW5kZWRJdGVtcztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLml0ZW1zID0gaXRlbXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKHBhcmFtczogYW55KTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMucGFyYW1zLmNvbnRleHQuZm9ybUdyb3VwLmdldCh0aGlzLmFycmF5S2V5KS5hdChwYXJhbXMubm9kZS5yb3dJbmRleCk7XHJcbiAgICB0aGlzLnNldHVwUmVuZGVyZXIocGFyYW1zKTtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNob3dFcnJvcigpIHtcclxuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5rZXkpLmVycm9ycyAmJiB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5rZXkpLnRvdWNoZWQpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhbGxcIiBbbmdDbGFzc109XCJ7IHNpbmdsZTogIXNob3dFcnJvciwgZG91YmxlOiBzaG93RXJyb3IgfVwiXHJcbiAgICAqbmdJZj1cImZvcm1Hcm91cCAmJiBzaG93RHJvcGRvd25cIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxyXG4gICAgPGNob29zZS1nZW5lcmFsLWl0ZW0gW2JpbmRWYWx1ZUtleV09XCJ2YWx1ZVRvQmluZFwiIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcclxuICAgICAgICBbaXRlbXNdPVwiaXRlbXNcIiBhcHBGb3JtQ29udHJvbFZhbGlkYXRpb25Nc2dGb3JOZ1NlbGVjdCBbZm9ybUNvbnRyb2xOYW1lXT1cImtleVwiXHJcbiAgICAgICAgW2xhYmVsXT1cInBhcmFtcy5sYWJlbFwiIFthcHBlbmRUb109XCInYm9keSdcIiBbcGxhY2Vob2xkZXJdPVwicGFyYW1zLnBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbaXNNdWx0aXBsZV09XCJwYXJhbXMuaXNNdWx0aXBsZVwiIFtvYmplY3RzXT1cInBhcmFtcy5vYmplY3RzXCJcclxuICAgICAgICBbc2hvd0xhYmVsXT1cInBhcmFtcy5zaG93TGFiZWxcIiBbc2VwYXJhdG9yXT1cInBhcmFtcy5zZXBhcmF0b3JcIlxyXG4gICAgICAgIFt3aWR0aF09XCJwYXJhbXMud2lkdGhcIiBbaXNDaGlwXT1cInBhcmFtcy5pc0NoaXBcIiBbaXNUeXBlRGF0ZV09XCJwYXJhbXMuaXNUeXBlRGF0ZVwiXHJcbiAgICAgICAgW2NoaXBDb2xvcl09XCJwYXJhbXMuY2hpcENvbG9yXCIgW2NoaXBUZXh0Q29sb3JdPVwicGFyYW1zLmNoaXBUZXh0Q29sb3JcIlxyXG4gICAgICAgIFtiYXNpY1RlbXBsYXRlRGF0YV09XCJiYXNpY1RlbXBsYXRlRGF0YVwiIFt0ZW1wbGF0ZVR5cGVdPVwidGVtcGxhdGVUeXBlXCJcclxuICAgICAgICBbY2hpcFdpZHRoXT1cInBhcmFtcy5jaGlwV2lkdGhcIiAoY2hhbmdlKT1cIm9uQ2VsbERhdGFDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgIFtzaG93Qm94RXJyb3JdPVwiZmFsc2VcIj5cclxuICAgIDwvY2hvb3NlLWdlbmVyYWwtaXRlbT5cclxuICAgIDx0b29sdGlwLW1zZy1lcnJvciBbY29udHJvbF09XCJmb3JtR3JvdXAuZ2V0KHRoaXMua2V5KVwiICpuZ0lmPVwic2hvd0Vycm9yXCJcclxuICAgICAgICBbbWVzc2FnZV09XCJmb3JtR3JvdXAuZ2V0KGtleSkuZXJyb3JzLm1lc3NhZ2VcIj48L3Rvb2x0aXAtbXNnLWVycm9yPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImNlbnRlclwiICpuZ0lmPVwiIXNob3dEcm9wZG93blwiPi08L2Rpdj4iXX0=
|
|
@@ -12,4 +12,4 @@ export class DictionaryToHttpParamsConverter {
|
|
|
12
12
|
return queryParams;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS10by1wYXJhbXMtY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvZGljdGlvbmFyeS10by1wYXJhbXMtY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxNQUFNLE9BQU8sK0JBQStCO0lBQzFDLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxlQUFlO1FBQ3BELElBQUksV0FBVyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbkMsS0FBSyxJQUFJLEdBQUcsSUFBSSxlQUFlLEVBQUU7WUFDL0IsSUFDRSxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSTtnQkFDN0IsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7Z0JBQzNCLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTO2dCQUNsQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7Z0JBRWxDLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvRDtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5leHBvcnQgY2xhc3MgRGljdGlvbmFyeVRvSHR0cFBhcmFtc0NvbnZlcnRlciB7XHJcbiAgc3RhdGljIGRpY3Rpb25hcnlUb0h0dHBQYXJhbXNDb252ZXJ0ZXIoZm9ybV9kaWN0aW9uYXJ5KSB7XHJcbiAgICBsZXQgcXVlcnlQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgZm9yIChsZXQga2V5IGluIGZvcm1fZGljdGlvbmFyeSkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgZm9ybV9kaWN0aW9uYXJ5W2tleV0gIT09IG51bGwgJiZcclxuICAgICAgICBmb3JtX2RpY3Rpb25hcnlba2V5XSAhPT0gJycgJiZcclxuICAgICAgICBmb3JtX2RpY3Rpb25hcnlba2V5XSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgZm9ybV9kaWN0aW9uYXJ5W2tleV0/Lmxlbmd0aCAhPT0gMCBcclxuICAgICAgKVxyXG4gICAgICAgIHF1ZXJ5UGFyYW1zID0gcXVlcnlQYXJhbXMuYXBwZW5kKGtleSwgZm9ybV9kaWN0aW9uYXJ5W2tleV0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHF1ZXJ5UGFyYW1zO1xyXG4gIH1cclxufVxyXG4iXX0=
|