@firestitch/filter 9.8.4 → 9.8.8
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/app/components/filters-item/text/text.component.d.ts +2 -0
- package/app/interfaces/config.interface.d.ts +2 -1
- package/bundles/firestitch-filter.umd.js +20 -11
- package/bundles/firestitch-filter.umd.js.map +1 -1
- package/bundles/firestitch-filter.umd.min.js +2 -2
- package/bundles/firestitch-filter.umd.min.js.map +1 -1
- package/esm2015/app/components/filter/filter.component.js +2 -2
- package/esm2015/app/components/filters-item/text/text.component.js +15 -5
- package/esm2015/app/interfaces/config.interface.js +1 -1
- package/esm2015/app/models/items/date-range/base-date-range-item.js +3 -4
- package/esm2015/app/models/items/range-item.js +3 -4
- package/esm2015/public_api.js +1 -1
- package/esm5/app/components/filter/filter.component.js +2 -2
- package/esm5/app/components/filters-item/text/text.component.js +16 -5
- package/esm5/app/interfaces/config.interface.js +1 -1
- package/esm5/app/models/items/date-range/base-date-range-item.js +3 -4
- package/esm5/app/models/items/range-item.js +3 -4
- package/esm5/public_api.js +1 -1
- package/fesm2015/firestitch-filter.js +19 -11
- package/fesm2015/firestitch-filter.js.map +1 -1
- package/fesm5/firestitch-filter.js +20 -11
- package/fesm5/firestitch-filter.js.map +1 -1
- package/firestitch-filter.metadata.json +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +5 -4
|
@@ -661,7 +661,7 @@ var FilterComponent = /** @class */ (function () {
|
|
|
661
661
|
FilterComponent = __decorate([
|
|
662
662
|
Component({
|
|
663
663
|
selector: 'fs-filter',
|
|
664
|
-
template: "<ng-container *ngIf=\"hasKeyword; else noKeywordFilter\">\n <div class=\"filter-search-container\">\n <div class=\"filter-input-field\">\n <form autocomplete=\"off\" role=\"presentation\" *ngIf=\"keywordVisible$ | async\">\n <mat-form-field floatLabel=\"never\">\n <span matPrefix>\n <mat-icon matPrefix>search</mat-icon>\n </span>\n\n <input\n matInput\n [formControl]=\"searchText\"\n [placeholder]=\"searchPlaceholder\"\n name=\"filter-input\"\n (click)=\"filterInputEvent($event)\"\n class=\"filter-input\">\n\n <a matSuffix\n *ngIf=\"searchText.value && showFilterInput && config.clear\"\n (click)=\"clearSearchText($event)\"\n href=\"javascript:void(0)\"\n class=\"clear\">\n <mat-icon>clear</mat-icon>\n </a>\n\n <a matSuffix\n (click)=\"reload($event)\"\n class=\"reload\"\n *ngIf=\"config.reload\">\n <mat-icon>refresh</mat-icon>\n </a>\n </mat-form-field>\n </form>\n </div>\n <ng-container *ngTemplateOutlet=\"filterActions\"></ng-container>\n </div>\n <div class=\"status-actions\" *ngIf=\"keywordVisible$ | async\">\n <ng-container *ngTemplateOutlet=\"statusBarContainer\"></ng-container>\n <ng-container *ngTemplateOutlet=\"filterChips\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #noKeywordFilter>\n <div class=\"filter-searchless-container\">\n <div class=\"status-actions\">\n <ng-container *ngTemplateOutlet=\"statusBarContainer\"></ng-container>\n <ng-container *ngTemplateOutlet=\"filterChips\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"filterActions\"></ng-container>\n </div>\n</ng-template>\n\n\n<ng-template #filterActions>\n <div class=\"filter-actions\">\n <ng-container *ngIf=\"hasVisibleItemOrSorting && filtersBtnVisible$ | async \">\n <button\n mat-button\n class=\"filters-button\"\n [ngClass]=\"{\n 'mat-raised-button': config.button.style == 'raised',\n 'mat-button': config.button.style == 'basic',\n 'mat-icon-button': config.button.style == 'icon'\n }\"\n (click)=\"changeVisibilityClick(!showFilterMenu, $event)\"\n type=\"button\"\n [color]=\"config.button.color\">\n <mat-icon *ngIf=\"config.button.icon\">{{config.button.icon}}</mat-icon>\n {{ config.button.label }}\n </button>\n </ng-container>\n\n <fs-filter-actions\n *ngIf=\"actionsVisible$ | async\"\n [actions]=\"actions$ | async\"\n [kebabActions]=\"menuActions$ | async\">\n </fs-filter-actions>\n </div>\n</ng-template>\n\n<ng-template #filterChips>\n <fs-filter-chips\n *ngIf=\"config.chips && hasFilterChips$ | async\"\n class=\"filter-chips\"\n [filters]=\"items\">\n </fs-filter-chips>\n</ng-template>\n\n<ng-template #statusBarContainer>\n <div class=\"status-bar\" *ngIf=\"statusBar\">\n <small><ng-container *ngTemplateOutlet=\"statusBar\"></ng-container></small>\n </div>\n</ng-template>\n",
|
|
664
|
+
template: "<ng-container *ngIf=\"hasKeyword; else noKeywordFilter\">\n <div class=\"filter-search-container\">\n <div class=\"filter-input-field\">\n <form autocomplete=\"off\" role=\"presentation\" *ngIf=\"keywordVisible$ | async\">\n <mat-form-field floatLabel=\"never\">\n <span matPrefix>\n <mat-icon matPrefix>search</mat-icon>\n </span>\n\n <input\n #searchTextInput\n matInput\n [formControl]=\"searchText\"\n [placeholder]=\"searchPlaceholder\"\n name=\"filter-input\"\n (click)=\"filterInputEvent($event)\"\n class=\"filter-input\">\n\n <a matSuffix\n *ngIf=\"searchText.value && showFilterInput && config.clear\"\n (click)=\"clearSearchText($event)\"\n href=\"javascript:void(0)\"\n class=\"clear\">\n <mat-icon>clear</mat-icon>\n </a>\n\n <a matSuffix\n (click)=\"reload($event)\"\n class=\"reload\"\n *ngIf=\"config.reload\">\n <mat-icon>refresh</mat-icon>\n </a>\n </mat-form-field>\n </form>\n </div>\n <ng-container *ngTemplateOutlet=\"filterActions\"></ng-container>\n </div>\n <div class=\"status-actions\" *ngIf=\"keywordVisible$ | async\">\n <ng-container *ngTemplateOutlet=\"statusBarContainer\"></ng-container>\n <ng-container *ngTemplateOutlet=\"filterChips\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #noKeywordFilter>\n <div class=\"filter-searchless-container\">\n <div class=\"status-actions\">\n <ng-container *ngTemplateOutlet=\"statusBarContainer\"></ng-container>\n <ng-container *ngTemplateOutlet=\"filterChips\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"filterActions\"></ng-container>\n </div>\n</ng-template>\n\n\n<ng-template #filterActions>\n <div class=\"filter-actions\">\n <ng-container *ngIf=\"hasVisibleItemOrSorting && filtersBtnVisible$ | async \">\n <button\n mat-button\n class=\"filters-button\"\n [ngClass]=\"{\n 'mat-raised-button': config.button.style == 'raised',\n 'mat-button': config.button.style == 'basic',\n 'mat-icon-button': config.button.style == 'icon'\n }\"\n (click)=\"changeVisibilityClick(!showFilterMenu, $event)\"\n type=\"button\"\n [color]=\"config.button.color\">\n <mat-icon *ngIf=\"config.button.icon\">{{config.button.icon}}</mat-icon>\n {{ config.button.label }}\n </button>\n </ng-container>\n\n <fs-filter-actions\n *ngIf=\"actionsVisible$ | async\"\n [actions]=\"actions$ | async\"\n [kebabActions]=\"menuActions$ | async\">\n </fs-filter-actions>\n </div>\n</ng-template>\n\n<ng-template #filterChips>\n <fs-filter-chips\n *ngIf=\"config.chips && hasFilterChips$ | async\"\n class=\"filter-chips\"\n [filters]=\"items\">\n </fs-filter-chips>\n</ng-template>\n\n<ng-template #statusBarContainer>\n <div class=\"status-bar\" *ngIf=\"statusBar\">\n <small><ng-container *ngTemplateOutlet=\"statusBar\"></ng-container></small>\n </div>\n</ng-template>\n",
|
|
665
665
|
encapsulation: ViewEncapsulation.None,
|
|
666
666
|
providers: [
|
|
667
667
|
FsFilterOverlayService,
|
|
@@ -687,4 +687,4 @@ var FilterComponent = /** @class */ (function () {
|
|
|
687
687
|
return FilterComponent;
|
|
688
688
|
}());
|
|
689
689
|
export { FilterComponent };
|
|
690
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2ZpbHRlci8iLCJzb3VyY2VzIjpbImFwcC9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsYUFBYSxFQUNiLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ04sUUFBUSxFQUNSLE1BQU0sRUFDTixZQUFZLEVBQ1osV0FBVyxFQUNYLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFN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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgT3V0cHV0LFxuICBPcHRpb25hbCxcbiAgSW5qZWN0LFxuICBDb250ZW50Q2hpbGQsXG4gIFRlbXBsYXRlUmVmLFxuICBIb3N0QmluZGluZyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRlNfRklMVEVSX0NPTkZJRyB9IGZyb20gJy4vLi4vLi4vaW5qZWN0b3JzL2ZpbHRlci1jb25maWcnO1xuaW1wb3J0IHsgRnNGaWx0ZXJDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVyLWNvbmZpZyc7XG5pbXBvcnQgeyBvYmplY3RzQXJlRXF1YWxzIH0gZnJvbSAnLi4vLi4vaGVscGVycy9jb21wYXJlJztcbmltcG9ydCB7IEZzRmlsdGVyT3ZlcmxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWx0ZXItb3ZlcmxheS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlclN0YXR1c0JhckRpcmVjdGl2ZSB9IGZyb20gJy4vLi4vLi4vZGlyZWN0aXZlcy9zdGF0dXMtYmFyL3N0YXR1cy1iYXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZpbHRlckNvbmZpZywgRmlsdGVyU29ydCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuaW1wb3J0IHsgRnNGaWx0ZXJJdGVtc1N0b3JlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaXRlbXMtc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcnNpc3RhbmNlUGFyYW1zQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy9wZXJzaXN0YW5jZS1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy9xdWVyeS1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEZvY3VzQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZWRGaWx0ZXJzQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy9zYXZlZC1maWx0ZXJzLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJU29ydGluZ0NoYW5nZUV2ZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZzRmlsdGVyQWN0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEFjdGlvbnNDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9hY3Rpb25zLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgSVVwZGF0ZUZpbHRlckl0ZW1Db25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3VwZGF0ZS1maWx0ZXItaXRlbS5pbnRlcmZhY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZpbHRlcicsXG4gIHN0eWxlVXJsczogWyAnLi9maWx0ZXIuY29tcG9uZW50LnNjc3MnIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICBGc0ZpbHRlck92ZXJsYXlTZXJ2aWNlLFxuICAgIEV4dGVybmFsUGFyYW1zQ29udHJvbGxlcixcbiAgICBQZXJzaXN0YW5jZVBhcmFtc0NvbnRyb2xsZXIsXG4gICAgUXVlcnlQYXJhbXNDb250cm9sbGVyLFxuICAgIEZvY3VzQ29udHJvbGxlclNlcnZpY2UsXG4gICAgRnNGaWx0ZXJJdGVtc1N0b3JlLFxuICAgIFNhdmVkRmlsdGVyc0NvbnRyb2xsZXIsXG4gICAgQWN0aW9uc0NvbnRyb2xsZXIsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCdjb25maWcnKVxuICBzZXQgc2V0Q29uZmlnKGNvbmZpZykge1xuICAgIHRoaXMuX2luaXRGaWx0ZXJXaXRoQ29uZmlnKGNvbmZpZyk7XG4gIH1cblxuICBASW5wdXQoJ2ZpbHRlcicpXG4gIHNldCBzZXRGaWx0ZXIoY29uZmlnKSB7XG4gICAgdGhpcy5faW5pdEZpbHRlcldpdGhDb25maWcoY29uZmlnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93U29ydEJ5OiBhbnkgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0ZpbHRlcklucHV0ID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHB1YmxpYyBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAQ29udGVudENoaWxkKEZpbHRlclN0YXR1c0JhckRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBwdWJsaWMgc3RhdHVzQmFyO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaFRleHRJbnB1dCcpXG4gIHB1YmxpYyBzZWFyY2hUZXh0SW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoVGV4dElucHV0JywgeyByZWFkOiBNYXRJbnB1dCB9KVxuICBwdWJsaWMgc2VhcmNoVGV4dE1hdElucHV0OiBNYXRJbnB1dDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZpbHRlcnMtb3BlbicpXG4gIHB1YmxpYyBzaG93RmlsdGVyTWVudSA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud2luZG93LWRlc2t0b3AnKVxuICBwdWJsaWMgd2luZG93RGVza3RvcCA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnMtZmlsdGVyJylcbiAgcHVibGljIGZzRmlsdGVyQ2xhc3MgPSB0cnVlO1xuXG4gIHB1YmxpYyBzZWFyY2hUZXh0ID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIHB1YmxpYyBzZWFyY2hQbGFjZWhvbGRlciA9ICdTZWFyY2gnO1xuXG4gIHByb3RlY3RlZCBfY29uZmlnOiBGc0ZpbHRlckNvbmZpZyA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfc29ydDogRmlsdGVyU29ydDtcbiAgcHJpdmF0ZSBfZmlsdGVyc0J0blZpc2libGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcbiAgcHJpdmF0ZSBfa2V5d29yZFZpc2libGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcbiAgcHJpdmF0ZSBfaGFzRmlsdGVyQ2hpcHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9maWx0ZXJPdmVybGF5OiBGc0ZpbHRlck92ZXJsYXlTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIF9leHRlcm5hbFBhcmFtczogRXh0ZXJuYWxQYXJhbXNDb250cm9sbGVyLFxuICAgIHByaXZhdGUgX2ZpbHRlckl0ZW1zOiBGc0ZpbHRlckl0ZW1zU3RvcmUsXG4gICAgcHJpdmF0ZSBfYWN0aW9uczogQWN0aW9uc0NvbnRyb2xsZXIsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGU19GSUxURVJfQ09ORklHKSBwcml2YXRlIF9kZWZhdWx0Q29uZmlnOiBGc0ZpbHRlckNvbmZpZ1xuICApIHtcbiAgICB0aGlzLl9saXN0ZW5XaGVuRmlsdGVyUmVhZHkoKTtcbiAgICB0aGlzLl91cGRhdGVXaW5kb3dXaWR0aCgpO1xuXG4gICAgdGhpcy5fZmlsdGVyT3ZlcmxheS5hdHRhY2gkXG4gICAgLnBpcGUoXG4gICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICApXG4gICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNob3dGaWx0ZXJNZW51ID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2ZpbHRlck92ZXJsYXkuZGV0YWNoJFxuICAgIC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgIClcbiAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd0ZpbHRlck1lbnUgPSBmYWxzZTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2xpc3RlbldpbmRvd1Jlc2l6ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb25maWcoKTogRnNGaWx0ZXJDb25maWcge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbHRlclBhcmFtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVySXRlbXMudmFsdWVzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbHRlclBhcmFtc1F1ZXJ5KCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVySXRlbXMudmFsdWVzQXNRdWVyeSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpdGVtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVySXRlbXMuaXRlbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpc2libGVJdGVtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVySXRlbXMudmlzaWJsZUl0ZW1zO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNGaWx0ZXJDaGlwcyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2hhc0ZpbHRlckNoaXBzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzVmlzaWJsZUl0ZW1PclNvcnRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZUl0ZW1zLmxlbmd0aCA+IDAgfHwgISF0aGlzLl9maWx0ZXJJdGVtcy5zb3J0QnlJdGVtXG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc0tleXdvcmQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlckl0ZW1zLmhhc0tleXdvcmQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbHRlcnNCdG5WaXNpYmxlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyc0J0blZpc2libGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBrZXl3b3JkVmlzaWJsZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2tleXdvcmRWaXNpYmxlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aW9uc1Zpc2libGUkKCkge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zLnZpc2libGUkO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3Rpb25zJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9ucy5hY3Rpb25zJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWVudUFjdGlvbnMkKCkge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zLm1lbnVBY3Rpb25zJDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcblxuICAgIC8vIEF2b2lkIG5nQ2hhbmdlcyBlcnJvclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY29uZmlnLmF1dG9mb2N1cykge1xuICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jb25maWcuaW5pdCkge1xuICAgICAgaWYgKHRoaXMuX2V4dGVybmFsUGFyYW1zLnBlbmRpbmcpIHtcbiAgICAgICAgdGhpcy5fZXh0ZXJuYWxQYXJhbXNcbiAgICAgICAgICAucGVuZGluZyRcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigocGVuZGluZykgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gIXBlbmRpbmc7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5pdCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2xpc3RlbkludGVybmFsSXRlbXNDaGFuZ2UoKTtcbiAgICB0aGlzLl9pbml0T3ZlcmxheSgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9saXN0ZW5JbnB1dEtleUV2ZW50cygpO1xuICAgIC8vIEZJWE1FIHByZXZlbnQgZmlyZSBjaGFuZ2UgYWZ0ZXIgaW5pdFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fbGlzdGVuSW5wdXRDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG5cbiAgICB0aGlzLl9kZXN0cm95RmlsdGVyRHJhd2VyKCk7XG5cbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1cygpIHtcbiAgICBpZiAodGhpcy5zZWFyY2hUZXh0TWF0SW5wdXQpIHtcbiAgICAgIHRoaXMuc2VhcmNoVGV4dE1hdElucHV0LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZVNvcnQoc29ydDogSVNvcnRpbmdDaGFuZ2VFdmVudCkge1xuICAgIHRoaXMuX2ZpbHRlckl0ZW1zLnVwZGF0ZVNvcnQoc29ydClcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBEbyB1cGRhdGUgdmFsdWUgb2Ygc29tZSBmaWVsZFxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWVzIC0gdmFsdWVzIGZvciB1cGRhdGVcbiAgICpcbiAgICogVG8gdXBkYXRlIHRleHQgdmFsdWUganVzdCBwYXNzIG5ldyB0ZXh0IHZhbHVlXG4gICAqXG4gICAqIHB1YmxpYyB1cGRhdGVTZWxlY3RWYWx1ZSh2YWwpIHtcbiAgICogICB0aGlzLmZpbHRlckVsLnVwZGF0ZVZhbHVlcyh7IGtleXdvcmQ6IHZhbCB9KTtcbiAgICogfVxuICAgKlxuICAgKiBUbyB1cGRhdGUgc2VsZWN0IG9yIG9ic2VydmFibGUgc2VsZWN0IHlvdSBjb3VsZCBwYXNzIHN1aXRhYmxlIHZhbHVlXG4gICAqXG4gICAqIHB1YmxpYyB1cGRhdGVTZWxlY3RWYWx1ZSh2YWw6IG51bWJlcikge1xuICAgKiAgIHRoaXMuZmlsdGVyRWwudXBkYXRlVmFsdWVzKHsgc2ltcGxlX3NlbGVjdDogdmFsIH0sIHsgb2JzZXJ2YWJsZV9zZWxlY3Q6IHZhbCB9KTtcbiAgICogfVxuICAgKlxuICAgKiBUbyB1cGRhdGUgY2hlY2tib3ggdmFsdWUganVzdCBwYXNzIHRydWUvZmFsc2UgYXMgdmFsdWVcbiAgICpcbiAgICogcHVibGljIHVwZGF0ZUNoZWNrb3godmFsOiBib29sZWFuKSB7XG4gICAqICAgdGhpcy5maWx0ZXJFbC51cGRhdGVWYWx1ZXMoeyBjaGVja2JveDogdmFsIH0pO1xuICAgKiB9XG4gICAqXG4gICAqIFRvIHVwZGF0ZSByYW5nZSB2YWx1ZSBqdXN0IHBhc3Mgb2JqZWN0IHdpdGggbWluJm1heCBvYmplY3Qgb3IganVzdCB3aXRoIG9uZSBvZiB0YXJnZXRzXG4gICAqXG4gICAqIEV4LjogeyBtaW46IDEwLCBtYXggMTUgfSwgeyBtaW46IDUgfSwgeyBtYXggNSB9XG4gICAqXG4gICAqIHB1YmxpYyB1cGRhdGVSYW5nZSh2YWwpIHtcbiAgICogICB0aGlzLmZpbHRlckVsLnVwZGF0ZVZhbHVlcyh7IHJhbmdlOiB2YWwgfSk7XG4gICAqIH1cbiAgICpcbiAgICogVG8gdXBkYXRlIGF1dG9jb21wbGV0ZSBqdXN0IHBhc3Mgb2JqZWN0IHdpdGggbmFtZS92YWx1ZSBmaWVsZHNcbiAgICpcbiAgICogRXguOiB7IG5hbWU6ICdKb2huIERvZScsIHZhbHVlOiAxIH1cbiAgICpcbiAgICogcHVibGljIHVwZGF0ZUF1dG9jb21wbGV0ZSh2YWwpIHtcbiAgICogICB0aGlzLmZpbHRlckVsLnVwZGF0ZVZhbHVlcyh7IGF1dG9jb21wbGV0ZV91c2VyX2lkOiB2YWwgfSk7XG4gICAqIH1cbiAgICpcbiAgICogVG8gdXBkYXRlIGF1dG9jb21wbGV0ZWNoaXBzIGp1c3QgcGFzczpcbiAgICpcbiAgICogMSkgb2JqZWN0IHdpdGggbmFtZS92YWx1ZSBmaWVsZHMgLSB3aWxsIGJlIGFwcGVuZGVkIHRvIGV4aXN0aW5nIHNldCBvZiB2YWx1ZXNcbiAgICpcbiAgICogeyBuYW1lOiAnSm9obiBEb2UnLCB2YWx1ZTogMSB9XG4gICAqXG4gICAqIDIpIGFycmF5IG9mIG9iamVjdHMgLSB3aWxsIGJlIGFwcGVuZGVkIHRvIGV4aXN0aW5nIHNldCBvZiB2YWx1ZXNcbiAgICpcbiAgICogW3sgbmFtZTogJ0pvaG4gRG9lJywgdmFsdWU6IDEgfSwgeyBuYW1lOiAnRGFyeWEgRmlsaXBvdmEnLCB2YWx1ZTogMiB9XVxuICAgKlxuICAgKiAzKSBudWxsIC0gY2xlYXIgZXhpc3Rpbmcgc2V0IG9mIHZhbHVlc1xuICAgKlxuICAgKiBwdWJsaWMgdXBkYXRlQXV0b2NvbXBsZXRlKHZhbCkge1xuICAgKiAgIHRoaXMuZmlsdGVyRWwudXBkYXRlVmFsdWVzKHsgYXV0b2NvbXBsZXRlY2hpcHNfdXNlcl9pZDogdmFsIH0pO1xuICAgKiB9XG4gICAqXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlVmFsdWVzKHZhbHVlcykge1xuICAgIE9iamVjdC5rZXlzKHZhbHVlcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJJdGVtID0gdGhpcy5pdGVtc1xuICAgICAgICAuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSBrZXkpO1xuXG4gICAgICBpZiAoIWZpbHRlckl0ZW0pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBmaWx0ZXJJdGVtLm1vZGVsID0gdmFsdWVzW2tleV07XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaGlkZSgpIHtcbiAgICB0aGlzLmNoYW5nZVZpc2liaWxpdHkoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIHNob3coKSB7XG4gICAgdGhpcy5jaGFuZ2VWaXNpYmlsaXR5KHRydWUpO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZVZpc2liaWxpdHlDbGljayh2YWx1ZSwgZXZlbnQgPSBudWxsKSB7XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlVmlzaWJpbGl0eSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVySW5wdXRFdmVudChldmVudCkge1xuXG4gICAgaWYgKCF0aGlzLndpbmRvd0Rlc2t0b3ApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFsnRW50ZXInLCAnTnVtcGFkRW50ZXInLCAnRXNjYXBlJ10uaW5kZXhPZihldmVudC5jb2RlKSA+PSAwKSB7XG4gICAgICB0aGlzLmNoYW5nZVZpc2liaWxpdHkoZmFsc2UpO1xuXG4gICAgICBpZiAodGhpcy5zZWFyY2hUZXh0SW5wdXQpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXh0SW5wdXQubmF0aXZlRWxlbWVudC5ibHVyKClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0SXRlbVZhbHVlKG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zXG4gICAgICAuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSBuYW1lKTtcblxuICAgIGlmIChpdGVtKSB7XG4gICAgICByZXR1cm4gaXRlbS5tb2RlbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNob3dJdGVtKG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW0obmFtZSk7XG5cbiAgICBpZiAoaXRlbSkge1xuICAgICAgaXRlbS5oaWRlID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuX2ZpbHRlckl0ZW1zLnVwZGF0ZVZpc2libGVJdGVtcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoaWRlSXRlbShuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRJdGVtKG5hbWUpO1xuXG4gICAgaWYgKCFpdGVtKSB7IHJldHVybiB9XG5cbiAgICBpdGVtLmhpZGUgPSB0cnVlO1xuXG4gICAgdGhpcy5fZmlsdGVySXRlbXMudXBkYXRlVmlzaWJsZUl0ZW1zKCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJJdGVtKG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW0obmFtZSk7XG5cbiAgICBpZiAoIWl0ZW0pIHsgcmV0dXJuIH1cblxuICAgIGl0ZW0uY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVJdGVtQ29uZmlnKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBwYXJhbXM6IElVcGRhdGVGaWx0ZXJJdGVtQ29uZmlnXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW0obmFtZSk7XG5cbiAgICBpZiAoIWl0ZW0pIHsgcmV0dXJuIH1cblxuICAgIGl0ZW0ubGFiZWwgPSBwYXJhbXMubGFiZWwgPz8gaXRlbS5sYWJlbDtcbiAgICBpdGVtLmNoaXBMYWJlbCA9IHBhcmFtcy5jaGlwTGFiZWwgPz8gaXRlbS5jaGlwTGFiZWw7XG5cbiAgICB0aGlzLl9maWx0ZXJJdGVtcy51cGRhdGVWaXNpYmxlSXRlbXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJdGVtVmFsdWVDaGFuZ2UkKG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB8IG51bGwge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zLmZpbmQoKGkpID0+IGkubmFtZSA9PT0gbmFtZSk7XG5cbiAgICBpZiAoaXRlbSkge1xuICAgICAgcmV0dXJuIGl0ZW0udmFsdWUkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5tb2RlbDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoYW5nZVZpc2liaWxpdHkoc3RhdGU6IGJvb2xlYW4pIHtcblxuICAgIGlmIChzdGF0ZSA9PT0gdGhpcy5zaG93RmlsdGVyTWVudSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghc3RhdGUpIHtcbiAgICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgICAgIHJldHVybiB0aGlzLl9kZXN0cm95RmlsdGVyRHJhd2VyKCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmhhc1Zpc2libGVJdGVtT3JTb3J0aW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbGlzdGVuRXNjQnV0dG9uKCk7XG5cbiAgICB0aGlzLm9wZW5lZC5lbWl0KCk7XG5cbiAgICB0aGlzLl9maWx0ZXJPdmVybGF5Lm9wZW4oKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlYXJjaFRleHQoZXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLl9maWx0ZXJJdGVtcy5rZXl3b3JkSXRlbS5jbGVhcigpO1xuICAgIHRoaXMuc2VhcmNoVGV4dElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KCkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9maWx0ZXJJdGVtcy52YWx1ZXNBc1F1ZXJ5KCk7XG4gICAgdGhpcy5fc29ydCA9IHRoaXMuX2ZpbHRlckl0ZW1zLmdldFNvcnQoKTtcblxuICAgIHRoaXMuY29uZmlnLmluaXQoZGF0YSwgdGhpcy5fc29ydCk7XG4gICAgdGhpcy5fdXBkYXRlQ2hpcHNWaXNpYmlsaXR5KCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoZXZlbnQgPSBudWxsKSB7XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHRoaXMuX2ZpbHRlckl0ZW1zLmZpbHRlcnNDbGVhcigpO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLmNsZWFyKSB7XG4gICAgICB0aGlzLmNvbmZpZy5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZSBmaWx0ZXIgd2luZG93IGFuZCBkbyBjaGFuZ2UgY2FsbGJhY2tcbiAgICovXG4gIHB1YmxpYyBzZWFyY2goZXZlbnQpIHtcbiAgICB0aGlzLmNoYW5nZVZpc2liaWxpdHlDbGljayhmYWxzZSwgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHJlbG9hZChldmVudCA9IG51bGwpIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRhID0gdGhpcy5fZmlsdGVySXRlbXMudmFsdWVzQXNRdWVyeSgpO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLnJlbG9hZCkge1xuICAgICAgdGhpcy5jb25maWcucmVsb2FkKGRhdGEsIHRoaXMuX2ZpbHRlckl0ZW1zLmdldFNvcnQoKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEl0ZW0obmFtZSk6IEJhc2VJdGVtPGFueT4ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zXG4gICAgICAuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSBuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsIGNoYW5nZSBjYWxsYmFjayBhbmQgYXBwbHkgbmV3IGZpbHRlciB2YWx1ZXNcbiAgICovXG4gIHB1YmxpYyBjaGFuZ2UoKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuX2ZpbHRlckl0ZW1zLnZhbHVlc0FzUXVlcnkoKTtcbiAgICBjb25zdCBzb3J0ID0gdGhpcy5fZmlsdGVySXRlbXMuZ2V0U29ydCgpO1xuXG4gICAgY29uc3Qgc29ydGluZ0NoYW5nZWQgPSAoKCFzb3J0IHx8ICF0aGlzLl9zb3J0KSAmJiBzb3J0ICE9PSB0aGlzLl9zb3J0KVxuICAgICAgfHwgKHNvcnQgJiYgdGhpcy5fc29ydCAmJiAhb2JqZWN0c0FyZUVxdWFscyh0aGlzLl9zb3J0LCBzb3J0KSk7XG5cbiAgICBpZiAoc29ydGluZ0NoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3NvcnQgPSBzb3J0O1xuXG4gICAgICBpZiAodGhpcy5jb25maWcuc29ydENoYW5nZSkge1xuICAgICAgICB0aGlzLmNvbmZpZy5zb3J0Q2hhbmdlKGRhdGEsIHNvcnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbmZpZy5jaGFuZ2UpIHtcbiAgICAgIHRoaXMuY29uZmlnLmNoYW5nZShkYXRhLCBzb3J0KTtcbiAgICB9XG5cbiAgICB0aGlzLl91cGRhdGVDaGlwc1Zpc2liaWxpdHkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZmlsdGVyIGFjdGlvbnMgY29uZmlnXG4gICAqIEBwYXJhbSBhY3Rpb25zXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlQWN0aW9ucyhhY3Rpb25zOiBGc0ZpbHRlckFjdGlvbltdKTogdm9pZCB7XG4gICAgdGhpcy5fYWN0aW9ucy5pbml0QWN0aW9ucyhhY3Rpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93IFwiRmlsdGVyc1wiIGJ1dHRvblxuICAgKi9cbiAgcHVibGljIHNob3dGaWx0ZXJzQnRuKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlcnNCdG5WaXNpYmxlJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgXCJGaWx0ZXJzXCIgYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgaGlkZUZpbHRlcnNCdG4oKTogdm9pZCB7XG4gICAgdGhpcy5fZmlsdGVyc0J0blZpc2libGUkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgXCJLZXl3b3JkXCIgZmllbGQgaWYgaXQgcHJlc2VudFxuICAgKi9cbiAgcHVibGljIHNob3dLZXl3b3JkRmllbGQoKTogdm9pZCB7XG4gICAgdGhpcy5fa2V5d29yZFZpc2libGUkLm5leHQodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogSGlkZSBcIktleXdvcmRcIiBmaWVsZCBpZiBpdCBwcmVzZW50XG4gICAqL1xuICBwdWJsaWMgaGlkZUtleXdvcmRGaWVsZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9rZXl3b3JkVmlzaWJsZSQubmV4dChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogR28gdGhyb3VnaCBhY3Rpb25zIGFuZCBjaGVjayBzaG93KCkgY2FsbGJhY2sgYW5kIHVwZGF0ZSB2aXNpYmxlIGFjdGlvbnNcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVBY3Rpb25zVmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICB0aGlzLl9hY3Rpb25zLnVwZGF0ZUFjdGlvbnNWaXNpYmlsaXR5KCk7XG4gIH1cblxuICAvKipcbiAgICogR28gdGhyb3VnaCBhY3Rpb25zIGFuZCBjaGVjayBkaXNhYmxlZCgpIGNhbGxiYWNrIGFuZCB1cGRhdGUgZGlzYWJsZWQgc3RhdGVcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVEaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGlvbnMudXBkYXRlRGlzYWJsZWRTdGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdEZpbHRlcldpdGhDb25maWcoY29uZmlnOiBGaWx0ZXJDb25maWcpIHtcbiAgICBpZiAodGhpcy5jb25maWcpIHtcbiAgICAgIHRoaXMuX2ZpbHRlckl0ZW1zLmRlc3Ryb3lJdGVtcygpO1xuICAgIH1cblxuICAgIGNvbmZpZyA9IHtcbiAgICAgIC4uLih0aGlzLl9kZWZhdWx0Q29uZmlnIHx8IHt9KSxcbiAgICAgIC4uLmNvbmZpZyxcbiAgICB9O1xuXG4gICAgdGhpcy5fY29uZmlnID0gbmV3IEZzRmlsdGVyQ29uZmlnKGNvbmZpZyk7XG4gICAgdGhpcy5fYWN0aW9ucy5pbml0QWN0aW9ucyh0aGlzLl9jb25maWcuYWN0aW9ucyk7XG4gICAgdGhpcy5fZmlsdGVySXRlbXMuc2V0Q29uZmlnKHRoaXMuX2NvbmZpZyk7XG4gICAgdGhpcy5fZXh0ZXJuYWxQYXJhbXMuc2V0Q29uZmlnKHRoaXMuX2NvbmZpZyk7XG5cbiAgICBjb25zdCBrZXl3b3JkSXRlbSA9IHRoaXMuX2ZpbHRlckl0ZW1zLmtleXdvcmRJdGVtO1xuICAgIGlmIChrZXl3b3JkSXRlbSkge1xuICAgICAgdGhpcy5zZWFyY2hUZXh0LnNldFZhbHVlKGtleXdvcmRJdGVtLm1vZGVsKTtcbiAgICAgIHRoaXMuc2VhcmNoUGxhY2Vob2xkZXIgPSBrZXl3b3JkSXRlbS5sYWJlbCBhcyBzdHJpbmcgfHwgJ1NlYXJjaCc7XG4gICAgfVxuXG4gICAgaWYgKCEhdGhpcy5jb25maWcucmVsb2FkV2hlbkNvbmZpZ0NoYW5nZWQpIHtcbiAgICAgIHRoaXMuY2hhbmdlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fbGlzdGVuS2V5d29yZEl0ZW1DbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVzdHJveUZpbHRlckRyYXdlcigpIHtcbiAgICB0aGlzLl9maWx0ZXJPdmVybGF5LmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVXaW5kb3dXaWR0aCgpIHtcbiAgICB0aGlzLndpbmRvd0Rlc2t0b3AgPSB3aW5kb3cuaW5uZXJXaWR0aCA+IDEyMDA7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5Fc2NCdXR0b24oKSB7XG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBmcm9tRXZlbnQod2luZG93LCAna2V5dXAnKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBldmVudC5jb2RlID09PSAnRXNjYXBlJyksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuY2xvc2VkKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlVmlzaWJpbGl0eShmYWxzZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuSW5wdXRLZXlFdmVudHMoKSB7XG4gICAgaWYgKCF0aGlzLnNlYXJjaFRleHRJbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgZnJvbUV2ZW50KHRoaXMuc2VhcmNoVGV4dElucHV0Lm5hdGl2ZUVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICAgICAgZmlsdGVyKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFsnRW50ZXInLCAnTnVtcGFkRW50ZXInLCAnRXNjYXBlJ10uaW5kZXhPZihldmVudC5jb2RlKSA+IC0xO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLl96b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcklucHV0RXZlbnQoZXZlbnQpXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuV2luZG93UmVzaXplKCkge1xuICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlV2luZG93V2lkdGgoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlbklucHV0Q2hhbmdlcygpIHtcbiAgICBpZiAoIXRoaXMuX2ZpbHRlckl0ZW1zLmtleXdvcmRJdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaFRleHQudmFsdWVDaGFuZ2VzXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgZmlsdGVyKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICE9PSB0aGlzLl9maWx0ZXJJdGVtcy5rZXl3b3JkSXRlbT8ubW9kZWw7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMuX3pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleXdvcmRJdGVtID0gdGhpcy5fZmlsdGVySXRlbXMua2V5d29yZEl0ZW07XG5cbiAgICAgICAgICAgIGlmIChrZXl3b3JkSXRlbSAmJiBrZXl3b3JkSXRlbS52YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAga2V5d29yZEl0ZW0ubW9kZWwgPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlbktleXdvcmRJdGVtQ2xlYXIoKSB7XG4gICAgdGhpcy5fZmlsdGVySXRlbXNcbiAgICAgIC5rZXl3b3JkSXRlbVxuICAgICAgPy5jbGVhciRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZmlsdGVySXRlbXMua2V5d29yZEl0ZW0uZGVzdHJveSQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoVGV4dC5zZXRWYWx1ZSgnJyk7XG4gICAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuSW50ZXJuYWxJdGVtc0NoYW5nZSgpIHtcbiAgICB0aGlzLl9maWx0ZXJJdGVtc1xuICAgICAgLml0ZW1zQ2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jaGFuZ2UoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdE92ZXJsYXkoKSB7XG4gICAgdGhpcy5fZmlsdGVyT3ZlcmxheS5zZXRDbGVhckZuKHRoaXMuY2xlYXIuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5fZmlsdGVyT3ZlcmxheS5zZXREb25lRm4odGhpcy5oaWRlLmJpbmQodGhpcykpO1xuICB9XG5cbiAgLy8gV2UgbWF5IG5lZWQgc29tZSB0aW1lIHRvIHJlY2lldmUgZXh0ZXJuYWwgcGFyYW1zIGFuZCBhZnRlciB0aGF0IHJlYWR5IGNhbiBiZSBlbWl0dGVkXG4gIHByaXZhdGUgX2xpc3RlbldoZW5GaWx0ZXJSZWFkeSgpIHtcbiAgICB0aGlzLl9leHRlcm5hbFBhcmFtc1xuICAgICAgLnBlbmRpbmckXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCh2YWx1ZSkgPT4gIXZhbHVlKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlYWR5LmVtaXQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQ2hpcHNWaXNpYmlsaXR5KCkge1xuICAgIGNvbnN0IGhhc0ZpbHRlckNoaXBzID0gdGhpcy5fZmlsdGVySXRlbXMuaXRlbXNcbiAgICAgIC5zb21lKChpdGVtOiBCYXNlSXRlbTxhbnk+KSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLmlzQ2hpcFZpc2libGU7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX2hhc0ZpbHRlckNoaXBzJC5uZXh0KGhhc0ZpbHRlckNoaXBzKTtcbiAgfVxufVxuIl19
|
|
690
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2ZpbHRlci8iLCJzb3VyY2VzIjpbImFwcC9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsYUFBYSxFQUNiLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ04sUUFBUSxFQUNSLE1BQU0sRUFDTixZQUFZLEVBQ1osV0FBVyxFQUNYLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFN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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgT3V0cHV0LFxuICBPcHRpb25hbCxcbiAgSW5qZWN0LFxuICBDb250ZW50Q2hpbGQsXG4gIFRlbXBsYXRlUmVmLFxuICBIb3N0QmluZGluZyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRlNfRklMVEVSX0NPTkZJRyB9IGZyb20gJy4vLi4vLi4vaW5qZWN0b3JzL2ZpbHRlci1jb25maWcnO1xuaW1wb3J0IHsgRnNGaWx0ZXJDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVyLWNvbmZpZyc7XG5pbXBvcnQgeyBvYmplY3RzQXJlRXF1YWxzIH0gZnJvbSAnLi4vLi4vaGVscGVycy9jb21wYXJlJztcbmltcG9ydCB7IEZzRmlsdGVyT3ZlcmxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWx0ZXItb3ZlcmxheS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlclN0YXR1c0JhckRpcmVjdGl2ZSB9IGZyb20gJy4vLi4vLi4vZGlyZWN0aXZlcy9zdGF0dXMtYmFyL3N0YXR1cy1iYXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZpbHRlckNvbmZpZywgRmlsdGVyU29ydCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuaW1wb3J0IHsgRnNGaWx0ZXJJdGVtc1N0b3JlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaXRlbXMtc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcnNpc3RhbmNlUGFyYW1zQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy9wZXJzaXN0YW5jZS1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy9xdWVyeS1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEZvY3VzQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZWRGaWx0ZXJzQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy9zYXZlZC1maWx0ZXJzLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJU29ydGluZ0NoYW5nZUV2ZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZzRmlsdGVyQWN0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEFjdGlvbnNDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9hY3Rpb25zLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgSVVwZGF0ZUZpbHRlckl0ZW1Db25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3VwZGF0ZS1maWx0ZXItaXRlbS5pbnRlcmZhY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZpbHRlcicsXG4gIHN0eWxlVXJsczogWyAnLi9maWx0ZXIuY29tcG9uZW50LnNjc3MnIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICBGc0ZpbHRlck92ZXJsYXlTZXJ2aWNlLFxuICAgIEV4dGVybmFsUGFyYW1zQ29udHJvbGxlcixcbiAgICBQZXJzaXN0YW5jZVBhcmFtc0NvbnRyb2xsZXIsXG4gICAgUXVlcnlQYXJhbXNDb250cm9sbGVyLFxuICAgIEZvY3VzQ29udHJvbGxlclNlcnZpY2UsXG4gICAgRnNGaWx0ZXJJdGVtc1N0b3JlLFxuICAgIFNhdmVkRmlsdGVyc0NvbnRyb2xsZXIsXG4gICAgQWN0aW9uc0NvbnRyb2xsZXIsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCdjb25maWcnKVxuICBzZXQgc2V0Q29uZmlnKGNvbmZpZykge1xuICAgIHRoaXMuX2luaXRGaWx0ZXJXaXRoQ29uZmlnKGNvbmZpZyk7XG4gIH1cblxuICBASW5wdXQoJ2ZpbHRlcicpXG4gIHNldCBzZXRGaWx0ZXIoY29uZmlnKSB7XG4gICAgdGhpcy5faW5pdEZpbHRlcldpdGhDb25maWcoY29uZmlnKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93U29ydEJ5OiBhbnkgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0ZpbHRlcklucHV0ID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHB1YmxpYyBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAQ29udGVudENoaWxkKEZpbHRlclN0YXR1c0JhckRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBwdWJsaWMgc3RhdHVzQmFyO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaFRleHRJbnB1dCcpXG4gIHB1YmxpYyBzZWFyY2hUZXh0SW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoVGV4dElucHV0JywgeyByZWFkOiBNYXRJbnB1dCB9KVxuICBwdWJsaWMgc2VhcmNoVGV4dE1hdElucHV0OiBNYXRJbnB1dDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZpbHRlcnMtb3BlbicpXG4gIHB1YmxpYyBzaG93RmlsdGVyTWVudSA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud2luZG93LWRlc2t0b3AnKVxuICBwdWJsaWMgd2luZG93RGVza3RvcCA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnMtZmlsdGVyJylcbiAgcHVibGljIGZzRmlsdGVyQ2xhc3MgPSB0cnVlO1xuXG4gIHB1YmxpYyBzZWFyY2hUZXh0ID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIHB1YmxpYyBzZWFyY2hQbGFjZWhvbGRlciA9ICdTZWFyY2gnO1xuXG4gIHByb3RlY3RlZCBfY29uZmlnOiBGc0ZpbHRlckNvbmZpZyA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfc29ydDogRmlsdGVyU29ydDtcbiAgcHJpdmF0ZSBfZmlsdGVyc0J0blZpc2libGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcbiAgcHJpdmF0ZSBfa2V5d29yZFZpc2libGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcbiAgcHJpdmF0ZSBfaGFzRmlsdGVyQ2hpcHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9maWx0ZXJPdmVybGF5OiBGc0ZpbHRlck92ZXJsYXlTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIF9leHRlcm5hbFBhcmFtczogRXh0ZXJuYWxQYXJhbXNDb250cm9sbGVyLFxuICAgIHByaXZhdGUgX2ZpbHRlckl0ZW1zOiBGc0ZpbHRlckl0ZW1zU3RvcmUsXG4gICAgcHJpdmF0ZSBfYWN0aW9uczogQWN0aW9uc0NvbnRyb2xsZXIsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGU19GSUxURVJfQ09ORklHKSBwcml2YXRlIF9kZWZhdWx0Q29uZmlnOiBGc0ZpbHRlckNvbmZpZ1xuICApIHtcbiAgICB0aGlzLl9saXN0ZW5XaGVuRmlsdGVyUmVhZHkoKTtcbiAgICB0aGlzLl91cGRhdGVXaW5kb3dXaWR0aCgpO1xuXG4gICAgdGhpcy5fZmlsdGVyT3ZlcmxheS5hdHRhY2gkXG4gICAgLnBpcGUoXG4gICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICApXG4gICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNob3dGaWx0ZXJNZW51ID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2ZpbHRlck92ZXJsYXkuZGV0YWNoJFxuICAgIC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgIClcbiAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd0ZpbHRlck1lbnUgPSBmYWxzZTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2xpc3RlbldpbmRvd1Jlc2l6ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb25maWcoKTogRnNGaWx0ZXJDb25maWcge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbHRlclBhcmFtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVySXRlbXMudmFsdWVzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbHRlclBhcmFtc1F1ZXJ5KCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVySXRlbXMudmFsdWVzQXNRdWVyeSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpdGVtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVySXRlbXMuaXRlbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpc2libGVJdGVtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVySXRlbXMudmlzaWJsZUl0ZW1zO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNGaWx0ZXJDaGlwcyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2hhc0ZpbHRlckNoaXBzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzVmlzaWJsZUl0ZW1PclNvcnRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZUl0ZW1zLmxlbmd0aCA+IDAgfHwgISF0aGlzLl9maWx0ZXJJdGVtcy5zb3J0QnlJdGVtXG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc0tleXdvcmQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlckl0ZW1zLmhhc0tleXdvcmQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbHRlcnNCdG5WaXNpYmxlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyc0J0blZpc2libGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBrZXl3b3JkVmlzaWJsZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2tleXdvcmRWaXNpYmxlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aW9uc1Zpc2libGUkKCkge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zLnZpc2libGUkO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3Rpb25zJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9ucy5hY3Rpb25zJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWVudUFjdGlvbnMkKCkge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zLm1lbnVBY3Rpb25zJDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcblxuICAgIC8vIEF2b2lkIG5nQ2hhbmdlcyBlcnJvclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY29uZmlnLmF1dG9mb2N1cykge1xuICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jb25maWcuaW5pdCkge1xuICAgICAgaWYgKHRoaXMuX2V4dGVybmFsUGFyYW1zLnBlbmRpbmcpIHtcbiAgICAgICAgdGhpcy5fZXh0ZXJuYWxQYXJhbXNcbiAgICAgICAgICAucGVuZGluZyRcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigocGVuZGluZykgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gIXBlbmRpbmc7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5pdCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2xpc3RlbkludGVybmFsSXRlbXNDaGFuZ2UoKTtcbiAgICB0aGlzLl9pbml0T3ZlcmxheSgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9saXN0ZW5JbnB1dEtleUV2ZW50cygpO1xuICAgIC8vIEZJWE1FIHByZXZlbnQgZmlyZSBjaGFuZ2UgYWZ0ZXIgaW5pdFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fbGlzdGVuSW5wdXRDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG5cbiAgICB0aGlzLl9kZXN0cm95RmlsdGVyRHJhd2VyKCk7XG5cbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1cygpIHtcbiAgICBpZiAodGhpcy5zZWFyY2hUZXh0TWF0SW5wdXQpIHtcbiAgICAgIHRoaXMuc2VhcmNoVGV4dE1hdElucHV0LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZVNvcnQoc29ydDogSVNvcnRpbmdDaGFuZ2VFdmVudCkge1xuICAgIHRoaXMuX2ZpbHRlckl0ZW1zLnVwZGF0ZVNvcnQoc29ydClcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBEbyB1cGRhdGUgdmFsdWUgb2Ygc29tZSBmaWVsZFxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWVzIC0gdmFsdWVzIGZvciB1cGRhdGVcbiAgICpcbiAgICogVG8gdXBkYXRlIHRleHQgdmFsdWUganVzdCBwYXNzIG5ldyB0ZXh0IHZhbHVlXG4gICAqXG4gICAqIHB1YmxpYyB1cGRhdGVTZWxlY3RWYWx1ZSh2YWwpIHtcbiAgICogICB0aGlzLmZpbHRlckVsLnVwZGF0ZVZhbHVlcyh7IGtleXdvcmQ6IHZhbCB9KTtcbiAgICogfVxuICAgKlxuICAgKiBUbyB1cGRhdGUgc2VsZWN0IG9yIG9ic2VydmFibGUgc2VsZWN0IHlvdSBjb3VsZCBwYXNzIHN1aXRhYmxlIHZhbHVlXG4gICAqXG4gICAqIHB1YmxpYyB1cGRhdGVTZWxlY3RWYWx1ZSh2YWw6IG51bWJlcikge1xuICAgKiAgIHRoaXMuZmlsdGVyRWwudXBkYXRlVmFsdWVzKHsgc2ltcGxlX3NlbGVjdDogdmFsIH0sIHsgb2JzZXJ2YWJsZV9zZWxlY3Q6IHZhbCB9KTtcbiAgICogfVxuICAgKlxuICAgKiBUbyB1cGRhdGUgY2hlY2tib3ggdmFsdWUganVzdCBwYXNzIHRydWUvZmFsc2UgYXMgdmFsdWVcbiAgICpcbiAgICogcHVibGljIHVwZGF0ZUNoZWNrb3godmFsOiBib29sZWFuKSB7XG4gICAqICAgdGhpcy5maWx0ZXJFbC51cGRhdGVWYWx1ZXMoeyBjaGVja2JveDogdmFsIH0pO1xuICAgKiB9XG4gICAqXG4gICAqIFRvIHVwZGF0ZSByYW5nZSB2YWx1ZSBqdXN0IHBhc3Mgb2JqZWN0IHdpdGggbWluJm1heCBvYmplY3Qgb3IganVzdCB3aXRoIG9uZSBvZiB0YXJnZXRzXG4gICAqXG4gICAqIEV4LjogeyBtaW46IDEwLCBtYXggMTUgfSwgeyBtaW46IDUgfSwgeyBtYXggNSB9XG4gICAqXG4gICAqIHB1YmxpYyB1cGRhdGVSYW5nZSh2YWwpIHtcbiAgICogICB0aGlzLmZpbHRlckVsLnVwZGF0ZVZhbHVlcyh7IHJhbmdlOiB2YWwgfSk7XG4gICAqIH1cbiAgICpcbiAgICogVG8gdXBkYXRlIGF1dG9jb21wbGV0ZSBqdXN0IHBhc3Mgb2JqZWN0IHdpdGggbmFtZS92YWx1ZSBmaWVsZHNcbiAgICpcbiAgICogRXguOiB7IG5hbWU6ICdKb2huIERvZScsIHZhbHVlOiAxIH1cbiAgICpcbiAgICogcHVibGljIHVwZGF0ZUF1dG9jb21wbGV0ZSh2YWwpIHtcbiAgICogICB0aGlzLmZpbHRlckVsLnVwZGF0ZVZhbHVlcyh7IGF1dG9jb21wbGV0ZV91c2VyX2lkOiB2YWwgfSk7XG4gICAqIH1cbiAgICpcbiAgICogVG8gdXBkYXRlIGF1dG9jb21wbGV0ZWNoaXBzIGp1c3QgcGFzczpcbiAgICpcbiAgICogMSkgb2JqZWN0IHdpdGggbmFtZS92YWx1ZSBmaWVsZHMgLSB3aWxsIGJlIGFwcGVuZGVkIHRvIGV4aXN0aW5nIHNldCBvZiB2YWx1ZXNcbiAgICpcbiAgICogeyBuYW1lOiAnSm9obiBEb2UnLCB2YWx1ZTogMSB9XG4gICAqXG4gICAqIDIpIGFycmF5IG9mIG9iamVjdHMgLSB3aWxsIGJlIGFwcGVuZGVkIHRvIGV4aXN0aW5nIHNldCBvZiB2YWx1ZXNcbiAgICpcbiAgICogW3sgbmFtZTogJ0pvaG4gRG9lJywgdmFsdWU6IDEgfSwgeyBuYW1lOiAnRGFyeWEgRmlsaXBvdmEnLCB2YWx1ZTogMiB9XVxuICAgKlxuICAgKiAzKSBudWxsIC0gY2xlYXIgZXhpc3Rpbmcgc2V0IG9mIHZhbHVlc1xuICAgKlxuICAgKiBwdWJsaWMgdXBkYXRlQXV0b2NvbXBsZXRlKHZhbCkge1xuICAgKiAgIHRoaXMuZmlsdGVyRWwudXBkYXRlVmFsdWVzKHsgYXV0b2NvbXBsZXRlY2hpcHNfdXNlcl9pZDogdmFsIH0pO1xuICAgKiB9XG4gICAqXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlVmFsdWVzKHZhbHVlcykge1xuICAgIE9iamVjdC5rZXlzKHZhbHVlcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJJdGVtID0gdGhpcy5pdGVtc1xuICAgICAgICAuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSBrZXkpO1xuXG4gICAgICBpZiAoIWZpbHRlckl0ZW0pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBmaWx0ZXJJdGVtLm1vZGVsID0gdmFsdWVzW2tleV07XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaGlkZSgpIHtcbiAgICB0aGlzLmNoYW5nZVZpc2liaWxpdHkoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIHNob3coKSB7XG4gICAgdGhpcy5jaGFuZ2VWaXNpYmlsaXR5KHRydWUpO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZVZpc2liaWxpdHlDbGljayh2YWx1ZSwgZXZlbnQgPSBudWxsKSB7XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlVmlzaWJpbGl0eSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVySW5wdXRFdmVudChldmVudCkge1xuXG4gICAgaWYgKCF0aGlzLndpbmRvd0Rlc2t0b3ApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFsnRW50ZXInLCAnTnVtcGFkRW50ZXInLCAnRXNjYXBlJ10uaW5kZXhPZihldmVudC5jb2RlKSA+PSAwKSB7XG4gICAgICB0aGlzLmNoYW5nZVZpc2liaWxpdHkoZmFsc2UpO1xuXG4gICAgICBpZiAodGhpcy5zZWFyY2hUZXh0SW5wdXQpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXh0SW5wdXQubmF0aXZlRWxlbWVudC5ibHVyKClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0SXRlbVZhbHVlKG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zXG4gICAgICAuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSBuYW1lKTtcblxuICAgIGlmIChpdGVtKSB7XG4gICAgICByZXR1cm4gaXRlbS5tb2RlbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNob3dJdGVtKG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW0obmFtZSk7XG5cbiAgICBpZiAoaXRlbSkge1xuICAgICAgaXRlbS5oaWRlID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuX2ZpbHRlckl0ZW1zLnVwZGF0ZVZpc2libGVJdGVtcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoaWRlSXRlbShuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRJdGVtKG5hbWUpO1xuXG4gICAgaWYgKCFpdGVtKSB7IHJldHVybiB9XG5cbiAgICBpdGVtLmhpZGUgPSB0cnVlO1xuXG4gICAgdGhpcy5fZmlsdGVySXRlbXMudXBkYXRlVmlzaWJsZUl0ZW1zKCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJJdGVtKG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW0obmFtZSk7XG5cbiAgICBpZiAoIWl0ZW0pIHsgcmV0dXJuIH1cblxuICAgIGl0ZW0uY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVJdGVtQ29uZmlnKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBwYXJhbXM6IElVcGRhdGVGaWx0ZXJJdGVtQ29uZmlnXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW0obmFtZSk7XG5cbiAgICBpZiAoIWl0ZW0pIHsgcmV0dXJuIH1cblxuICAgIGl0ZW0ubGFiZWwgPSBwYXJhbXMubGFiZWwgPz8gaXRlbS5sYWJlbDtcbiAgICBpdGVtLmNoaXBMYWJlbCA9IHBhcmFtcy5jaGlwTGFiZWwgPz8gaXRlbS5jaGlwTGFiZWw7XG5cbiAgICB0aGlzLl9maWx0ZXJJdGVtcy51cGRhdGVWaXNpYmxlSXRlbXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJdGVtVmFsdWVDaGFuZ2UkKG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB8IG51bGwge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zLmZpbmQoKGkpID0+IGkubmFtZSA9PT0gbmFtZSk7XG5cbiAgICBpZiAoaXRlbSkge1xuICAgICAgcmV0dXJuIGl0ZW0udmFsdWUkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5tb2RlbDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoYW5nZVZpc2liaWxpdHkoc3RhdGU6IGJvb2xlYW4pIHtcblxuICAgIGlmIChzdGF0ZSA9PT0gdGhpcy5zaG93RmlsdGVyTWVudSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghc3RhdGUpIHtcbiAgICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgICAgIHJldHVybiB0aGlzLl9kZXN0cm95RmlsdGVyRHJhd2VyKCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmhhc1Zpc2libGVJdGVtT3JTb3J0aW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbGlzdGVuRXNjQnV0dG9uKCk7XG5cbiAgICB0aGlzLm9wZW5lZC5lbWl0KCk7XG5cbiAgICB0aGlzLl9maWx0ZXJPdmVybGF5Lm9wZW4oKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlYXJjaFRleHQoZXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLl9maWx0ZXJJdGVtcy5rZXl3b3JkSXRlbS5jbGVhcigpO1xuICAgIHRoaXMuc2VhcmNoVGV4dElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KCkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9maWx0ZXJJdGVtcy52YWx1ZXNBc1F1ZXJ5KCk7XG4gICAgdGhpcy5fc29ydCA9IHRoaXMuX2ZpbHRlckl0ZW1zLmdldFNvcnQoKTtcblxuICAgIHRoaXMuY29uZmlnLmluaXQoZGF0YSwgdGhpcy5fc29ydCk7XG4gICAgdGhpcy5fdXBkYXRlQ2hpcHNWaXNpYmlsaXR5KCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoZXZlbnQgPSBudWxsKSB7XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHRoaXMuX2ZpbHRlckl0ZW1zLmZpbHRlcnNDbGVhcigpO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLmNsZWFyKSB7XG4gICAgICB0aGlzLmNvbmZpZy5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZSBmaWx0ZXIgd2luZG93IGFuZCBkbyBjaGFuZ2UgY2FsbGJhY2tcbiAgICovXG4gIHB1YmxpYyBzZWFyY2goZXZlbnQpIHtcbiAgICB0aGlzLmNoYW5nZVZpc2liaWxpdHlDbGljayhmYWxzZSwgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHJlbG9hZChldmVudCA9IG51bGwpIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRhID0gdGhpcy5fZmlsdGVySXRlbXMudmFsdWVzQXNRdWVyeSgpO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLnJlbG9hZCkge1xuICAgICAgdGhpcy5jb25maWcucmVsb2FkKGRhdGEsIHRoaXMuX2ZpbHRlckl0ZW1zLmdldFNvcnQoKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEl0ZW0obmFtZSk6IEJhc2VJdGVtPGFueT4ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zXG4gICAgICAuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSBuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsIGNoYW5nZSBjYWxsYmFjayBhbmQgYXBwbHkgbmV3IGZpbHRlciB2YWx1ZXNcbiAgICovXG4gIHB1YmxpYyBjaGFuZ2UoKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuX2ZpbHRlckl0ZW1zLnZhbHVlc0FzUXVlcnkoKTtcbiAgICBjb25zdCBzb3J0ID0gdGhpcy5fZmlsdGVySXRlbXMuZ2V0U29ydCgpO1xuXG4gICAgY29uc3Qgc29ydGluZ0NoYW5nZWQgPSAoKCFzb3J0IHx8ICF0aGlzLl9zb3J0KSAmJiBzb3J0ICE9PSB0aGlzLl9zb3J0KVxuICAgICAgfHwgKHNvcnQgJiYgdGhpcy5fc29ydCAmJiAhb2JqZWN0c0FyZUVxdWFscyh0aGlzLl9zb3J0LCBzb3J0KSk7XG5cbiAgICBpZiAoc29ydGluZ0NoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3NvcnQgPSBzb3J0O1xuXG4gICAgICBpZiAodGhpcy5jb25maWcuc29ydENoYW5nZSkge1xuICAgICAgICB0aGlzLmNvbmZpZy5zb3J0Q2hhbmdlKGRhdGEsIHNvcnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbmZpZy5jaGFuZ2UpIHtcbiAgICAgIHRoaXMuY29uZmlnLmNoYW5nZShkYXRhLCBzb3J0KTtcbiAgICB9XG5cbiAgICB0aGlzLl91cGRhdGVDaGlwc1Zpc2liaWxpdHkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZmlsdGVyIGFjdGlvbnMgY29uZmlnXG4gICAqIEBwYXJhbSBhY3Rpb25zXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlQWN0aW9ucyhhY3Rpb25zOiBGc0ZpbHRlckFjdGlvbltdKTogdm9pZCB7XG4gICAgdGhpcy5fYWN0aW9ucy5pbml0QWN0aW9ucyhhY3Rpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93IFwiRmlsdGVyc1wiIGJ1dHRvblxuICAgKi9cbiAgcHVibGljIHNob3dGaWx0ZXJzQnRuKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlcnNCdG5WaXNpYmxlJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgXCJGaWx0ZXJzXCIgYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgaGlkZUZpbHRlcnNCdG4oKTogdm9pZCB7XG4gICAgdGhpcy5fZmlsdGVyc0J0blZpc2libGUkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgXCJLZXl3b3JkXCIgZmllbGQgaWYgaXQgcHJlc2VudFxuICAgKi9cbiAgcHVibGljIHNob3dLZXl3b3JkRmllbGQoKTogdm9pZCB7XG4gICAgdGhpcy5fa2V5d29yZFZpc2libGUkLm5leHQodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogSGlkZSBcIktleXdvcmRcIiBmaWVsZCBpZiBpdCBwcmVzZW50XG4gICAqL1xuICBwdWJsaWMgaGlkZUtleXdvcmRGaWVsZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9rZXl3b3JkVmlzaWJsZSQubmV4dChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogR28gdGhyb3VnaCBhY3Rpb25zIGFuZCBjaGVjayBzaG93KCkgY2FsbGJhY2sgYW5kIHVwZGF0ZSB2aXNpYmxlIGFjdGlvbnNcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVBY3Rpb25zVmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICB0aGlzLl9hY3Rpb25zLnVwZGF0ZUFjdGlvbnNWaXNpYmlsaXR5KCk7XG4gIH1cblxuICAvKipcbiAgICogR28gdGhyb3VnaCBhY3Rpb25zIGFuZCBjaGVjayBkaXNhYmxlZCgpIGNhbGxiYWNrIGFuZCB1cGRhdGUgZGlzYWJsZWQgc3RhdGVcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVEaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGlvbnMudXBkYXRlRGlzYWJsZWRTdGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdEZpbHRlcldpdGhDb25maWcoY29uZmlnOiBGaWx0ZXJDb25maWcpIHtcbiAgICBpZiAodGhpcy5jb25maWcpIHtcbiAgICAgIHRoaXMuX2ZpbHRlckl0ZW1zLmRlc3Ryb3lJdGVtcygpO1xuICAgIH1cblxuICAgIGNvbmZpZyA9IHtcbiAgICAgIC4uLih0aGlzLl9kZWZhdWx0Q29uZmlnIHx8IHt9KSxcbiAgICAgIC4uLmNvbmZpZyxcbiAgICB9O1xuXG4gICAgdGhpcy5fY29uZmlnID0gbmV3IEZzRmlsdGVyQ29uZmlnKGNvbmZpZyk7XG4gICAgdGhpcy5fYWN0aW9ucy5pbml0QWN0aW9ucyh0aGlzLl9jb25maWcuYWN0aW9ucyk7XG4gICAgdGhpcy5fZmlsdGVySXRlbXMuc2V0Q29uZmlnKHRoaXMuX2NvbmZpZyk7XG4gICAgdGhpcy5fZXh0ZXJuYWxQYXJhbXMuc2V0Q29uZmlnKHRoaXMuX2NvbmZpZyk7XG5cbiAgICBjb25zdCBrZXl3b3JkSXRlbSA9IHRoaXMuX2ZpbHRlckl0ZW1zLmtleXdvcmRJdGVtO1xuICAgIGlmIChrZXl3b3JkSXRlbSkge1xuICAgICAgdGhpcy5zZWFyY2hUZXh0LnNldFZhbHVlKGtleXdvcmRJdGVtLm1vZGVsKTtcbiAgICAgIHRoaXMuc2VhcmNoUGxhY2Vob2xkZXIgPSBrZXl3b3JkSXRlbS5sYWJlbCBhcyBzdHJpbmcgfHwgJ1NlYXJjaCc7XG4gICAgfVxuXG4gICAgaWYgKCEhdGhpcy5jb25maWcucmVsb2FkV2hlbkNvbmZpZ0NoYW5nZWQpIHtcbiAgICAgIHRoaXMuY2hhbmdlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fbGlzdGVuS2V5d29yZEl0ZW1DbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVzdHJveUZpbHRlckRyYXdlcigpIHtcbiAgICB0aGlzLl9maWx0ZXJPdmVybGF5LmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVXaW5kb3dXaWR0aCgpIHtcbiAgICB0aGlzLndpbmRvd0Rlc2t0b3AgPSB3aW5kb3cuaW5uZXJXaWR0aCA+IDEyMDA7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5Fc2NCdXR0b24oKSB7XG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBmcm9tRXZlbnQod2luZG93LCAna2V5dXAnKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBldmVudC5jb2RlID09PSAnRXNjYXBlJyksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuY2xvc2VkKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlVmlzaWJpbGl0eShmYWxzZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuSW5wdXRLZXlFdmVudHMoKSB7XG4gICAgaWYgKCF0aGlzLnNlYXJjaFRleHRJbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgZnJvbUV2ZW50KHRoaXMuc2VhcmNoVGV4dElucHV0Lm5hdGl2ZUVsZW1lbnQsICdrZXlkb3duJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICAgICAgZmlsdGVyKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFsnRW50ZXInLCAnTnVtcGFkRW50ZXInLCAnRXNjYXBlJ10uaW5kZXhPZihldmVudC5jb2RlKSA+IC0xO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLl96b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcklucHV0RXZlbnQoZXZlbnQpXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuV2luZG93UmVzaXplKCkge1xuICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlV2luZG93V2lkdGgoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlbklucHV0Q2hhbmdlcygpIHtcbiAgICBpZiAoIXRoaXMuX2ZpbHRlckl0ZW1zLmtleXdvcmRJdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaFRleHQudmFsdWVDaGFuZ2VzXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgZmlsdGVyKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICE9PSB0aGlzLl9maWx0ZXJJdGVtcy5rZXl3b3JkSXRlbT8ubW9kZWw7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMuX3pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleXdvcmRJdGVtID0gdGhpcy5fZmlsdGVySXRlbXMua2V5d29yZEl0ZW07XG5cbiAgICAgICAgICAgIGlmIChrZXl3b3JkSXRlbSAmJiBrZXl3b3JkSXRlbS52YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAga2V5d29yZEl0ZW0ubW9kZWwgPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlbktleXdvcmRJdGVtQ2xlYXIoKSB7XG4gICAgdGhpcy5fZmlsdGVySXRlbXNcbiAgICAgIC5rZXl3b3JkSXRlbVxuICAgICAgPy5jbGVhciRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZmlsdGVySXRlbXMua2V5d29yZEl0ZW0uZGVzdHJveSQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoVGV4dC5zZXRWYWx1ZSgnJyk7XG4gICAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuSW50ZXJuYWxJdGVtc0NoYW5nZSgpIHtcbiAgICB0aGlzLl9maWx0ZXJJdGVtc1xuICAgICAgLml0ZW1zQ2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jaGFuZ2UoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdE92ZXJsYXkoKSB7XG4gICAgdGhpcy5fZmlsdGVyT3ZlcmxheS5zZXRDbGVhckZuKHRoaXMuY2xlYXIuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5fZmlsdGVyT3ZlcmxheS5zZXREb25lRm4odGhpcy5oaWRlLmJpbmQodGhpcykpO1xuICB9XG5cbiAgLy8gV2UgbWF5IG5lZWQgc29tZSB0aW1lIHRvIHJlY2lldmUgZXh0ZXJuYWwgcGFyYW1zIGFuZCBhZnRlciB0aGF0IHJlYWR5IGNhbiBiZSBlbWl0dGVkXG4gIHByaXZhdGUgX2xpc3RlbldoZW5GaWx0ZXJSZWFkeSgpIHtcbiAgICB0aGlzLl9leHRlcm5hbFBhcmFtc1xuICAgICAgLnBlbmRpbmckXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCh2YWx1ZSkgPT4gIXZhbHVlKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlYWR5LmVtaXQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQ2hpcHNWaXNpYmlsaXR5KCkge1xuICAgIGNvbnN0IGhhc0ZpbHRlckNoaXBzID0gdGhpcy5fZmlsdGVySXRlbXMuaXRlbXNcbiAgICAgIC5zb21lKChpdGVtOiBCYXNlSXRlbTxhbnk+KSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLmlzQ2hpcFZpc2libGU7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX2hhc0ZpbHRlckNoaXBzJC5uZXh0KGhhc0ZpbHRlckNoaXBzKTtcbiAgfVxufVxuIl19
|
|
@@ -15,17 +15,28 @@ var TextComponent = /** @class */ (function (_super) {
|
|
|
15
15
|
return _this;
|
|
16
16
|
}
|
|
17
17
|
TextComponent.prototype.ngOnInit = function () {
|
|
18
|
+
this._listenControlValueChanges();
|
|
19
|
+
this._listenModelChanges();
|
|
20
|
+
};
|
|
21
|
+
TextComponent.prototype.ngOnDestroy = function () {
|
|
22
|
+
this.destroy$.next();
|
|
23
|
+
this.destroy$.complete();
|
|
24
|
+
};
|
|
25
|
+
TextComponent.prototype._listenControlValueChanges = function () {
|
|
18
26
|
var _this = this;
|
|
19
|
-
this.textControl.setValue(this.item.model);
|
|
20
27
|
this.textControl.valueChanges
|
|
21
28
|
.pipe(distinctUntilChanged(), debounceTime(200), takeUntil(this.destroy$))
|
|
22
29
|
.subscribe(function (value) {
|
|
23
30
|
_this.item.model = value;
|
|
24
31
|
});
|
|
25
32
|
};
|
|
26
|
-
TextComponent.prototype.
|
|
27
|
-
this
|
|
28
|
-
this.
|
|
33
|
+
TextComponent.prototype._listenModelChanges = function () {
|
|
34
|
+
var _this = this;
|
|
35
|
+
this._item.value$
|
|
36
|
+
.pipe(takeUntil(this.destroy$))
|
|
37
|
+
.subscribe(function () {
|
|
38
|
+
_this.textControl.setValue(_this.item.model, { emitEvent: false });
|
|
39
|
+
});
|
|
29
40
|
};
|
|
30
41
|
TextComponent.ctorParameters = function () { return [
|
|
31
42
|
{ type: KeyValueDiffers },
|
|
@@ -44,4 +55,4 @@ var TextComponent = /** @class */ (function (_super) {
|
|
|
44
55
|
return TextComponent;
|
|
45
56
|
}(BaseItemComponent));
|
|
46
57
|
export { TextComponent };
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9maWx0ZXIvIiwic291cmNlcyI6WyJhcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vdGV4dC90ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFVckU7SUFBbUMsaUNBQTJCO0lBSzVELHVCQUNZLFVBQTJCLEVBQzNCLEdBQXNCO1FBRmxDLFlBSUUsa0JBQU0sVUFBVSxFQUFFLEdBQUcsQ0FBQyxTQUN2QjtRQUpXLGdCQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUMzQixTQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUwzQixpQkFBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEMsY0FBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7O0lBT2hDLENBQUM7SUFFTSxnQ0FBUSxHQUFmO1FBQ0UsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLG1DQUFXLEdBQWxCO1FBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxrREFBMEIsR0FBbEM7UUFBQSxpQkFVQztRQVRDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWTthQUMxQixJQUFJLENBQ0gsb0JBQW9CLEVBQUUsRUFDdEIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsQ0FBQyxVQUFDLEtBQUs7WUFDZixLQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sMkNBQW1CLEdBQTNCO1FBQUEsaUJBUUM7UUFQQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07YUFDZCxJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLENBQUM7WUFDVCxLQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQzs7Z0JBcEN1QixlQUFlO2dCQUN0QixpQkFBaUI7O0lBUHZCLGFBQWE7UUFOekIsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixzVUFBb0M7WUFFcEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O1NBQ2hELENBQUM7eUNBT3dCLGVBQWU7WUFDdEIsaUJBQWlCO09BUHZCLGFBQWEsQ0E0Q3pCO0lBQUQsb0JBQUM7Q0FBQSxBQTVDRCxDQUFtQyxpQkFBaUIsR0E0Q25EO1NBNUNZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgS2V5VmFsdWVEaWZmZXJzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2l0ZW1zL3RleHQtaXRlbSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tdGV4dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dENvbXBvbmVudCBleHRlbmRzIEJhc2VJdGVtQ29tcG9uZW50PFRleHRJdGVtPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgdGV4dENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgcHVibGljIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2t2RGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgIHByb3RlY3RlZCBfY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKF9rdkRpZmZlcnMsIF9jZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbGlzdGVuQ29udHJvbFZhbHVlQ2hhbmdlcygpO1xuICAgIHRoaXMuX2xpc3Rlbk1vZGVsQ2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlbkNvbnRyb2xWYWx1ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy50ZXh0Q29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5pdGVtLm1vZGVsID0gdmFsdWU7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3Rlbk1vZGVsQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9pdGVtLnZhbHVlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnRleHRDb250cm9sLnNldFZhbHVlKHRoaXMuaXRlbS5tb2RlbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgfSlcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2ZpbHRlci8iLCJzb3VyY2VzIjpbImFwcC9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElGaWx0ZXJDb25maWdCYXNlSXRlbSB9IGZyb20gJy4vaXRlbXMvYmFzZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuL2l0ZW1zL2F1dG9jb21wbGV0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0RhdGVJdGVtIH0gZnJvbSAnLi9pdGVtcy9kYXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnRGF0ZVJhbmdlSXRlbSB9IGZyb20gJy4vaXRlbXMvZGF0ZS1yYW5nZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1JhbmdlSXRlbSB9IGZyb20gJy4vaXRlbXMvcmFuZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdUZXh0SXRlbSB9IGZyb20gJy4vaXRlbXMvdGV4dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW0gfSBmcm9tICcuL2l0ZW1zL3NlbGVjdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0NoaXBzSXRlbSB9IGZyb20gJy4vaXRlbXMvY2hpcHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdDaGVja2JveEl0ZW0gfSBmcm9tICcuL2l0ZW1zL2NoZWNrYm94LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIH0gZnJvbSAnLi9pdGVtcy9hdXRvY29tcGxldGUtY2hpcHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJTYXZlZEZpbHRlcnNDb25maWcgfSBmcm9tICcuL3NhdmVkLWZpbHRlcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZzRmlsdGVyQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJDb25maWcge1xuICBpbmxpbmU/OiBib29sZWFuO1xuICBsb2FkPzogYm9vbGVhbjtcbiAgY2hpcHM/OiBib29sZWFuO1xuICBhdXRvZm9jdXM/OiBib29sZWFuO1xuICBxdWVyeVBhcmFtPzogYm9vbGVhbjtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICBwZXJzaXN0PzogRnNGaWx0ZXJQZXJzaXN0YW5jZTtcbiAgcmVsb2FkPzogQ2hhbmdlRm4gfCBib29sZWFuO1xuICBjbGVhcj86IENoYW5nZUZuIHwgYm9vbGVhbjtcbiAgaXRlbXM/OiBJRmlsdGVyQ29uZmlnSXRlbVtdO1xuICBpbml0PzogQ2hhbmdlRm47XG4gIGNoYW5nZT86IENoYW5nZUZuO1xuICBzb3J0cz86IFNvcnRJdGVtW107XG4gIHNvcnQ/OiBTb3J0O1xuICBzb3J0Q2hhbmdlPzogQ2hhbmdlRm47XG4gIHJlbG9hZFdoZW5Db25maWdDaGFuZ2VkPzogYm9vbGVhbjtcbiAgY2FzZT86ICdzbmFrZScgfCAnY2FtZWwnO1xuICBidXR0b24/OiBGaWx0ZXJCdXR0b247XG4gIHNhdmVkRmlsdGVycz86IElGaWx0ZXJTYXZlZEZpbHRlcnNDb25maWc7XG4gIGFjdGlvbnM/
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2ZpbHRlci8iLCJzb3VyY2VzIjpbImFwcC9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElGaWx0ZXJDb25maWdCYXNlSXRlbSB9IGZyb20gJy4vaXRlbXMvYmFzZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuL2l0ZW1zL2F1dG9jb21wbGV0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0RhdGVJdGVtIH0gZnJvbSAnLi9pdGVtcy9kYXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnRGF0ZVJhbmdlSXRlbSB9IGZyb20gJy4vaXRlbXMvZGF0ZS1yYW5nZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1JhbmdlSXRlbSB9IGZyb20gJy4vaXRlbXMvcmFuZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdUZXh0SXRlbSB9IGZyb20gJy4vaXRlbXMvdGV4dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW0gfSBmcm9tICcuL2l0ZW1zL3NlbGVjdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0NoaXBzSXRlbSB9IGZyb20gJy4vaXRlbXMvY2hpcHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJDb25maWdDaGVja2JveEl0ZW0gfSBmcm9tICcuL2l0ZW1zL2NoZWNrYm94LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIH0gZnJvbSAnLi9pdGVtcy9hdXRvY29tcGxldGUtY2hpcHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJTYXZlZEZpbHRlcnNDb25maWcgfSBmcm9tICcuL3NhdmVkLWZpbHRlcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZzRmlsdGVyQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJDb25maWcge1xuICBpbmxpbmU/OiBib29sZWFuO1xuICBsb2FkPzogYm9vbGVhbjtcbiAgY2hpcHM/OiBib29sZWFuO1xuICBhdXRvZm9jdXM/OiBib29sZWFuO1xuICBxdWVyeVBhcmFtPzogYm9vbGVhbjtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICBwZXJzaXN0PzogRnNGaWx0ZXJQZXJzaXN0YW5jZTtcbiAgcmVsb2FkPzogQ2hhbmdlRm4gfCBib29sZWFuO1xuICBjbGVhcj86IENoYW5nZUZuIHwgYm9vbGVhbjtcbiAgaXRlbXM/OiBJRmlsdGVyQ29uZmlnSXRlbVtdO1xuICBpbml0PzogQ2hhbmdlRm47XG4gIGNoYW5nZT86IENoYW5nZUZuO1xuICBzb3J0cz86IFNvcnRJdGVtW107XG4gIHNvcnQ/OiBTb3J0O1xuICBzb3J0Q2hhbmdlPzogQ2hhbmdlRm47XG4gIHJlbG9hZFdoZW5Db25maWdDaGFuZ2VkPzogYm9vbGVhbjtcbiAgY2FzZT86ICdzbmFrZScgfCAnY2FtZWwnO1xuICBidXR0b24/OiBGaWx0ZXJCdXR0b247XG4gIHNhdmVkRmlsdGVycz86IElGaWx0ZXJTYXZlZEZpbHRlcnNDb25maWc7XG4gIGFjdGlvbnM/OiBGc0ZpbHRlckFjdGlvbltdO1xufVxuXG5leHBvcnQgdHlwZSBJRmlsdGVyQ29uZmlnSXRlbSA9XG4gIChcbiAgICBJRmlsdGVyQ29uZmlnQmFzZUl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdDaGVja2JveEl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdTZWxlY3RJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnQ2hpcHNJdGVtXG4gICAgfCBJRmlsdGVyQ29uZmlnVGV4dEl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdEYXRlSXRlbVxuICAgIHwgSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVDaGlwc0l0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdSYW5nZUl0ZW1cbiAgICB8IElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtXG4gICk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydEl0ZW0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydCB7XG4gIGRpcmVjdGlvbj86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQnV0dG9uIHtcbiAgc3R5bGU/OiAncmFpc2VkJyB8ICdiYXNpYycgfCAnaWNvbic7XG4gIGNvbG9yPzogJ3ByaW1hcnknIHwgJ2RlZmF1bHQnLFxuICBpY29uPzogc3RyaW5nLFxuICBsYWJlbD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZUZuIHtcbiAgKHF1ZXJ5PzogYW55LCBzb3J0PzogRmlsdGVyU29ydCB8IG51bGwpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlclNvcnQge1xuICB2YWx1ZTogc3RyaW5nO1xuICBkaXJlY3Rpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGc0ZpbHRlclBlcnNpc3RhbmNlQ29uZmlnIHtcbiAgbmFtZT86IHN0cmluZztcbiAgdGltZW91dD86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgRnNGaWx0ZXJQZXJzaXN0YW5jZSA9IGJvb2xlYW4gfCBGc0ZpbHRlclBlcnNpc3RhbmNlQ29uZmlnO1xuIl19
|
|
@@ -69,14 +69,13 @@ var BaseDateRangeItem = /** @class */ (function (_super) {
|
|
|
69
69
|
Object.defineProperty(BaseDateRangeItem.prototype, "queryObject", {
|
|
70
70
|
get: function () {
|
|
71
71
|
var _a;
|
|
72
|
-
var _b, _c;
|
|
73
72
|
var value = this.value || {};
|
|
74
73
|
var name = this.name;
|
|
75
74
|
var paramFromName = getRangeName(this.case, name, 'from');
|
|
76
75
|
var paramToName = getRangeName(this.case, name, 'to');
|
|
77
76
|
return _a = {},
|
|
78
|
-
_a[paramFromName] =
|
|
79
|
-
_a[paramToName] =
|
|
77
|
+
_a[paramFromName] = value.from || null,
|
|
78
|
+
_a[paramToName] = value.to || null,
|
|
80
79
|
_a;
|
|
81
80
|
},
|
|
82
81
|
enumerable: true,
|
|
@@ -171,4 +170,4 @@ var BaseDateRangeItem = /** @class */ (function (_super) {
|
|
|
171
170
|
return BaseDateRangeItem;
|
|
172
171
|
}(BaseItem));
|
|
173
172
|
export { BaseDateRangeItem };
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRlLXJhbmdlLWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9maWx0ZXIvIiwic291cmNlcyI6WyJhcHAvbW9kZWxzL2l0ZW1zL2RhdGUtcmFuZ2UvYmFzZS1kYXRlLXJhbmdlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFckQsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTy9EO0lBQWdELHFDQUFvQztJQUFwRjs7SUErSkEsQ0FBQztJQXpKQyxzQkFBVyw4Q0FBZTthQUExQjtZQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQzFDLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsa0RBQW1CO2FBQTlCO1lBQ0UsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDOUMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyw0Q0FBYTthQUF4QjtZQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUN0RixDQUFDOzs7T0FB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LGlDQUFLLEdBQWY7UUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRVMsdUNBQVcsR0FBckIsVUFBc0IsWUFBaUM7UUFBakMsNkJBQUEsRUFBQSx3QkFBaUM7O1FBQ3JELElBQUksQ0FBQyxLQUFLLFNBQUcsSUFBSSxDQUFDLFlBQVksbUNBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFSCx3QkFBQztBQUFELENBQUMsQUEvSkQsQ0FBZ0QsUUFBUSxHQStKdkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcbmltcG9ydCB7IGZvcm1hdCwgc2ltcGxlRm9ybWF0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGF0ZSc7XG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcblxuaW1wb3J0IHsgaXNEYXRlLCBpc1ZhbGlkLCBwYXJzZUlTTyB9IGZyb20gJ2RhdGUtZm5zJztcblxuaW1wb3J0IHsgY2xvbmUsIGlzT2JqZWN0LCBpc1N0cmluZyB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL2Jhc2UtaXRlbSc7XG5pbXBvcnQgeyBnZXRSYW5nZU5hbWUgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzL2dldC1yYW5nZS1uYW1lJztcbmltcG9ydCB7XG4gIElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtLFxuICBJRmlsdGVySXRlbURlZmF1bHREYXRlUmFuZ2UsXG59IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvZGF0ZS1yYW5nZS5pbnRlcmZhY2UnO1xuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRGF0ZVJhbmdlSXRlbSBleHRlbmRzIEJhc2VJdGVtPElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtPiB7XG5cbiAgcHVibGljIGNhc2U6ICdzbmFrZScgfCAnY2FtZWwnO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfYWRkaXRpb25hbENvbmZpZzogeyBjYXNlOiAnY2FtZWwnIHwgJ3NuYWtlJyB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlUmFuZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVJhbmdlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlVGltZVJhbmdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkRhdGVUaW1lUmFuZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQ2hpcFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgJiYgKHRoaXMubW9kZWwuZnJvbSAhPT0gdW5kZWZpbmVkIHx8IHRoaXMubW9kZWwudG8gIT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCkge1xuICAgIGxldCB2YWx1ZSA9IGNsb25lKHRoaXMubW9kZWwpO1xuXG4gICAgaWYgKCFpc09iamVjdCh0aGlzLm1vZGVsKSB8fFxuICAgICAgKGlzRW1wdHkodGhpcy5tb2RlbC5mcm9tLCB7IHplcm86IHRydWUgfSkgJiYgaXNFbXB0eSh0aGlzLm1vZGVsLnRvLCB7IHplcm86IHRydWUgfSkpKSB7XG4gICAgICB2YWx1ZSA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGlzRW1wdHkodmFsdWUsIHsgemVybzogdHJ1ZSB9KSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IGZyb20gPSB2YWx1ZS5mcm9tO1xuICAgIGxldCB0byA9IHZhbHVlLnRvO1xuXG4gICAgdmFsdWUgPSB7fTtcblxuICAgIGlmIChmcm9tKSB7XG4gICAgICBpZiAoaXNTdHJpbmcoZnJvbSkpIHtcbiAgICAgICAgZnJvbSA9IHBhcnNlSVNPKGZyb20pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNWYWxpZChmcm9tKSAmJiBpc0RhdGUoZnJvbSkpIHtcbiAgICAgICAgdmFsdWUuZnJvbSA9IGZyb207XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRvKSB7XG4gICAgICBpZiAoaXNTdHJpbmcodG8pKSB7XG4gICAgICAgIHRvID0gcGFyc2VJU08odG8pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNWYWxpZCh0bykgJiYgaXNEYXRlKHRvKSkge1xuICAgICAgICB2YWx1ZS50byA9IHRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlPYmplY3QoKTogUmVjb3JkPHN0cmluZywgRGF0ZT4ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSB8fCB7fTtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lO1xuICAgIGNvbnN0IHBhcmFtRnJvbU5hbWUgPSBnZXRSYW5nZU5hbWUodGhpcy5jYXNlLCBuYW1lLCAnZnJvbScpO1xuICAgIGNvbnN0IHBhcmFtVG9OYW1lID0gZ2V0UmFuZ2VOYW1lKHRoaXMuY2FzZSwgbmFtZSwgJ3RvJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgW3BhcmFtRnJvbU5hbWVdOiB2YWx1ZS5mcm9tID8/IG51bGwsXG4gICAgICBbcGFyYW1Ub05hbWVdOiB2YWx1ZS50byA/PyBudWxsLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBlcnNpc3RhbmNlT2JqZWN0KCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5xdWVyeU9iamVjdDtcblxuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnF1ZXJ5T2JqZWN0KVxuICAgICAgLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKCEhcXVlcnlba2V5XSkge1xuICAgICAgICAgIGFjY1trZXldID0gc2ltcGxlRm9ybWF0KHF1ZXJ5W2tleV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjY1trZXldID0gcXVlcnlba2V5XTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2hpcHNDb250ZW50KHR5cGUgPSBudWxsKTogc3RyaW5nIHtcbiAgICBjb25zdCBmb3JtYXRUbyA9IHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVJhbmdlID8gJ2RhdGUnIDogJ2RhdGUtdGltZSc7XG5cbiAgICBpZiAodHlwZSA9PT0gJ2Zyb20nKSB7XG4gICAgICBjb25zdCBmcm9tID0gdGhpcy5tb2RlbC5mcm9tO1xuICAgICAgcmV0dXJuIGAke2Zvcm1hdChmcm9tLCBmb3JtYXRUbyl9YDtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0bycpIHtcbiAgICAgIGNvbnN0IHRvID0gdGhpcy5tb2RlbC50bztcbiAgICAgIHJldHVybiBgJHtmb3JtYXQodG8sIGZvcm1hdFRvKX1gO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhckRhdGVSYW5nZSh0eXBlOiAnZnJvbScgfCAndG8nID0gbnVsbCwgZGVmYXVsdFZhbHVlOiBJRmlsdGVySXRlbURlZmF1bHREYXRlUmFuZ2UgPSB1bmRlZmluZWQpIHtcbiAgICBpZiAodHlwZSA9PT0gJ2Zyb20nKSB7XG4gICAgICBkZWxldGUgdGhpcy5tb2RlbC5mcm9tO1xuXG4gICAgICBpZiAoZGVmYXVsdFZhbHVlPy5mcm9tKSB7XG4gICAgICAgIHRoaXMubW9kZWwuZnJvbSA9IGRlZmF1bHRWYWx1ZS5mcm9tO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1vZGVsID0geyAuLi50aGlzLm1vZGVsIH07XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAndG8nKSB7XG4gICAgICBkZWxldGUgdGhpcy5tb2RlbC50bztcblxuICAgICAgaWYgKGRlZmF1bHRWYWx1ZT8udG8pIHtcbiAgICAgICAgdGhpcy5tb2RlbC50byA9IGRlZmF1bHRWYWx1ZS50bztcbiAgICAgIH1cblxuICAgICAgdGhpcy5tb2RlbCA9IHsgLi4udGhpcy5tb2RlbCB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICAgIHRoaXMubW9kZWwgPSB7IC4uLmRlZmF1bHRWYWx1ZSB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IHt9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfdmFsaWRhdGVNb2RlbCgpIHtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc2V0TW9kZWwodmFsdWUpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh2YWx1ZS5mcm9tICYmICghaXNEYXRlKHZhbHVlLmZyb20pIHx8ICFpc1ZhbGlkKHZhbHVlLmZyb20pKSkge1xuICAgICAgICB2YWx1ZS5mcm9tID0gcGFyc2VJU08odmFsdWUuZnJvbSk7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUudG8gJiYgKCFpc0RhdGUodmFsdWUudG8pIHx8ICFpc1ZhbGlkKHZhbHVlLnRvKSkpIHtcbiAgICAgICAgdmFsdWUudG8gPSBwYXJzZUlTTyh2YWx1ZS50byk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3VwZXIuX3NldE1vZGVsKHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcGFyc2VDb25maWcoaXRlbTogSUZpbHRlckNvbmZpZ0RhdGVSYW5nZUl0ZW0pIHtcbiAgICB0aGlzLmNhc2UgPSB0aGlzLl9hZGRpdGlvbmFsQ29uZmlnPy5jYXNlID8/ICdjYW1lbCc7XG5cbiAgICBzdXBlci5fcGFyc2VDb25maWcoaXRlbSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2luaXQoKSB7XG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICB0aGlzLmxhYmVsID0gWydEYXRlIEZyb20nLCAnRGF0ZSBUbyddO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbCA9IHRoaXMuZGVmYXVsdFZhbHVlIHx8IHt9O1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfY2xlYXJWYWx1ZShkZWZhdWx0VmFsdWU6IHVua25vd24gPSB1bmRlZmluZWQpIHtcbiAgICB0aGlzLm1vZGVsID0gdGhpcy5kZWZhdWx0VmFsdWUgPz8ge307XG4gIH1cblxufVxuIl19
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRlLXJhbmdlLWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9maWx0ZXIvIiwic291cmNlcyI6WyJhcHAvbW9kZWxzL2l0ZW1zL2RhdGUtcmFuZ2UvYmFzZS1kYXRlLXJhbmdlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFckQsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTy9EO0lBQWdELHFDQUFvQztJQUFwRjs7SUErSkEsQ0FBQztJQXpKQyxzQkFBVyw4Q0FBZTthQUExQjtZQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQzFDLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsa0RBQW1CO2FBQTlCO1lBQ0UsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDOUMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyw0Q0FBYTthQUF4QjtZQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUN0RixDQUFDOzs7T0FBQTtJQUVELHNCQUFXLG9DQUFLO2FBQWhCO1lBQ0UsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU5QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ3ZCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDdEYsS0FBSyxHQUFHLElBQUksQ0FBQzthQUNkO1lBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7Z0JBQ2xDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFFRCxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ3RCLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFFbEIsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUVYLElBQUksSUFBSSxFQUFFO2dCQUNSLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNsQixJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN2QjtnQkFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ2pDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2lCQUNuQjthQUNGO1lBRUQsSUFBSSxFQUFFLEVBQUU7Z0JBQ04sSUFBSSxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQ2hCLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ25CO2dCQUVELElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRTtvQkFDN0IsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7aUJBQ2Y7YUFDRjtZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVywwQ0FBVzthQUF0Qjs7WUFDRSxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUMvQixJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLElBQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM1RCxJQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFeEQ7Z0JBQ0UsR0FBQyxhQUFhLElBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJO2dCQUNuQyxHQUFDLFdBQVcsSUFBRyxLQUFLLENBQUMsRUFBRSxJQUFJLElBQUk7bUJBQy9CO1FBQ0osQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyxnREFBaUI7YUFBNUI7WUFDRSxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBRS9CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2lCQUNqQyxNQUFNLENBQUMsVUFBQyxHQUFHLEVBQUUsR0FBRztnQkFDZixJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2hCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ3JDO3FCQUFNO29CQUNMLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3ZCO2dCQUVELE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1gsQ0FBQzs7O09BQUE7SUFFTSwyQ0FBZSxHQUF0QixVQUF1QixJQUFXO1FBQVgscUJBQUEsRUFBQSxXQUFXO1FBQ2hDLElBQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFFekUsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ25CLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzdCLE9BQU8sS0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBRyxDQUFDO1NBQ3BDO2FBQU0sSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sS0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBRyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVNLDBDQUFjLEdBQXJCLFVBQXNCLElBQTBCLEVBQUUsWUFBcUQ7UUFBakYscUJBQUEsRUFBQSxXQUEwQjtRQUFFLDZCQUFBLEVBQUEsd0JBQXFEO1FBQ3JHLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBRXZCLElBQUksWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLElBQUksRUFBRTtnQkFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQzthQUNyQztZQUVELElBQUksQ0FBQyxLQUFLLGdCQUFRLElBQUksQ0FBQyxLQUFLLENBQUUsQ0FBQztTQUNoQzthQUFNLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBRXJCLElBQUksWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQzthQUNqQztZQUVELElBQUksQ0FBQyxLQUFLLGdCQUFRLElBQUksQ0FBQyxLQUFLLENBQUUsQ0FBQztTQUNoQzthQUFNO1lBQ0wsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxLQUFLLGdCQUFRLFlBQVksQ0FBRSxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2FBQ2pCO1NBQ0Y7SUFDSCxDQUFDO0lBRVMsMENBQWMsR0FBeEI7SUFDQSxDQUFDO0lBRVMscUNBQVMsR0FBbkIsVUFBb0IsS0FBSztRQUN2QixJQUFJLEtBQUssRUFBRTtZQUNULElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDL0QsS0FBSyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25DO1lBQ0QsSUFBSSxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUN6RCxLQUFLLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDL0I7U0FDRjtRQUVELGlCQUFNLFNBQVMsWUFBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRVMsd0NBQVksR0FBdEIsVUFBdUIsSUFBZ0M7O1FBQ3JELElBQUksQ0FBQyxJQUFJLGVBQUcsSUFBSSxDQUFDLGlCQUFpQiwwQ0FBRSxJQUFJLG1DQUFJLE9BQU8sQ0FBQztRQUVwRCxpQkFBTSxZQUFZLFlBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVTLGlDQUFLLEdBQWY7UUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRVMsdUNBQVcsR0FBckIsVUFBc0IsWUFBaUM7UUFBakMsNkJBQUEsRUFBQSx3QkFBaUM7O1FBQ3JELElBQUksQ0FBQyxLQUFLLFNBQUcsSUFBSSxDQUFDLFlBQVksbUNBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFSCx3QkFBQztBQUFELENBQUMsQUEvSkQsQ0FBZ0QsUUFBUSxHQStKdkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcbmltcG9ydCB7IGZvcm1hdCwgc2ltcGxlRm9ybWF0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGF0ZSc7XG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcblxuaW1wb3J0IHsgaXNEYXRlLCBpc1ZhbGlkLCBwYXJzZUlTTyB9IGZyb20gJ2RhdGUtZm5zJztcblxuaW1wb3J0IHsgY2xvbmUsIGlzT2JqZWN0LCBpc1N0cmluZyB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL2Jhc2UtaXRlbSc7XG5pbXBvcnQgeyBnZXRSYW5nZU5hbWUgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzL2dldC1yYW5nZS1uYW1lJztcbmltcG9ydCB7XG4gIElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtLFxuICBJRmlsdGVySXRlbURlZmF1bHREYXRlUmFuZ2UsXG59IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvZGF0ZS1yYW5nZS5pbnRlcmZhY2UnO1xuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRGF0ZVJhbmdlSXRlbSBleHRlbmRzIEJhc2VJdGVtPElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtPiB7XG5cbiAgcHVibGljIGNhc2U6ICdzbmFrZScgfCAnY2FtZWwnO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfYWRkaXRpb25hbENvbmZpZzogeyBjYXNlOiAnY2FtZWwnIHwgJ3NuYWtlJyB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlUmFuZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVJhbmdlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1R5cGVEYXRlVGltZVJhbmdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEl0ZW1UeXBlLkRhdGVUaW1lUmFuZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQ2hpcFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgJiYgKHRoaXMubW9kZWwuZnJvbSAhPT0gdW5kZWZpbmVkIHx8IHRoaXMubW9kZWwudG8gIT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCkge1xuICAgIGxldCB2YWx1ZSA9IGNsb25lKHRoaXMubW9kZWwpO1xuXG4gICAgaWYgKCFpc09iamVjdCh0aGlzLm1vZGVsKSB8fFxuICAgICAgKGlzRW1wdHkodGhpcy5tb2RlbC5mcm9tLCB7IHplcm86IHRydWUgfSkgJiYgaXNFbXB0eSh0aGlzLm1vZGVsLnRvLCB7IHplcm86IHRydWUgfSkpKSB7XG4gICAgICB2YWx1ZSA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGlzRW1wdHkodmFsdWUsIHsgemVybzogdHJ1ZSB9KSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IGZyb20gPSB2YWx1ZS5mcm9tO1xuICAgIGxldCB0byA9IHZhbHVlLnRvO1xuXG4gICAgdmFsdWUgPSB7fTtcblxuICAgIGlmIChmcm9tKSB7XG4gICAgICBpZiAoaXNTdHJpbmcoZnJvbSkpIHtcbiAgICAgICAgZnJvbSA9IHBhcnNlSVNPKGZyb20pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNWYWxpZChmcm9tKSAmJiBpc0RhdGUoZnJvbSkpIHtcbiAgICAgICAgdmFsdWUuZnJvbSA9IGZyb207XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRvKSB7XG4gICAgICBpZiAoaXNTdHJpbmcodG8pKSB7XG4gICAgICAgIHRvID0gcGFyc2VJU08odG8pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNWYWxpZCh0bykgJiYgaXNEYXRlKHRvKSkge1xuICAgICAgICB2YWx1ZS50byA9IHRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlPYmplY3QoKTogUmVjb3JkPHN0cmluZywgRGF0ZT4ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSB8fCB7fTtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lO1xuICAgIGNvbnN0IHBhcmFtRnJvbU5hbWUgPSBnZXRSYW5nZU5hbWUodGhpcy5jYXNlLCBuYW1lLCAnZnJvbScpO1xuICAgIGNvbnN0IHBhcmFtVG9OYW1lID0gZ2V0UmFuZ2VOYW1lKHRoaXMuY2FzZSwgbmFtZSwgJ3RvJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgW3BhcmFtRnJvbU5hbWVdOiB2YWx1ZS5mcm9tIHx8IG51bGwsXG4gICAgICBbcGFyYW1Ub05hbWVdOiB2YWx1ZS50byB8fCBudWxsLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBlcnNpc3RhbmNlT2JqZWN0KCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5xdWVyeU9iamVjdDtcblxuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnF1ZXJ5T2JqZWN0KVxuICAgICAgLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKCEhcXVlcnlba2V5XSkge1xuICAgICAgICAgIGFjY1trZXldID0gc2ltcGxlRm9ybWF0KHF1ZXJ5W2tleV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjY1trZXldID0gcXVlcnlba2V5XTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2hpcHNDb250ZW50KHR5cGUgPSBudWxsKTogc3RyaW5nIHtcbiAgICBjb25zdCBmb3JtYXRUbyA9IHRoaXMudHlwZSA9PT0gSXRlbVR5cGUuRGF0ZVJhbmdlID8gJ2RhdGUnIDogJ2RhdGUtdGltZSc7XG5cbiAgICBpZiAodHlwZSA9PT0gJ2Zyb20nKSB7XG4gICAgICBjb25zdCBmcm9tID0gdGhpcy5tb2RlbC5mcm9tO1xuICAgICAgcmV0dXJuIGAke2Zvcm1hdChmcm9tLCBmb3JtYXRUbyl9YDtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0bycpIHtcbiAgICAgIGNvbnN0IHRvID0gdGhpcy5tb2RlbC50bztcbiAgICAgIHJldHVybiBgJHtmb3JtYXQodG8sIGZvcm1hdFRvKX1gO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhckRhdGVSYW5nZSh0eXBlOiAnZnJvbScgfCAndG8nID0gbnVsbCwgZGVmYXVsdFZhbHVlOiBJRmlsdGVySXRlbURlZmF1bHREYXRlUmFuZ2UgPSB1bmRlZmluZWQpIHtcbiAgICBpZiAodHlwZSA9PT0gJ2Zyb20nKSB7XG4gICAgICBkZWxldGUgdGhpcy5tb2RlbC5mcm9tO1xuXG4gICAgICBpZiAoZGVmYXVsdFZhbHVlPy5mcm9tKSB7XG4gICAgICAgIHRoaXMubW9kZWwuZnJvbSA9IGRlZmF1bHRWYWx1ZS5mcm9tO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1vZGVsID0geyAuLi50aGlzLm1vZGVsIH07XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAndG8nKSB7XG4gICAgICBkZWxldGUgdGhpcy5tb2RlbC50bztcblxuICAgICAgaWYgKGRlZmF1bHRWYWx1ZT8udG8pIHtcbiAgICAgICAgdGhpcy5tb2RlbC50byA9IGRlZmF1bHRWYWx1ZS50bztcbiAgICAgIH1cblxuICAgICAgdGhpcy5tb2RlbCA9IHsgLi4udGhpcy5tb2RlbCB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICAgIHRoaXMubW9kZWwgPSB7IC4uLmRlZmF1bHRWYWx1ZSB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IHt9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfdmFsaWRhdGVNb2RlbCgpIHtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc2V0TW9kZWwodmFsdWUpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh2YWx1ZS5mcm9tICYmICghaXNEYXRlKHZhbHVlLmZyb20pIHx8ICFpc1ZhbGlkKHZhbHVlLmZyb20pKSkge1xuICAgICAgICB2YWx1ZS5mcm9tID0gcGFyc2VJU08odmFsdWUuZnJvbSk7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUudG8gJiYgKCFpc0RhdGUodmFsdWUudG8pIHx8ICFpc1ZhbGlkKHZhbHVlLnRvKSkpIHtcbiAgICAgICAgdmFsdWUudG8gPSBwYXJzZUlTTyh2YWx1ZS50byk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3VwZXIuX3NldE1vZGVsKHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcGFyc2VDb25maWcoaXRlbTogSUZpbHRlckNvbmZpZ0RhdGVSYW5nZUl0ZW0pIHtcbiAgICB0aGlzLmNhc2UgPSB0aGlzLl9hZGRpdGlvbmFsQ29uZmlnPy5jYXNlID8/ICdjYW1lbCc7XG5cbiAgICBzdXBlci5fcGFyc2VDb25maWcoaXRlbSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2luaXQoKSB7XG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICB0aGlzLmxhYmVsID0gWydEYXRlIEZyb20nLCAnRGF0ZSBUbyddO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbCA9IHRoaXMuZGVmYXVsdFZhbHVlIHx8IHt9O1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfY2xlYXJWYWx1ZShkZWZhdWx0VmFsdWU6IHVua25vd24gPSB1bmRlZmluZWQpIHtcbiAgICB0aGlzLm1vZGVsID0gdGhpcy5kZWZhdWx0VmFsdWUgPz8ge307XG4gIH1cblxufVxuIl19
|
|
@@ -25,15 +25,14 @@ var RangeItem = /** @class */ (function (_super) {
|
|
|
25
25
|
});
|
|
26
26
|
Object.defineProperty(RangeItem.prototype, "queryObject", {
|
|
27
27
|
get: function () {
|
|
28
|
-
var _a, _b;
|
|
29
28
|
var value = this.value;
|
|
30
29
|
var name = this.name;
|
|
31
30
|
var params = {};
|
|
32
31
|
var paramMinName = getRangeName(this.case, name, 'min');
|
|
33
32
|
var paramMaxName = getRangeName(this.case, name, 'max');
|
|
34
33
|
if (isObject(value)) {
|
|
35
|
-
params[paramMinName] =
|
|
36
|
-
params[paramMaxName] =
|
|
34
|
+
params[paramMinName] = value.min || null;
|
|
35
|
+
params[paramMaxName] = value.max || null;
|
|
37
36
|
}
|
|
38
37
|
else {
|
|
39
38
|
params[paramMinName] = null;
|
|
@@ -108,4 +107,4 @@ var RangeItem = /** @class */ (function (_super) {
|
|
|
108
107
|
return RangeItem;
|
|
109
108
|
}(BaseItem));
|
|
110
109
|
export { RangeItem };
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2ZpbHRlci8iLCJzb3VyY2VzIjpbImFwcC9tb2RlbHMvaXRlbXMvcmFuZ2UtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU01RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3ZDO0lBQStCLDZCQUFnQztJQUEvRDs7SUF1R0EsQ0FBQztJQXJHZSxnQkFBTSxHQUFwQixVQUFxQixNQUE4QixFQUFFLGdCQUF5QjtRQUM1RSxPQUFPLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFTRCxzQkFBVyw0QkFBSzthQUFoQjtZQUNFLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUN2QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3RGLEtBQUssR0FBRyxJQUFJLENBQUM7YUFDZDtZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyxrQ0FBVzthQUF0QjtZQUNFLElBQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDekIsSUFBTSxJ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QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksZUFBRyxJQUFJLENBQUMsaUJBQWlCLDBDQUFFLElBQUksbUNBQUksT0FBTyxDQUFDO1FBRXBELGlCQUFNLFlBQVksWUFBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRVMseUJBQUssR0FBZjtRQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUM3QjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztTQUN0QztJQUNILENBQUM7SUFDSCxnQkFBQztBQUFELENBQUMsQUF2R0QsQ0FBK0IsUUFBUSxHQXVHdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbG9uZSwgaXNPYmplY3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvbW1vbic7XG5cbmltcG9ydCB7IGdldFJhbmdlTmFtZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvZ2V0LXJhbmdlLW5hbWUnO1xuaW1wb3J0IHtcbiAgSUZpbHRlckNvbmZpZ1JhbmdlSXRlbSxcbiAgSUZpbHRlckl0ZW1EZWZhdWx0UmFuZ2UsXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvcmFuZ2UuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuL2Jhc2UtaXRlbSc7XG5cblxuZXhwb3J0IGNsYXNzIFJhbmdlSXRlbSBleHRlbmRzIEJhc2VJdGVtPElGaWx0ZXJDb25maWdSYW5nZUl0ZW0+IHtcblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdSYW5nZUl0ZW0sIGFkZGl0aW9uYWxDb25maWc6IHVua25vd24pIHtcbiAgICByZXR1cm4gbmV3IFJhbmdlSXRlbShjb25maWcsIGFkZGl0aW9uYWxDb25maWcpO1xuICB9XG5cbiAgcHVibGljIGNhc2U6ICdzbmFrZScgfCAnY2FtZWwnO1xuICBwdWJsaWMgb3B0aW9uczogeyBzY2FsZT86IG51bWJlciB9XG4gIHB1YmxpYyBwcmVmaXg6IHN0cmluZztcbiAgcHVibGljIHN1ZmZpeDogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfYWRkaXRpb25hbENvbmZpZzogeyBjYXNlOiAnY2FtZWwnIHwgJ3NuYWtlJyB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpIHtcbiAgICBsZXQgdmFsdWUgPSBjbG9uZSh0aGlzLm1vZGVsKTtcblxuICAgIGlmICghaXNPYmplY3QodGhpcy5tb2RlbCkgfHxcbiAgICAgIChpc0VtcHR5KHRoaXMubW9kZWwubWF4LCB7IHplcm86IHRydWUgfSkgJiYgaXNFbXB0eSh0aGlzLm1vZGVsLm1pbiwgeyB6ZXJvOiB0cnVlIH0pKSkge1xuICAgICAgdmFsdWUgPSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlPYmplY3QoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgY29uc3QgcGFyYW1NaW5OYW1lID0gZ2V0UmFuZ2VOYW1lKHRoaXMuY2FzZSwgbmFtZSwgJ21pbicpO1xuICAgIGNvbnN0IHBhcmFtTWF4TmFtZSA9IGdldFJhbmdlTmFtZSh0aGlzLmNhc2UsIG5hbWUsICdtYXgnKTtcblxuICAgIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgIHBhcmFtc1twYXJhbU1pbk5hbWVdID0gdmFsdWUubWluIHx8IG51bGw7XG4gICAgICBwYXJhbXNbcGFyYW1NYXhOYW1lXSA9IHZhbHVlLm1heCB8fCBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbXNbcGFyYW1NaW5OYW1lXSA9IG51bGw7XG4gICAgICBwYXJhbXNbcGFyYW1NYXhOYW1lXSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNDaGlwVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCAmJiAodGhpcy5tb2RlbC5taW4gIT09IHVuZGVmaW5lZCB8fCB0aGlzLm1vZGVsLm1heCAhPT0gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDaGlwc0NvbnRlbnQodHlwZSk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGUgPT09ICdmcm9tJykge1xuICAgICAgY29uc3QgbWluID0gdGhpcy5tb2RlbC5taW47XG4gICAgICByZXR1cm4gYCR7bWlufWA7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAndG8nKSB7XG4gICAgICBjb25zdCBtYXggPSB0aGlzLm1vZGVsLm1heDtcbiAgICAgIHJldHVybiBgJHttYXh9YDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xlYXJSYW5nZSh0eXBlOiAnZnJvbScgfCAndG8nID0gbnVsbCwgZGVmYXVsdFZhbHVlOiBJRmlsdGVySXRlbURlZmF1bHRSYW5nZSA9IHVuZGVmaW5lZCkge1xuICAgIGlmICh0eXBlID09PSAnZnJvbScpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLm1vZGVsLm1pbjtcblxuICAgICAgaWYgKGRlZmF1bHRWYWx1ZT8ubWluKSB7XG4gICAgICAgIHRoaXMubW9kZWwubWluID0gZGVmYXVsdFZhbHVlLm1pbjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5tb2RlbCA9IHsgLi4udGhpcy5tb2RlbCB9O1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3RvJykge1xuICAgICAgZGVsZXRlIHRoaXMubW9kZWwubWF4O1xuXG4gICAgICBpZiAoZGVmYXVsdFZhbHVlPy5tYXgpIHtcbiAgICAgICAgdGhpcy5tb2RlbC5tYXggPSBkZWZhdWx0VmFsdWUubWF4O1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1vZGVsID0geyAuLi50aGlzLm1vZGVsIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IHsgLi4uZGVmYXVsdFZhbHVlIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm1vZGVsID0ge307XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF92YWxpZGF0ZU1vZGVsKCkge1xuICB9XG5cbiAgcHJvdGVjdGVkIF9wYXJzZUNvbmZpZyhpdGVtOiBJRmlsdGVyQ29uZmlnUmFuZ2VJdGVtKSB7XG4gICAgdGhpcy5vcHRpb25zID0gaXRlbS5vcHRpb25zO1xuICAgIHRoaXMucHJlZml4ID0gaXRlbS5wcmVmaXg7XG4gICAgdGhpcy5zdWZmaXggPSBpdGVtLnN1ZmZpeDtcbiAgICB0aGlzLmNhc2UgPSB0aGlzLl9hZGRpdGlvbmFsQ29uZmlnPy5jYXNlID8/ICdjYW1lbCc7XG5cbiAgICBzdXBlci5fcGFyc2VDb25maWcoaXRlbSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2luaXQoKSB7XG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICB0aGlzLmxhYmVsID0gWydNaW4nLCAnTWF4J107XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLm1vZGVsKSB7XG4gICAgICB0aGlzLm1vZGVsID0gdGhpcy5kZWZhdWx0VmFsdWUgfHwge307XG4gICAgfVxuICB9XG59XG4iXX0=
|
package/esm5/public_api.js
CHANGED
|
@@ -32,4 +32,4 @@ export { FS_FILTER_CONFIG } from './app/injectors/filter-config';
|
|
|
32
32
|
export { filterToQueryParam, filterFromQueryParam } from './app/helpers/query-param-transformers';
|
|
33
33
|
// Const
|
|
34
34
|
export { QUERY_PARAM_DELIMITER } from './app/consts/query-param-delimiter';
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2ZpbHRlci8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYztBQUNkLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBRXpHLFVBQVU7QUFDVixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUUxRixhQUFhO0FBQ2IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUErQzVGLFFBQVE7QUFDUixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFMUQsU0FBUztBQUNULE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWhFLFlBQVk7QUFDWixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdqRSxVQUFVO0FBQ1YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFbEcsUUFBUTtBQUNSLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29udHJvbGxlcnNcbmV4cG9ydCB7IEV4dGVybmFsUGFyYW1zQ29udHJvbGxlciB9IGZyb20gJy4vYXBwL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy1jb250cm9sbGVyLnNlcnZpY2UnO1xuZXhwb3J0IHsgU2F2ZWRGaWx0ZXJzQ29udHJvbGxlciB9IGZyb20gJy4vYXBwL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy9zYXZlZC1maWx0ZXJzLWNvbnRyb2xsZXIuc2VydmljZSc7XG5cbi8vIE1vZHVsZXNcbmV4cG9ydCB7IEZzRmlsdGVyTW9kdWxlIH0gZnJvbSAnLi9hcHAvZnMtZmlsdGVyLm1vZHVsZSc7XG5cbi8vIENvbXBvbmVudHNcbmV4cG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgRmlsdGVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2ZpbHRlci1pdGVtLmNvbXBvbmVudCc7XG5cbi8vIERpcmVjdGl2ZXNcbmV4cG9ydCB7IEZpbHRlclN0YXR1c0JhckRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvc3RhdHVzLWJhci9zdGF0dXMtYmFyLmRpcmVjdGl2ZSc7XG5cbi8vIEludGVyZmFjZXNcbmV4cG9ydCB7IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy9hdXRvY29tcGxldGUuaW50ZXJmYWNlJztcbmV4cG9ydCB7IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVDaGlwc0l0ZW0gfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL2F1dG9jb21wbGV0ZS1jaGlwcy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0Jhc2VJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy9iYXNlLmludGVyZmFjZSc7XG5leHBvcnQgeyBJRmlsdGVyQ29uZmlnQ2hlY2tib3hJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy9jaGVja2JveC5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0NoaXBzSXRlbSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvY2hpcHMuaW50ZXJmYWNlJztcbmV4cG9ydCB7IElGaWx0ZXJDb25maWdEYXRlSXRlbSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvZGF0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckl0ZW1EZWZhdWx0RGF0ZVJhbmdlLCBJRmlsdGVyQ29uZmlnRGF0ZVJhbmdlSXRlbSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvZGF0ZS1yYW5nZS5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckl0ZW1EZWZhdWx0UmFuZ2UsIElGaWx0ZXJDb25maWdSYW5nZUl0ZW0gfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL3JhbmdlLmludGVyZmFjZSc7XG5leHBvcnQgeyBJRmlsdGVyQ29uZmlnU2VsZWN0SXRlbSwgSUZpbHRlckNvbmZpZ1NlbGVjdElzb2xhdGUsIElGaWx0ZXJTZWxlY3RWYWx1ZSwgRmlsdGVyVmFsdWVzUmV0dXJuRm4gfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL3NlbGVjdC5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ1RleHRJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy90ZXh0LmludGVyZmFjZSc7XG5leHBvcnQge1xuICBGc0ZpbHRlckFjdGlvbixcbiAgRnNGaWx0ZXJBY3Rpb25DbGlja0ZuLFxuICBGc0ZpbHRlckFjdGlvblNob3dGbixcbiAgSUZzRmlsdGVyTWVudUFjdGlvbkxpbmssXG4gIElGc0ZpbHRlck1lbnVBY3Rpb25Hcm91cEl0ZW0sXG4gIElGc0ZpbHRlck1lbnVBY3Rpb25JdGVtLFxuICBJRnNGaWx0ZXJNZW51QWN0aW9uLFxuICBJRnNGaWx0ZXJCdXR0b25BY3Rpb24sXG4gIElGc0ZpbHRlckZpbGVBY3Rpb24sXG4gIEZzRmlsdGVyRmlsZUFjdGlvbkVycm9yRm4sXG4gIEZzRmlsdGVyRmlsZUFjdGlvblNlbGVjdEZuLFxuICBGc0ZpbHRlckFjdGlvbkRpc2FibGVkRm4sXG59IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvYWN0aW9uLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gIEZpbHRlckNvbmZpZyxcbiAgU29ydEl0ZW0sXG4gIENoYW5nZUZuLFxuICBGaWx0ZXJTb3J0LFxuICBTb3J0LFxuICBJRmlsdGVyQ29uZmlnSXRlbSxcbiAgRnNGaWx0ZXJQZXJzaXN0YW5jZSxcbn0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgSUZpbHRlclNhdmVkRmlsdGVyLFxuICBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnLFxuICBGaWx0ZXJSZW1vdGVEZWxldGUsXG4gIEZpbHRlclJlbW90ZU9yZGVyLFxuICBGaWx0ZXJSZW1vdGVMb2FkLFxuICBGaWx0ZXJSZW1vdGVTYXZlXG59IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvc2F2ZWQtZmlsdGVycy5pbnRlcmZhY2UnO1xuXG4vLyBFbnVtc1xuZXhwb3J0IHsgSXRlbVR5cGUgfSBmcm9tICcuL2FwcC9lbnVtcy9pdGVtLXR5cGUuZW51bSc7XG5leHBvcnQgeyBJdGVtRGF0ZU1vZGUgfSBmcm9tICcuL2FwcC9lbnVtcy9pdGVtLWRhdGUtbW9kZS5lbnVtJztcbmV4cG9ydCB7IEFjdGlvbk1vZGUgfSBmcm9tICcuL2FwcC9lbnVtcy9hY3Rpb24tbW9kZS5lbnVtJztcbmV4cG9ydCB7IEFjdGlvblR5cGUgfSBmcm9tICcuL2FwcC9lbnVtcy9hY3Rpb24tdHlwZS5lbnVtJztcblxuLy8gTW9kZWxzXG5leHBvcnQgeyBEYXRlSXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9kYXRlLWl0ZW0nO1xuZXhwb3J0IHsgRGF0ZVJhbmdlSXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9kYXRlLXJhbmdlLWl0ZW0nO1xuZXhwb3J0IHsgRGF0ZVRpbWVJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2RhdGUtdGltZS1pdGVtJztcbmV4cG9ydCB7IERhdGVUaW1lUmFuZ2VJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2RhdGUtdGltZS1yYW5nZS1pdGVtJztcbmV4cG9ydCB7IEF1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWl0ZW0nO1xuZXhwb3J0IHsgQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2F1dG9jb21wbGV0ZS1jaGlwcy1pdGVtJztcbmV4cG9ydCB7IFJhbmdlSXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9yYW5nZS1pdGVtJztcbmV4cG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvc2VsZWN0LWl0ZW0nO1xuZXhwb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcbmV4cG9ydCB7IFRleHRJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL3RleHQtaXRlbSc7XG5leHBvcnQgeyBDaGlwc0l0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvY2hpcHMtaXRlbSc7XG5leHBvcnQgeyBDaGVja2JveEl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvY2hlY2tib3gtaXRlbSc7XG5cbi8vIEluamVjdG9yc1xuZXhwb3J0IHsgRlNfRklMVEVSX0NPTkZJRyB9IGZyb20gJy4vYXBwL2luamVjdG9ycy9maWx0ZXItY29uZmlnJztcblxuXG4vLyBIZWxwZXJzXG5leHBvcnQgeyBmaWx0ZXJUb1F1ZXJ5UGFyYW0sIGZpbHRlckZyb21RdWVyeVBhcmFtIH0gZnJvbSAnLi9hcHAvaGVscGVycy9xdWVyeS1wYXJhbS10cmFuc2Zvcm1lcnMnO1xuXG4vLyBDb25zdFxuZXhwb3J0IHsgUVVFUllfUEFSQU1fREVMSU1JVEVSIH0gZnJvbSAnLi9hcHAvY29uc3RzL3F1ZXJ5LXBhcmFtLWRlbGltaXRlcic7XG4iXX0=
|
|
@@ -680,15 +680,14 @@ class RangeItem extends BaseItem {
|
|
|
680
680
|
return value;
|
|
681
681
|
}
|
|
682
682
|
get queryObject() {
|
|
683
|
-
var _a, _b;
|
|
684
683
|
const value = this.value;
|
|
685
684
|
const name = this.name;
|
|
686
685
|
const params = {};
|
|
687
686
|
const paramMinName = getRangeName(this.case, name, 'min');
|
|
688
687
|
const paramMaxName = getRangeName(this.case, name, 'max');
|
|
689
688
|
if (isObject(value)) {
|
|
690
|
-
params[paramMinName] =
|
|
691
|
-
params[paramMaxName] =
|
|
689
|
+
params[paramMinName] = value.min || null;
|
|
690
|
+
params[paramMaxName] = value.max || null;
|
|
692
691
|
}
|
|
693
692
|
else {
|
|
694
693
|
params[paramMinName] = null;
|
|
@@ -794,14 +793,13 @@ class BaseDateRangeItem extends BaseItem {
|
|
|
794
793
|
return value;
|
|
795
794
|
}
|
|
796
795
|
get queryObject() {
|
|
797
|
-
var _a, _b;
|
|
798
796
|
const value = this.value || {};
|
|
799
797
|
const name = this.name;
|
|
800
798
|
const paramFromName = getRangeName(this.case, name, 'from');
|
|
801
799
|
const paramToName = getRangeName(this.case, name, 'to');
|
|
802
800
|
return {
|
|
803
|
-
[paramFromName]:
|
|
804
|
-
[paramToName]:
|
|
801
|
+
[paramFromName]: value.from || null,
|
|
802
|
+
[paramToName]: value.to || null,
|
|
805
803
|
};
|
|
806
804
|
}
|
|
807
805
|
get persistanceObject() {
|
|
@@ -3170,7 +3168,7 @@ __decorate([
|
|
|
3170
3168
|
FilterComponent = __decorate([
|
|
3171
3169
|
Component({
|
|
3172
3170
|
selector: 'fs-filter',
|
|
3173
|
-
template: "<ng-container *ngIf=\"hasKeyword; else noKeywordFilter\">\n <div class=\"filter-search-container\">\n <div class=\"filter-input-field\">\n <form autocomplete=\"off\" role=\"presentation\" *ngIf=\"keywordVisible$ | async\">\n <mat-form-field floatLabel=\"never\">\n <span matPrefix>\n <mat-icon matPrefix>search</mat-icon>\n </span>\n\n <input\n matInput\n [formControl]=\"searchText\"\n [placeholder]=\"searchPlaceholder\"\n name=\"filter-input\"\n (click)=\"filterInputEvent($event)\"\n class=\"filter-input\">\n\n <a matSuffix\n *ngIf=\"searchText.value && showFilterInput && config.clear\"\n (click)=\"clearSearchText($event)\"\n href=\"javascript:void(0)\"\n class=\"clear\">\n <mat-icon>clear</mat-icon>\n </a>\n\n <a matSuffix\n (click)=\"reload($event)\"\n class=\"reload\"\n *ngIf=\"config.reload\">\n <mat-icon>refresh</mat-icon>\n </a>\n </mat-form-field>\n </form>\n </div>\n <ng-container *ngTemplateOutlet=\"filterActions\"></ng-container>\n </div>\n <div class=\"status-actions\" *ngIf=\"keywordVisible$ | async\">\n <ng-container *ngTemplateOutlet=\"statusBarContainer\"></ng-container>\n <ng-container *ngTemplateOutlet=\"filterChips\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #noKeywordFilter>\n <div class=\"filter-searchless-container\">\n <div class=\"status-actions\">\n <ng-container *ngTemplateOutlet=\"statusBarContainer\"></ng-container>\n <ng-container *ngTemplateOutlet=\"filterChips\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"filterActions\"></ng-container>\n </div>\n</ng-template>\n\n\n<ng-template #filterActions>\n <div class=\"filter-actions\">\n <ng-container *ngIf=\"hasVisibleItemOrSorting && filtersBtnVisible$ | async \">\n <button\n mat-button\n class=\"filters-button\"\n [ngClass]=\"{\n 'mat-raised-button': config.button.style == 'raised',\n 'mat-button': config.button.style == 'basic',\n 'mat-icon-button': config.button.style == 'icon'\n }\"\n (click)=\"changeVisibilityClick(!showFilterMenu, $event)\"\n type=\"button\"\n [color]=\"config.button.color\">\n <mat-icon *ngIf=\"config.button.icon\">{{config.button.icon}}</mat-icon>\n {{ config.button.label }}\n </button>\n </ng-container>\n\n <fs-filter-actions\n *ngIf=\"actionsVisible$ | async\"\n [actions]=\"actions$ | async\"\n [kebabActions]=\"menuActions$ | async\">\n </fs-filter-actions>\n </div>\n</ng-template>\n\n<ng-template #filterChips>\n <fs-filter-chips\n *ngIf=\"config.chips && hasFilterChips$ | async\"\n class=\"filter-chips\"\n [filters]=\"items\">\n </fs-filter-chips>\n</ng-template>\n\n<ng-template #statusBarContainer>\n <div class=\"status-bar\" *ngIf=\"statusBar\">\n <small><ng-container *ngTemplateOutlet=\"statusBar\"></ng-container></small>\n </div>\n</ng-template>\n",
|
|
3171
|
+
template: "<ng-container *ngIf=\"hasKeyword; else noKeywordFilter\">\n <div class=\"filter-search-container\">\n <div class=\"filter-input-field\">\n <form autocomplete=\"off\" role=\"presentation\" *ngIf=\"keywordVisible$ | async\">\n <mat-form-field floatLabel=\"never\">\n <span matPrefix>\n <mat-icon matPrefix>search</mat-icon>\n </span>\n\n <input\n #searchTextInput\n matInput\n [formControl]=\"searchText\"\n [placeholder]=\"searchPlaceholder\"\n name=\"filter-input\"\n (click)=\"filterInputEvent($event)\"\n class=\"filter-input\">\n\n <a matSuffix\n *ngIf=\"searchText.value && showFilterInput && config.clear\"\n (click)=\"clearSearchText($event)\"\n href=\"javascript:void(0)\"\n class=\"clear\">\n <mat-icon>clear</mat-icon>\n </a>\n\n <a matSuffix\n (click)=\"reload($event)\"\n class=\"reload\"\n *ngIf=\"config.reload\">\n <mat-icon>refresh</mat-icon>\n </a>\n </mat-form-field>\n </form>\n </div>\n <ng-container *ngTemplateOutlet=\"filterActions\"></ng-container>\n </div>\n <div class=\"status-actions\" *ngIf=\"keywordVisible$ | async\">\n <ng-container *ngTemplateOutlet=\"statusBarContainer\"></ng-container>\n <ng-container *ngTemplateOutlet=\"filterChips\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #noKeywordFilter>\n <div class=\"filter-searchless-container\">\n <div class=\"status-actions\">\n <ng-container *ngTemplateOutlet=\"statusBarContainer\"></ng-container>\n <ng-container *ngTemplateOutlet=\"filterChips\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"filterActions\"></ng-container>\n </div>\n</ng-template>\n\n\n<ng-template #filterActions>\n <div class=\"filter-actions\">\n <ng-container *ngIf=\"hasVisibleItemOrSorting && filtersBtnVisible$ | async \">\n <button\n mat-button\n class=\"filters-button\"\n [ngClass]=\"{\n 'mat-raised-button': config.button.style == 'raised',\n 'mat-button': config.button.style == 'basic',\n 'mat-icon-button': config.button.style == 'icon'\n }\"\n (click)=\"changeVisibilityClick(!showFilterMenu, $event)\"\n type=\"button\"\n [color]=\"config.button.color\">\n <mat-icon *ngIf=\"config.button.icon\">{{config.button.icon}}</mat-icon>\n {{ config.button.label }}\n </button>\n </ng-container>\n\n <fs-filter-actions\n *ngIf=\"actionsVisible$ | async\"\n [actions]=\"actions$ | async\"\n [kebabActions]=\"menuActions$ | async\">\n </fs-filter-actions>\n </div>\n</ng-template>\n\n<ng-template #filterChips>\n <fs-filter-chips\n *ngIf=\"config.chips && hasFilterChips$ | async\"\n class=\"filter-chips\"\n [filters]=\"items\">\n </fs-filter-chips>\n</ng-template>\n\n<ng-template #statusBarContainer>\n <div class=\"status-bar\" *ngIf=\"statusBar\">\n <small><ng-container *ngTemplateOutlet=\"statusBar\"></ng-container></small>\n </div>\n</ng-template>\n",
|
|
3174
3172
|
encapsulation: ViewEncapsulation.None,
|
|
3175
3173
|
providers: [
|
|
3176
3174
|
FsFilterOverlayService,
|
|
@@ -3487,16 +3485,26 @@ let TextComponent = class TextComponent extends BaseItemComponent {
|
|
|
3487
3485
|
this.destroy$ = new Subject();
|
|
3488
3486
|
}
|
|
3489
3487
|
ngOnInit() {
|
|
3490
|
-
this.
|
|
3488
|
+
this._listenControlValueChanges();
|
|
3489
|
+
this._listenModelChanges();
|
|
3490
|
+
}
|
|
3491
|
+
ngOnDestroy() {
|
|
3492
|
+
this.destroy$.next();
|
|
3493
|
+
this.destroy$.complete();
|
|
3494
|
+
}
|
|
3495
|
+
_listenControlValueChanges() {
|
|
3491
3496
|
this.textControl.valueChanges
|
|
3492
3497
|
.pipe(distinctUntilChanged(), debounceTime(200), takeUntil(this.destroy$))
|
|
3493
3498
|
.subscribe((value) => {
|
|
3494
3499
|
this.item.model = value;
|
|
3495
3500
|
});
|
|
3496
3501
|
}
|
|
3497
|
-
|
|
3498
|
-
this.
|
|
3499
|
-
|
|
3502
|
+
_listenModelChanges() {
|
|
3503
|
+
this._item.value$
|
|
3504
|
+
.pipe(takeUntil(this.destroy$))
|
|
3505
|
+
.subscribe(() => {
|
|
3506
|
+
this.textControl.setValue(this.item.model, { emitEvent: false });
|
|
3507
|
+
});
|
|
3500
3508
|
}
|
|
3501
3509
|
};
|
|
3502
3510
|
TextComponent.ctorParameters = () => [
|