@mintplayer/ng-bootstrap 15.20.3 → 15.20.4
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/calendar/src/calendar.component.d.ts +2 -0
- package/carousel/src/carousel/carousel.component.d.ts +2 -0
- package/carousel/src/carousel-image/carousel-image.directive.d.ts +3 -1
- package/esm2020/calendar/src/calendar.component.mjs +9 -3
- package/esm2020/carousel/src/carousel/carousel.component.mjs +7 -3
- package/esm2020/carousel/src/carousel-image/carousel-image.directive.mjs +7 -4
- package/esm2020/file-upload/src/component/file-upload.component.mjs +7 -4
- package/esm2020/file-upload/src/file-upload.mjs +1 -1
- package/esm2020/multiselect/src/component/multiselect.component.mjs +8 -3
- package/esm2020/multiselect/src/directives/button-template/button-template.directive.mjs +1 -1
- package/esm2020/multiselect/src/directives/footer-template/footer-template.directive.mjs +1 -1
- package/esm2020/multiselect/src/directives/header-template/header-template.directive.mjs +1 -1
- package/esm2020/pagination/src/component/pagination/pagination.component.mjs +6 -3
- package/esm2020/rating/src/component/rating.component.mjs +6 -3
- package/esm2020/scheduler/src/components/resource-group-presenter/resource-group-presenter.component.mjs +1 -1
- package/esm2020/scheduler/src/components/scheduler/scheduler.component.mjs +2 -1
- package/fesm2015/mintplayer-ng-bootstrap-calendar.mjs +8 -2
- package/fesm2015/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-carousel.mjs +10 -5
- package/fesm2015/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-file-upload.mjs +6 -3
- package/fesm2015/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-multiselect.mjs +7 -2
- package/fesm2015/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-pagination.mjs +5 -2
- package/fesm2015/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-rating.mjs +5 -2
- package/fesm2015/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-scheduler.mjs +1 -0
- package/fesm2015/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-calendar.mjs +8 -2
- package/fesm2020/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-carousel.mjs +10 -5
- package/fesm2020/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-file-upload.mjs +6 -3
- package/fesm2020/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-multiselect.mjs +7 -2
- package/fesm2020/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-pagination.mjs +5 -2
- package/fesm2020/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-rating.mjs +5 -2
- package/fesm2020/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-scheduler.mjs +1 -0
- package/fesm2020/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
- package/file-upload/src/component/file-upload.component.d.ts +1 -0
- package/file-upload/src/file-upload.d.ts +1 -0
- package/multiselect/src/component/multiselect.component.d.ts +9 -7
- package/multiselect/src/directives/button-template/button-template.directive.d.ts +4 -4
- package/multiselect/src/directives/footer-template/footer-template.directive.d.ts +4 -4
- package/multiselect/src/directives/header-template/header-template.directive.d.ts +4 -4
- package/package.json +1 -1
- package/pagination/src/component/pagination/pagination.component.d.ts +1 -0
- package/rating/src/component/rating.component.d.ts +1 -0
- package/scheduler/src/components/scheduler/scheduler.component.d.ts +1 -0
|
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
15
15
|
selector: '[bsFooterTemplate]'
|
|
16
16
|
}]
|
|
17
17
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i1.BsMultiselectComponent }]; } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbXVsdGlzZWxlY3Qvc3JjL2RpcmVjdGl2ZXMvZm9vdGVyLXRlbXBsYXRlL2Zvb3Rlci10ZW1wbGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7OztBQUsvRSxNQUFNLE9BQU8seUJBQXlCO0lBRXBDLFlBQVksUUFBMEIsRUFBRSxXQUFzQztRQUM1RSxXQUFXLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztJQUN4QyxDQUFDOztzSEFKVSx5QkFBeUI7MEdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNNdWx0aXNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudC9tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNGb290ZXJUZW1wbGF0ZV0nXG59KVxuZXhwb3J0IGNsYXNzIEJzRm9vdGVyVGVtcGxhdGVEaXJlY3RpdmU8VD4ge1xuXG4gIGNvbnN0cnVjdG9yKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCBtdWx0aXNlbGVjdDogQnNNdWx0aXNlbGVjdENvbXBvbmVudDxUPikge1xuICAgIG11bHRpc2VsZWN0LmZvb3RlclRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cblxufVxuIl19
|
|
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
15
15
|
selector: '[bsHeaderTemplate]'
|
|
16
16
|
}]
|
|
17
17
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i1.BsMultiselectComponent }]; } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbXVsdGlzZWxlY3Qvc3JjL2RpcmVjdGl2ZXMvaGVhZGVyLXRlbXBsYXRlL2hlYWRlci10ZW1wbGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7OztBQUsvRSxNQUFNLE9BQU8seUJBQXlCO0lBRXBDLFlBQVksUUFBMEIsRUFBRSxXQUFzQztRQUM1RSxXQUFXLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztJQUN4QyxDQUFDOztzSEFKVSx5QkFBeUI7MEdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNNdWx0aXNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudC9tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNIZWFkZXJUZW1wbGF0ZV0nXG59KVxuZXhwb3J0IGNsYXNzIEJzSGVhZGVyVGVtcGxhdGVEaXJlY3RpdmU8VD4ge1xuXG4gIGNvbnN0cnVjdG9yKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCBtdWx0aXNlbGVjdDogQnNNdWx0aXNlbGVjdENvbXBvbmVudDxUPikge1xuICAgIG11bHRpc2VsZWN0LmhlYWRlclRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cblxufVxuIl19
|
|
@@ -176,12 +176,15 @@ export class BsPaginationComponent {
|
|
|
176
176
|
}
|
|
177
177
|
return false;
|
|
178
178
|
}
|
|
179
|
+
trackByPageNumber(index, page) {
|
|
180
|
+
return page;
|
|
181
|
+
}
|
|
179
182
|
}
|
|
180
183
|
BsPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: BsPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
181
|
-
BsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: BsPaginationComponent, selector: "bs-pagination", inputs: { selectedPageNumber: "selectedPageNumber", numberOfBoxes: "numberOfBoxes", pageNumbers: "pageNumbers", showArrows: "showArrows", size: "size" }, outputs: { selectedPageNumberChange: "selectedPageNumberChange" }, ngImport: i0, template: "<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" [class.disabled]=\"isFirstPage$ | async\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">«</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async)\" class=\"page-item\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\"\n [ngClass]=\"{ 'active': pageNumber.selected }\" *ngIf=\"pageNumber.page != '...'\">\n {{ pageNumber.page }}\n <span class=\"visually-hidden\" *ngIf=\"pageNumber.selected\">(current)</span>\n </a>\n </li>\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" [class.disabled]=\"isLastPage$ | async\" aria-label=\"Next\">\n <span aria-hidden=\"true\">»</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>", styles: [":host ::ng-deep .pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: .375rem;--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: #e9ecef;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: #6c757d;--bs-pagination-disabled-bg: #fff;--bs-pagination-disabled-border-color: #dee2e6;display:flex;padding-left:0;list-style:none}:host ::ng-deep .page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .page-link{transition:none}}:host ::ng-deep .page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}:host ::ng-deep .page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}:host ::ng-deep .page-link.active,.active>:host ::ng-deep .page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}:host ::ng-deep .page-link.disabled,.disabled>:host ::ng-deep .page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}:host ::ng-deep .page-item:not(:first-child) .page-link{margin-left:-1px}:host ::ng-deep .page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}:host ::ng-deep .page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}:host ::ng-deep .pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: .5rem}:host ::ng-deep .pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: .25rem}:host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
184
|
+
BsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: BsPaginationComponent, selector: "bs-pagination", inputs: { selectedPageNumber: "selectedPageNumber", numberOfBoxes: "numberOfBoxes", pageNumbers: "pageNumbers", showArrows: "showArrows", size: "size" }, outputs: { selectedPageNumberChange: "selectedPageNumberChange" }, ngImport: i0, template: "<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" [class.disabled]=\"isFirstPage$ | async\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">«</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async); trackBy: trackByPageNumber\" class=\"page-item\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\"\n [ngClass]=\"{ 'active': pageNumber.selected }\" *ngIf=\"pageNumber.page != '...'\">\n {{ pageNumber.page }}\n <span class=\"visually-hidden\" *ngIf=\"pageNumber.selected\">(current)</span>\n </a>\n </li>\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" [class.disabled]=\"isLastPage$ | async\" aria-label=\"Next\">\n <span aria-hidden=\"true\">»</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>", styles: [":host ::ng-deep .pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: .375rem;--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: #e9ecef;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: #6c757d;--bs-pagination-disabled-bg: #fff;--bs-pagination-disabled-border-color: #dee2e6;display:flex;padding-left:0;list-style:none}:host ::ng-deep .page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .page-link{transition:none}}:host ::ng-deep .page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}:host ::ng-deep .page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}:host ::ng-deep .page-link.active,.active>:host ::ng-deep .page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}:host ::ng-deep .page-link.disabled,.disabled>:host ::ng-deep .page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}:host ::ng-deep .page-item:not(:first-child) .page-link{margin-left:-1px}:host ::ng-deep .page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}:host ::ng-deep .page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}:host ::ng-deep .pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: .5rem}:host ::ng-deep .pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: .25rem}:host{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
182
185
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: BsPaginationComponent, decorators: [{
|
|
183
186
|
type: Component,
|
|
184
|
-
args: [{ selector: 'bs-pagination', template: "<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" [class.disabled]=\"isFirstPage$ | async\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">«</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async)\" class=\"page-item\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\"\n [ngClass]=\"{ 'active': pageNumber.selected }\" *ngIf=\"pageNumber.page != '...'\">\n {{ pageNumber.page }}\n <span class=\"visually-hidden\" *ngIf=\"pageNumber.selected\">(current)</span>\n </a>\n </li>\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" [class.disabled]=\"isLastPage$ | async\" aria-label=\"Next\">\n <span aria-hidden=\"true\">»</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>", styles: [":host ::ng-deep .pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: .375rem;--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: #e9ecef;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: #6c757d;--bs-pagination-disabled-bg: #fff;--bs-pagination-disabled-border-color: #dee2e6;display:flex;padding-left:0;list-style:none}:host ::ng-deep .page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .page-link{transition:none}}:host ::ng-deep .page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}:host ::ng-deep .page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}:host ::ng-deep .page-link.active,.active>:host ::ng-deep .page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}:host ::ng-deep .page-link.disabled,.disabled>:host ::ng-deep .page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}:host ::ng-deep .page-item:not(:first-child) .page-link{margin-left:-1px}:host ::ng-deep .page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}:host ::ng-deep .page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}:host ::ng-deep .pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: .5rem}:host ::ng-deep .pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: .25rem}:host{display:inline-block}\n"] }]
|
|
187
|
+
args: [{ selector: 'bs-pagination', template: "<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" [class.disabled]=\"isFirstPage$ | async\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">«</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async); trackBy: trackByPageNumber\" class=\"page-item\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\"\n [ngClass]=\"{ 'active': pageNumber.selected }\" *ngIf=\"pageNumber.page != '...'\">\n {{ pageNumber.page }}\n <span class=\"visually-hidden\" *ngIf=\"pageNumber.selected\">(current)</span>\n </a>\n </li>\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" [class.disabled]=\"isLastPage$ | async\" aria-label=\"Next\">\n <span aria-hidden=\"true\">»</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>", styles: [":host ::ng-deep .pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: .375rem;--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: #e9ecef;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: #6c757d;--bs-pagination-disabled-bg: #fff;--bs-pagination-disabled-border-color: #dee2e6;display:flex;padding-left:0;list-style:none}:host ::ng-deep .page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .page-link{transition:none}}:host ::ng-deep .page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}:host ::ng-deep .page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}:host ::ng-deep .page-link.active,.active>:host ::ng-deep .page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}:host ::ng-deep .page-link.disabled,.disabled>:host ::ng-deep .page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}:host ::ng-deep .page-item:not(:first-child) .page-link{margin-left:-1px}:host ::ng-deep .page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}:host ::ng-deep .page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}:host ::ng-deep .pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: .5rem}:host ::ng-deep .pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: .25rem}:host{display:inline-block}\n"] }]
|
|
185
188
|
}], ctorParameters: function () { return []; }, propDecorators: { selectedPageNumberChange: [{
|
|
186
189
|
type: Output
|
|
187
190
|
}], selectedPageNumber: [{
|
|
@@ -195,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
195
198
|
}], size: [{
|
|
196
199
|
type: Input
|
|
197
200
|
}] } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3BhZ2luYXRpb24vc3JjL2NvbXBvbmVudC9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9wYWdpbmF0aW9uL3NyYy9jb21wb25lbnQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQVEzRixNQUFNLE9BQU8scUJBQXFCO0lBQ2hDO1FBNkdBLHdCQUF3QjtRQUN4QixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBR2pELHVCQUF1QjtRQUN2Qix3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRCx1QkFBdUI7UUFDdkIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNoRCxvQ0FBb0M7UUFDcEMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNqRCx3QkFBd0I7UUFDeEIsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFPLFFBQVEsQ0FBQyxDQUFDO1FBZTVDLDRCQUE0QjtRQUNYLDZCQUF3QixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUF2SXJFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxPQUFPLEVB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QUNNLGtCQUFrQjtzQkFBOUIsS0FBSztnQkFTTyxhQUFhO3NCQUF6QixLQUFLO2dCQVNPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBU08sVUFBVTtzQkFBdEIsS0FBSztnQkFTTyxJQUFJO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2l6ZSB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQYWdlV2l0aFNlbGVjdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGFnZS13aXRoLXNlbGVjdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnNQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHRoaXMudmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLm51bWJlck9mQm94ZXMkLFxuICAgICAgdGhpcy5wYWdlTnVtYmVycyQsXG4gICAgICB0aGlzLnNob3dBcnJvd3MkLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKFtudW1iZXJPZkJveGVzLCBwYWdlTnVtYmVycywgc2hvd0Fycm93c10pID0+IHtcbiAgICAgICAgICBpZiAobnVtYmVyT2ZCb3hlcyA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFnZU51bWJlcnMubGVuZ3RoO1xuICAgICAgICAgIH0gZWxzZSBpZiAoIXNob3dBcnJvd3MpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1pbihudW1iZXJPZkJveGVzLCBwYWdlTnVtYmVycy5sZW5ndGgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAobnVtYmVyT2ZCb3hlcyA8PSAyKSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5taW4oMSwgcGFnZU51bWJlcnMubGVuZ3RoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGgubWluKG51bWJlck9mQm94ZXMgLSAyLCBwYWdlTnVtYmVycy5sZW5ndGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICB0aGlzLmlzTGVmdE92ZXJmbG93JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMucGFnZU51bWJlcnMkLCB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQsIHRoaXMudmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMkXSlcbiAgICAgIC5waXBlKG1hcCgoW3BhZ2VOdW1iZXJzLCBzZWxlY3RlZFBhZ2VOdW1iZXIsIHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzXSkgPT4ge1xuICAgICAgICBjb25zdCBpbmRleCA9IHBhZ2VOdW1iZXJzLmluZGV4T2Yoc2VsZWN0ZWRQYWdlTnVtYmVyKTtcbiAgICAgICAgY29uc3QgbWlkZGxlID0gTWF0aC5mbG9vcih2aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlcyAvIDIpO1xuICAgICAgICByZXR1cm4gaW5kZXggPiBtaWRkbGU7XG4gICAgICB9KSk7XG5cbiAgICB0aGlzLmlzUmlnaHRPdmVyZmxvdyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnBhZ2VOdW1iZXJzJCwgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLCB0aGlzLnZpc2libGVOdW1iZXJPZk51bWJlckJveGVzJF0pXG4gICAgICAucGlwZShtYXAoKFtwYWdlTnVtYmVycywgc2VsZWN0ZWRQYWdlTnVtYmVyLCB2aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlc10pID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSBwYWdlTnVtYmVycy5pbmRleE9mKHNlbGVjdGVkUGFnZU51bWJlcik7XG4gICAgICAgIGNvbnN0IG1pZGRsZSA9IE1hdGguZmxvb3IodmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMgLyAyKTtcbiAgICAgICAgcmV0dXJuIChwYWdlTnVtYmVycy5sZW5ndGggLSBpbmRleCkgPCBtaWRkbGU7XG4gICAgICB9KSk7XG5cbiAgICB0aGlzLnNob3duUGFnZU51bWJlcnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnBhZ2VOdW1iZXJzJCxcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyJCxcbiAgICAgIHRoaXMudmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMkLFxuICAgICAgdGhpcy5pc0xlZnRPdmVyZmxvdyQsXG4gICAgICB0aGlzLmlzUmlnaHRPdmVyZmxvdyRcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChbcGFnZU51bWJlcnMsIHNlbGVjdGVkUGFnZU51bWJlciwgdmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMsIGlzTGVmdE92ZXJmbG93LCBpc1JpZ2h0T3ZlcmZsb3ddKSA9PiB7XG4gICAgICAgICAgLy8gY29uc3QgYm94ZXNUb1JlbW92ZSA9IHBhZ2VOdW1iZXJzLmxlbmd0aCAtIHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzXG4gICAgICAgICAgLy8gICArIChpc0xlZnRPdmVyZmxvdyA/IDEgOiAwKVxuICAgICAgICAgIC8vICAgKyAoaXNSaWdodE92ZXJmbG93ID8gMSA6IDApO1xuXG4gICAgICAgICAgLy8gbGV0IHJlc3VsdDogbnVtYmVyW10gPSBbXTtcbiAgICAgICAgICAvLyByZXN1bHQucHVzaChwYWdlTnVtYmVyc1swXSk7XG5cbiAgICAgICAgICAvLyAvLyAuLi5cblxuICAgICAgICAgIC8vIHJlc3VsdC5wdXNoKHBhZ2VOdW1iZXJzW3BhZ2VOdW1iZXJzLmxlbmd0aCAtIDFdKTtcblxuICAgICAgICAgIGxldCBzdGFydEluZGV4ID0gMDtcbiAgICAgICAgICBjb25zdCBoYWxmID0gTWF0aC5yb3VuZCgodmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMgLSAxKSAvIDIpO1xuICAgICAgICAgIGlmIChwYWdlTnVtYmVycy5pbmRleE9mKHNlbGVjdGVkUGFnZU51bWJlcikgPCBoYWxmKSB7XG4gICAgICAgICAgICBzdGFydEluZGV4ID0gMDtcbiAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgcGFnZU51bWJlcnMuaW5kZXhPZihzZWxlY3RlZFBhZ2VOdW1iZXIpID49XG4gICAgICAgICAgICBwYWdlTnVtYmVycy5sZW5ndGggLSBoYWxmXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzdGFydEluZGV4ID0gcGFnZU51bWJlcnMubGVuZ3RoIC0gdmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXJ0SW5kZXggPSBwYWdlTnVtYmVycy5pbmRleE9mKHNlbGVjdGVkUGFnZU51bWJlcikgLSBoYWxmO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBbLi4uQXJyYXkodmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMpLmtleXMoKV1cbiAgICAgICAgICAgIC5tYXAoKHApID0+IHAgKyBzdGFydEluZGV4KVxuICAgICAgICAgICAgLm1hcCgocCkgPT48UGFnZVdpdGhTZWxlY3Rpb24+e1xuICAgICAgICAgICAgICBwYWdlOiBwYWdlTnVtYmVyc1twXSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHBhZ2VOdW1iZXJzW3BdID09PSBzZWxlY3RlZFBhZ2VOdW1iZXIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICB0aGlzLmlzRmlyc3RQYWdlJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5wYWdlTnVtYmVycyQsXG4gICAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQsXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoW3BhZ2VOdW1iZXJzLCBzZWxlY3RlZFBhZ2VOdW1iZXJdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHBhZ2VOdW1iZXJzLmluZGV4T2Yoc2VsZWN0ZWRQYWdlTnVtYmVyKSA9PT0gMDtcbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICB0aGlzLmlzTGFzdFBhZ2UkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnBhZ2VOdW1iZXJzJCxcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyJCxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChbcGFnZU51bWJlcnMsIHNlbGVjdGVkUGFnZU51bWJlcl0pID0+IHtcbiAgICAgICAgICByZXR1cm4gKHBhZ2VOdW1iZXJzLmluZGV4T2Yoc2VsZWN0ZWRQYWdlTnVtYmVyKSA9PT0gcGFnZU51bWJlcnMubGVuZ3RoIC0gMSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGVkUGFnZU51bWJlcikgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlckNoYW5nZS5lbWl0KHNlbGVjdGVkUGFnZU51bWJlcik7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKiBBbGwgcGFnZSBudW1iZXJzLiAqL1xuICBwYWdlTnVtYmVycyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcltdPihbXSk7XG4gIC8qKiBQYWdlIG51bWJlcnMgdG8gYmUgZGlzcGxheWVkIHRvIHRoZSB1c2VyLiAqL1xuICBzaG93blBhZ2VOdW1iZXJzJDogT2JzZXJ2YWJsZTxQYWdlV2l0aFNlbGVjdGlvbltdPjtcbiAgLyoqIFNlbGVjdGVkIG51bWJlci4gKi9cbiAgc2VsZWN0ZWRQYWdlTnVtYmVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxKTtcbiAgLyoqIE51bWJlciBvZiBib3hlcy4gKi9cbiAgbnVtYmVyT2ZCb3hlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gIC8qKiBEaXNwbGF5IHByZXZpb3VzL25leHQgYXJyb3dzLiAqL1xuICBzaG93QXJyb3dzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIC8qKiBQYWdlIG51bWJlciBzaXplLiAqL1xuICBzaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2l6ZT4oJ21lZGl1bScpO1xuXG4gIC8qKiBJbmRpY2F0ZXMgaWYgZmlyc3QgdmFsdWUgaXMgc2VsZWN0ZWQuICovXG4gIGlzRmlyc3RQYWdlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqIEluZGljYXRlcyBpZiBsYXN0IHZhbHVlIGlzIHNlbGVjdGVkLiAqL1xuICBpc0xhc3RQYWdlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqIFRoZSBudW1iZXIgb2YgYm94ZXMgKGV4Y2x1ZGluZyBhcnJvd3MpIHRoYXQncyBiZWluZyBzaG93biBvbiB0aGUgcGFnaW5hdGlvbiBjb21wb25lbnQuICovXG4gIHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlcmUgYXJlIHRvbyBtYW55IG51bWJlcnMgdG8gdGhlIGxlZnQtaGFuZCBzaWRlIG9mIHRoZSBjdXJyZW50IHBhZ2UuICovXG4gIGlzTGVmdE92ZXJmbG93JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZXJlIGFyZSB0b28gbWFueSBudW1iZXJzIHRvIHRoZSByaWdodC1oYW5kIHNpZGUgb2YgdGhlIGN1cnJlbnQgcGFnZS4gKi9cbiAgaXNSaWdodE92ZXJmbG93JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqIE1vbml0b3IgT25EZXN0cm95ZWQgaG9vay4gKi9cbiAgcHJpdmF0ZSBkZXN0cm95ZWQkOiBTdWJqZWN0PGFueT47XG5cbiAgLy8jcmVnaW9uIFNlbGVjdGVkUGFnZU51bWJlclxuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkUGFnZU51bWJlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRQYWdlTnVtYmVyKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHNlbGVjdGVkUGFnZU51bWJlcigpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLnZhbHVlO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBOdW1iZXJPZkJveGVzXG4gIEBJbnB1dCgpIHNldCBudW1iZXJPZkJveGVzKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLm51bWJlck9mQm94ZXMkLm5leHQodmFsdWUpO1xuICB9XG4gIGdldCBudW1iZXJPZkJveGVzKCkge1xuICAgIHJldHVybiB0aGlzLm51bWJlck9mQm94ZXMkLnZhbHVlO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBQYWdlTnVtYmVyc1xuICBASW5wdXQoKSBzZXQgcGFnZU51bWJlcnModmFsdWU6IG51bWJlcltdKSB7XG4gICAgdGhpcy5wYWdlTnVtYmVycyQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHBhZ2VOdW1iZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnBhZ2VOdW1iZXJzJC52YWx1ZTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gU2hvd0Fycm93c1xuICBASW5wdXQoKSBzZXQgc2hvd0Fycm93cyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2hvd0Fycm93cyQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHNob3dBcnJvd3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0Fycm93cyQudmFsdWU7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIFNpemVcbiAgQElucHV0KCkgc2V0IHNpemUodmFsdWU6IFNpemUpIHtcbiAgICB0aGlzLnNpemUkLm5leHQodmFsdWUpO1xuICB9XG4gIGdldCBzaXplKCkge1xuICAgIHJldHVybiB0aGlzLnNpemUkLnZhbHVlO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgb25TZWxlY3RQYWdlKGV2ZW50OiBNb3VzZUV2ZW50LCBwYWdlOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQubmV4dChwYWdlKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvblByZXZpb3VzKCkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wYWdlTnVtYmVycy5pbmRleE9mKHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyKTtcbiAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMucGFnZU51bWJlcnNbaW5kZXggLSAxXTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyJC5uZXh0KG5ld1ZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLm5leHQodGhpcy5wYWdlTnVtYmVyc1swXSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG9uTmV4dCgpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMucGFnZU51bWJlcnMuaW5kZXhPZih0aGlzLnNlbGVjdGVkUGFnZU51bWJlcik7XG4gICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLm5leHQodGhpcy5wYWdlTnVtYmVyc1t0aGlzLnBhZ2VOdW1iZXJzLmxlbmd0aCAtIDFdKTtcbiAgICB9IGVsc2UgaWYgKGluZGV4IDwgdGhpcy5wYWdlTnVtYmVycy5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQubmV4dCh0aGlzLnBhZ2VOdW1iZXJzW2luZGV4ICsgMV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQubmV4dCh0aGlzLnBhZ2VOdW1iZXJzW3RoaXMucGFnZU51bWJlcnMubGVuZ3RoIC0gMV0pO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjx1bCBjbGFzcz1cInBhZ2luYXRpb25cIj5cbiAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIiAqbmdJZj1cInNob3dBcnJvd3MkIHwgYXN5bmNcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiBocmVmPVwiXCIgKGNsaWNrKT1cIm9uUHJldmlvdXMoKVwiIFtjbGFzcy5kaXNhYmxlZF09XCJpc0ZpcnN0UGFnZSQgfCBhc3luY1wiIGFyaWEtbGFiZWw9XCJQcmV2aW91c1wiPlxuICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JmxhcXVvOzwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+UHJldmlvdXM8L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L2xpPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgcGFnZU51bWJlciBvZiAoc2hvd25QYWdlTnVtYmVycyQgfCBhc3luYylcIiBjbGFzcz1cInBhZ2UtaXRlbVwiPlxuICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIGhyZWY9XCJcIiAoY2xpY2spPVwib25TZWxlY3RQYWdlKCRldmVudCwgcGFnZU51bWJlci5wYWdlKVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnYWN0aXZlJzogcGFnZU51bWJlci5zZWxlY3RlZCB9XCIgKm5nSWY9XCJwYWdlTnVtYmVyLnBhZ2UgIT0gJy4uLidcIj5cbiAgICAgICAgICAgIHt7IHBhZ2VOdW1iZXIucGFnZSB9fVxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIiAqbmdJZj1cInBhZ2VOdW1iZXIuc2VsZWN0ZWRcIj4oY3VycmVudCk8L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L2xpPlxuICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiICpuZ0lmPVwic2hvd0Fycm93cyQgfCBhc3luY1wiPlxuICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIGhyZWY9XCJcIiAoY2xpY2spPVwib25OZXh0KClcIiBbY2xhc3MuZGlzYWJsZWRdPVwiaXNMYXN0UGFnZSQgfCBhc3luY1wiIGFyaWEtbGFiZWw9XCJOZXh0XCI+XG4gICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mcmFxdW87PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgPC9saT5cbjwvdWw+Il19
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3BhZ2luYXRpb24vc3JjL2NvbXBvbmVudC9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9wYWdpbmF0aW9uL3NyYy9jb21wb25lbnQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQVEzRixNQUFNLE9BQU8scUJBQXFCO0lBQ2hDO1FBNkdBLHdCQUF3QjtRQUN4QixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBR2pELHVCQUF1QjtRQUN2Qix3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRCx1QkFBdUI7UUFDdkIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNoRCxvQ0FBb0M7UUFDcEMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNqRCx3QkFBd0I7UUFDeEIsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFPLFFBQVEsQ0FBQyxDQUFDO1FBZTVDLDRCQUE0QjtRQUNYLDZCQUF3QixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUF2SXJFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxPQUFPLEVB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MkZEVlEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGVBQWU7MEVBNklSLHdCQUF3QjtzQkFBeEMsTUFBTTtnQkFDTSxrQkFBa0I7c0JBQTlCLEtBQUs7Z0JBU08sYUFBYTtzQkFBekIsS0FBSztnQkFTTyxXQUFXO3NCQUF2QixLQUFLO2dCQVNPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBU08sSUFBSTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNpemUgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGFnZVdpdGhTZWxlY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BhZ2Utd2l0aC1zZWxlY3Rpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1wYWdpbmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJzUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICB0aGlzLnZpc2libGVOdW1iZXJPZk51bWJlckJveGVzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5udW1iZXJPZkJveGVzJCxcbiAgICAgIHRoaXMucGFnZU51bWJlcnMkLFxuICAgICAgdGhpcy5zaG93QXJyb3dzJCxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChbbnVtYmVyT2ZCb3hlcywgcGFnZU51bWJlcnMsIHNob3dBcnJvd3NdKSA9PiB7XG4gICAgICAgICAgaWYgKG51bWJlck9mQm94ZXMgPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHBhZ2VOdW1iZXJzLmxlbmd0aDtcbiAgICAgICAgICB9IGVsc2UgaWYgKCFzaG93QXJyb3dzKSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5taW4obnVtYmVyT2ZCb3hlcywgcGFnZU51bWJlcnMubGVuZ3RoKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG51bWJlck9mQm94ZXMgPD0gMikge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGgubWluKDEsIHBhZ2VOdW1iZXJzLmxlbmd0aCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1pbihudW1iZXJPZkJveGVzIC0gMiwgcGFnZU51bWJlcnMubGVuZ3RoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgdGhpcy5pc0xlZnRPdmVyZmxvdyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnBhZ2VOdW1iZXJzJCwgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLCB0aGlzLnZpc2libGVOdW1iZXJPZk51bWJlckJveGVzJF0pXG4gICAgICAucGlwZShtYXAoKFtwYWdlTnVtYmVycywgc2VsZWN0ZWRQYWdlTnVtYmVyLCB2aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlc10pID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSBwYWdlTnVtYmVycy5pbmRleE9mKHNlbGVjdGVkUGFnZU51bWJlcik7XG4gICAgICAgIGNvbnN0IG1pZGRsZSA9IE1hdGguZmxvb3IodmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMgLyAyKTtcbiAgICAgICAgcmV0dXJuIGluZGV4ID4gbWlkZGxlO1xuICAgICAgfSkpO1xuXG4gICAgdGhpcy5pc1JpZ2h0T3ZlcmZsb3ckID0gY29tYmluZUxhdGVzdChbdGhpcy5wYWdlTnVtYmVycyQsIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyJCwgdGhpcy52aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlcyRdKVxuICAgICAgLnBpcGUobWFwKChbcGFnZU51bWJlcnMsIHNlbGVjdGVkUGFnZU51bWJlciwgdmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gcGFnZU51bWJlcnMuaW5kZXhPZihzZWxlY3RlZFBhZ2VOdW1iZXIpO1xuICAgICAgICBjb25zdCBtaWRkbGUgPSBNYXRoLmZsb29yKHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzIC8gMik7XG4gICAgICAgIHJldHVybiAocGFnZU51bWJlcnMubGVuZ3RoIC0gaW5kZXgpIDwgbWlkZGxlO1xuICAgICAgfSkpO1xuXG4gICAgdGhpcy5zaG93blBhZ2VOdW1iZXJzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5wYWdlTnVtYmVycyQsXG4gICAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQsXG4gICAgICB0aGlzLnZpc2libGVOdW1iZXJPZk51bWJlckJveGVzJCxcbiAgICAgIHRoaXMuaXNMZWZ0T3ZlcmZsb3ckLFxuICAgICAgdGhpcy5pc1JpZ2h0T3ZlcmZsb3ckXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoW3BhZ2VOdW1iZXJzLCBzZWxlY3RlZFBhZ2VOdW1iZXIsIHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzLCBpc0xlZnRPdmVyZmxvdywgaXNSaWdodE92ZXJmbG93XSkgPT4ge1xuICAgICAgICAgIC8vIGNvbnN0IGJveGVzVG9SZW1vdmUgPSBwYWdlTnVtYmVycy5sZW5ndGggLSB2aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlc1xuICAgICAgICAgIC8vICAgKyAoaXNMZWZ0T3ZlcmZsb3cgPyAxIDogMClcbiAgICAgICAgICAvLyAgICsgKGlzUmlnaHRPdmVyZmxvdyA/IDEgOiAwKTtcblxuICAgICAgICAgIC8vIGxldCByZXN1bHQ6IG51bWJlcltdID0gW107XG4gICAgICAgICAgLy8gcmVzdWx0LnB1c2gocGFnZU51bWJlcnNbMF0pO1xuXG4gICAgICAgICAgLy8gLy8gLi4uXG5cbiAgICAgICAgICAvLyByZXN1bHQucHVzaChwYWdlTnVtYmVyc1twYWdlTnVtYmVycy5sZW5ndGggLSAxXSk7XG5cbiAgICAgICAgICBsZXQgc3RhcnRJbmRleCA9IDA7XG4gICAgICAgICAgY29uc3QgaGFsZiA9IE1hdGgucm91bmQoKHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzIC0gMSkgLyAyKTtcbiAgICAgICAgICBpZiAocGFnZU51bWJlcnMuaW5kZXhPZihzZWxlY3RlZFBhZ2VOdW1iZXIpIDwgaGFsZikge1xuICAgICAgICAgICAgc3RhcnRJbmRleCA9IDA7XG4gICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIHBhZ2VOdW1iZXJzLmluZGV4T2Yoc2VsZWN0ZWRQYWdlTnVtYmVyKSA+PVxuICAgICAgICAgICAgcGFnZU51bWJlcnMubGVuZ3RoIC0gaGFsZlxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc3RhcnRJbmRleCA9IHBhZ2VOdW1iZXJzLmxlbmd0aCAtIHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGFydEluZGV4ID0gcGFnZU51bWJlcnMuaW5kZXhPZihzZWxlY3RlZFBhZ2VOdW1iZXIpIC0gaGFsZjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gWy4uLkFycmF5KHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzKS5rZXlzKCldXG4gICAgICAgICAgICAubWFwKChwKSA9PiBwICsgc3RhcnRJbmRleClcbiAgICAgICAgICAgIC5tYXAoKHApID0+PFBhZ2VXaXRoU2VsZWN0aW9uPntcbiAgICAgICAgICAgICAgcGFnZTogcGFnZU51bWJlcnNbcF0sXG4gICAgICAgICAgICAgIHNlbGVjdGVkOiBwYWdlTnVtYmVyc1twXSA9PT0gc2VsZWN0ZWRQYWdlTnVtYmVyLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgdGhpcy5pc0ZpcnN0UGFnZSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMucGFnZU51bWJlcnMkLFxuICAgICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKFtwYWdlTnVtYmVycywgc2VsZWN0ZWRQYWdlTnVtYmVyXSkgPT4ge1xuICAgICAgICAgIHJldHVybiBwYWdlTnVtYmVycy5pbmRleE9mKHNlbGVjdGVkUGFnZU51bWJlcikgPT09IDA7XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgdGhpcy5pc0xhc3RQYWdlJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5wYWdlTnVtYmVycyQsXG4gICAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQsXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoW3BhZ2VOdW1iZXJzLCBzZWxlY3RlZFBhZ2VOdW1iZXJdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChwYWdlTnVtYmVycy5pbmRleE9mKHNlbGVjdGVkUGFnZU51bWJlcikgPT09IHBhZ2VOdW1iZXJzLmxlbmd0aCAtIDEpO1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChzZWxlY3RlZFBhZ2VOdW1iZXIpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXJDaGFuZ2UuZW1pdChzZWxlY3RlZFBhZ2VOdW1iZXIpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKiogQWxsIHBhZ2UgbnVtYmVycy4gKi9cbiAgcGFnZU51bWJlcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXJbXT4oW10pO1xuICAvKiogUGFnZSBudW1iZXJzIHRvIGJlIGRpc3BsYXllZCB0byB0aGUgdXNlci4gKi9cbiAgc2hvd25QYWdlTnVtYmVycyQ6IE9ic2VydmFibGU8UGFnZVdpdGhTZWxlY3Rpb25bXT47XG4gIC8qKiBTZWxlY3RlZCBudW1iZXIuICovXG4gIHNlbGVjdGVkUGFnZU51bWJlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMSk7XG4gIC8qKiBOdW1iZXIgb2YgYm94ZXMuICovXG4gIG51bWJlck9mQm94ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICAvKiogRGlzcGxheSBwcmV2aW91cy9uZXh0IGFycm93cy4gKi9cbiAgc2hvd0Fycm93cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICAvKiogUGFnZSBudW1iZXIgc2l6ZS4gKi9cbiAgc2l6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNpemU+KCdtZWRpdW0nKTtcblxuICAvKiogSW5kaWNhdGVzIGlmIGZpcnN0IHZhbHVlIGlzIHNlbGVjdGVkLiAqL1xuICBpc0ZpcnN0UGFnZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIC8qKiBJbmRpY2F0ZXMgaWYgbGFzdCB2YWx1ZSBpcyBzZWxlY3RlZC4gKi9cbiAgaXNMYXN0UGFnZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIC8qKiBUaGUgbnVtYmVyIG9mIGJveGVzIChleGNsdWRpbmcgYXJyb3dzKSB0aGF0J3MgYmVpbmcgc2hvd24gb24gdGhlIHBhZ2luYXRpb24gY29tcG9uZW50LiAqL1xuICB2aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlcyQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZXJlIGFyZSB0b28gbWFueSBudW1iZXJzIHRvIHRoZSBsZWZ0LWhhbmQgc2lkZSBvZiB0aGUgY3VycmVudCBwYWdlLiAqL1xuICBpc0xlZnRPdmVyZmxvdyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGVyZSBhcmUgdG9vIG1hbnkgbnVtYmVycyB0byB0aGUgcmlnaHQtaGFuZCBzaWRlIG9mIHRoZSBjdXJyZW50IHBhZ2UuICovXG4gIGlzUmlnaHRPdmVyZmxvdyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIC8qKiBNb25pdG9yIE9uRGVzdHJveWVkIGhvb2suICovXG4gIHByaXZhdGUgZGVzdHJveWVkJDogU3ViamVjdDxhbnk+O1xuXG4gIC8vI3JlZ2lvbiBTZWxlY3RlZFBhZ2VOdW1iZXJcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZFBhZ2VOdW1iZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkUGFnZU51bWJlcih2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLm5leHQodmFsdWUpO1xuICB9XG4gIGdldCBzZWxlY3RlZFBhZ2VOdW1iZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyJC52YWx1ZTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gTnVtYmVyT2ZCb3hlc1xuICBASW5wdXQoKSBzZXQgbnVtYmVyT2ZCb3hlcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5udW1iZXJPZkJveGVzJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgbnVtYmVyT2ZCb3hlcygpIHtcbiAgICByZXR1cm4gdGhpcy5udW1iZXJPZkJveGVzJC52YWx1ZTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gUGFnZU51bWJlcnNcbiAgQElucHV0KCkgc2V0IHBhZ2VOdW1iZXJzKHZhbHVlOiBudW1iZXJbXSkge1xuICAgIHRoaXMucGFnZU51bWJlcnMkLm5leHQodmFsdWUpO1xuICB9XG4gIGdldCBwYWdlTnVtYmVycygpIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlTnVtYmVycyQudmFsdWU7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIFNob3dBcnJvd3NcbiAgQElucHV0KCkgc2V0IHNob3dBcnJvd3ModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNob3dBcnJvd3MkLm5leHQodmFsdWUpO1xuICB9XG4gIGdldCBzaG93QXJyb3dzKCkge1xuICAgIHJldHVybiB0aGlzLnNob3dBcnJvd3MkLnZhbHVlO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBTaXplXG4gIEBJbnB1dCgpIHNldCBzaXplKHZhbHVlOiBTaXplKSB7XG4gICAgdGhpcy5zaXplJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgc2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zaXplJC52YWx1ZTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG9uU2VsZWN0UGFnZShldmVudDogTW91c2VFdmVudCwgcGFnZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLm5leHQocGFnZSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb25QcmV2aW91cygpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMucGFnZU51bWJlcnMuaW5kZXhPZih0aGlzLnNlbGVjdGVkUGFnZU51bWJlcik7XG4gICAgaWYgKGluZGV4ID4gMCkge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnBhZ2VOdW1iZXJzW2luZGV4IC0gMV07XG4gICAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQubmV4dChuZXdWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyJC5uZXh0KHRoaXMucGFnZU51bWJlcnNbMF0pO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvbk5leHQoKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnBhZ2VOdW1iZXJzLmluZGV4T2YodGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIpO1xuICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyJC5uZXh0KHRoaXMucGFnZU51bWJlcnNbdGhpcy5wYWdlTnVtYmVycy5sZW5ndGggLSAxXSk7XG4gICAgfSBlbHNlIGlmIChpbmRleCA8IHRoaXMucGFnZU51bWJlcnMubGVuZ3RoIC0gMSkge1xuICAgICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLm5leHQodGhpcy5wYWdlTnVtYmVyc1tpbmRleCArIDFdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLm5leHQodGhpcy5wYWdlTnVtYmVyc1t0aGlzLnBhZ2VOdW1iZXJzLmxlbmd0aCAtIDFdKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdHJhY2tCeVBhZ2VOdW1iZXIoaW5kZXg6IG51bWJlciwgcGFnZTogUGFnZVdpdGhTZWxlY3Rpb24pIHtcbiAgICByZXR1cm4gcGFnZTtcbiAgfVxufVxuIiwiPHVsIGNsYXNzPVwicGFnaW5hdGlvblwiPlxuICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiICpuZ0lmPVwic2hvd0Fycm93cyQgfCBhc3luY1wiPlxuICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIGhyZWY9XCJcIiAoY2xpY2spPVwib25QcmV2aW91cygpXCIgW2NsYXNzLmRpc2FibGVkXT1cImlzRmlyc3RQYWdlJCB8IGFzeW5jXCIgYXJpYS1sYWJlbD1cIlByZXZpb3VzXCI+XG4gICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mbGFxdW87PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5QcmV2aW91czwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG4gICAgPGxpICpuZ0Zvcj1cImxldCBwYWdlTnVtYmVyIG9mIChzaG93blBhZ2VOdW1iZXJzJCB8IGFzeW5jKTsgdHJhY2tCeTogdHJhY2tCeVBhZ2VOdW1iZXJcIiBjbGFzcz1cInBhZ2UtaXRlbVwiPlxuICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIGhyZWY9XCJcIiAoY2xpY2spPVwib25TZWxlY3RQYWdlKCRldmVudCwgcGFnZU51bWJlci5wYWdlKVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnYWN0aXZlJzogcGFnZU51bWJlci5zZWxlY3RlZCB9XCIgKm5nSWY9XCJwYWdlTnVtYmVyLnBhZ2UgIT0gJy4uLidcIj5cbiAgICAgICAgICAgIHt7IHBhZ2VOdW1iZXIucGFnZSB9fVxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIiAqbmdJZj1cInBhZ2VOdW1iZXIuc2VsZWN0ZWRcIj4oY3VycmVudCk8L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L2xpPlxuICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiICpuZ0lmPVwic2hvd0Fycm93cyQgfCBhc3luY1wiPlxuICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIGhyZWY9XCJcIiAoY2xpY2spPVwib25OZXh0KClcIiBbY2xhc3MuZGlzYWJsZWRdPVwiaXNMYXN0UGFnZSQgfCBhc3luY1wiIGFyaWEtbGFiZWw9XCJOZXh0XCI+XG4gICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mcmFxdW87PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgPC9saT5cbjwvdWw+Il19
|
|
@@ -48,15 +48,18 @@ export class BsRatingComponent {
|
|
|
48
48
|
selectValue(index) {
|
|
49
49
|
this.value = index + 1;
|
|
50
50
|
}
|
|
51
|
+
trackByStar(index, star) {
|
|
52
|
+
return index;
|
|
53
|
+
}
|
|
51
54
|
onMouseLeave() {
|
|
52
55
|
this.previewValue$.next(null);
|
|
53
56
|
}
|
|
54
57
|
}
|
|
55
58
|
BsRatingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: BsRatingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
-
BsRatingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: BsRatingComponent, selector: "bs-rating", inputs: { maximum: "maximum", value: "value" }, outputs: { valueChange: "valueChange", starsChange: "starsChange" }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, ngImport: i0, template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '★' : '☆' }}\n</span>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
59
|
+
BsRatingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: BsRatingComponent, selector: "bs-rating", inputs: { maximum: "maximum", value: "value" }, outputs: { valueChange: "valueChange", starsChange: "starsChange" }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, ngImport: i0, template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index; trackBy: trackByStar\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '★' : '☆' }}\n</span>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
57
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: BsRatingComponent, decorators: [{
|
|
58
61
|
type: Component,
|
|
59
|
-
args: [{ selector: 'bs-rating', template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '★' : '☆' }}\n</span>" }]
|
|
62
|
+
args: [{ selector: 'bs-rating', template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index; trackBy: trackByStar\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '★' : '☆' }}\n</span>" }]
|
|
60
63
|
}], ctorParameters: function () { return []; }, propDecorators: { maximum: [{
|
|
61
64
|
type: Input
|
|
62
65
|
}], valueChange: [{
|
|
@@ -69,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
69
72
|
type: HostListener,
|
|
70
73
|
args: ['mouseleave']
|
|
71
74
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvcmF0aW5nL3NyYy9jb21wb25lbnQvcmF0aW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvcmF0aW5nL3NyYy9jb21wb25lbnQvcmF0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBTzNGLE1BQU0sT0FBTyxpQkFBaUI7SUFFNUI7UUFrQkEsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDM0IsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzFDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQU96RCxZQUFZO1FBRVosZUFBZTtRQUNFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN6QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUEvQnhELElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUMxRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDM0MsTUFBTSxDQUFDLEdBQUcsWUFBWSxJQUFJLEtBQUssQ0FBQztZQUNoQyxPQUFPO2dCQUNMLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztnQkFDdEMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzthQUNsRCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVOLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2hDLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxDQUFDLEdBQUcsWUFBWSxJQUFJLEtBQUssQ0FBQztZQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFRRCxpQkFBaUI7SUFDakIsSUFBb0IsT0FBTyxDQUFDLEtBQWE7UUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQU1ELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQW9CLEtBQUssQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxZQUFZO0lBRVosV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWEsRUFBRSxJQUFhO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUUyQixZQUFZO1FBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OzhHQTdEVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwrTkNSOUIseU5BRU87MkZETU0saUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLFdBQVc7MEVBK0JELE9BQU87c0JBQTFCLEtBQUs7Z0JBTVcsV0FBVztzQkFBM0IsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQUlhLEtBQUs7c0JBQXhCLEtBQUs7Z0JBcUJzQixZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1yYXRpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmF0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmF0aW5nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNSYXRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc3RhcnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5tYXhpbXVtJCwgdGhpcy5wcmV2aWV3VmFsdWUkLCB0aGlzLnZhbHVlJF0pXG4gICAgICAucGlwZShtYXAoKFttYXhpbXVtLCBwcmV2aWV3VmFsdWUsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCB2ID0gcHJldmlld1ZhbHVlID8/IHZhbHVlO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIC4uLlsuLi5BcnJheSh2KS5rZXlzKCldLm1hcChpID0+IHRydWUpLFxuICAgICAgICAgIC4uLlsuLi5BcnJheShtYXhpbXVtIC0gdikua2V5cygpXS5tYXAoaSA9PiBmYWxzZSlcbiAgICAgICAgXTtcbiAgICAgIH0pKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMucHJldmlld1ZhbHVlJCwgdGhpcy52YWx1ZSRdKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChbcHJldmlld1ZhbHVlLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgdiA9IHByZXZpZXdWYWx1ZSA/PyB2YWx1ZTtcbiAgICAgICAgdGhpcy5zdGFyc0NoYW5nZS5lbWl0KHYpO1xuICAgICAgfSk7XG4gIH1cblxuICBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3QoKTtcbiAgbWF4aW11bSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oNSk7XG4gIHZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigzKTtcbiAgcHJldmlld1ZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHN0YXJzJDogT2JzZXJ2YWJsZTxib29sZWFuW10+O1xuXG4gIC8vI3JlZ2lvbiBNYXhpbXVtXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbWF4aW11bSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5tYXhpbXVtJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gVmFsdWVcbiAgQE91dHB1dCgpIHB1YmxpYyB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHN0YXJzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMudmFsdWUkLm5leHQodmFsdWUpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBob3ZlclZhbHVlKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnByZXZpZXdWYWx1ZSQubmV4dChpbmRleCArIDEpO1xuICB9XG4gIHNlbGVjdFZhbHVlKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnZhbHVlID0gaW5kZXggKyAxO1xuICB9XG5cbiAgdHJhY2tCeVN0YXIoaW5kZXg6IG51bWJlciwgc3RhcjogYm9vbGVhbikge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy5wcmV2aWV3VmFsdWUkLm5leHQobnVsbCk7XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAqbmdGb3I9XCJsZXQgc3RhciBvZiAoc3RhcnMkIHwgYXN5bmMpLCBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5U3RhclwiIChtb3VzZWVudGVyKT1cImhvdmVyVmFsdWUoaSlcIiAoY2xpY2spPVwic2VsZWN0VmFsdWUoaSlcIj5cbiAgICB7eyBzdGFyID8gJyYjOTczMzsnIDogJyYjOTczNDsnIH19XG48L3NwYW4+Il19
|
|
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
82
82
|
}], isExpanded: [{
|
|
83
83
|
type: Input
|
|
84
84
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc2NoZWR1bGVyL3NyYy9jb21wb25lbnRzL3Jlc291cmNlLWdyb3VwLXByZXNlbnRlci9yZXNvdXJjZS1ncm91cC1wcmVzZW50ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zY2hlZHVsZXIvc3JjL2NvbXBvbmVudHMvcmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyL3Jlc291cmNlLWdyb3VwLXByZXNlbnRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFFLElBQUksRUFBYSxNQUFNLE1BQU0sQ0FBQzs7OztBQVcxRixNQUFNLE9BQU8sK0JBQStCO0lBRTFDO1FBMkJTLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDbkIscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQWtDLElBQUksQ0FBQyxDQUFDO1FBQzlFLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBNEIsRUFBRSxDQUFDLENBQUM7UUFDaEUsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUdsRCxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQWhDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCO2FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUNwQixPQUFPLElBQUksQ0FBQzthQUNiO2lCQUFNLElBQUksVUFBVSxJQUFJLGVBQWUsRUFBRTtnQkFDeEMsT0FBd0I7b0JBQ3RCLFFBQVEsRUFBRSxJQUFJO29CQUNkLGFBQWEsRUFBRSxlQUFlO2lCQUMvQixDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsT0FBd0I7b0JBQ3RCLFFBQVEsRUFBRSxlQUFlO29CQUN6QixhQUFhLEVBQUUsSUFBSTtpQkFDcEIsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQWtCLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVTthQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUzthQUM3QixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQzthQUN0QyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUM1QyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBVUQseUJBQXlCO0lBQ3pCLElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUNELElBQW9CLGFBQWEsQ0FBQyxLQUFzQztRQUN0RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxZQUFZO0lBRVosbUJBQW1CO0lBQ25CLElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFvQixTQUFTLENBQUMsS0FBZ0M7UUFDNUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELFlBQVk7SUFFWixvQkFBb0I7SUFDcEIsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQW9CLFVBQVUsQ0FBQyxLQUFjO1FBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxZQUFZO0lBRVosY0FBYztRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7OzRIQXhFVSwrQkFBK0I7Z0hBQS9CLCtCQUErQixpTENaNUMsc2dFQXNDZSxnZUQxQkYsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBTjNDLFNBQVM7K0JBQ0UsNkJBQTZCOzBFQWtDOUIsS0FBSztzQkFBYixLQUFLO2dCQVljLGFBQWE7c0JBQWhDLEtBQUs7Z0JBU2MsU0FBUztzQkFBNUIsS0FBSztnQkFTYyxVQUFVO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc291cmNlLCBSZXNvdXJjZUdyb3VwIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBSZXNvdXJjZU9yR3JvdXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Jlc291cmNlLW9yLWdyb3VwJztcbmltcG9ydCB7IFNjaGVkdWxlclN0YW1wV2l0aFNsb3RzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zY2hlZHVsZXItc3RhbXAtd2l0aC1zbG90cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLXJlc291cmNlLWdyb3VwLXByZXNlbnRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXNvdXJjZS1ncm91cC1wcmVzZW50ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXNvdXJjZS1ncm91cC1wcmVzZW50ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgXG59KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlR3JvdXBQcmVzZW50ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5kYXRhJCA9IHRoaXMucmVzb3VyY2VPckdyb3VwJFxuICAgICAgLnBpcGUobWFwKChyZXNvdXJjZU9yR3JvdXApID0+IHtcbiAgICAgICAgaWYgKCFyZXNvdXJjZU9yR3JvdXApIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSBlbHNlIGlmICgnY2hpbGRyZW4nIGluIHJlc291cmNlT3JHcm91cCkge1xuICAgICAgICAgIHJldHVybiA8UmVzb3VyY2VPckdyb3VwPntcbiAgICAgICAgICAgIHJlc291cmNlOiBudWxsLFxuICAgICAgICAgICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VPckdyb3VwXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gPFJlc291cmNlT3JHcm91cD57XG4gICAgICAgICAgICByZXNvdXJjZTogcmVzb3VyY2VPckdyb3VwLFxuICAgICAgICAgICAgcmVzb3VyY2VHcm91cDogbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0pKVxuICAgICAgLnBpcGUoZmlsdGVyKChyZXNvdXJjZU9yR3JvdXApID0+ICEhcmVzb3VyY2VPckdyb3VwKSlcbiAgICAgIC5waXBlKG1hcCgocmVzb3VyY2VPckdyb3VwKSA9PiA8UmVzb3VyY2VPckdyb3VwPnJlc291cmNlT3JHcm91cCkpO1xuXG4gICAgdGhpcy5jb2xTcGFuJCA9IHRoaXMudGltZVNsb3RzJFxuICAgICAgLnBpcGUobWFwKHRpbWVTbG90cyA9PiB0aW1lU2xvdHNcbiAgICAgICAgLm1hcCh0aW1lc2xvdCA9PiB0aW1lc2xvdC5zbG90cy5sZW5ndGgpXG4gICAgICAgIC5yZWR1Y2UoKHN1bSwgY3VycmVudCkgPT4gc3VtICsgY3VycmVudCwgMClcbiAgICAgICkpO1xuICB9XG5cbiAgQElucHV0KCkgbGV2ZWwgPSAwO1xuICByZXNvdXJjZU9yR3JvdXAkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZXNvdXJjZSB8IFJlc291cmNlR3JvdXAgfCBudWxsPihudWxsKTtcbiAgdGltZVNsb3RzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2NoZWR1bGVyU3RhbXBXaXRoU2xvdHNbXT4oW10pO1xuICBpc0V4cGFuZGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBkYXRhJDogT2JzZXJ2YWJsZTxSZXNvdXJjZU9yR3JvdXA+O1xuICBjb2xTcGFuJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3QoKTtcblxuICAvLyNyZWdpb24gcmVzb3VyY2VPckdyb3VwXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2VPckdyb3VwKCkge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlT3JHcm91cCQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCByZXNvdXJjZUdyb3VwKHZhbHVlOiBSZXNvdXJjZSB8IFJlc291cmNlR3JvdXAgfCBudWxsKSB7XG4gICAgdGhpcy5yZXNvdXJjZU9yR3JvdXAkLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiB0aW1lU2xvdHNcbiAgcHVibGljIGdldCB0aW1lU2xvdHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudGltZVNsb3RzJC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHRpbWVTbG90cyh2YWx1ZTogU2NoZWR1bGVyU3RhbXBXaXRoU2xvdHNbXSkge1xuICAgIHRoaXMudGltZVNsb3RzJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gaXNFeHBhbmRlZFxuICBwdWJsaWMgZ2V0IGlzRXhwYW5kZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNFeHBhbmRlZCQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBpc0V4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0V4cGFuZGVkJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICB0b2dnbGVFeHBhbmRlZCgpIHtcbiAgICB0aGlzLmlzRXhwYW5kZWQkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChpc0V4cGFuZGVkKSA9PiB7XG4gICAgICB0aGlzLmlzRXhwYW5kZWQkLm5leHQoIWlzRXhwYW5kZWQpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIihkYXRhJCB8IGFzeW5jKSBhcyBkYXRhXCI+XG5cbiAgICA8IS0tIERhdGEgaXMgYSByZXNvdXJjZSBncm91cCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5yZXNvdXJjZUdyb3VwXCI+XG4gICAgICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgICAgICA8dHIgY2xhc3M9XCJwLTAgY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cIih0aW1lU2xvdHMkIHwgYXN5bmMpIGFzIHRpbWVTbG90c1wiIFt0aXRsZV09XCJkYXRhLnJlc291cmNlR3JvdXAuZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoY29sU3BhbiQgfCBhc3luYykgYXMgY29sc3BhblwiPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInAtMiBjdXJzb3ItcG9pbnRlclwiIFtjb2xTcGFuXT1cImNvbHNwYW4gKyAxXCIgKGNsaWNrKT1cInRvZ2dsZUV4cGFuZGVkKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLTIgYWxpZ24tbWlkZGxlIHBvc2l0aW9uLXN0aWNreVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJzLWljb24gW2ljb25dPVwiJ2NoZXZyb24tZG93bidcIiBbc3R5bGUucGFkZGluZy1sZWZ0LnB4XT1cImxldmVsICogMjBcIiAqbmdJZj1cImlzRXhwYW5kZWQkIHwgYXN5bmNcIj48L2JzLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnMtaWNvbiBbaWNvbl09XCInY2hldnJvbi1yaWdodCdcIiBbc3R5bGUucGFkZGluZy1sZWZ0LnB4XT1cImxldmVsICogMjBcIiAqbmdJZj1cIihpc0V4cGFuZGVkJCB8IGFzeW5jKSA9PT0gZmFsc2VcIj48L2JzLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkYXRhLnJlc291cmNlR3JvdXAuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90cj5cblxuICAgICAgICA8IS0tIFN1Ymdyb3VwcyBvciByZXNvdXJjZXMgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0V4cGFuZGVkJCB8IGFzeW5jXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKHRpbWVTbG90cyQgfCBhc3luYykgYXMgdGltZVNsb3RzXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgZGF0YS5yZXNvdXJjZUdyb3VwLmNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxicy1yZXNvdXJjZS1ncm91cC1wcmVzZW50ZXIgW3Jlc291cmNlR3JvdXBdPVwiY2hpbGRcIiBbdGltZVNsb3RzXT1cInRpbWVTbG90c1wiIFtsZXZlbF09XCJsZXZlbCArIDFcIj48L2JzLXJlc291cmNlLWdyb3VwLXByZXNlbnRlcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gRGF0YSBpcyBhIHJlc291cmNlIC0tPlxuICAgIDx0ciAqbmdJZj1cImRhdGEucmVzb3VyY2VcIiBjbGFzcz1cInAtMCBib3JkZXJlZFwiIFt0aXRsZV09XCJkYXRhLnJlc291cmNlLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgIDx0ZCBjbGFzcz1cInAtMCBiZy13aGl0ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMlwiPnt7IGRhdGEucmVzb3VyY2UuZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2xvdHMgb2YgKHRpbWVTbG90cyQgfCBhc3luYylcIj5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImJnLXdoaXRlIGJvcmRlci0xXCIgKm5nRm9yPVwibGV0IHNsb3Qgb2Ygc2xvdHMuc2xvdHNcIj5cbiAgICAgICAgICAgICAgICA8IS0tIHt7IHNsb3Quc3RhcnQgfCBkYXRlOiAnZGQvTU0veXl5eSBISDptbTpzcycgfX0gLS0+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3RyPlxuPC9uZy1jb250YWluZXI+Il19
|