@morozeckiy/dd-lib 0.6.4 → 0.7.35
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/assets/scss/common.scss +5 -0
- package/assets/scss/titles.scss +22 -0
- package/assets/scss/vars-dark.scss +5 -1
- package/assets/scss/vars-light.scss +3 -0
- package/esm2022/lib/common/lib-common-button.mjs +6 -3
- package/esm2022/lib/common/lib-common-input-text.mjs +28 -2
- package/esm2022/lib/core/dialog/modal-base/modal-base.component.mjs +3 -3
- package/esm2022/lib/core/directives/drop-down-position.directive.mjs +66 -0
- package/esm2022/lib/core/directives/fixed-position.directive.mjs +87 -0
- package/esm2022/lib/core/directives/list-keyboard-navigation.directive.mjs +57 -0
- package/esm2022/lib/core/directives/phone-mask.directive.mjs +34 -0
- package/esm2022/lib/core/directives/selectable-item.directive.mjs +29 -0
- package/esm2022/lib/core/index.mjs +6 -1
- package/esm2022/lib/lib-calendar/lib-calendar.component.mjs +3 -3
- package/esm2022/lib/lib-card/lib-card.component.mjs +3 -3
- package/esm2022/lib/lib-checkbox/lib-checkbox.component.mjs +7 -5
- package/esm2022/lib/lib-date-input/lib-date-input.component.mjs +117 -0
- package/esm2022/lib/lib-date-range/lib-date-range.component.mjs +13 -9
- package/esm2022/lib/lib-disclaimer/lib-disclaimer.component.mjs +26 -0
- package/esm2022/lib/lib-filter-button/lib-filter-button.component.mjs +1 -1
- package/esm2022/lib/lib-input/lib-input.component.mjs +5 -5
- package/esm2022/lib/lib-loader/lib-loader.component.mjs +2 -2
- package/esm2022/lib/lib-period/lib-period.component.mjs +6 -4
- package/esm2022/lib/lib-radio/lib-radio.component.mjs +7 -5
- package/esm2022/lib/lib-search-input/lib-search-input.component.mjs +48 -13
- package/esm2022/lib/lib-select/lib-select.component.mjs +127 -39
- package/esm2022/lib/lib-skeleton/lib-skeleton.component.mjs +3 -3
- package/esm2022/lib/lib-tabs-fragment/lib-tabs-fragment.component.mjs +12 -6
- package/esm2022/lib/lib-textarea/lib-textarea.component.mjs +6 -3
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/morozeckiy-dd-lib.mjs +908 -351
- package/fesm2022/morozeckiy-dd-lib.mjs.map +1 -1
- package/lib/common/lib-common-button.d.ts +2 -1
- package/lib/common/lib-common-input-text.d.ts +8 -3
- package/lib/core/directives/drop-down-position.directive.d.ts +17 -0
- package/lib/core/directives/fixed-position.directive.d.ts +21 -0
- package/lib/core/directives/list-keyboard-navigation.directive.d.ts +11 -0
- package/lib/core/directives/phone-mask.directive.d.ts +10 -0
- package/lib/core/directives/selectable-item.directive.d.ts +10 -0
- package/lib/core/index.d.ts +5 -0
- package/lib/core/services/validators.service.d.ts +2 -2
- package/lib/lib-card/lib-card.component.d.ts +1 -1
- package/lib/lib-checkbox/lib-checkbox.component.d.ts +3 -1
- package/lib/lib-date-input/lib-date-input.component.d.ts +29 -0
- package/lib/lib-date-range/lib-date-range.component.d.ts +3 -1
- package/lib/lib-disclaimer/lib-disclaimer.component.d.ts +10 -0
- package/lib/lib-input/lib-input.component.d.ts +2 -1
- package/lib/lib-period/lib-period.component.d.ts +3 -2
- package/lib/lib-radio/lib-radio.component.d.ts +3 -1
- package/lib/lib-search-input/lib-search-input.component.d.ts +11 -6
- package/lib/lib-select/lib-select.component.d.ts +17 -7
- package/lib/lib-tabs-fragment/lib-tabs-fragment.component.d.ts +4 -2
- package/lib/lib-textarea/lib-textarea.component.d.ts +2 -1
- package/morozeckiy-dd-lib-0.7.35.tgz +0 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/morozeckiy-dd-lib-0.6.4.tgz +0 -0
|
@@ -12,8 +12,9 @@ import * as i1 from "../core";
|
|
|
12
12
|
import * as i2 from "@angular/forms";
|
|
13
13
|
export class LibPeriodComponent {
|
|
14
14
|
static { this.idCounter = 1; }
|
|
15
|
-
constructor(dateService) {
|
|
15
|
+
constructor(dateService, cdr) {
|
|
16
16
|
this.dateService = dateService;
|
|
17
|
+
this.cdr = cdr;
|
|
17
18
|
this.setPeriodDate = new EventEmitter();
|
|
18
19
|
this.periodIsShown = false;
|
|
19
20
|
this.calendarIsShown = false;
|
|
@@ -55,6 +56,7 @@ export class LibPeriodComponent {
|
|
|
55
56
|
}
|
|
56
57
|
writeValue(value) {
|
|
57
58
|
this.selectedPeriod = value;
|
|
59
|
+
this.cdr.detectChanges();
|
|
58
60
|
}
|
|
59
61
|
selectDate($event) {
|
|
60
62
|
this.calendarIsShown = false;
|
|
@@ -82,7 +84,7 @@ export class LibPeriodComponent {
|
|
|
82
84
|
}
|
|
83
85
|
}
|
|
84
86
|
propagateChange(value) { }
|
|
85
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibPeriodComponent, deps: [{ token: i1.DateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibPeriodComponent, deps: [{ token: i1.DateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
88
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibPeriodComponent, isStandalone: true, selector: "dd-lib-period", inputs: { maxDate: "maxDate" }, outputs: { setPeriodDate: "setPeriodDate" }, providers: [
|
|
87
89
|
{
|
|
88
90
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -108,9 +110,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
108
110
|
multi: true,
|
|
109
111
|
},
|
|
110
112
|
], template: "<div class=\"pos-relative\">\r\n <dd-lib-filter-button\r\n (clearEvent)=\"clearPeriod()\"\r\n (clickEvent)=\"showPeriod()\"\r\n [active]=\"periodIsSelected || calendarIsSelected\"\r\n [id]=\"idPeriod\"\r\n btnColor=\"transparent\">\r\n <div>\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n </dd-lib-filter-button>\r\n @if (periodIsShown) {\r\n <div (ddClickOutside)=\"clickOutside($event)\" [elements]=\"[idPeriod, idCalendar]\" class=\"period__wrapper\">\r\n <dd-lib-card class=\"period__block\" type=\"small\">\r\n <div>\r\n <div class=\"period__header\">\r\n <div class=\"period__back\" (click)=\"periodIsShown = false\">\r\n <dd-lib-svg-icon icon=\"toggle_arrow_left\"></dd-lib-svg-icon>\r\n <div class=\"g-h5-title\">\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n </div>\r\n <div class=\"g-h5-title hide-tablet\">\u041F\u0435\u0440\u0438\u043E\u0434</div>\r\n <div (click)=\"clearPeriod()\" class=\"g-text font-medium green cup\">\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C</div>\r\n </div>\r\n <div class=\"period__list\">\r\n @for (period of periodMenu; track period) {\r\n <dd-lib-radio (changed)=\"selectPeriod($event)\" [(ngModel)]=\"selectedPeriod\" [value]=\"period.name\">{{\r\n period.title\r\n }}</dd-lib-radio>\r\n }\r\n </div>\r\n <div (click)=\"calendarIsShown = !calendarIsShown\" class=\"g-text font-medium green cup mt-8\">\r\n {{ calendarIsShown ? '\u0417\u0430\u043A\u0440\u044B\u0442\u044C' : '\u041E\u0442\u043A\u0440\u044B\u0442\u044C' }} \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C\r\n </div>\r\n </div>\r\n </dd-lib-card>\r\n @if (calendarIsShown) {\r\n <dd-lib-calendar\r\n (emitDate)=\"selectDate($event)\"\r\n [(ngModel)]=\"selectedDate\"\r\n [id]=\"idCalendar\"\r\n [maxDate]=\"maxDate\"\r\n class=\"period__calendar\">\r\n </dd-lib-calendar>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["dd-lib-filter-button{position:relative}.period__wrapper{position:absolute;left:0;z-index:400;display:block;width:352px;height:348px;margin-top:8px;animation:filter-show .5s forwards}@media screen and (max-width: 840px){.period__wrapper{position:fixed;top:0;width:100%;height:100%;overflow:auto;margin-top:0;animation:shift .3s}}@media screen and (max-width: 840px){.period__block{height:100%}}.period__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}@media screen and (max-width: 840px){.period__header{padding-bottom:24px;border-bottom:1px solid var(--gray-color-200)}}@media screen and (max-width: 480px){.period__header{padding-top:8px}}.period__back{display:none}@media screen and (max-width: 840px){.period__back{display:flex;align-items:center}}.period__back ::ng-deep svg{margin-right:16px}.period__back ::ng-deep svg path{stroke:var(--menu-arr-color)}.period__list{max-height:400px;overflow:auto}@media screen and (max-width: 840px){.period__list{max-height:none}}.period__list ::ng-deep dd-lib-radio{display:block;margin-bottom:16px}@media screen and (max-width: 840px){.period__list ::ng-deep dd-lib-radio:not(:last-child){padding-bottom:16px;border-bottom:1px solid var(--gray-color-200)}}.period__calendar{margin-top:8px;display:block;animation:filter-show .5s forwards}@media screen and (max-width: 840px){.period__calendar{position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;margin-top:0;animation:shift .3s}}\n"] }]
|
|
111
|
-
}], ctorParameters: () => [{ type: i1.DateService }], propDecorators: { maxDate: [{
|
|
113
|
+
}], ctorParameters: () => [{ type: i1.DateService }, { type: i0.ChangeDetectorRef }], propDecorators: { maxDate: [{
|
|
112
114
|
type: Input
|
|
113
115
|
}], setPeriodDate: [{
|
|
114
116
|
type: Output
|
|
115
117
|
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXBlcmlvZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItcGVyaW9kL2xpYi1wZXJpb2QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXBlcmlvZC9saWItcGVyaW9kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFDLHFCQUFxQixFQUFlLGNBQWMsRUFBd0MsTUFBTSxTQUFTLENBQUM7QUFDbEgsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUEwQjNFLE1BQU0sT0FBTyxrQkFBa0I7YUFDZixjQUFTLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFlNUIsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFiM0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBK0MsQ0FBQztRQUcxRixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixvQkFBZSxH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VyxhQUFhO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTGliQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpYkZpbHRlckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2xpYi1maWx0ZXItYnV0dG9uL2xpYi1maWx0ZXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpYlJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi4vbGliLXJhZGlvL2xpYi1yYWRpby5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgTGliQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuLi9saWItY2FsZW5kYXIvbGliLWNhbGVuZGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XHJcbmltcG9ydCB7Q2xpY2tPdXRzaWRlRGlyZWN0aXZlLCBEYXRlU2VydmljZSwgREVGQVVMVF9GT1JNQVQsIEdldERhdGVCeSwgUGVyaW9kTWVudURhdGUsIFBlcmlvZE5hbWV9IGZyb20gXCIuLi9jb3JlXCI7XHJcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1wZXJpb2QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTGliQ2FyZENvbXBvbmVudCxcclxuICAgIExpYkZpbHRlckJ1dHRvbkNvbXBvbmVudCxcclxuICAgIExpYlJhZGlvQ29tcG9uZW50LFxyXG4gICAgTGliQ2FsZW5kYXJDb21wb25lbnQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIENsaWNrT3V0c2lkZURpcmVjdGl2ZSxcclxuICAgIExpYlN2Z0ljb25Db21wb25lbnQsXHJcbiAgXSxcclxuXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1wZXJpb2QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9saWItcGVyaW9kLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpYlBlcmlvZENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliUGVyaW9kQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHVibGljIHN0YXRpYyBpZENvdW50ZXIgPSAxO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhEYXRlOiBEYXRlIHwgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2V0UGVyaW9kRGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBba2V5IGluIGtleW9mIEdldERhdGVCeV06IHN0cmluZyB9IHwgbnVsbD4oKTtcclxuXHJcbiAgcHVibGljIHBlcmlvZE1lbnU6IFBlcmlvZE1lbnVEYXRlW10gfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHBlcmlvZElzU2hvd24gPSBmYWxzZTtcclxuICBwdWJsaWMgY2FsZW5kYXJJc1Nob3duID0gZmFsc2U7XHJcbiAgcHVibGljIHBlcmlvZElzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICBwdWJsaWMgY2FsZW5kYXJJc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbGVjdGVkUGVyaW9kOiBQZXJpb2ROYW1lIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IERhdGUgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGlkUGVyaW9kITogc3RyaW5nO1xyXG4gIHB1YmxpYyBpZENhbGVuZGFyITogc3RyaW5nO1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRlU2VydmljZTogRGF0ZVNlcnZpY2UpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaWRQZXJpb2QgPSAncGVyaW9kLXdyYXBwZXItJyArIExpYlBlcmlvZENvbXBvbmVudC5pZENvdW50ZXIrKztcclxuICAgIHRoaXMuaWRDYWxlbmRhciA9ICdjYWxlbmRhci13cmFwcGVyLScgKyBMaWJQZXJpb2RDb21wb25lbnQuaWRDb3VudGVyKys7XHJcbiAgICB0aGlzLnBlcmlvZE1lbnUgPSB0aGlzLmRhdGVTZXJ2aWNlLmdldFBlcmlvZE1lbnUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dQZXJpb2QoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBlcmlvZElzU2hvd24gPSAhdGhpcy5wZXJpb2RJc1Nob3duO1xyXG4gICAgdGhpcy5jYWxlbmRhcklzU2hvd24gPSAhIXRoaXMuc2VsZWN0ZWREYXRlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyUGVyaW9kKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wZXJpb2RJc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhbGVuZGFySXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5wZXJpb2RJc1Nob3duID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhbGVuZGFySXNTaG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZFBlcmlvZCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zZXRQZXJpb2REYXRlLmVtaXQobnVsbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0UGVyaW9kKHR5cGU6IGtleW9mIEdldERhdGVCeSk6IHZvaWQge1xyXG4gICAgdGhpcy5wZXJpb2RJc1Nob3duID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhbGVuZGFySXNTaG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5wZXJpb2RJc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuY2FsZW5kYXJJc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICBjb25zdCBkYXRlID0gdGhpcy5kYXRlU2VydmljZS5nZXRGb3JtYXR0ZWREYXRlKHR5cGUpO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodHlwZSk7XHJcbiAgICB0aGlzLnNldFBlcmlvZERhdGUuZW1pdCh7IFt0eXBlXTogZGF0ZSB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3REYXRlKCRldmVudDogRGF0ZSB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYWxlbmRhcklzU2hvd24gPSBmYWxzZTtcclxuICAgIGlmICgkZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFBlcmlvZCA9ICdjYWxlbmRhcic7XHJcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuc2VsZWN0ZWRQZXJpb2QpO1xyXG4gICAgICB0aGlzLnBlcmlvZElzU2hvd24gPSBmYWxzZTtcclxuICAgICAgdGhpcy5wZXJpb2RJc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJJc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zZXRQZXJpb2REYXRlLmVtaXQoeyBjYWxlbmRhcjogZm9ybWF0KCRldmVudCwgREVGQVVMVF9GT1JNQVQpIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMuc2V0UGVyaW9kRGF0ZS5lbWl0KG51bGwpO1xyXG4gICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRQZXJpb2QpIHtcclxuICAgICAgICB0aGlzLnBlcmlvZElzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNhbGVuZGFySXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsaWNrT3V0c2lkZSgkZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMucGVyaW9kSXNTaG93biA9ICRldmVudDtcclxuICAgIGlmICh0aGlzLnBlcmlvZElzU2hvd24gJiYgISRldmVudCkge1xyXG4gICAgICB0aGlzLmNhbGVuZGFySXNTaG93biA9ICRldmVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlKHZhbHVlOiBQZXJpb2ROYW1lKSB7fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJwb3MtcmVsYXRpdmVcIj5cclxuICA8ZGQtbGliLWZpbHRlci1idXR0b25cclxuICAgIChjbGVhckV2ZW50KT1cImNsZWFyUGVyaW9kKClcIlxyXG4gICAgKGNsaWNrRXZlbnQpPVwic2hvd1BlcmlvZCgpXCJcclxuICAgIFthY3RpdmVdPVwicGVyaW9kSXNTZWxlY3RlZCB8fCBjYWxlbmRhcklzU2VsZWN0ZWRcIlxyXG4gICAgW2lkXT1cImlkUGVyaW9kXCJcclxuICAgIGJ0bkNvbG9yPVwidHJhbnNwYXJlbnRcIj5cclxuICAgIDxkaXY+0J/QtdGA0LjQvtC0PC9kaXY+XHJcbiAgPC9kZC1saWItZmlsdGVyLWJ1dHRvbj5cclxuICBAaWYgKHBlcmlvZElzU2hvd24pIHtcclxuICA8ZGl2IChkZENsaWNrT3V0c2lkZSk9XCJjbGlja091dHNpZGUoJGV2ZW50KVwiIFtlbGVtZW50c109XCJbaWRQZXJpb2QsIGlkQ2FsZW5kYXJdXCIgY2xhc3M9XCJwZXJpb2RfX3dyYXBwZXJcIj5cclxuICAgIDxkZC1saWItY2FyZCBjbGFzcz1cInBlcmlvZF9fYmxvY2tcIiB0eXBlPVwic21hbGxcIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGVyaW9kX19oZWFkZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJpb2RfX2JhY2tcIiAoY2xpY2spPVwicGVyaW9kSXNTaG93biA9IGZhbHNlXCI+XHJcbiAgICAgICAgICAgIDxkZC1saWItc3ZnLWljb24gaWNvbj1cInRvZ2dsZV9hcnJvd19sZWZ0XCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnLWg1LXRpdGxlXCI+0J/QtdGA0LjQvtC0PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnLWg1LXRpdGxlIGhpZGUtdGFibGV0XCI+0J/QtdGA0LjQvtC0PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IChjbGljayk9XCJjbGVhclBlcmlvZCgpXCIgY2xhc3M9XCJnLXRleHQgZm9udC1tZWRpdW0gZ3JlZW4gY3VwXCI+0KHQsdGA0L7RgdC40YLRjDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwZXJpb2RfX2xpc3RcIj5cclxuICAgICAgICAgIEBmb3IgKHBlcmlvZCBvZiBwZXJpb2RNZW51OyB0cmFjayBwZXJpb2QpIHtcclxuICAgICAgICAgIDxkZC1saWItcmFkaW8gKGNoYW5nZWQpPVwic2VsZWN0UGVyaW9kKCRldmVudClcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUGVyaW9kXCIgW3ZhbHVlXT1cInBlcmlvZC5uYW1lXCI+e3tcclxuICAgICAgICAgICAgcGVyaW9kLnRpdGxlXHJcbiAgICAgICAgICB9fTwvZGQtbGliLXJhZGlvPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKGNsaWNrKT1cImNhbGVuZGFySXNTaG93biA9ICFjYWxlbmRhcklzU2hvd25cIiBjbGFzcz1cImctdGV4dCBmb250LW1lZGl1bSBncmVlbiBjdXAgbXQtOFwiPlxyXG4gICAgICAgICAge3sgY2FsZW5kYXJJc1Nob3duID8gJ9CX0LDQutGA0YvRgtGMJyA6ICfQntGC0LrRgNGL0YLRjCcgfX0g0LrQsNC70LXQvdC00LDRgNGMXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kZC1saWItY2FyZD5cclxuICAgIEBpZiAoY2FsZW5kYXJJc1Nob3duKSB7XHJcbiAgICA8ZGQtbGliLWNhbGVuZGFyXHJcbiAgICAgIChlbWl0RGF0ZSk9XCJzZWxlY3REYXRlKCRldmVudClcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVwiXHJcbiAgICAgIFtpZF09XCJpZENhbGVuZGFyXCJcclxuICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICAgIGNsYXNzPVwicGVyaW9kX19jYWxlbmRhclwiPlxyXG4gICAgPC9kZC1saWItY2FsZW5kYXI+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXBlcmlvZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItcGVyaW9kL2xpYi1wZXJpb2QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXBlcmlvZC9saWItcGVyaW9kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFDLHFCQUFxQixFQUFlLGNBQWMsRUFBd0MsTUFBTSxTQUFTLENBQUM7QUFDbEgsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUEwQjNFLE1BQU0sT0FBTyxrQkFBa0I7YUFDZixjQUFTLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFlNUIsWUFBb0IsV0FBd0IsRUFBVSxHQUFzQjtRQUF4RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBYjNELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQStDLENBQUM7UUFH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LEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2dIQUllLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1csYUFBYTtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMaWJDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vbGliLWNhcmQvbGliLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGliRmlsdGVyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vbGliLWZpbHRlci1idXR0b24vbGliLWZpbHRlci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGliUmFkaW9Db21wb25lbnQgfSBmcm9tICcuLi9saWItcmFkaW8vbGliLXJhZGlvLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBMaWJDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4uL2xpYi1jYWxlbmRhci9saWItY2FsZW5kYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHtDbGlja091dHNpZGVEaXJlY3RpdmUsIERhdGVTZXJ2aWNlLCBERUZBVUxUX0ZPUk1BVCwgR2V0RGF0ZUJ5LCBQZXJpb2RNZW51RGF0ZSwgUGVyaW9kTmFtZX0gZnJvbSBcIi4uL2NvcmVcIjtcclxuaW1wb3J0IHtMaWJTdmdJY29uQ29tcG9uZW50fSBmcm9tIFwiLi4vbGliLXN2Zy1pY29uL2xpYi1zdmctaWNvbi5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLXBlcmlvZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBMaWJDYXJkQ29tcG9uZW50LFxyXG4gICAgTGliRmlsdGVyQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgTGliUmFkaW9Db21wb25lbnQsXHJcbiAgICBMaWJDYWxlbmRhckNvbXBvbmVudCxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxyXG4gICAgTGliU3ZnSWNvbkNvbXBvbmVudCxcclxuICBdLFxyXG5cclxuICB0ZW1wbGF0ZVVybDogJy4vbGliLXBlcmlvZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2xpYi1wZXJpb2QuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGliUGVyaW9kQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJQZXJpb2RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwdWJsaWMgc3RhdGljIGlkQ291bnRlciA9IDE7XHJcbiAgQElucHV0KCkgcHVibGljIG1heERhdGU6IERhdGUgfCB1bmRlZmluZWQ7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBzZXRQZXJpb2REYXRlID0gbmV3IEV2ZW50RW1pdHRlcjx7IFtrZXkgaW4ga2V5b2YgR2V0RGF0ZUJ5XTogc3RyaW5nIH0gfCBudWxsPigpO1xyXG5cclxuICBwdWJsaWMgcGVyaW9kTWVudTogUGVyaW9kTWVudURhdGVbXSB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgcGVyaW9kSXNTaG93biA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjYWxlbmRhcklzU2hvd24gPSBmYWxzZTtcclxuICBwdWJsaWMgcGVyaW9kSXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjYWxlbmRhcklzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICBwdWJsaWMgc2VsZWN0ZWRQZXJpb2Q6IFBlcmlvZE5hbWUgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHNlbGVjdGVkRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgaWRQZXJpb2QhOiBzdHJpbmc7XHJcbiAgcHVibGljIGlkQ2FsZW5kYXIhOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGVTZXJ2aWNlOiBEYXRlU2VydmljZSwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlkUGVyaW9kID0gJ3BlcmlvZC13cmFwcGVyLScgKyBMaWJQZXJpb2RDb21wb25lbnQuaWRDb3VudGVyKys7XHJcbiAgICB0aGlzLmlkQ2FsZW5kYXIgPSAnY2FsZW5kYXItd3JhcHBlci0nICsgTGliUGVyaW9kQ29tcG9uZW50LmlkQ291bnRlcisrO1xyXG4gICAgdGhpcy5wZXJpb2RNZW51ID0gdGhpcy5kYXRlU2VydmljZS5nZXRQZXJpb2RNZW51KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93UGVyaW9kKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wZXJpb2RJc1Nob3duID0gIXRoaXMucGVyaW9kSXNTaG93bjtcclxuICAgIHRoaXMuY2FsZW5kYXJJc1Nob3duID0gISF0aGlzLnNlbGVjdGVkRGF0ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhclBlcmlvZCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGVyaW9kSXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYWxlbmRhcklzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMucGVyaW9kSXNTaG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYWxlbmRhcklzU2hvd24gPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2V0UGVyaW9kRGF0ZS5lbWl0KG51bGwpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdFBlcmlvZCh0eXBlOiBrZXlvZiBHZXREYXRlQnkpOiB2b2lkIHtcclxuICAgIHRoaXMucGVyaW9kSXNTaG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5jYWxlbmRhcklzU2hvd24gPSBmYWxzZTtcclxuICAgIHRoaXMucGVyaW9kSXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICB0aGlzLmNhbGVuZGFySXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuZGF0ZVNlcnZpY2UuZ2V0Rm9ybWF0dGVkRGF0ZSh0eXBlKTtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHR5cGUpO1xyXG4gICAgdGhpcy5zZXRQZXJpb2REYXRlLmVtaXQoeyBbdHlwZV06IGRhdGUgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUGVyaW9kID0gdmFsdWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0RGF0ZSgkZXZlbnQ6IERhdGUgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FsZW5kYXJJc1Nob3duID0gZmFsc2U7XHJcbiAgICBpZiAoJGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QgPSAnY2FsZW5kYXInO1xyXG4gICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGVkUGVyaW9kKTtcclxuICAgICAgdGhpcy5wZXJpb2RJc1Nob3duID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucGVyaW9kSXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNhbGVuZGFySXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2V0UGVyaW9kRGF0ZS5lbWl0KHsgY2FsZW5kYXI6IGZvcm1hdCgkZXZlbnQsIERFRkFVTFRfRk9STUFUKSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdW5kZWZpbmVkO1xyXG4gICAgICB0aGlzLnNldFBlcmlvZERhdGUuZW1pdChudWxsKTtcclxuICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkUGVyaW9kKSB7XHJcbiAgICAgICAgdGhpcy5wZXJpb2RJc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jYWxlbmRhcklzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGlja091dHNpZGUoJGV2ZW50OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnBlcmlvZElzU2hvd24gPSAkZXZlbnQ7XHJcbiAgICBpZiAodGhpcy5wZXJpb2RJc1Nob3duICYmICEkZXZlbnQpIHtcclxuICAgICAgdGhpcy5jYWxlbmRhcklzU2hvd24gPSAkZXZlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByb3BhZ2F0ZUNoYW5nZSh2YWx1ZTogUGVyaW9kTmFtZSkge31cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicG9zLXJlbGF0aXZlXCI+XHJcbiAgPGRkLWxpYi1maWx0ZXItYnV0dG9uXHJcbiAgICAoY2xlYXJFdmVudCk9XCJjbGVhclBlcmlvZCgpXCJcclxuICAgIChjbGlja0V2ZW50KT1cInNob3dQZXJpb2QoKVwiXHJcbiAgICBbYWN0aXZlXT1cInBlcmlvZElzU2VsZWN0ZWQgfHwgY2FsZW5kYXJJc1NlbGVjdGVkXCJcclxuICAgIFtpZF09XCJpZFBlcmlvZFwiXHJcbiAgICBidG5Db2xvcj1cInRyYW5zcGFyZW50XCI+XHJcbiAgICA8ZGl2PtCf0LXRgNC40L7QtDwvZGl2PlxyXG4gIDwvZGQtbGliLWZpbHRlci1idXR0b24+XHJcbiAgQGlmIChwZXJpb2RJc1Nob3duKSB7XHJcbiAgPGRpdiAoZGRDbGlja091dHNpZGUpPVwiY2xpY2tPdXRzaWRlKCRldmVudClcIiBbZWxlbWVudHNdPVwiW2lkUGVyaW9kLCBpZENhbGVuZGFyXVwiIGNsYXNzPVwicGVyaW9kX193cmFwcGVyXCI+XHJcbiAgICA8ZGQtbGliLWNhcmQgY2xhc3M9XCJwZXJpb2RfX2Jsb2NrXCIgdHlwZT1cInNtYWxsXCI+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBlcmlvZF9faGVhZGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVyaW9kX19iYWNrXCIgKGNsaWNrKT1cInBlcmlvZElzU2hvd24gPSBmYWxzZVwiPlxyXG4gICAgICAgICAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJ0b2dnbGVfYXJyb3dfbGVmdFwiPjwvZGQtbGliLXN2Zy1pY29uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZy1oNS10aXRsZVwiPtCf0LXRgNC40L7QtDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZy1oNS10aXRsZSBoaWRlLXRhYmxldFwiPtCf0LXRgNC40L7QtDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAoY2xpY2spPVwiY2xlYXJQZXJpb2QoKVwiIGNsYXNzPVwiZy10ZXh0IGZvbnQtbWVkaXVtIGdyZWVuIGN1cFwiPtCh0LHRgNC+0YHQuNGC0Yw8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGVyaW9kX19saXN0XCI+XHJcbiAgICAgICAgICBAZm9yIChwZXJpb2Qgb2YgcGVyaW9kTWVudTsgdHJhY2sgcGVyaW9kKSB7XHJcbiAgICAgICAgICA8ZGQtbGliLXJhZGlvIChjaGFuZ2VkKT1cInNlbGVjdFBlcmlvZCgkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFBlcmlvZFwiIFt2YWx1ZV09XCJwZXJpb2QubmFtZVwiPnt7XHJcbiAgICAgICAgICAgIHBlcmlvZC50aXRsZVxyXG4gICAgICAgICAgfX08L2RkLWxpYi1yYWRpbz5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IChjbGljayk9XCJjYWxlbmRhcklzU2hvd24gPSAhY2FsZW5kYXJJc1Nob3duXCIgY2xhc3M9XCJnLXRleHQgZm9udC1tZWRpdW0gZ3JlZW4gY3VwIG10LThcIj5cclxuICAgICAgICAgIHt7IGNhbGVuZGFySXNTaG93biA/ICfQl9Cw0LrRgNGL0YLRjCcgOiAn0J7RgtC60YDRi9GC0YwnIH19INC60LDQu9C10L3QtNCw0YDRjFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGQtbGliLWNhcmQ+XHJcbiAgICBAaWYgKGNhbGVuZGFySXNTaG93bikge1xyXG4gICAgPGRkLWxpYi1jYWxlbmRhclxyXG4gICAgICAoZW1pdERhdGUpPVwic2VsZWN0RGF0ZSgkZXZlbnQpXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVcIlxyXG4gICAgICBbaWRdPVwiaWRDYWxlbmRhclwiXHJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxyXG4gICAgICBjbGFzcz1cInBlcmlvZF9fY2FsZW5kYXJcIj5cclxuICAgIDwvZGQtbGliLWNhbGVuZGFyPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -4,14 +4,15 @@ import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/fo
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/common";
|
|
6
6
|
export class LibRadioComponent {
|
|
7
|
-
|
|
7
|
+
static { this.idCounter = 1; }
|
|
8
|
+
constructor(cdr) {
|
|
9
|
+
this.cdr = cdr;
|
|
8
10
|
this.disabled = false; // состояние: по умолчанию - активное
|
|
9
11
|
this.required = false;
|
|
10
12
|
this.checked = false;
|
|
11
13
|
this.changed = new EventEmitter();
|
|
12
14
|
this.modelInitialization = true;
|
|
13
15
|
}
|
|
14
|
-
static { this.idCounter = 1; }
|
|
15
16
|
ngOnInit() {
|
|
16
17
|
if (!this.radioId) {
|
|
17
18
|
this.radioId = 'dd-radio-' + LibRadioComponent.idCounter++;
|
|
@@ -38,9 +39,10 @@ export class LibRadioComponent {
|
|
|
38
39
|
return;
|
|
39
40
|
}
|
|
40
41
|
this.checked = value === this.value;
|
|
42
|
+
this.cdr.detectChanges();
|
|
41
43
|
}
|
|
42
44
|
propagateChange(_value) { }
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibRadioComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
46
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: LibRadioComponent, isStandalone: true, selector: "dd-lib-radio", inputs: { radioId: "radioId", disabled: "disabled", required: "required", name: "name", value: "value", checked: "checked" }, outputs: { changed: "changed" }, providers: [
|
|
45
47
|
{
|
|
46
48
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -58,7 +60,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
58
60
|
multi: true,
|
|
59
61
|
},
|
|
60
62
|
], template: "<label [for]=\"radioId\" [ngClass]=\"{ disabled: disabled }\" class=\"radio\">\r\n <input\r\n (change)=\"onSelected($event.target)\"\r\n [attr.aria-checked]=\"checked\"\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [attr.value]=\"value\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [id]=\"radioId\"\r\n [name]=\"name\"\r\n [ngClass]=\"{ disabled: disabled }\"\r\n [required]=\"required\"\r\n class=\"radio__input\"\r\n role=\"radio\"\r\n type=\"radio\" />\r\n <div [class.focused]=\"focused\" class=\"radio__mark\"></div>\r\n <div class=\"radio__text g-text\" [ngClass]=\"disabled ? 'gray' : 'black'\">\r\n <span><ng-content></ng-content></span>\r\n </div>\r\n</label>\r\n", styles: [":host{outline:none}.radio{position:relative;display:flex;align-items:center;cursor:pointer}.radio:hover .radio__mark{border-color:var(--light-black-color)}.radio.disabled{cursor:default}.radio.disabled .radio__mark{border-color:var(--gray-color-200)}.radio__input{opacity:0;position:absolute;z-index:-1;min-width:20px;min-height:20px;margin:0}.radio__input:focus+.radio__mark{border-color:var(--light-black-color)}.radio__input:checked+.radio__mark{border:2px solid var(--primary-green-color)}.radio__input:checked+.radio__mark:before{background:var(--primary-green-color)}.radio__input:checked~.radio__text{font-weight:500}.radio__input:checked.disabled+.radio__mark{border-color:var(--gray-color-200)}.radio__input:checked.disabled+.radio__mark:before{background:var(--gray-color-200)}.radio__mark{position:relative;width:20px;height:20px;min-width:20px;min-height:20px;border:1px solid var(--primary-gray-color);border-radius:50%;margin-right:12px;transition:border-color .25s linear}.radio__mark:before{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:transparent;transition:background-color .25s linear;content:\"\"}\n"] }]
|
|
61
|
-
}], propDecorators: { radioId: [{
|
|
63
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { radioId: [{
|
|
62
64
|
type: Input
|
|
63
65
|
}], disabled: [{
|
|
64
66
|
type: Input
|
|
@@ -73,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
73
75
|
}], changed: [{
|
|
74
76
|
type: Output
|
|
75
77
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RkLWxpYi9zcmMvbGliL2xpYi1yYWRpby9saWItcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXJhZGlvL2xpYi1yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWlCM0csTUFBTSxPQUFPLGlCQUFpQjthQUNkLGNBQVMsR0FBRyxDQUFDLEFBQUosQ0FBSztJQWU1QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVoxQixhQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMscUNBQXFDO1FBQ3ZELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVmLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSXRDLHdCQUFtQixHQUFHLElBQUksQ0FBQztJQUduQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFTSxVQUFVLENBQUMsTUFBMEI7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBSSxNQUEyQixFQUFFLE9BQU8sQ0FBQztRQUNyRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQU87UUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFFBQWlCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFPO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFVO1FBQzFCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ2xELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDMUUsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGVBQWUsQ0FBQyxNQUFXLElBQUcsQ0FBQzs4R0FyRDVCLGlCQUFpQjtrR0FBakIsaUJBQWlCLDBOQVJqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkN6QkgsOHRCQW9CQSxrc0NETFksWUFBWSw0SEFBRSxXQUFXLDhCQUFFLG1CQUFtQjs7MkZBWTdDLGlCQUFpQjtrQkFmN0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHeEMsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7c0ZBS2UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBRVcsT0FBTztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZC1saWItcmFkaW8nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saWItcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9saWItcmFkaW8uY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGliUmFkaW9Db21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpYlJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHVibGljIHN0YXRpYyBpZENvdW50ZXIgPSAxO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgcmFkaW9JZDogc3RyaW5nIHwgdW5kZWZpbmVkOyAvLyBpbnB1dCBJRDog0LXRgdC70Lgg0L3QtSDRg9C60LDQt9Cw0L0sINCz0LXQvdC10YDQuNGA0YPQtdGC0YHRjyDRg9C90LjQutCw0LvRjNC90YvQuSBJRFxyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlOyAvLyDRgdC+0YHRgtC+0Y/QvdC40LU6INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIC0g0LDQutGC0LjQstC90L7QtVxyXG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIHZhbHVlOiBhbnk7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrZWQgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgZm9jdXNlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgb25Ub3VjaGVkQ2FsbGJhY2s6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIG1vZGVsSW5pdGlhbGl6YXRpb24gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5yYWRpb0lkKSB7XHJcbiAgICAgIHRoaXMucmFkaW9JZCA9ICdkZC1yYWRpby0nICsgTGliUmFkaW9Db21wb25lbnQuaWRDb3VudGVyKys7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TZWxlY3RlZCh0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCkge1xyXG4gICAgdGhpcy5jaGVja2VkID0gKHRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8uY2hlY2tlZDtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBpc0luaXRpYWxpemF0aW9uID0gdGhpcy5tb2RlbEluaXRpYWxpemF0aW9uO1xyXG4gICAgdGhpcy5tb2RlbEluaXRpYWxpemF0aW9uID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5jaGVja2VkICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgPT09IHVuZGVmaW5lZCAmJiBpc0luaXRpYWxpemF0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlID09PSB0aGlzLnZhbHVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9wYWdhdGVDaGFuZ2UoX3ZhbHVlOiBhbnkpIHt9XHJcbn1cclxuIiwiPGxhYmVsIFtmb3JdPVwicmFkaW9JZFwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkIH1cIiBjbGFzcz1cInJhZGlvXCI+XHJcbiAgPGlucHV0XHJcbiAgICAoY2hhbmdlKT1cIm9uU2VsZWN0ZWQoJGV2ZW50LnRhcmdldClcIlxyXG4gICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cImNoZWNrZWRcIlxyXG4gICAgW2F0dHIudGFiSW5kZXhdPVwiZGlzYWJsZWQgPyAtMSA6IDBcIlxyXG4gICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxyXG4gICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW2lkXT1cInJhZGlvSWRcIlxyXG4gICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCB9XCJcclxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICBjbGFzcz1cInJhZGlvX19pbnB1dFwiXHJcbiAgICByb2xlPVwicmFkaW9cIlxyXG4gICAgdHlwZT1cInJhZGlvXCIgLz5cclxuICA8ZGl2IFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWRcIiBjbGFzcz1cInJhZGlvX19tYXJrXCI+PC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInJhZGlvX190ZXh0IGctdGV4dFwiIFtuZ0NsYXNzXT1cImRpc2FibGVkID8gJ2dyYXknIDogJ2JsYWNrJ1wiPlxyXG4gICAgPHNwYW4+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC9sYWJlbD5cclxuIl19
|
|
@@ -66,14 +66,14 @@
|
|
|
66
66
|
* getTitle(item: any)Метод для получения заголовка элемента данных.
|
|
67
67
|
* getDesc(item: any)Метод для получения описания элемента данных.
|
|
68
68
|
* **/
|
|
69
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
70
|
-
import { FormsModule } from '@angular/forms';
|
|
71
|
-
import { AsyncPipe, NgOptimizedImage } from '@angular/common';
|
|
69
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, HostListener, Input, Output, } from '@angular/core';
|
|
70
|
+
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
71
|
+
import { AsyncPipe, JsonPipe, NgOptimizedImage, NgStyle } from '@angular/common';
|
|
72
72
|
import { LibCommonInputTextComponent } from '../common/lib-common-input-text';
|
|
73
73
|
import { LibCardComponent } from '../lib-card/lib-card.component';
|
|
74
74
|
import { BehaviorSubject, of, Subject } from 'rxjs';
|
|
75
75
|
import { debounceTime, delay, map, mergeMap, takeUntil, tap } from 'rxjs/operators';
|
|
76
|
-
import { DestroyService, HighlightPipe, SafePipe } from "../core";
|
|
76
|
+
import { DestroyService, DropDownPositionDirective, HighlightPipe, SafePipe } from "../core";
|
|
77
77
|
import { LibSvgIconComponent } from "../lib-svg-icon/lib-svg-icon.component";
|
|
78
78
|
import { LibLoaderComponent } from "../lib-loader/lib-loader.component";
|
|
79
79
|
import * as i0 from "@angular/core";
|
|
@@ -83,14 +83,17 @@ export class LibSearchInputComponent extends LibCommonInputTextComponent {
|
|
|
83
83
|
set searchData(data) {
|
|
84
84
|
this.loaded$.next(false);
|
|
85
85
|
this.data = data;
|
|
86
|
+
if (data?.length) {
|
|
87
|
+
this.itemSize = this.keyDesc && this.keyTitle ? 90 : this.keyDesc && !this.keyTitle ? 50 : 40;
|
|
88
|
+
this.updateDropdownPosition(this.el, data, this.itemSize, 400);
|
|
89
|
+
}
|
|
86
90
|
}
|
|
87
91
|
;
|
|
88
|
-
constructor(destroy$, changeDetection, cdr) {
|
|
92
|
+
constructor(destroy$, el, changeDetection, cdr) {
|
|
89
93
|
super(changeDetection);
|
|
90
94
|
this.destroy$ = destroy$;
|
|
95
|
+
this.el = el;
|
|
91
96
|
this.cdr = cdr;
|
|
92
|
-
this.keyTitle = 'title';
|
|
93
|
-
this.keyDesc = 'description';
|
|
94
97
|
this.styleInput = 'standard';
|
|
95
98
|
this.inputStyle = 'gray';
|
|
96
99
|
this.debounceTime = 100;
|
|
@@ -99,6 +102,12 @@ export class LibSearchInputComponent extends LibCommonInputTextComponent {
|
|
|
99
102
|
this.keyupEvent = new EventEmitter();
|
|
100
103
|
this.selectedItem = new EventEmitter();
|
|
101
104
|
this.keyUp = new Subject();
|
|
105
|
+
this.itemSize = this.keyDesc && this.keyTitle ? 90 : this.keyDesc && !this.keyTitle ? 50 : 40;
|
|
106
|
+
}
|
|
107
|
+
onWindowScroll() {
|
|
108
|
+
if (this.data?.length) {
|
|
109
|
+
this.updateDropdownPosition(this.el, this.data, this.itemSize, 400);
|
|
110
|
+
}
|
|
102
111
|
}
|
|
103
112
|
ngOnInit() {
|
|
104
113
|
if (this.commitOnInput) {
|
|
@@ -116,6 +125,12 @@ export class LibSearchInputComponent extends LibCommonInputTextComponent {
|
|
|
116
125
|
}, () => this.loaded$.next(false));
|
|
117
126
|
}
|
|
118
127
|
}
|
|
128
|
+
writeValue(value) {
|
|
129
|
+
this.value = value === null || value === undefined ? '' : '' + value;
|
|
130
|
+
if (!this.destroyed) {
|
|
131
|
+
this.changeDetection.detectChanges();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
119
134
|
forceChange() {
|
|
120
135
|
if (!this.commitOnInput) {
|
|
121
136
|
this.keyupEvent.emit(this.value);
|
|
@@ -134,7 +149,7 @@ export class LibSearchInputComponent extends LibCommonInputTextComponent {
|
|
|
134
149
|
onClickSearchItem(item) {
|
|
135
150
|
this.loaded$.next(false);
|
|
136
151
|
this.selectedItem.emit(item);
|
|
137
|
-
this.value = this.getTitle(item);
|
|
152
|
+
this.value = this.keyTitle ? this.getTitle(item) : this.getDesc(item);
|
|
138
153
|
}
|
|
139
154
|
getTitle(item) {
|
|
140
155
|
return item[this.keyTitle];
|
|
@@ -142,13 +157,27 @@ export class LibSearchInputComponent extends LibCommonInputTextComponent {
|
|
|
142
157
|
getDesc(item) {
|
|
143
158
|
return item[this.keyDesc];
|
|
144
159
|
}
|
|
145
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibSearchInputComponent, deps: [{ token: i1.DestroyService }, { token: i0.ChangeDetectorRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
146
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibSearchInputComponent, isStandalone: true, selector: "dd-lib-search-input", inputs: { keyTitle: "keyTitle", keyDesc: "keyDesc", styleInput: "styleInput", inputStyle: "inputStyle", searchData: "searchData", debounceTime: "debounceTime", delay: "delay", idClose: "idClose", loaded$: "loaded$" }, outputs: { keyupEvent: "keyupEvent", selectedItem: "selectedItem" },
|
|
160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibSearchInputComponent, deps: [{ token: i1.DestroyService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibSearchInputComponent, isStandalone: true, selector: "dd-lib-search-input", inputs: { keyTitle: "keyTitle", keyDesc: "keyDesc", styleInput: "styleInput", inputStyle: "inputStyle", searchData: "searchData", debounceTime: "debounceTime", delay: "delay", idClose: "idClose", loaded$: "loaded$" }, outputs: { keyupEvent: "keyupEvent", selectedItem: "selectedItem" }, host: { listeners: { "window:resize": "onWindowScroll()", "window:scroll": "onWindowScroll()" } }, providers: [
|
|
162
|
+
DestroyService,
|
|
163
|
+
{
|
|
164
|
+
provide: NG_VALUE_ACCESSOR,
|
|
165
|
+
useExisting: forwardRef(() => LibSearchInputComponent),
|
|
166
|
+
multi: true,
|
|
167
|
+
},
|
|
168
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-search-input\">\r\n <label [for]=\"id\" class=\"lib-search-input__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative\">\r\n <dd-lib-svg-icon (click)=\"forceChange()\" class=\"search-icon\" icon=\"search\"></dd-lib-svg-icon>\r\n <input\r\n #searchInput\r\n (keyup)=\"keyUp.next($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"type || 'text'\"\r\n [class.focused]=\"focused\"\r\n [class.round]=\"styleInput === 'round'\"\r\n [class.white]=\"inputStyle === 'white'\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n class=\"search-input\" />\r\n <dd-lib-svg-icon\r\n (click)=\"onClear()\"\r\n [id]=\"idClose\" [style.display]=\"value?.length ? 'block' : 'none'\"\r\n class=\"clear-icon\" icon=\"clear\"></dd-lib-svg-icon>\r\n @if (loaded$ | async) {\r\n <div class=\"loading-icon\">\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (data?.length) {\r\n <div class=\"search-dropdown\" [class.top]=\"side === 'top'\" [ngStyle]=\"dropdownStyle\">\r\n @for (item of data; track item) {\r\n <div (click)=\"onClickSearchItem(item)\" class=\"search-result\">\r\n @if (getTitle(item); as title) {\r\n <div [innerHTML]=\"title | highlight: value | safe: 'html'\" class=\"search-result__title\"></div>\r\n }\r\n @if (getDesc(item); as desc) {\r\n <div [innerHTML]=\"desc | highlight: value | safe: 'html'\" class=\"search-result__desc\"></div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block}.lib-search-input{position:relative}.lib-search-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-search-input input{width:100%;height:48px;padding:16px 16px 15px 44px;border-radius:8px;border:none;color:var(--light-black-color);background-color:var(--input-gray-bgc)}.lib-search-input input.white{background-color:var(--white-color);border:1px solid var(--primary-gray-color)}.lib-search-input .round{border-radius:24px}.lib-search-input .search-icon{position:absolute;left:16px;top:14px;cursor:pointer}.lib-search-input .clear-icon{position:absolute;right:16px;top:14px;cursor:pointer}.lib-search-input .loading-icon{position:absolute;right:40px;top:12px}.lib-search-input .search-result{font-size:16px;font-weight:400;line-height:24px;letter-spacing:0;text-align:left;cursor:pointer}.lib-search-input .search-result:hover{opacity:.8}.lib-search-input .search-result:last-child .search-result__desc{border:none;padding-bottom:0}.lib-search-input .search-result__title{color:var(--second-gray-color);min-height:40px;align-items:center;align-content:center}.lib-search-input .search-result__desc{min-height:50px;align-items:center;align-content:center;border-bottom:1px solid var(--gray-color-200)}.lib-search-input dd-lib-card{position:absolute;display:block;top:76px;z-index:100;width:100%;max-height:400px;box-shadow:var(--main-card-shadow);overflow:auto}.lib-search-input dd-lib-card.top{bottom:50px;top:unset}.lib-search-input .search-dropdown{position:absolute;display:block;top:76px;z-index:100;width:100%;max-height:400px;overflow:auto;border-radius:24px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color);min-height:100%;padding:0 24px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "pipe", type: SafePipe, name: "safe" }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color", "size"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
147
169
|
}
|
|
148
170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibSearchInputComponent, decorators: [{
|
|
149
171
|
type: Component,
|
|
150
|
-
args: [{ selector: 'dd-lib-search-input', standalone: true, imports: [FormsModule, NgOptimizedImage, LibCardComponent, HighlightPipe, SafePipe, LibSvgIconComponent, LibLoaderComponent, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
151
|
-
|
|
172
|
+
args: [{ selector: 'dd-lib-search-input', standalone: true, imports: [FormsModule, NgStyle, NgOptimizedImage, LibCardComponent, HighlightPipe, SafePipe, LibSvgIconComponent, LibLoaderComponent, AsyncPipe, DropDownPositionDirective, JsonPipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
173
|
+
DestroyService,
|
|
174
|
+
{
|
|
175
|
+
provide: NG_VALUE_ACCESSOR,
|
|
176
|
+
useExisting: forwardRef(() => LibSearchInputComponent),
|
|
177
|
+
multi: true,
|
|
178
|
+
},
|
|
179
|
+
], template: "<div class=\"lib-search-input\">\r\n <label [for]=\"id\" class=\"lib-search-input__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative\">\r\n <dd-lib-svg-icon (click)=\"forceChange()\" class=\"search-icon\" icon=\"search\"></dd-lib-svg-icon>\r\n <input\r\n #searchInput\r\n (keyup)=\"keyUp.next($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"type || 'text'\"\r\n [class.focused]=\"focused\"\r\n [class.round]=\"styleInput === 'round'\"\r\n [class.white]=\"inputStyle === 'white'\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n class=\"search-input\" />\r\n <dd-lib-svg-icon\r\n (click)=\"onClear()\"\r\n [id]=\"idClose\" [style.display]=\"value?.length ? 'block' : 'none'\"\r\n class=\"clear-icon\" icon=\"clear\"></dd-lib-svg-icon>\r\n @if (loaded$ | async) {\r\n <div class=\"loading-icon\">\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (data?.length) {\r\n <div class=\"search-dropdown\" [class.top]=\"side === 'top'\" [ngStyle]=\"dropdownStyle\">\r\n @for (item of data; track item) {\r\n <div (click)=\"onClickSearchItem(item)\" class=\"search-result\">\r\n @if (getTitle(item); as title) {\r\n <div [innerHTML]=\"title | highlight: value | safe: 'html'\" class=\"search-result__title\"></div>\r\n }\r\n @if (getDesc(item); as desc) {\r\n <div [innerHTML]=\"desc | highlight: value | safe: 'html'\" class=\"search-result__desc\"></div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block}.lib-search-input{position:relative}.lib-search-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-search-input input{width:100%;height:48px;padding:16px 16px 15px 44px;border-radius:8px;border:none;color:var(--light-black-color);background-color:var(--input-gray-bgc)}.lib-search-input input.white{background-color:var(--white-color);border:1px solid var(--primary-gray-color)}.lib-search-input .round{border-radius:24px}.lib-search-input .search-icon{position:absolute;left:16px;top:14px;cursor:pointer}.lib-search-input .clear-icon{position:absolute;right:16px;top:14px;cursor:pointer}.lib-search-input .loading-icon{position:absolute;right:40px;top:12px}.lib-search-input .search-result{font-size:16px;font-weight:400;line-height:24px;letter-spacing:0;text-align:left;cursor:pointer}.lib-search-input .search-result:hover{opacity:.8}.lib-search-input .search-result:last-child .search-result__desc{border:none;padding-bottom:0}.lib-search-input .search-result__title{color:var(--second-gray-color);min-height:40px;align-items:center;align-content:center}.lib-search-input .search-result__desc{min-height:50px;align-items:center;align-content:center;border-bottom:1px solid var(--gray-color-200)}.lib-search-input dd-lib-card{position:absolute;display:block;top:76px;z-index:100;width:100%;max-height:400px;box-shadow:var(--main-card-shadow);overflow:auto}.lib-search-input dd-lib-card.top{bottom:50px;top:unset}.lib-search-input .search-dropdown{position:absolute;display:block;top:76px;z-index:100;width:100%;max-height:400px;overflow:auto;border-radius:24px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color);min-height:100%;padding:0 24px}\n"] }]
|
|
180
|
+
}], ctorParameters: () => [{ type: i1.DestroyService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.ChangeDetectorRef }], propDecorators: { keyTitle: [{
|
|
152
181
|
type: Input
|
|
153
182
|
}], keyDesc: [{
|
|
154
183
|
type: Input
|
|
@@ -170,5 +199,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
170
199
|
type: Output
|
|
171
200
|
}], selectedItem: [{
|
|
172
201
|
type: Output
|
|
202
|
+
}], onWindowScroll: [{
|
|
203
|
+
type: HostListener,
|
|
204
|
+
args: ['window:resize']
|
|
205
|
+
}, {
|
|
206
|
+
type: HostListener,
|
|
207
|
+
args: ['window:scroll']
|
|
173
208
|
}] } });
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItc2VhcmNoLWlucHV0L2xpYi1zZWFyY2gtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXNlYXJjaC1pbnB1dC9saWItc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BbUVNO0FBRU4sT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZUFBZSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8s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S0FBSztzQkFBcEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1csVUFBVTtzQkFBMUIsTUFBTTtnQkFDVSxZQUFZO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8qKlxyXG4gKiDQktGF0L7QtNC90YvQtSDQv9Cw0YDQsNC80LXRgtGA0YsgKElucHV0KVxyXG4gKiBrZXlUaXRsZSAoZGVmYXVsdDogJ3RpdGxlJylcclxuICog0KLQuNC/OiBzdHJpbmdcclxuICog0J7Qv9C40YHQsNC90LjQtTog0J3QsNC40LzQtdC90L7QstCw0L3QuNC1INC60LvRjtGH0LAg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQt9Cw0LPQvtC70L7QstC60LAg0Y3Qu9C10LzQtdC90YLQsCDQtNCw0L3QvdGL0YUuXHJcbiAqXHJcbiAqIGtleURlc2MgKGRlZmF1bHQ6ICdkZXNjcmlwdGlvbicpXHJcbiAqINCi0LjQvzogc3RyaW5nXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCd0LDQuNC80LXQvdC+0LLQsNC90LjQtSDQutC70Y7Rh9CwINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L7Qv9C40YHQsNC90LjRjyDRjdC70LXQvNC10L3RgtCwINC00LDQvdC90YvRhS5cclxuICpcclxuICogc3R5bGVJbnB1dCAoZGVmYXVsdDogJ3N0YW5kYXJkJylcclxuICog0KLQuNC/OiAncm91bmQnIHwgJ3N0YW5kYXJkJ1xyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQotC40L8g0YHRgtC40LvRjyDQstGF0L7QtNC90L7Qs9C+INGN0LvQtdC80LXQvdGC0LAsINC80L7QttC10YIg0LHRi9GC0YwgJ3JvdW5kJyDQuNC70LggJ3N0YW5kYXJkJy5cclxuICpcclxuICogaW5wdXRTdHlsZSAoZGVmYXVsdDogJ2dyYXknKVxyXG4gKiDQotC40L86ICd3aGl0ZScgfCAnZ3JheSdcclxuICog0J7Qv9C40YHQsNC90LjQtTog0KHRgtC40LvRjCDQstGF0L7QtNC90L7Qs9C+INGN0LvQtdC80LXQvdGC0LAsINC80L7QttC10YIg0LHRi9GC0YwgJ3doaXRlJyDQuNC70LggJ2dyYXknLlxyXG4gKlxyXG4gKiBmZXRjaE1vZGVcclxuICog0KLQuNC/OiBib29sZWFuXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCk0LvQsNCzLCDRg9C60LDQt9GL0LLQsNGO0YnQuNC5LCDQstC60LvRjtGH0LXQvSDQu9C4INGA0LXQttC40Lwg0L/QvtC70YPRh9C10L3QuNGPINC00LDQvdC90YvRhS5cclxuICpcclxuICogc2VhcmNoRGF0YVxyXG4gKiDQotC40L86IGFueVxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQnNCw0YHRgdC40LIg0LTQsNC90L3Ri9GFINC00LvRjyDQv9C+0LjRgdC60LAuINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDRjyDQtNCw0L3QvdGL0LUsINC60L7QvNC/0L7QvdC10L3RgiDRgdCx0YDQsNGB0YvQstCw0LXRgiDRgdC+0YHRgtC+0Y/QvdC40LUg0LfQsNCz0YDRg9C30LrQuC5cclxuICpcclxuICogZGVib3VuY2VUaW1lIChkZWZhdWx0OiAxMDApXHJcbiAqINCi0LjQvzogbnVtYmVyXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCS0YDQtdC80Y8g0LfQsNC00LXRgNC20LrQuCDQv9C10YDQtdC0INCy0YvQv9C+0LvQvdC10L3QuNC10Lwg0LTQtdC50YHRgtCy0LjQuSDQv9C+0YHQu9C1INCy0LLQvtC00LAsINCyINC80LjQu9C70LjRgdC10LrRg9C90LTQsNGFLlxyXG4gKlxyXG4gKiBkZWxheSAoZGVmYXVsdDogMClcclxuICog0KLQuNC/OiBudW1iZXJcclxuICog0J7Qv9C40YHQsNC90LjQtTog0JfQsNC00LXRgNC20LrQsCDQv9C10YDQtdC0INC+0LHRgNCw0LHQvtGC0LrQvtC5INC/0L7QuNGB0LrQsCwg0LIg0LzQuNC70LvQuNGB0LXQutGD0L3QtNCw0YUuXHJcbiAqXHJcbiAqIGlkQ2xvc2VcclxuICog0KLQuNC/OiBzdHJpbmcgfCB1bmRlZmluZWRcclxuICog0J7Qv9C40YHQsNC90LjQtTog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0Y3Qu9C10LzQtdC90YLQsCDQt9Cw0LrRgNGL0YLQuNGPICjQvdC10L7Qv9GA0LXQtNC10LvQtdC90L4g0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pLlxyXG4gKlxyXG4gKiBsb2FkZWQkXHJcbiAqINCi0LjQvzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+XHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCh0YPQsdGK0LXQutGCINC00LvRjyDRg9C/0YDQsNCy0LvQtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40LXQvCDQt9Cw0LPRgNGD0LfQutC4INC60L7QvNC/0L7QvdC10L3RgtCwLlxyXG4gKlxyXG4gKiDQktGL0YXQvtC00L3Ri9C1INC/0LDRgNCw0LzQtdGC0YDRiyAoT3V0cHV0KVxyXG4gKiBrZXl1cEV2ZW50XHJcbiAqINCi0LjQvzogRXZlbnRFbWl0dGVyPHN0cmluZz5cclxuICog0J7Qv9C40YHQsNC90LjQtTog0KHQvtCx0YvRgtC40LUsINC40YHQv9GD0YHQutCw0LXQvNC+0LUg0L/RgNC4INCy0LLQvtC00LUg0YLQtdC60YHRgtCwINCyINC/0L7Qu9C1INC/0L7QuNGB0LrQsC5cclxuICpcclxuICogc2VsZWN0ZWRJdGVtXHJcbiAqINCi0LjQvzogRXZlbnRFbWl0dGVyXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCh0L7QsdGL0YLQuNC1LCDQuNGB0L/Rg9GB0LrQsNC10LzQvtC1INC/0YDQuCDQstGL0LHQvtGA0LUg0Y3Qu9C10LzQtdC90YLQsCDQuNC3INGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0L/QvtC40YHQutCwLlxyXG4gKlxyXG4gKiDQktC90YPRgtGA0LXQvdC90LjQtSDRgdCy0L7QudGB0YLQstCwINC4INC/0LXRgNC10LzQtdC90L3Ri9C1XHJcbiAqIGtleVVwXHJcbiAqINCi0LjQvzogU3ViamVjdDxLZXlib2FyZEV2ZW50PlxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQodGD0LHRitC10LrRgiDQtNC70Y8g0L7QsdGA0LDQsdC+0YLQutC4INGB0L7QsdGL0YLQuNC5INCy0LLQvtC00LAg0YEg0LrQu9Cw0LLQuNCw0YLRg9GA0YsuXHJcbiAqXHJcbiAqIGRhdGFcclxuICog0KLQuNC/OiBhbnlbXSB8IHVuZGVmaW5lZFxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQnNCw0YHRgdC40LIg0LTQsNC90L3Ri9GFINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0L/QvtC40YHQutCwLlxyXG5cclxuICog0JzQtdGC0L7QtNGLXHJcbiAqIG5nT25Jbml0INCS0YvQv9C+0LvQvdGP0LXRgiDQvdCw0YHRgtGA0L7QudC60YMg0L/QvtGC0L7QutC+0LIg0YHQvtCx0YvRgtC40Lkg0LLQstC+0LTQsCDQv9GA0Lgg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Lgg0LrQvtC80L/QvtC90LXQvdGC0LAuXHJcbiAqIGZvcmNlQ2hhbmdl0JzQtdGC0L7QtCDQtNC70Y8g0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L7Qs9C+INCy0YvQt9C+0LLQsCDRgdC+0LHRi9GC0LjRjyDQuNC30LzQtdC90LXQvdC40Y8g0LLQstC+0LTQsC5cclxuICogb25DbGVhcihub0VtaXQ/OiBib29sZWFuKdCc0LXRgtC+0LQg0LTQu9GPINC+0YfQuNGB0YLQutC4INC/0L7Qu9GPINCy0LLQvtC00LAsINGB0LHRgNC+0YHQsCDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQuCDRhNC+0LrRg9GB0LAg0L3QsCDRjdC70LXQvNC10L3RgiDQstCy0L7QtNCwLlxyXG4gKiBvbkNsaWNrU2VhcmNoSXRlbShpdGVtOiBhbnkp0JzQtdGC0L7QtCDQtNC70Y8g0L7QsdGA0LDQsdC+0YLQutC4INCy0YvQsdC+0YDQsCDRjdC70LXQvNC10L3RgtCwINC40Lcg0YDQtdC30YPQu9GM0YLQsNGC0L7QsiDQv9C+0LjRgdC60LAuXHJcbiAqIGdldFRpdGxlKGl0ZW06IGFueSnQnNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0LfQsNCz0L7Qu9C+0LLQutCwINGN0LvQtdC80LXQvdGC0LAg0LTQsNC90L3Ri9GFLlxyXG4gKiBnZXREZXNjKGl0ZW06IGFueSnQnNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L7Qv9C40YHQsNC90LjRjyDRjdC70LXQvNC10L3RgtCwINC00LDQvdC90YvRhS5cclxuICogKiovXHJcblxyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge0FzeW5jUGlwZSwgTmdPcHRpbWl6ZWRJbWFnZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnR9IGZyb20gJy4uL2NvbW1vbi9saWItY29tbW9uLWlucHV0LXRleHQnO1xyXG5pbXBvcnQge0xpYkNhcmRDb21wb25lbnR9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkZWxheSwgbWFwLCBtZXJnZU1hcCwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtEZXN0cm95U2VydmljZSwgSGlnaGxpZ2h0UGlwZSwgU2FmZVBpcGV9IGZyb20gXCIuLi9jb3JlXCI7XHJcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7TGliTG9hZGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vbGliLWxvYWRlci9saWItbG9hZGVyLmNvbXBvbmVudFwiO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1zZWFyY2gtaW5wdXQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBOZ09wdGltaXplZEltYWdlLCBMaWJDYXJkQ29tcG9uZW50LCBIaWdobGlnaHRQaXBlLCBTYWZlUGlwZSwgTGliU3ZnSWNvbkNvbXBvbmVudCwgTGliTG9hZGVyQ29tcG9uZW50LCBBc3luY1BpcGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saWItc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbRGVzdHJveVNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliU2VhcmNoSW5wdXRDb21wb25lbnQ8VD4gZXh0ZW5kcyBMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBrZXlUaXRsZSA9ICd0aXRsZSc7XHJcbiAgQElucHV0KCkgcHVibGljIGtleURlc2MgPSAnZGVzY3JpcHRpb24nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdHlsZUlucHV0OiAncm91bmQnIHwgJ3N0YW5kYXJkJyA9ICdzdGFuZGFyZCc7XHJcbiAgQElucHV0KCkgcHVibGljIGlucHV0U3R5bGU6ICd3aGl0ZScgfCAnZ3JheScgPSAnZ3JheSc7XHJcbiAgQElucHV0KCkgcHVibGljIHNldCBzZWFyY2hEYXRhKGRhdGE6IFRbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMubG9hZGVkJC5uZXh0KGZhbHNlKVxyXG4gICAgdGhpcy5kYXRhID0gZGF0YTtcclxuICB9O1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWJvdW5jZVRpbWUgPSAxMDA7XHJcbiAgQElucHV0KCkgcHVibGljIGRlbGF5ID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgaWRDbG9zZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBrZXl1cEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHVibGljIGtleVVwID0gbmV3IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD4oKTtcclxuICBwdWJsaWMgZGF0YTogVFtdIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGVzdHJveSQ6IERlc3Ryb3lTZXJ2aWNlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHtcclxuICAgIHN1cGVyKGNoYW5nZURldGVjdGlvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb21taXRPbklucHV0KSB7XHJcbiAgICAgIHRoaXMua2V5VXBcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmZldGNoTW9kZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGVkJC5uZXh0KHRydWUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgbWFwKGV2ZW50ID0+IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlKSxcclxuICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSksXHJcbiAgICAgICAgICAvLyBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCDQvdCw0LTQviDQu9C4P1xyXG4gICAgICAgICAgbWVyZ2VNYXAoc2VhcmNoID0+IG9mKHNlYXJjaCkucGlwZShkZWxheSh0aGlzLmRlbGF5KSkpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKHN0ciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmtleXVwRXZlbnQuZW1pdChzdHIpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSlcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoKSA9PiB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIGZvcmNlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbW1pdE9uSW5wdXQpIHtcclxuICAgICAgdGhpcy5rZXl1cEV2ZW50LmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbGVhcihub0VtaXQ/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICBpZiAoIW5vRW1pdCkge1xyXG4gICAgICB0aGlzLmNsZWFyZWQuZW1pdCgpO1xyXG4gICAgICB0aGlzLmtleXVwRXZlbnQuZW1pdCgnJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlucHV0U2VhcmNoRWxlbWVudD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xpY2tTZWFyY2hJdGVtKGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkZWQkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChpdGVtKTtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldFRpdGxlKGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRpdGxlKGl0ZW06IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gaXRlbVt0aGlzLmtleVRpdGxlIGFzIGtleW9mIHR5cGVvZiBpdGVtXSBhcyBzdHJpbmc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGVzYyhpdGVtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW1bdGhpcy5rZXlEZXNjIGFzIGtleW9mIHR5cGVvZiBpdGVtXSBhcyBzdHJpbmc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJsaWItc2VhcmNoLWlucHV0XCI+XHJcbiAgPGxhYmVsIFtmb3JdPVwiaWRcIiBjbGFzcz1cImxpYi1zZWFyY2gtaW5wdXRfX3RpdGxlXCI+XHJcbiAgICB7eyBsYWJlbCB9fVxyXG4gICAgQGlmIChyZXF1aXJlZCkge1xyXG4gICAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJlcnJvcl9oaW50XCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICB9XHJcbiAgPC9sYWJlbD5cclxuICA8ZGl2IGNsYXNzPVwicG9zLXJlbGF0aXZlXCI+XHJcbiAgICA8ZGQtbGliLXN2Zy1pY29uIChjbGljayk9XCJmb3JjZUNoYW5nZSgpXCIgY2xhc3M9XCJzZWFyY2gtaWNvblwiIGljb249XCJzZWFyY2hcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIDxpbnB1dFxyXG4gICAgICAjc2VhcmNoSW5wdXRcclxuICAgICAgKGtleXVwKT1cImtleVVwLm5leHQoJGV2ZW50KVwiXHJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJmb3JjZUNoYW5nZSgpXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGUgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBhdXRvY29tcGxldGVcIlxyXG4gICAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXHJcbiAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxyXG4gICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcclxuICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcclxuICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbYXR0ci50YWJJbmRleF09XCJ0YWJJbmRleFwiXHJcbiAgICAgIFthdHRyLnR5cGVdPVwidHlwZSB8fCAndGV4dCdcIlxyXG4gICAgICBbY2xhc3MuZm9jdXNlZF09XCJmb2N1c2VkXCJcclxuICAgICAgW2NsYXNzLnJvdW5kXT1cInN0eWxlSW5wdXQgPT09ICdyb3VuZCdcIlxyXG4gICAgICBbY2xhc3Mud2hpdGVdPVwiaW5wdXRTdHlsZSA9PT0gJ3doaXRlJ1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXHJcbiAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCIgLz5cclxuICAgIDxkZC1saWItc3ZnLWljb25cclxuICAgICAgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiXHJcbiAgICAgIFtpZF09XCJpZENsb3NlXCIgW3N0eWxlLmRpc3BsYXldPVwidmFsdWU/Lmxlbmd0aCA/ICdibG9jaycgOiAnbm9uZSdcIlxyXG4gICAgICBjbGFzcz1cImNsZWFyLWljb25cIiBpY29uPVwiY2xlYXJcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIEBpZiAobG9hZGVkJCB8IGFzeW5jKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWljb25cIj5cclxuICAgICAgICA8ZGQtbGliLWxvYWRlcj48L2RkLWxpYi1sb2FkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG5cclxuICBAaWYgKGRhdGE/Lmxlbmd0aCkge1xyXG4gIDxkZC1saWItY2FyZCBbY2xhc3MudG9wXT1cInNpZGUgPT09ICd0b3AnXCI+XHJcbiAgICBAZm9yIChpdGVtIG9mIGRhdGE7IHRyYWNrIGl0ZW0pIHtcclxuICAgIDxkaXYgKGNsaWNrKT1cIm9uQ2xpY2tTZWFyY2hJdGVtKGl0ZW0pXCIgY2xhc3M9XCJzZWFyY2gtcmVzdWx0XCI+XHJcbiAgICAgIEBpZiAoZ2V0VGl0bGUoaXRlbSk7IGFzIHRpdGxlKSB7XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJ0aXRsZSB8IGhpZ2hsaWdodDogdmFsdWUgfCBzYWZlOiAnaHRtbCdcIiBjbGFzcz1cInNlYXJjaC1yZXN1bHRfX3RpdGxlXCI+PC9kaXY+XHJcbiAgICAgIH0gQGlmIChnZXREZXNjKGl0ZW0pOyBhcyBkZXNjKSB7XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJkZXNjIHwgaGlnaGxpZ2h0OiB2YWx1ZSB8IHNhZmU6ICdodG1sJ1wiIGNsYXNzPVwic2VhcmNoLXJlc3VsdF9fZGVzY1wiPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2RkLWxpYi1jYXJkPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItc2VhcmNoLWlucHV0L2xpYi1zZWFyY2gtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXNlYXJjaC1pbnB1dC9saWItc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BbUVNO0FBRU4sT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9FLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxlQUFlLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUMsY0FBYyxFQUFFLHlCQUF5QixFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUMsTUFBTSxT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Z0IsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSxRQUFRLENBQUMsbUJBR3BLLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1QsY0FBYzt3QkFDZDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7NEtBR2UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDYyxVQUFVO3NCQUE3QixLQUFLO2dCQVFVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1csVUFBVTtzQkFBMUIsTUFBTTtnQkFDVSxZQUFZO3NCQUE1QixNQUFNO2dCQWNBLGNBQWM7c0JBRnBCLFlBQVk7dUJBQUMsZUFBZTs7c0JBQzVCLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vKipcclxuICog0JLRhdC+0LTQvdGL0LUg0L/QsNGA0LDQvNC10YLRgNGLIChJbnB1dClcclxuICoga2V5VGl0bGUgKGRlZmF1bHQ6ICd0aXRsZScpXHJcbiAqINCi0LjQvzogc3RyaW5nXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCd0LDQuNC80LXQvdC+0LLQsNC90LjQtSDQutC70Y7Rh9CwINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0LfQsNCz0L7Qu9C+0LLQutCwINGN0LvQtdC80LXQvdGC0LAg0LTQsNC90L3Ri9GFLlxyXG4gKlxyXG4gKiBrZXlEZXNjIChkZWZhdWx0OiAnZGVzY3JpcHRpb24nKVxyXG4gKiDQotC40L86IHN0cmluZ1xyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQndCw0LjQvNC10L3QvtCy0LDQvdC40LUg0LrQu9GO0YfQsCDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC+0L/QuNGB0LDQvdC40Y8g0Y3Qu9C10LzQtdC90YLQsCDQtNCw0L3QvdGL0YUuXHJcbiAqXHJcbiAqIHN0eWxlSW5wdXQgKGRlZmF1bHQ6ICdzdGFuZGFyZCcpXHJcbiAqINCi0LjQvzogJ3JvdW5kJyB8ICdzdGFuZGFyZCdcclxuICog0J7Qv9C40YHQsNC90LjQtTog0KLQuNC/INGB0YLQuNC70Y8g0LLRhdC+0LTQvdC+0LPQviDRjdC70LXQvNC10L3RgtCwLCDQvNC+0LbQtdGCINCx0YvRgtGMICdyb3VuZCcg0LjQu9C4ICdzdGFuZGFyZCcuXHJcbiAqXHJcbiAqIGlucHV0U3R5bGUgKGRlZmF1bHQ6ICdncmF5JylcclxuICog0KLQuNC/OiAnd2hpdGUnIHwgJ2dyYXknXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCh0YLQuNC70Ywg0LLRhdC+0LTQvdC+0LPQviDRjdC70LXQvNC10L3RgtCwLCDQvNC+0LbQtdGCINCx0YvRgtGMICd3aGl0ZScg0LjQu9C4ICdncmF5Jy5cclxuICpcclxuICogZmV0Y2hNb2RlXHJcbiAqINCi0LjQvzogYm9vbGVhblxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQpNC70LDQsywg0YPQutCw0LfRi9Cy0LDRjtGJ0LjQuSwg0LLQutC70Y7Rh9C10L0g0LvQuCDRgNC10LbQuNC8INC/0L7Qu9GD0YfQtdC90LjRjyDQtNCw0L3QvdGL0YUuXHJcbiAqXHJcbiAqIHNlYXJjaERhdGFcclxuICog0KLQuNC/OiBhbnlcclxuICog0J7Qv9C40YHQsNC90LjQtTog0JzQsNGB0YHQuNCyINC00LDQvdC90YvRhSDQtNC70Y8g0L/QvtC40YHQutCwLiDQo9GB0YLQsNC90LDQstC70LjQstCw0Y8g0LTQsNC90L3Ri9C1LCDQutC+0LzQv9C+0L3QtdC90YIg0YHQsdGA0LDRgdGL0LLQsNC10YIg0YHQvtGB0YLQvtGP0L3QuNC1INC30LDQs9GA0YPQt9C60LguXHJcbiAqXHJcbiAqIGRlYm91bmNlVGltZSAoZGVmYXVsdDogMTAwKVxyXG4gKiDQotC40L86IG51bWJlclxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQktGA0LXQvNGPINC30LDQtNC10YDQttC60Lgg0L/QtdGA0LXQtCDQstGL0L/QvtC70L3QtdC90LjQtdC8INC00LXQudGB0YLQstC40Lkg0L/QvtGB0LvQtSDQstCy0L7QtNCwLCDQsiDQvNC40LvQu9C40YHQtdC60YPQvdC00LDRhS5cclxuICpcclxuICogZGVsYXkgKGRlZmF1bHQ6IDApXHJcbiAqINCi0LjQvzogbnVtYmVyXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCX0LDQtNC10YDQttC60LAg0L/QtdGA0LXQtCDQvtCx0YDQsNCx0L7RgtC60L7QuSDQv9C+0LjRgdC60LAsINCyINC80LjQu9C70LjRgdC10LrRg9C90LTQsNGFLlxyXG4gKlxyXG4gKiBpZENsb3NlXHJcbiAqINCi0LjQvzogc3RyaW5nIHwgdW5kZWZpbmVkXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGN0LvQtdC80LXQvdGC0LAg0LfQsNC60YDRi9GC0LjRjyAo0L3QtdC+0L/RgNC10LTQtdC70LXQvdC+INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOKS5cclxuICpcclxuICogbG9hZGVkJFxyXG4gKiDQotC40L86IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPlxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQodGD0LHRitC10LrRgiDQtNC70Y8g0YPQv9GA0LDQstC70LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNC10Lwg0LfQsNCz0YDRg9C30LrQuCDQutC+0LzQv9C+0L3QtdC90YLQsC5cclxuICpcclxuICog0JLRi9GF0L7QtNC90YvQtSDQv9Cw0YDQsNC80LXRgtGA0YsgKE91dHB1dClcclxuICoga2V5dXBFdmVudFxyXG4gKiDQotC40L86IEV2ZW50RW1pdHRlcjxzdHJpbmc+XHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCh0L7QsdGL0YLQuNC1LCDQuNGB0L/Rg9GB0LrQsNC10LzQvtC1INC/0YDQuCDQstCy0L7QtNC1INGC0LXQutGB0YLQsCDQsiDQv9C+0LvQtSDQv9C+0LjRgdC60LAuXHJcbiAqXHJcbiAqIHNlbGVjdGVkSXRlbVxyXG4gKiDQotC40L86IEV2ZW50RW1pdHRlclxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQodC+0LHRi9GC0LjQtSwg0LjRgdC/0YPRgdC60LDQtdC80L7QtSDQv9GA0Lgg0LLRi9Cx0L7RgNC1INGN0LvQtdC80LXQvdGC0LAg0LjQtyDRgNC10LfRg9C70YzRgtCw0YLQvtCyINC/0L7QuNGB0LrQsC5cclxuICpcclxuICog0JLQvdGD0YLRgNC10L3QvdC40LUg0YHQstC+0LnRgdGC0LLQsCDQuCDQv9C10YDQtdC80LXQvdC90YvQtVxyXG4gKiBrZXlVcFxyXG4gKiDQotC40L86IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD5cclxuICog0J7Qv9C40YHQsNC90LjQtTog0KHRg9Cx0YrQtdC60YIg0LTQu9GPINC+0LHRgNCw0LHQvtGC0LrQuCDRgdC+0LHRi9GC0LjQuSDQstCy0L7QtNCwINGBINC60LvQsNCy0LjQsNGC0YPRgNGLLlxyXG4gKlxyXG4gKiBkYXRhXHJcbiAqINCi0LjQvzogYW55W10gfCB1bmRlZmluZWRcclxuICog0J7Qv9C40YHQsNC90LjQtTog0JzQsNGB0YHQuNCyINC00LDQvdC90YvRhSDQtNC70Y8g0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDRgNC10LfRg9C70YzRgtCw0YLQvtCyINC/0L7QuNGB0LrQsC5cclxuXHJcbiAqINCc0LXRgtC+0LTRi1xyXG4gKiBuZ09uSW5pdCDQktGL0L/QvtC70L3Rj9C10YIg0L3QsNGB0YLRgNC+0LnQutGDINC/0L7RgtC+0LrQvtCyINGB0L7QsdGL0YLQuNC5INCy0LLQvtC00LAg0L/RgNC4INC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4INC60L7QvNC/0L7QvdC10L3RgtCwLlxyXG4gKiBmb3JjZUNoYW5nZdCc0LXRgtC+0LQg0LTQu9GPINC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+0LPQviDQstGL0LfQvtCy0LAg0YHQvtCx0YvRgtC40Y8g0LjQt9C80LXQvdC10L3QuNGPINCy0LLQvtC00LAuXHJcbiAqIG9uQ2xlYXIobm9FbWl0PzogYm9vbGVhbinQnNC10YLQvtC0INC00LvRjyDQvtGH0LjRgdGC0LrQuCDQv9C+0LvRjyDQstCy0L7QtNCwLCDRgdCx0YDQvtGB0LAg0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0Lgg0YTQvtC60YPRgdCwINC90LAg0Y3Qu9C10LzQtdC90YIg0LLQstC+0LTQsC5cclxuICogb25DbGlja1NlYXJjaEl0ZW0oaXRlbTogYW55KdCc0LXRgtC+0LQg0LTQu9GPINC+0LHRgNCw0LHQvtGC0LrQuCDQstGL0LHQvtGA0LAg0Y3Qu9C10LzQtdC90YLQsCDQuNC3INGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0L/QvtC40YHQutCwLlxyXG4gKiBnZXRUaXRsZShpdGVtOiBhbnkp0JzQtdGC0L7QtCDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC30LDQs9C+0LvQvtCy0LrQsCDRjdC70LXQvNC10L3RgtCwINC00LDQvdC90YvRhS5cclxuICogZ2V0RGVzYyhpdGVtOiBhbnkp0JzQtdGC0L7QtCDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC+0L/QuNGB0LDQvdC40Y8g0Y3Qu9C10LzQtdC90YLQsCDQtNCw0L3QvdGL0YUuXHJcbiAqICoqL1xyXG5cclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7QXN5bmNQaXBlLCBKc29uUGlwZSwgTmdPcHRpbWl6ZWRJbWFnZSwgTmdTdHlsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnR9IGZyb20gJy4uL2NvbW1vbi9saWItY29tbW9uLWlucHV0LXRleHQnO1xyXG5pbXBvcnQge0xpYkNhcmRDb21wb25lbnR9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkZWxheSwgbWFwLCBtZXJnZU1hcCwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtEZXN0cm95U2VydmljZSwgRHJvcERvd25Qb3NpdGlvbkRpcmVjdGl2ZSwgSGlnaGxpZ2h0UGlwZSwgU2FmZVBpcGV9IGZyb20gXCIuLi9jb3JlXCI7XHJcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7TGliTG9hZGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vbGliLWxvYWRlci9saWItbG9hZGVyLmNvbXBvbmVudFwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGQtbGliLXNlYXJjaC1pbnB1dCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIE5nU3R5bGUsIE5nT3B0aW1pemVkSW1hZ2UsIExpYkNhcmRDb21wb25lbnQsIEhpZ2hsaWdodFBpcGUsIFNhZmVQaXBlLCBMaWJTdmdJY29uQ29tcG9uZW50LCBMaWJMb2FkZXJDb21wb25lbnQsIEFzeW5jUGlwZSwgRHJvcERvd25Qb3NpdGlvbkRpcmVjdGl2ZSwgSnNvblBpcGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saWItc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBEZXN0cm95U2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpYlNlYXJjaElucHV0Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJTZWFyY2hJbnB1dENvbXBvbmVudDxUPiBleHRlbmRzIExpYkNvbW1vbklucHV0VGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBrZXlUaXRsZT86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMga2V5RGVzYz86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgc3R5bGVJbnB1dDogJ3JvdW5kJyB8ICdzdGFuZGFyZCcgPSAnc3RhbmRhcmQnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnB1dFN0eWxlOiAnd2hpdGUnIHwgJ2dyYXknID0gJ2dyYXknO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc2VhcmNoRGF0YShkYXRhOiBUW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSlcclxuICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICBpZiAoZGF0YT8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuaXRlbVNpemUgPSB0aGlzLmtleURlc2MgJiYgdGhpcy5rZXlUaXRsZSA/IDkwIDogdGhpcy5rZXlEZXNjICYmICF0aGlzLmtleVRpdGxlID8gNTAgOiA0MDtcclxuICAgICAgdGhpcy51cGRhdGVEcm9wZG93blBvc2l0aW9uKHRoaXMuZWwsIGRhdGEsIHRoaXMuaXRlbVNpemUsIDQwMCk7XHJcbiAgICB9XHJcbiAgfTtcclxuICBASW5wdXQoKSBwdWJsaWMgZGVib3VuY2VUaW1lID0gMTAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxheSA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIGlkQ2xvc2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgbG9hZGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMga2V5dXBFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHB1YmxpYyBrZXlVcCA9IG5ldyBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+KCk7XHJcbiAgcHVibGljIGRhdGE6IFRbXSB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGl0ZW1TaXplID0gdGhpcy5rZXlEZXNjICYmIHRoaXMua2V5VGl0bGUgPyA5MCA6IHRoaXMua2V5RGVzYyAmJiAhdGhpcy5rZXlUaXRsZSA/IDUwIDogNDA7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBEZXN0cm95U2VydmljZSxcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3Rpb24pO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJylcclxuICBwdWJsaWMgb25XaW5kb3dTY3JvbGwoKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy51cGRhdGVEcm9wZG93blBvc2l0aW9uKHRoaXMuZWwsIHRoaXMuZGF0YSwgdGhpcy5pdGVtU2l6ZSwgNDAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvbW1pdE9uSW5wdXQpIHtcclxuICAgICAgdGhpcy5rZXlVcFxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZmV0Y2hNb2RlKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkZWQkLm5leHQodHJ1ZSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBtYXAoZXZlbnQgPT4gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWUpLFxyXG4gICAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lKSxcclxuICAgICAgICAgIC8vIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksINC90LDQtNC+INC70Lg/XHJcbiAgICAgICAgICBtZXJnZU1hcChzZWFyY2ggPT4gb2Yoc2VhcmNoKS5waXBlKGRlbGF5KHRoaXMuZGVsYXkpKSksXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoc3RyID0+IHtcclxuICAgICAgICAgIHRoaXMua2V5dXBFdmVudC5lbWl0KHN0cik7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGVkJC5uZXh0KGZhbHNlKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgICgpID0+IHRoaXMubG9hZGVkJC5uZXh0KGZhbHNlKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCA/ICcnIDogJycgKyB2YWx1ZTtcclxuICAgIGlmICghdGhpcy5kZXN0cm95ZWQpIHtcclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rpb24uZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIGZvcmNlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbW1pdE9uSW5wdXQpIHtcclxuICAgICAgdGhpcy5rZXl1cEV2ZW50LmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbGVhcihub0VtaXQ/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICBpZiAoIW5vRW1pdCkge1xyXG4gICAgICB0aGlzLmNsZWFyZWQuZW1pdCgpO1xyXG4gICAgICB0aGlzLmtleXVwRXZlbnQuZW1pdCgnJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlucHV0U2VhcmNoRWxlbWVudD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xpY2tTZWFyY2hJdGVtKGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkZWQkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChpdGVtKTtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLmtleVRpdGxlID8gdGhpcy5nZXRUaXRsZShpdGVtKSA6IHRoaXMuZ2V0RGVzYyhpdGVtKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUaXRsZShpdGVtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW1bdGhpcy5rZXlUaXRsZSBhcyBrZXlvZiB0eXBlb2YgaXRlbV0gYXMgc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldERlc2MoaXRlbTogYW55KTogc3RyaW5nIHtcclxuICAgIHJldHVybiBpdGVtW3RoaXMua2V5RGVzYyBhcyBrZXlvZiB0eXBlb2YgaXRlbV0gYXMgc3RyaW5nO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibGliLXNlYXJjaC1pbnB1dFwiPlxyXG4gIDxsYWJlbCBbZm9yXT1cImlkXCIgY2xhc3M9XCJsaWItc2VhcmNoLWlucHV0X190aXRsZVwiPlxyXG4gICAge3sgbGFiZWwgfX1cclxuICAgIEBpZiAocmVxdWlyZWQpIHtcclxuICAgICAgPGRkLWxpYi1zdmctaWNvbiBpY29uPVwiZXJyb3JfaGludFwiPjwvZGQtbGliLXN2Zy1pY29uPlxyXG4gICAgfVxyXG4gIDwvbGFiZWw+XHJcbiAgPGRpdiBjbGFzcz1cInBvcy1yZWxhdGl2ZVwiPlxyXG4gICAgPGRkLWxpYi1zdmctaWNvbiAoY2xpY2spPVwiZm9yY2VDaGFuZ2UoKVwiIGNsYXNzPVwic2VhcmNoLWljb25cIiBpY29uPVwic2VhcmNoXCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICA8aW5wdXRcclxuICAgICAgI3NlYXJjaElucHV0XHJcbiAgICAgIChrZXl1cCk9XCJrZXlVcC5uZXh0KCRldmVudClcIlxyXG4gICAgICAoa2V5dXAuZW50ZXIpPVwiZm9yY2VDaGFuZ2UoKVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlID09PSB1bmRlZmluZWQgPyBudWxsIDogYXV0b2NvbXBsZXRlXCJcclxuICAgICAgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIlxyXG4gICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcclxuICAgICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aFwiXHJcbiAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXHJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2F0dHIudGFiSW5kZXhdPVwidGFiSW5kZXhcIlxyXG4gICAgICBbYXR0ci50eXBlXT1cInR5cGUgfHwgJ3RleHQnXCJcclxuICAgICAgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNlZFwiXHJcbiAgICAgIFtjbGFzcy5yb3VuZF09XCJzdHlsZUlucHV0ID09PSAncm91bmQnXCJcclxuICAgICAgW2NsYXNzLndoaXRlXT1cImlucHV0U3R5bGUgPT09ICd3aGl0ZSdcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxyXG4gICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiIC8+XHJcbiAgICA8ZGQtbGliLXN2Zy1pY29uXHJcbiAgICAgIChjbGljayk9XCJvbkNsZWFyKClcIlxyXG4gICAgICBbaWRdPVwiaWRDbG9zZVwiIFtzdHlsZS5kaXNwbGF5XT1cInZhbHVlPy5sZW5ndGggPyAnYmxvY2snIDogJ25vbmUnXCJcclxuICAgICAgY2xhc3M9XCJjbGVhci1pY29uXCIgaWNvbj1cImNsZWFyXCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICBAaWYgKGxvYWRlZCQgfCBhc3luYykge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwibG9hZGluZy1pY29uXCI+XHJcbiAgICAgICAgPGRkLWxpYi1sb2FkZXI+PC9kZC1saWItbG9hZGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuXHJcbiAgQGlmIChkYXRhPy5sZW5ndGgpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtZHJvcGRvd25cIiBbY2xhc3MudG9wXT1cInNpZGUgPT09ICd0b3AnXCIgW25nU3R5bGVdPVwiZHJvcGRvd25TdHlsZVwiPlxyXG4gICAgQGZvciAoaXRlbSBvZiBkYXRhOyB0cmFjayBpdGVtKSB7XHJcbiAgICA8ZGl2IChjbGljayk9XCJvbkNsaWNrU2VhcmNoSXRlbShpdGVtKVwiIGNsYXNzPVwic2VhcmNoLXJlc3VsdFwiPlxyXG4gICAgICBAaWYgKGdldFRpdGxlKGl0ZW0pOyBhcyB0aXRsZSkge1xyXG4gICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJ0aXRsZSB8IGhpZ2hsaWdodDogdmFsdWUgfCBzYWZlOiAnaHRtbCdcIiBjbGFzcz1cInNlYXJjaC1yZXN1bHRfX3RpdGxlXCI+PC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChnZXREZXNjKGl0ZW0pOyBhcyBkZXNjKSB7XHJcbiAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImRlc2MgfCBoaWdobGlnaHQ6IHZhbHVlIHwgc2FmZTogJ2h0bWwnXCIgY2xhc3M9XCJzZWFyY2gtcmVzdWx0X19kZXNjXCI+PC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|