@fundamental-ngx/core 0.58.0-rc.7 → 0.58.0-rc.70
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/button/index.d.ts +1 -1
- package/card/index.d.ts +8 -4
- package/combobox/index.d.ts +9 -1
- package/dialog/index.d.ts +2 -2
- package/feed-input/index.d.ts +1 -1
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +44 -8
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-input.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -2
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +3 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +32 -5
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-theming.mjs +2 -3
- package/fesm2022/fundamental-ngx-core-theming.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-user-menu.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
- package/form/index.d.ts +2 -2
- package/input-group/index.d.ts +1 -1
- package/list/index.d.ts +4 -4
- package/menu/index.d.ts +2 -2
- package/message-box/index.d.ts +1 -1
- package/multi-combobox/index.d.ts +2 -2
- package/multi-input/index.d.ts +1 -1
- package/nested-list/index.d.ts +11 -11
- package/notification/index.d.ts +2 -0
- package/overflow-layout/index.d.ts +4 -4
- package/package.json +19 -19
- package/popover/index.d.ts +2 -2
- package/segmented-button/index.d.ts +3 -3
- package/shellbar/index.d.ts +13 -2
- package/table/index.d.ts +2 -2
- package/tabs/index.d.ts +3 -3
- package/time/index.d.ts +1 -1
- package/time-picker/index.d.ts +1 -1
- package/toolbar/index.d.ts +1 -1
- package/tree/index.d.ts +3 -3
- package/schematics/add-animations/index.d.ts +0 -7
- package/schematics/add-animations/index.js +0 -83
- package/schematics/add-animations/index.js.map +0 -1
- package/schematics/add-animations/schema.json +0 -21
- package/schematics/add-dependencies/index.d.ts +0 -7
- package/schematics/add-dependencies/index.js +0 -105
- package/schematics/add-dependencies/index.js.map +0 -1
- package/schematics/add-dependencies/schema.json +0 -15
- package/schematics/add-styles/index.d.ts +0 -7
- package/schematics/add-styles/index.js +0 -97
- package/schematics/add-styles/index.js.map +0 -1
- package/schematics/add-styles/schema.json +0 -21
- package/schematics/add-theming/index.d.ts +0 -7
- package/schematics/add-theming/index.js +0 -108
- package/schematics/add-theming/index.js.map +0 -1
- package/schematics/add-theming/schema.json +0 -72
- package/schematics/collection.json +0 -40
- package/schematics/models/schema.d.ts +0 -6
- package/schematics/models/schema.js +0 -3
- package/schematics/models/schema.js.map +0 -1
- package/schematics/ng-add/index.d.ts +0 -9
- package/schematics/ng-add/index.js +0 -30
- package/schematics/ng-add/index.js.map +0 -1
- package/schematics/ng-add/schema.json +0 -84
- package/schematics/utils/calls-providers-function.d.ts +0 -11
- package/schematics/utils/calls-providers-function.js +0 -54
- package/schematics/utils/calls-providers-function.js.map +0 -1
- package/schematics/utils/file-utils.d.ts +0 -2
- package/schematics/utils/file-utils.js +0 -26
- package/schematics/utils/file-utils.js.map +0 -1
- package/schematics/utils/main-ts-file-path.d.ts +0 -2
- package/schematics/utils/main-ts-file-path.js +0 -27
- package/schematics/utils/main-ts-file-path.js.map +0 -1
- package/schematics/utils/ng-module-utils.d.ts +0 -6
- package/schematics/utils/ng-module-utils.js +0 -71
- package/schematics/utils/ng-module-utils.js.map +0 -1
- package/schematics/utils/one-time-packages.d.ts +0 -6
- package/schematics/utils/one-time-packages.js +0 -39
- package/schematics/utils/one-time-packages.js.map +0 -1
- package/schematics/utils/package-utils.d.ts +0 -10
- package/schematics/utils/package-utils.js +0 -25
- package/schematics/utils/package-utils.js.map +0 -1
- package/schematics/utils/workspace.d.ts +0 -40
- package/schematics/utils/workspace.js +0 -110
- package/schematics/utils/workspace.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-tree.mjs","sources":["../tmp-esm2022/tree/data-source/tree-data-source.js","../tmp-esm2022/tree/data-source/tree-data-source-parser.js","../tmp-esm2022/tree/directives/tree-item-def.directive.js","../tmp-esm2022/tree/directives/tree-item.directive.js","../tmp-esm2022/tree/models/base-tree-item.class.js","../tmp-esm2022/tree/tree.service.js","../tmp-esm2022/tree/tree.component.js","../tmp-esm2022/tree/components/tree-item/tree-item.component.js","../tmp-esm2022/tree/directives/tree-item-button.directive.js","../tmp-esm2022/tree/directives/tree-item-icon.directive.js","../tmp-esm2022/tree/tree.module.js","../tmp-esm2022/tree/tokens.js","../tmp-esm2022/tree/fundamental-ngx-core-tree.js"],"sourcesContent":["import { BaseDataSource, DataProvider } from '@fundamental-ngx/cdk/data-source';\nexport class FdTreeDataSource extends BaseDataSource {\n /** @hidden */\n constructor(dataProvider) {\n super(dataProvider);\n this.dataProvider = dataProvider;\n /** @hidden */\n this.limitless = true;\n }\n}\nexport class ArrayTreeDataSource extends FdTreeDataSource {\n /** @hidden */\n constructor(data) {\n super(new DataProvider(data));\n }\n}\nexport class ObservableTreeDataSource extends FdTreeDataSource {\n /** @hidden */\n constructor(data) {\n super(new DataProvider(data));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmVlL2RhdGEtc291cmNlL3RyZWUtZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHdEcsTUFBTSxPQUFPLGdCQUFvQixTQUFRLGNBQWlCO0lBR3RELGNBQWM7SUFDZCxZQUFtQixZQUFxQztRQUNwRCxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFETCxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFIeEQsY0FBYztRQUNkLGNBQVMsR0FBRyxJQUFJLENBQUM7SUFJakIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLG1CQUF1QixTQUFRLGdCQUFtQjtJQUMzRCxjQUFjO0lBQ2QsWUFBWSxJQUFTO1FBQ2pCLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyx3QkFBNEIsU0FBUSxnQkFBbUI7SUFDaEUsY0FBYztJQUNkLFlBQVksSUFBcUI7UUFDN0IsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3REYXRhUHJvdmlkZXIsIEJhc2VEYXRhU291cmNlLCBEYXRhUHJvdmlkZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9kYXRhLXNvdXJjZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBGZFRyZWVEYXRhU291cmNlPFQ+IGV4dGVuZHMgQmFzZURhdGFTb3VyY2U8VD4ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbGltaXRsZXNzID0gdHJ1ZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhUHJvdmlkZXI6IEFic3RyYWN0RGF0YVByb3ZpZGVyPFQ+KSB7XG4gICAgICAgIHN1cGVyKGRhdGFQcm92aWRlcik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXJyYXlUcmVlRGF0YVNvdXJjZTxUPiBleHRlbmRzIEZkVHJlZURhdGFTb3VyY2U8VD4ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoZGF0YTogVFtdKSB7XG4gICAgICAgIHN1cGVyKG5ldyBEYXRhUHJvdmlkZXIoZGF0YSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9ic2VydmFibGVUcmVlRGF0YVNvdXJjZTxUPiBleHRlbmRzIEZkVHJlZURhdGFTb3VyY2U8VD4ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoZGF0YTogT2JzZXJ2YWJsZTxUW10+KSB7XG4gICAgICAgIHN1cGVyKG5ldyBEYXRhUHJvdmlkZXIoZGF0YSkpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUeXBlIG9mIGFjY2VwdGFibGUgb2JqZWN0cyBhcyBhIGRhdGFzb3VyY2UgZm9yIHRoZSBNdWx0aS1Db21ibyBCb3ggY29tcG9uZW50LlxuICovXG5leHBvcnQgdHlwZSBGZFRyZWVBY2NlcHRhYmxlRGF0YVNvdXJjZTxUID0gYW55PiA9IEZkVHJlZURhdGFTb3VyY2U8VD4gfCBPYnNlcnZhYmxlPFRbXT4gfCBUW107XG5leHBvcnQgdHlwZSBGZFRyZWVJdGVtVHlwZTxUeXBlIGV4dGVuZHMgRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2U+ID1cbiAgICBUeXBlIGV4dGVuZHMgQmFzZURhdGFTb3VyY2U8aW5mZXIgWD5cbiAgICAgICAgPyBYXG4gICAgICAgIDogVHlwZSBleHRlbmRzIEFycmF5PGluZmVyIFg+XG4gICAgICAgICAgPyBYXG4gICAgICAgICAgOiBUeXBlIGV4dGVuZHMgT2JzZXJ2YWJsZTxpbmZlciBYPlxuICAgICAgICAgICAgPyBYIGV4dGVuZHMgQXJyYXk8aW5mZXIgVj5cbiAgICAgICAgICAgICAgICA/IFZcbiAgICAgICAgICAgICAgICA6IFhcbiAgICAgICAgICAgIDogVHlwZTtcbiJdfQ==","import { isDataSource } from '@fundamental-ngx/cdk/data-source';\nimport { isObservable } from 'rxjs';\nimport { ArrayTreeDataSource, ObservableTreeDataSource } from './tree-data-source';\nexport class TreeDataSourceParser {\n /**\n * Transforms plain array or observable into DataSource class.\n * @param source\n */\n parse(source) {\n if (isDataSource(source)) {\n return source;\n }\n if (Array.isArray(source)) {\n return new ArrayTreeDataSource(source);\n }\n if (isObservable(source)) {\n return new ObservableTreeDataSource(source);\n }\n return undefined;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1kYXRhLXNvdXJjZS1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS9kYXRhLXNvdXJjZS90cmVlLWRhdGEtc291cmNlLXBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUNILG1CQUFtQixFQUduQix3QkFBd0IsRUFDM0IsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixNQUFNLE9BQU8sb0JBQW9CO0lBQzdCOzs7T0FHRztJQUNILEtBQUssQ0FBQyxNQUFxQztRQUN2QyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sTUFBNkIsQ0FBQztRQUN6QyxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxJQUFJLG1CQUFtQixDQUFJLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSx3QkFBd0IsQ0FBSSxNQUFNLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZVBhcnNlciwgaXNEYXRhU291cmNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIEFycmF5VHJlZURhdGFTb3VyY2UsXG4gICAgRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2UsXG4gICAgRmRUcmVlRGF0YVNvdXJjZSxcbiAgICBPYnNlcnZhYmxlVHJlZURhdGFTb3VyY2Vcbn0gZnJvbSAnLi90cmVlLWRhdGEtc291cmNlJztcblxuZXhwb3J0IGNsYXNzIFRyZWVEYXRhU291cmNlUGFyc2VyPFQ+IGltcGxlbWVudHMgRGF0YVNvdXJjZVBhcnNlcjxULCBGZFRyZWVEYXRhU291cmNlPFQ+PiB7XG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtcyBwbGFpbiBhcnJheSBvciBvYnNlcnZhYmxlIGludG8gRGF0YVNvdXJjZSBjbGFzcy5cbiAgICAgKiBAcGFyYW0gc291cmNlXG4gICAgICovXG4gICAgcGFyc2Uoc291cmNlOiBGZFRyZWVBY2NlcHRhYmxlRGF0YVNvdXJjZTxUPik6IEZkVHJlZURhdGFTb3VyY2U8VD4gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoaXNEYXRhU291cmNlKHNvdXJjZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2UgYXMgRmRUcmVlRGF0YVNvdXJjZTxUPjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHNvdXJjZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQXJyYXlUcmVlRGF0YVNvdXJjZTxUPihzb3VyY2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzT2JzZXJ2YWJsZShzb3VyY2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGVUcmVlRGF0YVNvdXJjZTxUPihzb3VyY2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59XG4iXX0=","import { Directive, Input, TemplateRef, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class TreeItemDefDirective {\n constructor() {\n /** Template reference. */\n this.templateRef = inject(TemplateRef);\n }\n /** @hidden */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: TreeItemDefDirective, isStandalone: true, selector: \"[fdTreeItemDef]\", inputs: { fdTreeItemDefAs: \"fdTreeItemDefAs\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemDefDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdTreeItemDef]',\n standalone: true\n }]\n }], propDecorators: { fdTreeItemDefAs: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLWRlZi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS9kaXJlY3RpdmVzL3RyZWUtaXRlbS1kZWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUXRFLE1BQU0sT0FBTyxvQkFBb0I7SUFKakM7UUFXSSwwQkFBMEI7UUFDakIsZ0JBQVcsR0FBRyxNQUFNLENBQXFDLFdBQVcsQ0FBQyxDQUFDO0tBS2xGO0lBSkcsY0FBYztJQUNkLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxHQUF5QixFQUFFLEdBQXVCO1FBQzVFLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OEdBWlEsb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQU9HLGVBQWU7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyZWVJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL3RyZWUtaXRlbSc7XG5pbXBvcnQgeyBUcmVlSXRlbURlZkNvbnRleHQgfSBmcm9tICcuLi9tb2RlbHMvdHJlZS1pdGVtLWRlZi1jb250ZXh0JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRUcmVlSXRlbURlZl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVHJlZUl0ZW1EZWZEaXJlY3RpdmU8VCBleHRlbmRzIFRyZWVJdGVtID0gVHJlZUl0ZW0+IHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVXNlZCBmb3IgdHlwZSBzdXBwb3J0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmRUcmVlSXRlbURlZkFzOiBUO1xuICAgIC8qKiBUZW1wbGF0ZSByZWZlcmVuY2UuICovXG4gICAgcmVhZG9ubHkgdGVtcGxhdGVSZWYgPSBpbmplY3Q8VGVtcGxhdGVSZWY8VHJlZUl0ZW1EZWZDb250ZXh0PFQ+Pj4oVGVtcGxhdGVSZWYpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoZGlyOiBUcmVlSXRlbURlZkRpcmVjdGl2ZSwgY3R4OiBUcmVlSXRlbURlZkNvbnRleHQpOiBjdHggaXMgVHJlZUl0ZW1EZWZDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl19","import { Directive, Injector } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class TreeItemDirective {\n /** @hidden */\n constructor(injector) {\n this.injector = Injector.create({ providers: [], parent: injector });\n }\n /** Sets tree item. */\n setTreeItem(item) {\n this.treeItem = item;\n }\n /** @hidden */\n ngOnDestroy() {\n this.treeItem = null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: TreeItemDirective, isStandalone: true, selector: \"[fdTreeItem]\", exportAs: [\"fdTreeItem\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdTreeItem]',\n exportAs: 'fdTreeItem',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmVlL2RpcmVjdGl2ZXMvdHJlZS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFVL0QsTUFBTSxPQUFPLGlCQUFpQjtJQU8xQixjQUFjO0lBQ2QsWUFBWSxRQUFrQjtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxzQkFBc0I7SUFDdEIsV0FBVyxDQUFDLElBQWtDO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7OEdBcEJRLGlCQUFpQjtrR0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUw3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEJhc2VUcmVlSXRlbSB9IGZyb20gJy4uL21vZGVscy9iYXNlLXRyZWUtaXRlbS5jbGFzcyc7XG5pbXBvcnQgeyBUcmVlSXRlbSB9IGZyb20gJy4uL21vZGVscy90cmVlLWl0ZW0nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZFRyZWVJdGVtXScsXG4gICAgZXhwb3J0QXM6ICdmZFRyZWVJdGVtJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVJdGVtRGlyZWN0aXZlPFQgZXh0ZW5kcyBUcmVlSXRlbSwgUD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKiBUcmVlIGl0ZW0gY29tcG9uZW50IGluc3RhbmNlLiAqL1xuICAgIHRyZWVJdGVtOiBOdWxsYWJsZTxCYXNlVHJlZUl0ZW08VCwgUD4+O1xuXG4gICAgLyoqIEluamVjdG9yIHRvIGJlIHVzZWQgaW4gYSB0cmVlIGl0ZW0gY29tcG9uZW50LCB0byByZXNvbHZlIGEgdHJlZSBpdGVtIGRpcmVjdGl2ZS4gKi9cbiAgICByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICB0aGlzLmluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbXSwgcGFyZW50OiBpbmplY3RvciB9KTtcbiAgICB9XG5cbiAgICAvKiogU2V0cyB0cmVlIGl0ZW0uICovXG4gICAgc2V0VHJlZUl0ZW0oaXRlbTogTnVsbGFibGU8QmFzZVRyZWVJdGVtPFQsIFA+Pik6IHZvaWQge1xuICAgICAgICB0aGlzLnRyZWVJdGVtID0gaXRlbTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyZWVJdGVtID0gbnVsbDtcbiAgICB9XG59XG4iXX0=","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BaseTreeItem {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: BaseTreeItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: BaseTreeItem, isStandalone: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: BaseTreeItem, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10cmVlLWl0ZW0uY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS9tb2RlbHMvYmFzZS10cmVlLWl0ZW0uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7QUFNdEQsTUFBTSxPQUFnQixZQUFZOzhHQUFaLFlBQVk7a0dBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEakMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUsIFNlbGVjdGFibGVJdGVtVG9rZW4gfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBGZFRyZWVBY2NlcHRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJy4uL2RhdGEtc291cmNlL3RyZWUtZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHsgVHJlZUl0ZW0sIFRyZWVJdGVtU3RhdGUgfSBmcm9tICcuL3RyZWUtaXRlbSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUcmVlSXRlbTxUIGV4dGVuZHMgVHJlZUl0ZW0gPSBUcmVlSXRlbSwgUCA9IGFueT5cbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2VsZWN0YWJsZUl0ZW1Ub2tlbjxIVE1MRWxlbWVudCwgUD4+XG57XG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHZhbHVlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IHZhbHVlOiBQO1xuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBJRC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBpZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHBhcmVudCBJRC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBwYXJlbnRJZDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBpcyBuYXZpZ2F0YWJsZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBuYXZpZ2F0YWJsZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBzdGF0ZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBzdGF0ZTogTnVsbGFibGU8VHJlZUl0ZW1TdGF0ZT47XG5cbiAgICAvKipcbiAgICAgKiBUcmVlIGl0ZW0gY2hpbGQgbm9kZXMgZGF0YSBzb3VyY2UuXG4gICAgICovXG4gICAgYWJzdHJhY3QgY2hpbGROb2RlczogRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2U8VD47XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHdyYXAgY29udGVudC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCB3cmFwQ29udGVudDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBpcyBleHBhbmRlZC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBleHBhbmRlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBsZXZlbC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBsZXZlbDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIGNoaWxkcmVuLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGNoaWxkcmVuOiBUW107XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0cmVlIGl0ZW0gaGFzIGNvbnRlbnQgcHJvamVjdGVkIGNoaWxkIG5vZGVzLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGhhc1Byb2plY3RlZENoaWxkcmVuOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdHJlZSBpdGVtIGhhcyBjb250ZW50IHByb2plY3RlZCBjaGlsZCBub2RlcyBvciBkYXRhIHNvdXJjZSBmb3IgY2hpbGRyZW4uXG4gICAgICovXG4gICAgYWJzdHJhY3QgaGFzQ2hpbGRyZW46IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBGb2N1c2FibGUgdHJlZSBpdGVtIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBpdGVtQ29udGFpbmVyOiBOdWxsYWJsZTxFbGVtZW50UmVmPjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBpcyBrZXlib2FyZCBuYXZpZ2F0YWJsZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBrZXlib2FyZEFjY2Vzc2libGU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBUcmVlIGl0ZW0gc2VsZWN0YWJsZSBpdGVtLlxuICAgICAqL1xuICAgIGFic3RyYWN0IHNlbGVjdGFibGVMaXN0SXRlbTogU2VsZWN0YWJsZUl0ZW1Ub2tlbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBoYXMgRGF0YSBTb3VyY2UgY2hpbGRyZW4uXG4gICAgICovXG4gICAgYWJzdHJhY3QgaGFzRHNDaGlsZHJlbjogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGNoaWxkcmVuIG5vZGVzIGJlaW5nIGxvYWRlZCBmcm9tIHRoZSBEYXRhIFNvdXJjZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBjaGlsZHJlbkxvYWRlZDogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogTWV0aG9kIHRvIGZvY3VzIG9uIHRoZSB0cmVlIGl0ZW0uICovXG4gICAgYWJzdHJhY3QgZm9jdXMoKTogdm9pZDtcblxuICAgIC8qKiBNZXRob2QgdG8gc2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgaXRlbSBpbiBzZXQuICovXG4gICAgYWJzdHJhY3Qgc2V0UG9zaXRpb24odG90YWxJdGVtc0NvdW50OiBudW1iZXIsIGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZDtcblxuICAgIC8qKiBNZXRob2QgZm9yIHNldHRpbmcgdGhlIGZvY3VzYWJsZSB0YWJpbmRleC4gKi9cbiAgICBhYnN0cmFjdCBzZXRDb250YWluZXJUYWJJbmRleCh2YWx1ZTogbnVtYmVyKTogdm9pZDtcbn1cbiJdfQ==","import { Injectable, signal } from '@angular/core';\nimport { uuidv4 } from '@fundamental-ngx/cdk/utils';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class TreeService {\n constructor() {\n /**\n * @hidden\n */\n this.detectChanges = new Subject();\n /** @hidden */\n this._expandableItems = new Map();\n /** @hidden */\n this._selectionMode$ = signal({ mode: 'none', placement: 'none' }, ...(ngDevMode ? [{ debugName: \"_selectionMode$\" }] : []));\n /** @hidden */\n this._expandedLevel = signal(undefined, ...(ngDevMode ? [{ debugName: \"_expandedLevel\" }] : []));\n /** @hidden */\n this._navigationIndicator$ = signal(false, ...(ngDevMode ? [{ debugName: \"_navigationIndicator$\" }] : []));\n }\n /** Current expanded level. */\n get expandedLevel() {\n return this._expandedLevel.asReadonly();\n }\n /** Tree selection mode. */\n get selectionMode() {\n return this._selectionMode$.asReadonly();\n }\n /** Whether to show navigation indicator. */\n get navigationIndicator() {\n return this._navigationIndicator$.asReadonly();\n }\n /** Sets whether the navigation indicator should be visible. */\n setNavigationIndicator(value) {\n this._navigationIndicator$.set(value);\n }\n /** @hidden */\n normalizeTreeItems(items, parentId = null, level = 1) {\n if (!items) {\n return [];\n }\n return [...items].map((item) => ({\n ...item,\n ...{\n level,\n parentId,\n renderer: this.treeItemTemplateRef,\n id: item.id || uuidv4()\n }\n }));\n }\n /**\n * Adds expandable item to the object of expandable items.\n * @param id\n * @param level\n */\n addExpandableItem(id, level, expanded) {\n const levelCollection = this._expandableItems.get(level) || {};\n levelCollection[id] = expanded;\n this._expandableItems.set(level, levelCollection);\n this._emitNewExpandedLevel();\n }\n /**\n * Removes expandable item from the object of expandable items.\n * @param id\n * @param level\n */\n removeExpandableItem(id, level) {\n const levelCollection = this._expandableItems.get(level) || {};\n delete levelCollection[id];\n this._expandableItems.set(level, levelCollection);\n this._emitNewExpandedLevel();\n }\n /**\n * Sets selection mode and it's placement.\n * @param mode Selection mode.\n * @param placement Selection control placement.\n */\n setSelectionMode(mode, placement) {\n this._selectionMode$.set({ mode, placement });\n }\n /** @hidden */\n _emitNewExpandedLevel() {\n // We need to go from level 1 to deeper level since level 4 may be expanded, yet level 2 not.\n const levels = Array.from(this._expandableItems.keys()).sort();\n let lastLevel;\n for (const level of levels) {\n const levelExpandableItems = this._expandableItems.get(level);\n if (Object.values(levelExpandableItems).every((v) => !v)) {\n break;\n }\n lastLevel = level;\n }\n this._expandedLevel.set(lastLevel);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyZWUvdHJlZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQVksTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFZL0IsTUFBTSxPQUFPLFdBQVc7SUFEeEI7UUF1Qkk7O1dBRUc7UUFDTSxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFN0MsY0FBYztRQUNHLHFCQUFnQixHQUFHLElBQUksR0FBRyxFQUFzQyxDQUFDO1FBRWxGLGNBQWM7UUFDRyxvQkFBZSxHQUFHLE1BQU0sQ0FBcUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsMkRBQUMsQ0FBQztRQUVuRyxjQUFjO1FBQ0csbUJBQWMsR0FBRyxNQUFNLENBQXFCLFNBQVMsMERBQUMsQ0FBQztRQUV4RSxjQUFjO1FBQ0csMEJBQXFCLEdBQUcsTUFBTSxDQUFDLEtBQUssaUVBQUMsQ0FBQztLQThFMUQ7SUE1R0csOEJBQThCO0lBQzlCLElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsNENBQTRDO0lBQzVDLElBQUksbUJBQW1CO1FBQ25CLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFtQkQsK0RBQStEO0lBQy9ELHNCQUFzQixDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsY0FBYztJQUNkLGtCQUFrQixDQUNkLEtBQW9CLEVBQ3BCLFdBQTBCLElBQUksRUFDOUIsS0FBSyxHQUFHLENBQUM7UUFFVCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDaEMsR0FBRyxJQUFJO1lBQ1AsR0FBRztnQkFDQyxLQUFLO2dCQUNMLFFBQVE7Z0JBQ1IsUUFBUSxFQUFFLElBQUksQ0FBQyxtQkFBbUI7Z0JBQ2xDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLE1BQU0sRUFBRTthQUMxQjtTQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQkFBaUIsQ0FBQyxFQUFVLEVBQUUsS0FBYSxFQUFFLFFBQWlCO1FBQzFELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9ELGVBQWUsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxFQUFVLEVBQUUsS0FBYTtRQUMxQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvRCxPQUFPLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLElBQW1CLEVBQUUsU0FBNkI7UUFDL0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsY0FBYztJQUNOLHFCQUFxQjtRQUN6Qiw2RkFBNkY7UUFDN0YsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvRCxJQUFJLFNBQTZCLENBQUM7UUFFbEMsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN6QixNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFFLENBQUM7WUFFL0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZELE1BQU07WUFDVixDQUFDO1lBRUQsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN0QixDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs4R0FsSFEsV0FBVztrSEFBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgU2lnbmFsLCBUZW1wbGF0ZVJlZiwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSwgdXVpZHY0IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFzZVRyZWVJdGVtIH0gZnJvbSAnLi9tb2RlbHMvYmFzZS10cmVlLWl0ZW0uY2xhc3MnO1xuaW1wb3J0IHsgU2VsZWN0aW9uUGxhY2VtZW50LCBTZWxlY3Rpb25UeXBlIH0gZnJvbSAnLi9tb2RlbHMvc2VsZWN0aW9uLXR5cGUnO1xuaW1wb3J0IHsgVHJlZUl0ZW0sIFRyZWVJdGVtR2VuZXJpYyB9IGZyb20gJy4vbW9kZWxzL3RyZWUtaXRlbSc7XG5pbXBvcnQgeyBUcmVlSXRlbURlZkNvbnRleHQgfSBmcm9tICcuL21vZGVscy90cmVlLWl0ZW0tZGVmLWNvbnRleHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGlvbk1vZGVNb2RlbCB7XG4gICAgbW9kZTogU2VsZWN0aW9uVHlwZTtcbiAgICBwbGFjZW1lbnQ6IFNlbGVjdGlvblBsYWNlbWVudDtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyZWVTZXJ2aWNlIHtcbiAgICAvKiogVHJlZSBpdGVtIHRlbXBsYXRlIHJlZi4gKi9cbiAgICB0cmVlSXRlbVRlbXBsYXRlUmVmOiBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxUcmVlSXRlbURlZkNvbnRleHQ+PjtcblxuICAgIC8qKiBDdXJyZW50bHkgZm9jdXNlZCB0cmVlIGl0ZW0uICovXG4gICAgZm9jdXNlZFRyZWVJdGVtOiBOdWxsYWJsZTxCYXNlVHJlZUl0ZW0+O1xuXG4gICAgLyoqIEN1cnJlbnQgZXhwYW5kZWQgbGV2ZWwuICovXG4gICAgZ2V0IGV4cGFuZGVkTGV2ZWwoKTogU2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWRMZXZlbC5hc1JlYWRvbmx5KCk7XG4gICAgfVxuXG4gICAgLyoqIFRyZWUgc2VsZWN0aW9uIG1vZGUuICovXG4gICAgZ2V0IHNlbGVjdGlvbk1vZGUoKTogU2lnbmFsPFNlbGVjdGlvbk1vZGVNb2RlbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTW9kZSQuYXNSZWFkb25seSgpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRvIHNob3cgbmF2aWdhdGlvbiBpbmRpY2F0b3IuICovXG4gICAgZ2V0IG5hdmlnYXRpb25JbmRpY2F0b3IoKTogU2lnbmFsPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25JbmRpY2F0b3IkLmFzUmVhZG9ubHkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGV0ZWN0Q2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2V4cGFuZGFibGVJdGVtcyA9IG5ldyBNYXA8bnVtYmVyLCB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc2VsZWN0aW9uTW9kZSQgPSBzaWduYWw8U2VsZWN0aW9uTW9kZU1vZGVsPih7IG1vZGU6ICdub25lJywgcGxhY2VtZW50OiAnbm9uZScgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2V4cGFuZGVkTGV2ZWwgPSBzaWduYWw8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uYXZpZ2F0aW9uSW5kaWNhdG9yJCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogU2V0cyB3aGV0aGVyIHRoZSBuYXZpZ2F0aW9uIGluZGljYXRvciBzaG91bGQgYmUgdmlzaWJsZS4gKi9cbiAgICBzZXROYXZpZ2F0aW9uSW5kaWNhdG9yKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb25JbmRpY2F0b3IkLnNldCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBub3JtYWxpemVUcmVlSXRlbXM8VCBleHRlbmRzIFRyZWVJdGVtID0gVHJlZUl0ZW0+KFxuICAgICAgICBpdGVtczogTnVsbGFibGU8VFtdPixcbiAgICAgICAgcGFyZW50SWQ6IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICAgICAgICBsZXZlbCA9IDFcbiAgICApOiBUcmVlSXRlbTxUcmVlSXRlbUdlbmVyaWM8VD4+W10ge1xuICAgICAgICBpZiAoIWl0ZW1zKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFsuLi5pdGVtc10ubWFwKChpdGVtOiBUKSA9PiAoe1xuICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgIC4uLntcbiAgICAgICAgICAgICAgICBsZXZlbCxcbiAgICAgICAgICAgICAgICBwYXJlbnRJZCxcbiAgICAgICAgICAgICAgICByZW5kZXJlcjogdGhpcy50cmVlSXRlbVRlbXBsYXRlUmVmLFxuICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkIHx8IHV1aWR2NCgpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGV4cGFuZGFibGUgaXRlbSB0byB0aGUgb2JqZWN0IG9mIGV4cGFuZGFibGUgaXRlbXMuXG4gICAgICogQHBhcmFtIGlkXG4gICAgICogQHBhcmFtIGxldmVsXG4gICAgICovXG4gICAgYWRkRXhwYW5kYWJsZUl0ZW0oaWQ6IHN0cmluZywgbGV2ZWw6IG51bWJlciwgZXhwYW5kZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGV2ZWxDb2xsZWN0aW9uID0gdGhpcy5fZXhwYW5kYWJsZUl0ZW1zLmdldChsZXZlbCkgfHwge307XG4gICAgICAgIGxldmVsQ29sbGVjdGlvbltpZF0gPSBleHBhbmRlZDtcbiAgICAgICAgdGhpcy5fZXhwYW5kYWJsZUl0ZW1zLnNldChsZXZlbCwgbGV2ZWxDb2xsZWN0aW9uKTtcbiAgICAgICAgdGhpcy5fZW1pdE5ld0V4cGFuZGVkTGV2ZWwoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGV4cGFuZGFibGUgaXRlbSBmcm9tIHRoZSBvYmplY3Qgb2YgZXhwYW5kYWJsZSBpdGVtcy5cbiAgICAgKiBAcGFyYW0gaWRcbiAgICAgKiBAcGFyYW0gbGV2ZWxcbiAgICAgKi9cbiAgICByZW1vdmVFeHBhbmRhYmxlSXRlbShpZDogc3RyaW5nLCBsZXZlbDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxldmVsQ29sbGVjdGlvbiA9IHRoaXMuX2V4cGFuZGFibGVJdGVtcy5nZXQobGV2ZWwpIHx8IHt9O1xuICAgICAgICBkZWxldGUgbGV2ZWxDb2xsZWN0aW9uW2lkXTtcbiAgICAgICAgdGhpcy5fZXhwYW5kYWJsZUl0ZW1zLnNldChsZXZlbCwgbGV2ZWxDb2xsZWN0aW9uKTtcbiAgICAgICAgdGhpcy5fZW1pdE5ld0V4cGFuZGVkTGV2ZWwoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHNlbGVjdGlvbiBtb2RlIGFuZCBpdCdzIHBsYWNlbWVudC5cbiAgICAgKiBAcGFyYW0gbW9kZSBTZWxlY3Rpb24gbW9kZS5cbiAgICAgKiBAcGFyYW0gcGxhY2VtZW50IFNlbGVjdGlvbiBjb250cm9sIHBsYWNlbWVudC5cbiAgICAgKi9cbiAgICBzZXRTZWxlY3Rpb25Nb2RlKG1vZGU6IFNlbGVjdGlvblR5cGUsIHBsYWNlbWVudDogU2VsZWN0aW9uUGxhY2VtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUkLnNldCh7IG1vZGUsIHBsYWNlbWVudCB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2VtaXROZXdFeHBhbmRlZExldmVsKCk6IHZvaWQge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIGZyb20gbGV2ZWwgMSB0byBkZWVwZXIgbGV2ZWwgc2luY2UgbGV2ZWwgNCBtYXkgYmUgZXhwYW5kZWQsIHlldCBsZXZlbCAyIG5vdC5cbiAgICAgICAgY29uc3QgbGV2ZWxzID0gQXJyYXkuZnJvbSh0aGlzLl9leHBhbmRhYmxlSXRlbXMua2V5cygpKS5zb3J0KCk7XG4gICAgICAgIGxldCBsYXN0TGV2ZWw6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgICAgICBmb3IgKGNvbnN0IGxldmVsIG9mIGxldmVscykge1xuICAgICAgICAgICAgY29uc3QgbGV2ZWxFeHBhbmRhYmxlSXRlbXMgPSB0aGlzLl9leHBhbmRhYmxlSXRlbXMuZ2V0KGxldmVsKSE7XG5cbiAgICAgICAgICAgIGlmIChPYmplY3QudmFsdWVzKGxldmVsRXhwYW5kYWJsZUl0ZW1zKS5ldmVyeSgodikgPT4gIXYpKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhc3RMZXZlbCA9IGxldmVsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZXhwYW5kZWRMZXZlbC5zZXQobGFzdExldmVsKTtcbiAgICB9XG59XG4iXX0=","import { __decorate, __metadata } from \"tslib\";\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectorRef, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, EventEmitter, HostListener, Input, Output, QueryList, ViewChildren, ViewEncapsulation, effect, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DataSourceDirective, FD_DATA_SOURCE_TRANSFORMER } from '@fundamental-ngx/cdk/data-source';\nimport { CvaDirective } from '@fundamental-ngx/cdk/forms';\nimport { KeyUtil, RepeatDirective, RtlService, SelectableItemDirective, SelectionService, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { SkeletonComponent } from '@fundamental-ngx/core/skeleton';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { Subscription, filter, fromEvent, startWith, switchMap } from 'rxjs';\nimport { TreeDataSourceParser } from './data-source/tree-data-source-parser';\nimport { TreeItemDefDirective } from './directives/tree-item-def.directive';\nimport { TreeItemDirective } from './directives/tree-item.directive';\nimport { BaseTreeItem } from './models/base-tree-item.class';\nimport { TreeService } from './tree.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@fundamental-ngx/cdk/data-source\";\nimport * as i2 from \"@fundamental-ngx/cdk/forms\";\nexport class TreeComponent {\n /**\n * Whether the Tree component has navigation indicators.\n */\n set navigationIndicator(value) {\n if (value === this._navigationIndicator) {\n return;\n }\n this._navigationIndicator = value;\n this._treeService.setNavigationIndicator(value);\n }\n get navigationIndicator() {\n return this._navigationIndicator;\n }\n /** Tree item template definition. */\n set treeItemDef(value) {\n this._treeItemDef = value;\n // Set new renderer\n this._treeService.treeItemTemplateRef = value?.templateRef;\n this._items = this._treeService.normalizeTreeItems(this._items);\n }\n get treeItemDef() {\n return this._treeItemDef;\n }\n /** @hidden */\n get multiple() {\n return this.selection === 'multiple';\n }\n /** @hidden */\n get toggle() {\n return true;\n }\n /** @hidden */\n constructor() {\n /**\n * Whether the tree should be borderless.\n */\n this.noBorder = false;\n /** Type of tree items selection. */\n this.selection = 'none';\n /** Placement of the selection control. */\n this.selectionPlacement = 'none';\n /**\n * Whether the sections should be dependent for selection mode.\n * If true, selection control will shift, according to the level.\n * If false, selection control will stay on the same place ignoring the item level.\n */\n this.independentSections = false;\n /** Event emitted when data loading is started. */\n this.dataRequested = new EventEmitter();\n /** Event emitted when data loading is finished. */\n this.dataReceived = new EventEmitter();\n /** Event emitted when selected state changed. */\n this.selectedChange = new EventEmitter();\n /** @hidden */\n this._items = [];\n /**\n * @hidden\n * Used for skeleton to appear before first meaningful data being loaded.\n */\n this._initialDataLoaded = false;\n /** @hidden */\n this.elementRef = inject(ElementRef);\n /** @hidden */\n this._treeService = inject(TreeService);\n /** @hidden */\n this._navigationIndicator = false;\n /** @hidden */\n this._contentDensityObserver = inject(ContentDensityObserver);\n /** @hidden */\n this._dataSourceDirective = inject(DataSourceDirective);\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** @hidden */\n this._selectionService = inject(SelectionService);\n /** @hidden */\n this._rtl = inject(RtlService, {\n optional: true\n });\n /** @hidden */\n this._cvaDirective = inject(CvaDirective);\n /** @hidden */\n this._cdr = inject(ChangeDetectorRef);\n /** @hidden */\n this._dsSubscription = null;\n /**\n * @hidden\n * Sorted tree item components.\n */\n this._sortedTreeItems = [];\n /**\n * @hidden\n * All tree item components.\n */\n this._allItems = [];\n this._selectionService.registerRootComponent(this);\n this._contentDensityObserver.subscribe();\n effect(() => {\n this._expandedLevel = this._treeService.expandedLevel();\n this.buildComponentCssClass();\n });\n }\n /** @hidden */\n buildComponentCssClass() {\n return [\n this.class,\n this._expandedLevel ? `expanded-level-${this._expandedLevel}` : '',\n this.noBorder ? 'fd-tree--no-border' : '',\n this._items.length === 0 && this._initialDataLoaded ? 'fd-tree--no-data' : '',\n this.independentSections ? 'fd-tree--independent-multi-selection' : '',\n 'fd-tree'\n ];\n }\n /**\n * @hidden\n * Keyboard navigation\n * @param event Keyboard event.\n */\n _onKeyUp(event) {\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n if (event.defaultPrevented) {\n return;\n }\n event.preventDefault();\n this._focusKeyManager?.onKeydown(event);\n }\n }\n /** @hidden */\n ngOnInit() {\n this._openDataStream();\n this.buildComponentCssClass();\n this._treeService.detectChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._cdr.detectChanges();\n });\n if (this.selection !== 'none') {\n this._selectionService.setValue(this._cvaDirective.value);\n this._cvaDirective.ngControl?.valueChanges?.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._selectionService.setValue(this._cvaDirective.value);\n });\n }\n }\n /** @hidden */\n ngOnChanges(changes) {\n this.buildComponentCssClass();\n if ('selection' in changes || 'selectionPlacement' in changes) {\n this._treeService.setSelectionMode(this.selection, this.selectionPlacement);\n this._setSelectionListener();\n }\n }\n /** @hidden */\n ngAfterViewInit() {\n this._listenToTreeItemsChanges();\n this._listenToTreeItemDirectiveChanges();\n }\n /** @hidden */\n ngOnDestroy() {\n this._dsSubscription?.unsubscribe();\n this._eventSub?.unsubscribe();\n this._selectionSub?.unsubscribe();\n }\n /** @hidden */\n _onItemFocused(treeItem) {\n let focusedIndex = -1;\n this._sortedTreeItems.forEach((item, index) => {\n const isFocused = treeItem === item;\n item.setContainerTabIndex(isFocused ? 0 : -1);\n if (isFocused) {\n focusedIndex = index;\n }\n });\n if (focusedIndex === -1) {\n return;\n }\n this._focusKeyManager.setActiveItem(focusedIndex);\n }\n /** @hidden */\n _onItemKeyDown(event, treeItem) {\n if (!treeItem) {\n return;\n }\n const isRtl = !!this._rtl?.rtlSignal();\n const expandKey = isRtl ? LEFT_ARROW : RIGHT_ARROW;\n const collapseKey = isRtl ? RIGHT_ARROW : LEFT_ARROW;\n if (KeyUtil.isKeyCode(event, expandKey) && (treeItem.hasDsChildren || treeItem.hasProjectedChildren)) {\n if (event.defaultPrevented) {\n return;\n }\n event.preventDefault();\n this._expandTreeSection(treeItem);\n return;\n }\n if (KeyUtil.isKeyCode(event, collapseKey)) {\n if (event.defaultPrevented) {\n return;\n }\n event.preventDefault();\n this._collapseTreeSection(treeItem);\n return;\n }\n }\n /** @hidden */\n _trackFn(index, item) {\n return item.id;\n }\n /**\n * @hidden\n * Select list interface method implementation.\n * Sets value for control value accessor and emits it.\n * @param value value of the selection.\n */\n onChange(value) {\n this._cvaDirective.setValue(value, true);\n }\n /** @hidden */\n _expandTreeSection(treeItem) {\n if (treeItem.expanded) {\n // Shift focus on the first child item\n const itemIndex = this._sortedTreeItems.findIndex((item) => item.id === treeItem.id);\n const nextItem = this._sortedTreeItems[itemIndex + 1];\n if (nextItem?.parentId === treeItem.id) {\n this._focusKeyManager.setActiveItem(itemIndex + 1);\n }\n return;\n }\n treeItem.expanded = true;\n this._cdr.detectChanges();\n }\n /** @hidden */\n _collapseTreeSection(treeItem) {\n if (!treeItem.expanded && treeItem.parentId) {\n const parentItemIndex = this._sortedTreeItems.findIndex((item) => item.id === treeItem.parentId);\n if (parentItemIndex > -1) {\n this._focusKeyManager.setActiveItem(parentItemIndex);\n return;\n }\n }\n treeItem.expanded = false;\n this._cdr.detectChanges();\n }\n /** @hidden */\n _openDataStream() {\n this._dsSubscription?.unsubscribe();\n this._dsSubscription = new Subscription();\n this._dsSubscription.add(this._dataSourceDirective.dataSourceProvider?.dataRequested.subscribe(this.dataRequested));\n this._dsSubscription.add(this._dataSourceDirective.dataSourceProvider?.dataReceived.subscribe(this.dataReceived));\n this._dsSubscription.add(this._dataSourceDirective.dataSourceProvider?.dataReceived\n .pipe(filter((received) => received), switchMap(() => this._dataSourceDirective.dataChanged$))\n .subscribe((data) => {\n this._initialDataLoaded = true;\n this._items = this._treeService.normalizeTreeItems(data);\n this.buildComponentCssClass();\n this._cdr.markForCheck();\n }));\n this._dataSourceDirective.dataSourceProvider?.match();\n }\n /** @hidden */\n _setupEventListeners() {\n this._eventSub?.unsubscribe();\n this._eventSub = new Subscription();\n this._sortedTreeItems.forEach((item) => {\n this._eventSub.add(fromEvent(item.elementRef.nativeElement, 'keydown').subscribe((event) => {\n this._onItemKeyDown(event, item);\n }));\n this._eventSub.add(fromEvent(item.itemContainer?.nativeElement, 'focus').subscribe(() => {\n this._onItemFocused(item);\n }));\n });\n }\n /** @hidden */\n _sortTreeItems(items) {\n const components = [];\n const rootItems = items.filter((item) => item.level === 1);\n rootItems.forEach((treeItem, index) => {\n treeItem.setPosition(rootItems.length, index + 1);\n });\n items.forEach((item) => {\n if (!item || components.includes(item)) {\n return;\n }\n components.push(item);\n if (item.children.length === 0) {\n return;\n }\n const childItems = this._sortTreeItems(this._allItems.filter((i) => i.parentId === item.id));\n childItems.forEach((treeItem, index) => {\n treeItem.setPosition(childItems.length, index + 1);\n });\n components.push(...childItems);\n });\n return components;\n }\n /** @hidden */\n _setSelectionListener() {\n this._selectionSub?.unsubscribe();\n if (this.selection !== 'none') {\n this._selectionService.setValue(this._cvaDirective.value);\n this._selectionSub = this._cvaDirective.ngControl?.valueChanges\n ?.pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._selectionService.setValue(this._cvaDirective.value);\n });\n }\n }\n /** @hidden */\n _listenToTreeItemDirectiveChanges() {\n this._treeItemDirectives.changes\n .pipe(startWith(null), filter(() => this.treeItemDef !== undefined), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._allItems = this._treeItemDirectives.toArray().map((item) => item.treeItem);\n const flattenedItems = this._sortTreeItems(this._allItems);\n this._setFlattenedItems(flattenedItems);\n });\n }\n /** @hidden */\n _listenToTreeItemsChanges() {\n this._projectedTreeItems.changes\n .pipe(startWith(null), filter(() => !this.treeItemDef), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._allItems = this._projectedTreeItems.toArray();\n const flattenedItems = this._sortTreeItems(this._allItems);\n this._setFlattenedItems(flattenedItems);\n });\n }\n /** @hidden */\n _setFlattenedItems(items) {\n this._sortedTreeItems = items;\n const activeItem = this._focusKeyManager?.activeItem;\n const newActiveItemIndex = items.findIndex((item) => item === activeItem);\n this._focusKeyManager?.destroy();\n this._focusKeyManager = new FocusKeyManager(items)\n .withVerticalOrientation(true)\n .skipPredicate((item) => !item.keyboardAccessible);\n if (newActiveItemIndex > -1) {\n this._focusKeyManager.setActiveItem(newActiveItemIndex);\n }\n this._selectionService.initialize(this._sortedTreeItems.map((item) => item.selectableListItem));\n this._setupEventListeners();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: TreeComponent, isStandalone: true, selector: \"fd-tree\", inputs: { class: \"class\", noBorder: \"noBorder\", selection: \"selection\", selectionPlacement: \"selectionPlacement\", independentSections: \"independentSections\", navigationIndicator: \"navigationIndicator\" }, outputs: { dataRequested: \"dataRequested\", dataReceived: \"dataReceived\", selectedChange: \"selectedChange\" }, host: { attributes: { \"role\": \"tree\" }, listeners: { \"keydown\": \"_onKeyUp($event)\" } }, providers: [\n contentDensityObserverProviders(),\n TreeService,\n SelectionService,\n {\n provide: FD_DATA_SOURCE_TRANSFORMER,\n useClass: TreeDataSourceParser\n }\n ], queries: [{ propertyName: \"treeItemDef\", first: true, predicate: TreeItemDefDirective, descendants: true }, { propertyName: \"_projectedTreeItems\", predicate: BaseTreeItem, descendants: true }], viewQueries: [{ propertyName: \"_treeItemDirectives\", predicate: TreeItemDirective, descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.DataSourceDirective, inputs: [\"dataSource\", \"dataSource\"], outputs: [\"dataChanged\", \"dataChanged\"] }, { directive: i2.CvaDirective, inputs: [\"name\", \"name\", \"id\", \"id\", \"state\", \"state\", \"stateMessage\", \"stateMessage\", \"disabled\", \"disabled\", \"readonly\", \"readonly\"] }], ngImport: i0, template: \"<ng-template #dataSourceRenderer>\\n <ng-template\\n [ngTemplateOutlet]=\\\"!_initialDataLoaded ? loadingRenderer : dataLoadedTpl\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: 1 }\\\"\\n ></ng-template>\\n <ng-template #loadingRenderer let-level>\\n <div *fdkRepeat=\\\"5\\\" role=\\\"treeitem\\\" [attr.aria-level]=\\\"level\\\" class=\\\"fd-tree__item\\\">\\n <div class=\\\"fd-tree__item-container\\\">\\n <div class=\\\"fd-tree__content\\\">\\n <span class=\\\"fd-tree__text\\\">\\n <fd-skeleton type=\\\"text\\\" width=\\\"100px\\\" textLines=\\\"1\\\"></fd-skeleton>\\n </span>\\n </div>\\n </div>\\n </div>\\n </ng-template>\\n <ng-template #dataLoadedTpl>\\n @if (_items.length > 0 && treeItemDef) {\\n @for (item of _items; track _trackFn($index, item)) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"renderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item }\\\"\\n ></ng-template>\\n }\\n } @else {\\n <div role=\\\"treeitem\\\" aria-level=\\\"1\\\" class=\\\"fd-tree__item\\\">\\n <div class=\\\"fd-tree__item-container\\\">\\n <div class=\\\"fd-tree__content\\\">\\n <span class=\\\"fd-tree__text\\\">{{ 'coreTree.noData' | fdTranslate }}</span>\\n </div>\\n </div>\\n </div>\\n }\\n </ng-template>\\n <ng-template #renderer let-item>\\n <ng-container fdTreeItem fdkSelectableItem #treeItemDirective=\\\"fdTreeItem\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.renderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item }\\\"\\n [ngTemplateOutletInjector]=\\\"treeItemDirective.injector\\\"\\n ></ng-template>\\n </ng-container>\\n @if (\\n treeItemDirective.treeItem?.hasDsChildren &&\\n !!treeItemDirective.treeItem?.expanded &&\\n !treeItemDirective.treeItem?.childrenLoaded\\n ) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"loadingRenderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item.level + 1 }\\\"\\n ></ng-template>\\n }\\n @if (treeItemDirective.treeItem?.children; as childItems) {\\n @if (childItems && childItems.length > 0 && !!treeItemDirective?.treeItem?.expanded) {\\n <div class=\\\"fd-tree\\\">\\n @for (child of childItems; track _trackFn($index, child)) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"renderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"\\n ></ng-template>\\n }\\n </div>\\n }\\n }\\n </ng-template>\\n</ng-template>\\n<ng-template #projectedContentRenderer>\\n <ng-content select=\\\"fd-tree-item\\\"></ng-content>\\n</ng-template>\\n<ng-template [ngTemplateOutlet]=\\\"treeItemDef ? dataSourceRenderer : projectedContentRenderer\\\"></ng-template>\\n\", styles: [\":root{--fdList_Item_Background_Color:var(--sapList_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor);--fdList_Item_Text_Font_Size:var(--sapFontLargeSize);--fdList_Item_Icon_Font_Size:1.125rem;--fdList_Item_Height:var(--sapElement_LineHeight);--fdList_Status_Text_Color:var(--sapNeutralTextColor);--fdList_Message_Background_Color:var(--sapNeutralBackground)}.fd-tree{--fdTree_Button_Spacing:var(--fdList_Button_Spacing);--fdTree_Expander_Size:2.75rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Height:2.75rem;--fdTree_Item_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Wrap_Text_Line_Height:1.4;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;list-style-type:none;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:100%}.fd-tree[class*=-compact],.fd-tree[class*=-condensed],[class*=-compact] .fd-tree:not([class*=-cozy]),[class*=-condensed] .fd-tree:not([class*=-cozy]){--fdTree_Expander_Size:2rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontSmallSize);--fdTree_Item_Height:2rem;--fdTree_Item_Font_Size:var(--sapFontSize);--fdTree_Item_Wrap_Text_Line_Height:1.4}.fd-tree .has-highlight-indicator{--fdTree_Item_Highlight_Color:var(--sapInformationBorderColor);-webkit-box-shadow:inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator--error{--fdTree_Item_Highlight_Color:var(--sapErrorBorderColor)}.fd-tree .has-highlight-indicator--warning{--fdTree_Item_Highlight_Color:var(--sapWarningBorderColor)}.fd-tree .has-highlight-indicator--success{--fdTree_Item_Highlight_Color:var(--sapSuccessBorderColor)}.fd-tree .has-highlight-indicator[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator{-webkit-box-shadow:inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated{-webkit-box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor),inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor),inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator.is-navigated{-webkit-box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor),inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor),inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander{-webkit-margin-start:var(--fdTree_Item_Level_Spacing);margin-inline-start:var(--fdTree_Item_Level_Spacing)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content{-webkit-margin-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size));margin-inline-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content,.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child{-webkit-margin-start:0;margin-inline-start:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content{-webkit-margin-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size));margin-inline-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree.expanded-level-1 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"2\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"2\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"3\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"3\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"4\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"4\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"5\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"5\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"6\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"6\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree .fd-tree__item-container .fd-form-item:first-child label,.fd-tree .fd-tree__item-container .fd-tree__expander+.fd-form-item label{margin-block:0;margin-inline:0}.fd-tree .fd-tree__expander+.fd-tree__content{-webkit-margin-start:0;margin-inline-start:0}.fd-tree:after,.fd-tree:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree[aria-hidden=true]{display:none}.fd-tree__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-tree__item:after,.fd-tree__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container{background:var(--sapList_Background);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-button,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__item-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--sapList_AlternatingBackground);border-bottom:var(--sapList_BorderWidth) solid transparent;min-height:var(--fdTree_Item_Height);position:relative;width:100%;-webkit-padding-end:1rem;padding-inline-end:1rem}.fd-tree__item-container:after,.fd-tree__item-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__item-container.is-selected,.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item-container.is-navigated{-webkit-box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor);box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-navigated[dir=rtl],[dir=rtl] .fd-tree__item-container.is-navigated{-webkit-box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor);box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-focus,.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree__item-container.is-focus:before,.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item-container.is-focus.is-active:before,.fd-tree__item-container.is-focus:active:before,.fd-tree__item-container:focus.is-active:before,.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item-container--active.is-hover,.fd-tree__item-container--active:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree__item-container--active.is-selected,.fd-tree__item-container--active[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree__item-container--active.is-active,.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item-container--active.is-active:hover,.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item-container--active:active,.fd-tree__item-container--active:active.is-hover,.fd-tree__item-container--active:active.is-selected,.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item-container--active:active:hover,.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item-container--active:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree__item-container--active.is-focus,.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item-container--active.is-focus:before,.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item-container--active:active .fd-button,.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__button{-webkit-margin-start:var(--fdTree_Button_Spacing);margin-inline-start:var(--fdTree_Button_Spacing)}.fd-tree__expander{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;background-image:none;background:transparent;border:0;border-radius:var(--sapButton_BorderCornerRadius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapButton_IconColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size);outline:0;padding-block:0;padding-inline:0;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.fd-tree__expander:after,.fd-tree__expander:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__expander::-moz-focus-inner{border:0}.fd-tree__expander.is-focus,.fd-tree__expander:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--fdButton_Outline_Offset);z-index:5}.fd-tree__expander .fd-tree__icon{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-tree__expander .fd-tree__icon:after,.fd-tree__expander .fd-tree__icon:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__expander .fd-tree__icon [class*=sap-icon],.fd-tree__expander .fd-tree__icon[class*=sap-icon]{color:var(--sapButton_IconColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:var(--fdTree_Expander_Icon_Font_Size);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-tree__expander[dir=rtl] .fd-tree__icon,[dir=rtl] .fd-tree__expander .fd-tree__icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fd-tree__expander.is-expanded,.fd-tree__expander[aria-expanded=true]{border-bottom:none}.fd-tree__expander.is-expanded[dir=rtl] .fd-tree__icon,.fd-tree__expander[aria-expanded=true][dir=rtl] .fd-tree__icon,[dir=rtl] .fd-tree__expander.is-expanded .fd-tree__icon,[dir=rtl] .fd-tree__expander[aria-expanded=true] .fd-tree__icon{-webkit-transform:rotate(0);transform:rotate(0)}.fd-tree__content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:var(--fdTree_Item_Height);text-decoration:none;width:100%}.fd-tree__content:after,.fd-tree__content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__content--wrap,.fd-tree__content--wrap .fd-tree__text{overflow:visible;text-overflow:clip;white-space:normal}.fd-tree__content--wrap .fd-tree__text{line-height:var(--fdTree_Item_Wrap_Text_Line_Height)}.fd-tree__icon{line-height:var(--fdTree_Expander_Size);min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size)}.fd-tree__icon,.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{color:var(--sapContent_NonInteractiveIconColor);font-size:1.125rem}.fd-tree__icon--navigation [class*=sap-icon],.fd-tree__icon--navigation[class*=sap-icon]{font-size:.75rem;min-width:2.5rem}.fd-tree__icon--navigation:last-child{-webkit-margin-end:-1rem;margin-inline-end:-1rem}.fd-tree__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--fdTree_Item_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:var(--fdTree_Item_Height);margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.fd-tree__text:after,.fd-tree__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree--no-border .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container{border-bottom:var(--sapList_BorderWidth) solid transparent}.fd-tree--no-border .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-selected,.fd-tree--no-border .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container[aria-selected=true]{border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--active .fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item-container:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree--active .fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item-container[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item-container:active,.fd-tree--active .fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--no-data .fd-tree__text{text-align:center}.fd-tree{display:block}.fd-tree__expander--loading{display:flex;align-items:center;justify-content:center}[dir=rtl] .fd-tree__expander:not(.is-expanded),.fd-tree__expander:not(.is-expanded)[dir=rtl]{transform:rotate(180deg)}[dir=rtl] .fd-tree__icon--navigation,.fd-tree__icon--navigation[dir=rtl]{transform:rotate(180deg)}\\n/*! Bundled license information:\\n\\nfundamental-styles/dist/tree.css:\\n (*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\\n *)\\n*/\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: RepeatDirective, selector: \"[fdkRepeat]\", inputs: [\"fdkRepeat\"] }, { kind: \"component\", type: SkeletonComponent, selector: \"fd-skeleton\", inputs: [\"animated\", \"type\", \"textLines\", \"width\", \"height\"] }, { kind: \"directive\", type: TreeItemDirective, selector: \"[fdTreeItem]\", exportAs: [\"fdTreeItem\"] }, { kind: \"directive\", type: SelectableItemDirective, selector: \"[fdkSelectableItem]\", inputs: [\"value\", \"fdkSelectableItem\"], outputs: [\"clicked\", \"selected\"], exportAs: [\"fdkSelectableItem\"] }, { kind: \"pipe\", type: FdTranslatePipe, name: \"fdTranslate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\n__decorate([\n applyCssClass,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Array)\n], TreeComponent.prototype, \"buildComponentCssClass\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-tree', encapsulation: ViewEncapsulation.None, hostDirectives: [\n {\n directive: DataSourceDirective,\n inputs: ['dataSource'],\n outputs: ['dataChanged']\n },\n {\n directive: CvaDirective,\n inputs: ['name', 'id', 'state', 'stateMessage', 'disabled', 'readonly']\n }\n ], host: {\n role: 'tree'\n }, providers: [\n contentDensityObserverProviders(),\n TreeService,\n SelectionService,\n {\n provide: FD_DATA_SOURCE_TRANSFORMER,\n useClass: TreeDataSourceParser\n }\n ], imports: [\n NgTemplateOutlet,\n RepeatDirective,\n SkeletonComponent,\n TreeItemDirective,\n SelectableItemDirective,\n FdTranslatePipe\n ], template: \"<ng-template #dataSourceRenderer>\\n <ng-template\\n [ngTemplateOutlet]=\\\"!_initialDataLoaded ? loadingRenderer : dataLoadedTpl\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: 1 }\\\"\\n ></ng-template>\\n <ng-template #loadingRenderer let-level>\\n <div *fdkRepeat=\\\"5\\\" role=\\\"treeitem\\\" [attr.aria-level]=\\\"level\\\" class=\\\"fd-tree__item\\\">\\n <div class=\\\"fd-tree__item-container\\\">\\n <div class=\\\"fd-tree__content\\\">\\n <span class=\\\"fd-tree__text\\\">\\n <fd-skeleton type=\\\"text\\\" width=\\\"100px\\\" textLines=\\\"1\\\"></fd-skeleton>\\n </span>\\n </div>\\n </div>\\n </div>\\n </ng-template>\\n <ng-template #dataLoadedTpl>\\n @if (_items.length > 0 && treeItemDef) {\\n @for (item of _items; track _trackFn($index, item)) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"renderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item }\\\"\\n ></ng-template>\\n }\\n } @else {\\n <div role=\\\"treeitem\\\" aria-level=\\\"1\\\" class=\\\"fd-tree__item\\\">\\n <div class=\\\"fd-tree__item-container\\\">\\n <div class=\\\"fd-tree__content\\\">\\n <span class=\\\"fd-tree__text\\\">{{ 'coreTree.noData' | fdTranslate }}</span>\\n </div>\\n </div>\\n </div>\\n }\\n </ng-template>\\n <ng-template #renderer let-item>\\n <ng-container fdTreeItem fdkSelectableItem #treeItemDirective=\\\"fdTreeItem\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.renderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item }\\\"\\n [ngTemplateOutletInjector]=\\\"treeItemDirective.injector\\\"\\n ></ng-template>\\n </ng-container>\\n @if (\\n treeItemDirective.treeItem?.hasDsChildren &&\\n !!treeItemDirective.treeItem?.expanded &&\\n !treeItemDirective.treeItem?.childrenLoaded\\n ) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"loadingRenderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item.level + 1 }\\\"\\n ></ng-template>\\n }\\n @if (treeItemDirective.treeItem?.children; as childItems) {\\n @if (childItems && childItems.length > 0 && !!treeItemDirective?.treeItem?.expanded) {\\n <div class=\\\"fd-tree\\\">\\n @for (child of childItems; track _trackFn($index, child)) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"renderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"\\n ></ng-template>\\n }\\n </div>\\n }\\n }\\n </ng-template>\\n</ng-template>\\n<ng-template #projectedContentRenderer>\\n <ng-content select=\\\"fd-tree-item\\\"></ng-content>\\n</ng-template>\\n<ng-template [ngTemplateOutlet]=\\\"treeItemDef ? dataSourceRenderer : projectedContentRenderer\\\"></ng-template>\\n\", styles: [\":root{--fdList_Item_Background_Color:var(--sapList_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor);--fdList_Item_Text_Font_Size:var(--sapFontLargeSize);--fdList_Item_Icon_Font_Size:1.125rem;--fdList_Item_Height:var(--sapElement_LineHeight);--fdList_Status_Text_Color:var(--sapNeutralTextColor);--fdList_Message_Background_Color:var(--sapNeutralBackground)}.fd-tree{--fdTree_Button_Spacing:var(--fdList_Button_Spacing);--fdTree_Expander_Size:2.75rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Height:2.75rem;--fdTree_Item_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Wrap_Text_Line_Height:1.4;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;list-style-type:none;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:100%}.fd-tree[class*=-compact],.fd-tree[class*=-condensed],[class*=-compact] .fd-tree:not([class*=-cozy]),[class*=-condensed] .fd-tree:not([class*=-cozy]){--fdTree_Expander_Size:2rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontSmallSize);--fdTree_Item_Height:2rem;--fdTree_Item_Font_Size:var(--sapFontSize);--fdTree_Item_Wrap_Text_Line_Height:1.4}.fd-tree .has-highlight-indicator{--fdTree_Item_Highlight_Color:var(--sapInformationBorderColor);-webkit-box-shadow:inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator--error{--fdTree_Item_Highlight_Color:var(--sapErrorBorderColor)}.fd-tree .has-highlight-indicator--warning{--fdTree_Item_Highlight_Color:var(--sapWarningBorderColor)}.fd-tree .has-highlight-indicator--success{--fdTree_Item_Highlight_Color:var(--sapSuccessBorderColor)}.fd-tree .has-highlight-indicator[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator{-webkit-box-shadow:inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated{-webkit-box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor),inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor),inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator.is-navigated{-webkit-box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor),inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor),inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander{-webkit-margin-start:var(--fdTree_Item_Level_Spacing);margin-inline-start:var(--fdTree_Item_Level_Spacing)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content{-webkit-margin-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size));margin-inline-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content,.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child{-webkit-margin-start:0;margin-inline-start:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content{-webkit-margin-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size));margin-inline-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree.expanded-level-1 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"2\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"2\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"3\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"3\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"4\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"4\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"5\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"5\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"6\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"6\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree .fd-tree__item-container .fd-form-item:first-child label,.fd-tree .fd-tree__item-container .fd-tree__expander+.fd-form-item label{margin-block:0;margin-inline:0}.fd-tree .fd-tree__expander+.fd-tree__content{-webkit-margin-start:0;margin-inline-start:0}.fd-tree:after,.fd-tree:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree[aria-hidden=true]{display:none}.fd-tree__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-tree__item:after,.fd-tree__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container{background:var(--sapList_Background);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-button,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__item-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--sapList_AlternatingBackground);border-bottom:var(--sapList_BorderWidth) solid transparent;min-height:var(--fdTree_Item_Height);position:relative;width:100%;-webkit-padding-end:1rem;padding-inline-end:1rem}.fd-tree__item-container:after,.fd-tree__item-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__item-container.is-selected,.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item-container.is-navigated{-webkit-box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor);box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-navigated[dir=rtl],[dir=rtl] .fd-tree__item-container.is-navigated{-webkit-box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor);box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-focus,.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree__item-container.is-focus:before,.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item-container.is-focus.is-active:before,.fd-tree__item-container.is-focus:active:before,.fd-tree__item-container:focus.is-active:before,.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item-container--active.is-hover,.fd-tree__item-container--active:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree__item-container--active.is-selected,.fd-tree__item-container--active[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree__item-container--active.is-active,.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item-container--active.is-active:hover,.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item-container--active:active,.fd-tree__item-container--active:active.is-hover,.fd-tree__item-container--active:active.is-selected,.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item-container--active:active:hover,.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item-container--active:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree__item-container--active.is-focus,.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item-container--active.is-focus:before,.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item-container--active:active .fd-button,.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__button{-webkit-margin-start:var(--fdTree_Button_Spacing);margin-inline-start:var(--fdTree_Button_Spacing)}.fd-tree__expander{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;background-image:none;background:transparent;border:0;border-radius:var(--sapButton_BorderCornerRadius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapButton_IconColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size);outline:0;padding-block:0;padding-inline:0;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.fd-tree__expander:after,.fd-tree__expander:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__expander::-moz-focus-inner{border:0}.fd-tree__expander.is-focus,.fd-tree__expander:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--fdButton_Outline_Offset);z-index:5}.fd-tree__expander .fd-tree__icon{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-tree__expander .fd-tree__icon:after,.fd-tree__expander .fd-tree__icon:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__expander .fd-tree__icon [class*=sap-icon],.fd-tree__expander .fd-tree__icon[class*=sap-icon]{color:var(--sapButton_IconColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:var(--fdTree_Expander_Icon_Font_Size);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-tree__expander[dir=rtl] .fd-tree__icon,[dir=rtl] .fd-tree__expander .fd-tree__icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fd-tree__expander.is-expanded,.fd-tree__expander[aria-expanded=true]{border-bottom:none}.fd-tree__expander.is-expanded[dir=rtl] .fd-tree__icon,.fd-tree__expander[aria-expanded=true][dir=rtl] .fd-tree__icon,[dir=rtl] .fd-tree__expander.is-expanded .fd-tree__icon,[dir=rtl] .fd-tree__expander[aria-expanded=true] .fd-tree__icon{-webkit-transform:rotate(0);transform:rotate(0)}.fd-tree__content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:var(--fdTree_Item_Height);text-decoration:none;width:100%}.fd-tree__content:after,.fd-tree__content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__content--wrap,.fd-tree__content--wrap .fd-tree__text{overflow:visible;text-overflow:clip;white-space:normal}.fd-tree__content--wrap .fd-tree__text{line-height:var(--fdTree_Item_Wrap_Text_Line_Height)}.fd-tree__icon{line-height:var(--fdTree_Expander_Size);min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size)}.fd-tree__icon,.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{color:var(--sapContent_NonInteractiveIconColor);font-size:1.125rem}.fd-tree__icon--navigation [class*=sap-icon],.fd-tree__icon--navigation[class*=sap-icon]{font-size:.75rem;min-width:2.5rem}.fd-tree__icon--navigation:last-child{-webkit-margin-end:-1rem;margin-inline-end:-1rem}.fd-tree__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--fdTree_Item_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:var(--fdTree_Item_Height);margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.fd-tree__text:after,.fd-tree__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree--no-border .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container{border-bottom:var(--sapList_BorderWidth) solid transparent}.fd-tree--no-border .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-selected,.fd-tree--no-border .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container[aria-selected=true]{border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--active .fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item-container:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree--active .fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item-container[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item-container:active,.fd-tree--active .fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--no-data .fd-tree__text{text-align:center}.fd-tree{display:block}.fd-tree__expander--loading{display:flex;align-items:center;justify-content:center}[dir=rtl] .fd-tree__expander:not(.is-expanded),.fd-tree__expander:not(.is-expanded)[dir=rtl]{transform:rotate(180deg)}[dir=rtl] .fd-tree__icon--navigation,.fd-tree__icon--navigation[dir=rtl]{transform:rotate(180deg)}\\n/*! Bundled license information:\\n\\nfundamental-styles/dist/tree.css:\\n (*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\\n *)\\n*/\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { class: [{\n type: Input\n }], noBorder: [{\n type: Input\n }], selection: [{\n type: Input\n }], selectionPlacement: [{\n type: Input\n }], independentSections: [{\n type: Input\n }], navigationIndicator: [{\n type: Input\n }], dataRequested: [{\n type: Output\n }], dataReceived: [{\n type: Output\n }], selectedChange: [{\n type: Output\n }], treeItemDef: [{\n type: ContentChild,\n args: [TreeItemDefDirective]\n }], _treeItemDirectives: [{\n type: ViewChildren,\n args: [TreeItemDirective]\n }], _projectedTreeItems: [{\n type: ContentChildren,\n args: [BaseTreeItem, { descendants: true }]\n }], buildComponentCssClass: [], _onKeyUp: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS90cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmVlL3RyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDTixTQUFTLEVBRVQsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25HLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBRUgsT0FBTyxFQUVQLGVBQWUsRUFDZixVQUFVLEVBRVYsdUJBQXVCLEVBRXZCLGdCQUFnQixFQUNoQixhQUFhLEVBQ2hCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUc3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUF1QzdDLE1BQU0sT0FBTyxhQUFhO0lBNkJ0Qjs7T0FFRztJQUNILElBQ0ksbUJBQW1CLENBQUMsS0FBYztRQUNsQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUN0QyxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQztJQWNELHFDQUFxQztJQUNyQyxJQUNJLFdBQVcsQ0FBQyxLQUFxQztRQUNqRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLEVBQUUsV0FBVyxDQUFDO1FBQzNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBYUQsY0FBYztJQUNkLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxVQUFVLENBQUM7SUFDekMsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBc0VELGNBQWM7SUFDZDtRQXpKQTs7V0FFRztRQUVILGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsb0NBQW9DO1FBRXBDLGNBQVMsR0FBa0IsTUFBTSxDQUFDO1FBRWxDLDBDQUEwQztRQUUxQyx1QkFBa0IsR0FBdUIsTUFBTSxDQUFDO1FBRWhEOzs7O1dBSUc7UUFFSCx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFrQjVCLGtEQUFrRDtRQUVsRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFNUMsbURBQW1EO1FBRW5ELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUUzQyxpREFBaUQ7UUFFakQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBdUJ6QyxjQUFjO1FBQ2QsV0FBTSxHQUFtQyxFQUFFLENBQUM7UUFZNUM7OztXQUdHO1FBQ0gsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRTNCLGNBQWM7UUFDTCxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpDLGNBQWM7UUFDTCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1QyxjQUFjO1FBQ04seUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBS3JDLGNBQWM7UUFDRyw0QkFBdUIsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUUxRSxjQUFjO1FBQ0cseUJBQW9CLEdBQUcsTUFBTSxDQUE4QyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWpILGNBQWM7UUFDRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsRCxjQUFjO1FBQ0csc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFOUQsY0FBYztRQUNHLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVILGNBQWM7UUFDRyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV0RCxjQUFjO1FBQ0csU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWxELGNBQWM7UUFDTixvQkFBZSxHQUF3QixJQUFJLENBQUM7UUFRcEQ7OztXQUdHO1FBQ0sscUJBQWdCLEdBQW1CLEVBQUUsQ0FBQztRQUU5Qzs7O1dBR0c7UUFDSyxjQUFTLEdBQW1CLEVBQUUsQ0FBQztRQVVuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXpDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDUixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYztJQUVkLHNCQUFzQjtRQUNsQixPQUFPO1lBQ0gsSUFBSSxDQUFDLEtBQUs7WUFDVixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEUsU0FBUztTQUNaLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUVLLFFBQVEsQ0FBQyxLQUFvQjtRQUNqQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRCxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN6QixPQUFPO1lBQ1gsQ0FBQztZQUNELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEYsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFMUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNsRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFOUIsSUFBSSxXQUFXLElBQUksT0FBTyxJQUFJLG9CQUFvQixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlO1FBQ1gsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGNBQWM7SUFDZCxjQUFjLENBQUMsUUFBc0I7UUFDakMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMxQyxNQUFNLFNBQVMsR0FBRyxRQUFRLEtBQUssSUFBSSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxZQUFZLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGNBQWM7SUFDZCxjQUFjLENBQUMsS0FBb0IsRUFBRSxRQUFnQztRQUNqRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDWixPQUFPO1FBQ1gsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDbkQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUVyRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsSUFBSSxRQUFRLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1lBQ25HLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3pCLE9BQU87WUFDWCxDQUFDO1lBQ0QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRXZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN6QixPQUFPO1lBQ1gsQ0FBQztZQUNELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUV2QixJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEMsT0FBTztRQUNYLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVEsQ0FBQyxLQUFhLEVBQUUsSUFBa0M7UUFDdEQsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsQ0FBQyxLQUFtQztRQUN4QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGNBQWM7SUFDTixrQkFBa0IsQ0FBQyxRQUFzQjtRQUM3QyxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixzQ0FBc0M7WUFDdEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN0RCxJQUFJLFFBQVEsRUFBRSxRQUFRLEtBQUssUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RCxDQUFDO1lBRUQsT0FBTztRQUNYLENBQUM7UUFFRCxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjO0lBQ04sb0JBQW9CLENBQUMsUUFBc0I7UUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzFDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRWpHLElBQUksZUFBZSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ3JELE9BQU87WUFDWCxDQUFDO1FBQ0wsQ0FBQztRQUNELFFBQVEsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGNBQWM7SUFDTixlQUFlO1FBQ25CLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQzVGLENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUMxRixDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRSxZQUFZO2FBQ3JELElBQUksQ0FDRCxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUM5QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUMxRDthQUNBLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7WUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBRTlCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQ1QsQ0FBQztRQUVGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsY0FBYztJQUNOLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQ2QsU0FBUyxDQUFnQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDbkYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztZQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUNkLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNqRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjO0lBQ04sY0FBYyxDQUFDLEtBQXFCO1FBQ3hDLE1BQU0sVUFBVSxHQUFtQixFQUFFLENBQUM7UUFDdEMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztRQUUzRCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2xDLFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLE9BQU87WUFDWCxDQUFDO1lBRUQsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV0QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM3QixPQUFPO1lBQ1gsQ0FBQztZQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFN0YsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDbkMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FBQztZQUVILFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxjQUFjO0lBQ04scUJBQXFCO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUUxRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFlBQVk7Z0JBQzNELEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDM0MsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUQsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDTixpQ0FBaUM7UUFDckMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU87YUFDM0IsSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsRUFDNUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUN2QzthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFTLENBQUMsQ0FBQztZQUNsRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsY0FBYztJQUNOLHlCQUF5QjtRQUM3QixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTzthQUMzQixJQUFJLENBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNmLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDL0Isa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUN2QzthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsY0FBYztJQUNOLGtCQUFrQixDQUFDLEtBQXFCO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFOUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQztRQUNyRCxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFFakMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQzthQUM3Qyx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7YUFDN0IsYUFBYSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXZELElBQUksa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUVoRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzhHQTlkUSxhQUFhO2tHQUFiLGFBQWEsdWNBbEJYO1lBQ1AsK0JBQStCLEVBQUU7WUFDakMsV0FBVztZQUNYLGdCQUFnQjtZQUNoQjtnQkFDSSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxRQUFRLEVBQUUsb0JBQW9CO2FBQ2pDO1NBQ0osbUVBb0VhLG9CQUFvQix5RUFpQmpCLFlBQVksd0ZBSmYsaUJBQWlCLHFYQ2pLbkMsK2pHQXNFQSw0aHFDRFlRLGdCQUFnQixvSkFDaEIsZUFBZSwrRUFDZixpQkFBaUIsc0hBQ2pCLGlCQUFpQixtRkFDakIsdUJBQXVCLHNLQUN2QixlQUFlOztBQStLbkI7SUFEQyxhQUFhOzs7OzJEQVViOzJGQXJMUSxhQUFhO2tCQXJDekIsU0FBUzsrQkFDSSxTQUFTLGlCQUVKLGlCQUFpQixDQUFDLElBQUksa0JBRXJCO3dCQUNaOzRCQUNJLFNBQVMsRUFBRSxtQkFBbUI7NEJBQzlCLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQzs0QkFDdEIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO3lCQUMzQjt3QkFDRDs0QkFDSSxTQUFTLEVBQUUsWUFBWTs0QkFDdkIsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7eUJBQzFFO3FCQUNKLFFBQ0s7d0JBQ0YsSUFBSSxFQUFFLE1BQU07cUJBQ2YsYUFDVTt3QkFDUCwrQkFBK0IsRUFBRTt3QkFDakMsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCOzRCQUNJLE9BQU8sRUFBRSwwQkFBMEI7NEJBQ25DLFFBQVEsRUFBRSxvQkFBb0I7eUJBQ2pDO3FCQUNKLFdBQ1E7d0JBQ0wsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLGVBQWU7cUJBQ2xCO3dEQU9ELEtBQUs7c0JBREosS0FBSztnQkFPTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFTTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBT0YsbUJBQW1CO3NCQUR0QixLQUFLO2dCQWVOLGFBQWE7c0JBRFosTUFBTTtnQkFLUCxZQUFZO3NCQURYLE1BQU07Z0JBS1AsY0FBYztzQkFEYixNQUFNO2dCQUtILFdBQVc7c0JBRGQsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBY2xDLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBS3RCLG1CQUFtQjtzQkFEM0IsZUFBZTt1QkFBQyxZQUFZLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQWlHcEQsc0JBQXNCLE1BaUJkLFFBQVE7c0JBRGYsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBET1dOX0FSUk9XLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVywgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBlZmZlY3QsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZURpcmVjdGl2ZSwgRkRfREFUQV9TT1VSQ0VfVFJBTlNGT1JNRVIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9kYXRhLXNvdXJjZSc7XG5pbXBvcnQgeyBDdmFEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIENzc0NsYXNzQnVpbGRlcixcbiAgICBLZXlVdGlsLFxuICAgIE51bGxhYmxlLFxuICAgIFJlcGVhdERpcmVjdGl2ZSxcbiAgICBSdGxTZXJ2aWNlLFxuICAgIFNlbGVjdENvbXBvbmVudFJvb3RUb2tlbixcbiAgICBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICBTZWxlY3RhYmxlTGlzdFZhbHVlVHlwZSxcbiAgICBTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIGFwcGx5Q3NzQ2xhc3Ncbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlPYnNlcnZlciwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgU2tlbGV0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2tlbGV0b24nO1xuaW1wb3J0IHsgRmRUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZmlsdGVyLCBmcm9tRXZlbnQsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGZFRyZWVBY2NlcHRhYmxlRGF0YVNvdXJjZSwgRmRUcmVlRGF0YVNvdXJjZSwgRmRUcmVlSXRlbVR5cGUgfSBmcm9tICcuL2RhdGEtc291cmNlL3RyZWUtZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHsgVHJlZURhdGFTb3VyY2VQYXJzZXIgfSBmcm9tICcuL2RhdGEtc291cmNlL3RyZWUtZGF0YS1zb3VyY2UtcGFyc2VyJztcbmltcG9ydCB7IFRyZWVJdGVtRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3RyZWUtaXRlbS1kZWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRyZWVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3RyZWUtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmFzZVRyZWVJdGVtIH0gZnJvbSAnLi9tb2RlbHMvYmFzZS10cmVlLWl0ZW0uY2xhc3MnO1xuaW1wb3J0IHsgU2VsZWN0aW9uUGxhY2VtZW50LCBTZWxlY3Rpb25UeXBlIH0gZnJvbSAnLi9tb2RlbHMvc2VsZWN0aW9uLXR5cGUnO1xuaW1wb3J0IHsgVHJlZUl0ZW0sIFRyZWVJdGVtR2VuZXJpYyB9IGZyb20gJy4vbW9kZWxzL3RyZWUtaXRlbSc7XG5pbXBvcnQgeyBUcmVlU2VydmljZSB9IGZyb20gJy4vdHJlZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC10cmVlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdHlsZVVybDogJy4vdHJlZS5jb21wb25lbnQuc2NzcycsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBEYXRhU291cmNlRGlyZWN0aXZlLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2RhdGFTb3VyY2UnXSxcbiAgICAgICAgICAgIG91dHB1dHM6IFsnZGF0YUNoYW5nZWQnXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEN2YURpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogWyduYW1lJywgJ2lkJywgJ3N0YXRlJywgJ3N0YXRlTWVzc2FnZScsICdkaXNhYmxlZCcsICdyZWFkb25seSddXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ3RyZWUnXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycygpLFxuICAgICAgICBUcmVlU2VydmljZSxcbiAgICAgICAgU2VsZWN0aW9uU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfREFUQV9TT1VSQ0VfVFJBTlNGT1JNRVIsXG4gICAgICAgICAgICB1c2VDbGFzczogVHJlZURhdGFTb3VyY2VQYXJzZXJcbiAgICAgICAgfVxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBSZXBlYXREaXJlY3RpdmUsXG4gICAgICAgIFNrZWxldG9uQ29tcG9uZW50LFxuICAgICAgICBUcmVlSXRlbURpcmVjdGl2ZSxcbiAgICAgICAgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIEZkVHJhbnNsYXRlUGlwZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVHJlZUNvbXBvbmVudDxQIGV4dGVuZHMgRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2UsIFQgZXh0ZW5kcyBUcmVlSXRlbSA9IEZkVHJlZUl0ZW1UeXBlPFA+PlxuICAgIGltcGxlbWVudHMgQ3NzQ2xhc3NCdWlsZGVyLCBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgU2VsZWN0Q29tcG9uZW50Um9vdFRva2VuLCBPbkRlc3Ryb3lcbntcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xhc3M6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRyZWUgc2hvdWxkIGJlIGJvcmRlcmxlc3MuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBub0JvcmRlciA9IGZhbHNlO1xuXG4gICAgLyoqIFR5cGUgb2YgdHJlZSBpdGVtcyBzZWxlY3Rpb24uICovXG4gICAgQElucHV0KClcbiAgICBzZWxlY3Rpb246IFNlbGVjdGlvblR5cGUgPSAnbm9uZSc7XG5cbiAgICAvKiogUGxhY2VtZW50IG9mIHRoZSBzZWxlY3Rpb24gY29udHJvbC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNlbGVjdGlvblBsYWNlbWVudDogU2VsZWN0aW9uUGxhY2VtZW50ID0gJ25vbmUnO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgc2VjdGlvbnMgc2hvdWxkIGJlIGRlcGVuZGVudCBmb3Igc2VsZWN0aW9uIG1vZGUuXG4gICAgICogSWYgdHJ1ZSwgc2VsZWN0aW9uIGNvbnRyb2wgd2lsbCBzaGlmdCwgYWNjb3JkaW5nIHRvIHRoZSBsZXZlbC5cbiAgICAgKiBJZiBmYWxzZSwgc2VsZWN0aW9uIGNvbnRyb2wgd2lsbCBzdGF5IG9uIHRoZSBzYW1lIHBsYWNlIGlnbm9yaW5nIHRoZSBpdGVtIGxldmVsLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5kZXBlbmRlbnRTZWN0aW9ucyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgVHJlZSBjb21wb25lbnQgaGFzIG5hdmlnYXRpb24gaW5kaWNhdG9ycy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBuYXZpZ2F0aW9uSW5kaWNhdG9yKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fbmF2aWdhdGlvbkluZGljYXRvcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb25JbmRpY2F0b3IgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2Uuc2V0TmF2aWdhdGlvbkluZGljYXRvcih2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdmlnYXRpb25JbmRpY2F0b3IoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uSW5kaWNhdG9yO1xuICAgIH1cblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gZGF0YSBsb2FkaW5nIGlzIHN0YXJ0ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgZGF0YVJlcXVlc3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gZGF0YSBsb2FkaW5nIGlzIGZpbmlzaGVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGRhdGFSZWNlaXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gc2VsZWN0ZWQgc3RhdGUgY2hhbmdlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqIFRyZWUgaXRlbSB0ZW1wbGF0ZSBkZWZpbml0aW9uLiAqL1xuICAgIEBDb250ZW50Q2hpbGQoVHJlZUl0ZW1EZWZEaXJlY3RpdmUpXG4gICAgc2V0IHRyZWVJdGVtRGVmKHZhbHVlOiBOdWxsYWJsZTxUcmVlSXRlbURlZkRpcmVjdGl2ZT4pIHtcbiAgICAgICAgdGhpcy5fdHJlZUl0ZW1EZWYgPSB2YWx1ZTtcbiAgICAgICAgLy8gU2V0IG5ldyByZW5kZXJlclxuICAgICAgICB0aGlzLl90cmVlU2VydmljZS50cmVlSXRlbVRlbXBsYXRlUmVmID0gdmFsdWU/LnRlbXBsYXRlUmVmO1xuICAgICAgICB0aGlzLl9pdGVtcyA9IHRoaXMuX3RyZWVTZXJ2aWNlLm5vcm1hbGl6ZVRyZWVJdGVtcyh0aGlzLl9pdGVtcyk7XG4gICAgfVxuXG4gICAgZ2V0IHRyZWVJdGVtRGVmKCk6IE51bGxhYmxlPFRyZWVJdGVtRGVmRGlyZWN0aXZlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmVlSXRlbURlZjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oVHJlZUl0ZW1EaXJlY3RpdmUpXG4gICAgX3RyZWVJdGVtRGlyZWN0aXZlczogUXVlcnlMaXN0PFRyZWVJdGVtRGlyZWN0aXZlPFRyZWVJdGVtLCBhbnk+PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihCYXNlVHJlZUl0ZW0sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICByZWFkb25seSBfcHJvamVjdGVkVHJlZUl0ZW1zOiBRdWVyeUxpc3Q8QmFzZVRyZWVJdGVtPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2l0ZW1zOiBUcmVlSXRlbTxUcmVlSXRlbUdlbmVyaWM8VD4+W10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IG11bHRpcGxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb24gPT09ICdtdWx0aXBsZSc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgdG9nZ2xlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVXNlZCBmb3Igc2tlbGV0b24gdG8gYXBwZWFyIGJlZm9yZSBmaXJzdCBtZWFuaW5nZnVsIGRhdGEgYmVpbmcgbG9hZGVkLlxuICAgICAqL1xuICAgIF9pbml0aWFsRGF0YUxvYWRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfdHJlZVNlcnZpY2UgPSBpbmplY3QoVHJlZVNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9uYXZpZ2F0aW9uSW5kaWNhdG9yID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RyZWVJdGVtRGVmOiBOdWxsYWJsZTxUcmVlSXRlbURlZkRpcmVjdGl2ZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXIgPSBpbmplY3QoQ29udGVudERlbnNpdHlPYnNlcnZlcik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RhdGFTb3VyY2VEaXJlY3RpdmUgPSBpbmplY3Q8RGF0YVNvdXJjZURpcmVjdGl2ZTxULCBGZFRyZWVEYXRhU291cmNlPFQ+Pj4oRGF0YVNvdXJjZURpcmVjdGl2ZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGlvblNlcnZpY2UgPSBpbmplY3QoU2VsZWN0aW9uU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3J0bCA9IGluamVjdChSdGxTZXJ2aWNlLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2N2YURpcmVjdGl2ZSA9IGluamVjdChDdmFEaXJlY3RpdmUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2V4cGFuZGVkTGV2ZWw6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZm9jdXNLZXlNYW5hZ2VyOiBGb2N1c0tleU1hbmFnZXI8QmFzZVRyZWVJdGVtPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBTb3J0ZWQgdHJlZSBpdGVtIGNvbXBvbmVudHMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc29ydGVkVHJlZUl0ZW1zOiBCYXNlVHJlZUl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEFsbCB0cmVlIGl0ZW0gY29tcG9uZW50cy5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9hbGxJdGVtczogQmFzZVRyZWVJdGVtW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZXZlbnRTdWI6IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2VsZWN0aW9uU3ViOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLnJlZ2lzdGVyUm9vdENvbXBvbmVudCh0aGlzKTtcbiAgICAgICAgdGhpcy5fY29udGVudERlbnNpdHlPYnNlcnZlci5zdWJzY3JpYmUoKTtcblxuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZXhwYW5kZWRMZXZlbCA9IHRoaXMuX3RyZWVTZXJ2aWNlLmV4cGFuZGVkTGV2ZWwoKTtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmNsYXNzLFxuICAgICAgICAgICAgdGhpcy5fZXhwYW5kZWRMZXZlbCA/IGBleHBhbmRlZC1sZXZlbC0ke3RoaXMuX2V4cGFuZGVkTGV2ZWx9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5ub0JvcmRlciA/ICdmZC10cmVlLS1uby1ib3JkZXInIDogJycsXG4gICAgICAgICAgICB0aGlzLl9pdGVtcy5sZW5ndGggPT09IDAgJiYgdGhpcy5faW5pdGlhbERhdGFMb2FkZWQgPyAnZmQtdHJlZS0tbm8tZGF0YScgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaW5kZXBlbmRlbnRTZWN0aW9ucyA/ICdmZC10cmVlLS1pbmRlcGVuZGVudC1tdWx0aS1zZWxlY3Rpb24nIDogJycsXG4gICAgICAgICAgICAnZmQtdHJlZSdcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogS2V5Ym9hcmQgbmF2aWdhdGlvblxuICAgICAqIEBwYXJhbSBldmVudCBLZXlib2FyZCBldmVudC5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBwcml2YXRlIF9vbktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0RPV05fQVJST1csIFVQX0FSUk9XXSkpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlcj8ub25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29wZW5EYXRhU3RyZWFtKCk7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuXG4gICAgICAgIHRoaXMuX3RyZWVTZXJ2aWNlLmRldGVjdENoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24gIT09ICdub25lJykge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uU2VydmljZS5zZXRWYWx1ZSh0aGlzLl9jdmFEaXJlY3RpdmUudmFsdWUpO1xuXG4gICAgICAgICAgICB0aGlzLl9jdmFEaXJlY3RpdmUubmdDb250cm9sPy52YWx1ZUNoYW5nZXM/LnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvblNlcnZpY2Uuc2V0VmFsdWUodGhpcy5fY3ZhRGlyZWN0aXZlLnZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuXG4gICAgICAgIGlmICgnc2VsZWN0aW9uJyBpbiBjaGFuZ2VzIHx8ICdzZWxlY3Rpb25QbGFjZW1lbnQnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyZWVTZXJ2aWNlLnNldFNlbGVjdGlvbk1vZGUodGhpcy5zZWxlY3Rpb24sIHRoaXMuc2VsZWN0aW9uUGxhY2VtZW50KTtcbiAgICAgICAgICAgIHRoaXMuX3NldFNlbGVjdGlvbkxpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuVG9UcmVlSXRlbXNDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuX2xpc3RlblRvVHJlZUl0ZW1EaXJlY3RpdmVDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZHNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2V2ZW50U3ViPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25TdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25JdGVtRm9jdXNlZCh0cmVlSXRlbTogQmFzZVRyZWVJdGVtKTogdm9pZCB7XG4gICAgICAgIGxldCBmb2N1c2VkSW5kZXggPSAtMTtcbiAgICAgICAgdGhpcy5fc29ydGVkVHJlZUl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc0ZvY3VzZWQgPSB0cmVlSXRlbSA9PT0gaXRlbTtcbiAgICAgICAgICAgIGl0ZW0uc2V0Q29udGFpbmVyVGFiSW5kZXgoaXNGb2N1c2VkID8gMCA6IC0xKTtcbiAgICAgICAgICAgIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgICAgICAgICAgICBmb2N1c2VkSW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGZvY3VzZWRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGZvY3VzZWRJbmRleCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25JdGVtS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgdHJlZUl0ZW06IE51bGxhYmxlPEJhc2VUcmVlSXRlbT4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0cmVlSXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNSdGwgPSAhIXRoaXMuX3J0bD8ucnRsU2lnbmFsKCk7XG4gICAgICAgIGNvbnN0IGV4cGFuZEtleSA9IGlzUnRsID8gTEVGVF9BUlJPVyA6IFJJR0hUX0FSUk9XO1xuICAgICAgICBjb25zdCBjb2xsYXBzZUtleSA9IGlzUnRsID8gUklHSFRfQVJST1cgOiBMRUZUX0FSUk9XO1xuXG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgZXhwYW5kS2V5KSAmJiAodHJlZUl0ZW0uaGFzRHNDaGlsZHJlbiB8fCB0cmVlSXRlbS5oYXNQcm9qZWN0ZWRDaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgdGhpcy5fZXhwYW5kVHJlZVNlY3Rpb24odHJlZUl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBjb2xsYXBzZUtleSkpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgdGhpcy5fY29sbGFwc2VUcmVlU2VjdGlvbih0cmVlSXRlbSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF90cmFja0ZuKGluZGV4OiBudW1iZXIsIGl0ZW06IFRyZWVJdGVtPFRyZWVJdGVtR2VuZXJpYzxUPj4pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaXRlbS5pZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogU2VsZWN0IGxpc3QgaW50ZXJmYWNlIG1ldGhvZCBpbXBsZW1lbnRhdGlvbi5cbiAgICAgKiBTZXRzIHZhbHVlIGZvciBjb250cm9sIHZhbHVlIGFjY2Vzc29yIGFuZCBlbWl0cyBpdC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgdmFsdWUgb2YgdGhlIHNlbGVjdGlvbi5cbiAgICAgKi9cbiAgICBvbkNoYW5nZSh2YWx1ZTogU2VsZWN0YWJsZUxpc3RWYWx1ZVR5cGU8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jdmFEaXJlY3RpdmUuc2V0VmFsdWUodmFsdWUsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZXhwYW5kVHJlZVNlY3Rpb24odHJlZUl0ZW06IEJhc2VUcmVlSXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAodHJlZUl0ZW0uZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIC8vIFNoaWZ0IGZvY3VzIG9uIHRoZSBmaXJzdCBjaGlsZCBpdGVtXG4gICAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSB0aGlzLl9zb3J0ZWRUcmVlSXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLmlkID09PSB0cmVlSXRlbS5pZCk7XG4gICAgICAgICAgICBjb25zdCBuZXh0SXRlbSA9IHRoaXMuX3NvcnRlZFRyZWVJdGVtc1tpdGVtSW5kZXggKyAxXTtcbiAgICAgICAgICAgIGlmIChuZXh0SXRlbT8ucGFyZW50SWQgPT09IHRyZWVJdGVtLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZm9jdXNLZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oaXRlbUluZGV4ICsgMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyZWVJdGVtLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NvbGxhcHNlVHJlZVNlY3Rpb24odHJlZUl0ZW06IEJhc2VUcmVlSXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRyZWVJdGVtLmV4cGFuZGVkICYmIHRyZWVJdGVtLnBhcmVudElkKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRJdGVtSW5kZXggPSB0aGlzLl9zb3J0ZWRUcmVlSXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLmlkID09PSB0cmVlSXRlbS5wYXJlbnRJZCk7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnRJdGVtSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHBhcmVudEl0ZW1JbmRleCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRyZWVJdGVtLmV4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9vcGVuRGF0YVN0cmVhbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZHNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2RzU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgICAgICB0aGlzLl9kc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2VQcm92aWRlcj8uZGF0YVJlcXVlc3RlZC5zdWJzY3JpYmUodGhpcy5kYXRhUmVxdWVzdGVkKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9kc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2VQcm92aWRlcj8uZGF0YVJlY2VpdmVkLnN1YnNjcmliZSh0aGlzLmRhdGFSZWNlaXZlZClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9kc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2VQcm92aWRlcj8uZGF0YVJlY2VpdmVkXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigocmVjZWl2ZWQpID0+IHJlY2VpdmVkKSxcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX2RhdGFTb3VyY2VEaXJlY3RpdmUuZGF0YUNoYW5nZWQkKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2luaXRpYWxEYXRhTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faXRlbXMgPSB0aGlzLl90cmVlU2VydmljZS5ub3JtYWxpemVUcmVlSXRlbXMoZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX2RhdGFTb3VyY2VEaXJlY3RpdmUuZGF0YVNvdXJjZVByb3ZpZGVyPy5tYXRjaCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0dXBFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZXZlbnRTdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2V2ZW50U3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgICAgIHRoaXMuX3NvcnRlZFRyZWVJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9ldmVudFN1Yi5hZGQoXG4gICAgICAgICAgICAgICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2V5ZG93bicpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25JdGVtS2V5RG93bihldmVudCwgaXRlbSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLl9ldmVudFN1Yi5hZGQoXG4gICAgICAgICAgICAgICAgZnJvbUV2ZW50KGl0ZW0uaXRlbUNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudCwgJ2ZvY3VzJykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25JdGVtRm9jdXNlZChpdGVtKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zb3J0VHJlZUl0ZW1zKGl0ZW1zOiBCYXNlVHJlZUl0ZW1bXSk6IEJhc2VUcmVlSXRlbVtdIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50czogQmFzZVRyZWVJdGVtW10gPSBbXTtcbiAgICAgICAgY29uc3Qgcm9vdEl0ZW1zID0gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmxldmVsID09PSAxKTtcblxuICAgICAgICByb290SXRlbXMuZm9yRWFjaCgodHJlZUl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB0cmVlSXRlbS5zZXRQb3NpdGlvbihyb290SXRlbXMubGVuZ3RoLCBpbmRleCArIDEpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWl0ZW0gfHwgY29tcG9uZW50cy5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKGl0ZW0pO1xuXG4gICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNoaWxkSXRlbXMgPSB0aGlzLl9zb3J0VHJlZUl0ZW1zKHRoaXMuX2FsbEl0ZW1zLmZpbHRlcigoaSkgPT4gaS5wYXJlbnRJZCA9PT0gaXRlbS5pZCkpO1xuXG4gICAgICAgICAgICBjaGlsZEl0ZW1zLmZvckVhY2goKHRyZWVJdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyZWVJdGVtLnNldFBvc2l0aW9uKGNoaWxkSXRlbXMubGVuZ3RoLCBpbmRleCArIDEpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaCguLi5jaGlsZEl0ZW1zKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudHM7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRTZWxlY3Rpb25MaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uU3ViPy51bnN1YnNjcmliZSgpO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24gIT09ICdub25lJykge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uU2VydmljZS5zZXRWYWx1ZSh0aGlzLl9jdmFEaXJlY3RpdmUudmFsdWUpO1xuXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25TdWIgPSB0aGlzLl9jdmFEaXJlY3RpdmUubmdDb250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgICAgICA/LnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLnNldFZhbHVlKHRoaXMuX2N2YURpcmVjdGl2ZS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvVHJlZUl0ZW1EaXJlY3RpdmVDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90cmVlSXRlbURpcmVjdGl2ZXMuY2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLnRyZWVJdGVtRGVmICE9PSB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYWxsSXRlbXMgPSB0aGlzLl90cmVlSXRlbURpcmVjdGl2ZXMudG9BcnJheSgpLm1hcCgoaXRlbSkgPT4gaXRlbS50cmVlSXRlbSEpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZsYXR0ZW5lZEl0ZW1zID0gdGhpcy5fc29ydFRyZWVJdGVtcyh0aGlzLl9hbGxJdGVtcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0RmxhdHRlbmVkSXRlbXMoZmxhdHRlbmVkSXRlbXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1RyZWVJdGVtc0NoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Byb2plY3RlZFRyZWVJdGVtcy5jaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLnRyZWVJdGVtRGVmKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2FsbEl0ZW1zID0gdGhpcy5fcHJvamVjdGVkVHJlZUl0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmbGF0dGVuZWRJdGVtcyA9IHRoaXMuX3NvcnRUcmVlSXRlbXModGhpcy5fYWxsSXRlbXMpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldEZsYXR0ZW5lZEl0ZW1zKGZsYXR0ZW5lZEl0ZW1zKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0RmxhdHRlbmVkSXRlbXMoaXRlbXM6IEJhc2VUcmVlSXRlbVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NvcnRlZFRyZWVJdGVtcyA9IGl0ZW1zO1xuXG4gICAgICAgIGNvbnN0IGFjdGl2ZUl0ZW0gPSB0aGlzLl9mb2N1c0tleU1hbmFnZXI/LmFjdGl2ZUl0ZW07XG4gICAgICAgIGNvbnN0IG5ld0FjdGl2ZUl0ZW1JbmRleCA9IGl0ZW1zLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbSA9PT0gYWN0aXZlSXRlbSk7XG4gICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuXG4gICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIoaXRlbXMpXG4gICAgICAgICAgICAud2l0aFZlcnRpY2FsT3JpZW50YXRpb24odHJ1ZSlcbiAgICAgICAgICAgIC5za2lwUHJlZGljYXRlKChpdGVtKSA9PiAhaXRlbS5rZXlib2FyZEFjY2Vzc2libGUpO1xuXG4gICAgICAgIGlmIChuZXdBY3RpdmVJdGVtSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNLZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0obmV3QWN0aXZlSXRlbUluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvblNlcnZpY2UuaW5pdGlhbGl6ZSh0aGlzLl9zb3J0ZWRUcmVlSXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnNlbGVjdGFibGVMaXN0SXRlbSkpO1xuXG4gICAgICAgIHRoaXMuX3NldHVwRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2RhdGFTb3VyY2VSZW5kZXJlcj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiIV9pbml0aWFsRGF0YUxvYWRlZCA/IGxvYWRpbmdSZW5kZXJlciA6IGRhdGFMb2FkZWRUcGxcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IDEgfVwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nUmVuZGVyZXIgbGV0LWxldmVsPlxuICAgICAgICA8ZGl2ICpmZGtSZXBlYXQ9XCI1XCIgcm9sZT1cInRyZWVpdGVtXCIgW2F0dHIuYXJpYS1sZXZlbF09XCJsZXZlbFwiIGNsYXNzPVwiZmQtdHJlZV9faXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRyZWVfX2l0ZW0tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRyZWVfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC10cmVlX190ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtc2tlbGV0b24gdHlwZT1cInRleHRcIiB3aWR0aD1cIjEwMHB4XCIgdGV4dExpbmVzPVwiMVwiPjwvZmQtc2tlbGV0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGF0YUxvYWRlZFRwbD5cbiAgICAgICAgQGlmIChfaXRlbXMubGVuZ3RoID4gMCAmJiB0cmVlSXRlbURlZikge1xuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBfaXRlbXM7IHRyYWNrIF90cmFja0ZuKCRpbmRleCwgaXRlbSkpIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicmVuZGVyZXJcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGRpdiByb2xlPVwidHJlZWl0ZW1cIiBhcmlhLWxldmVsPVwiMVwiIGNsYXNzPVwiZmQtdHJlZV9faXRlbVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC10cmVlX19pdGVtLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtdHJlZV9fY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC10cmVlX190ZXh0XCI+e3sgJ2NvcmVUcmVlLm5vRGF0YScgfCBmZFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNyZW5kZXJlciBsZXQtaXRlbT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBmZFRyZWVJdGVtIGZka1NlbGVjdGFibGVJdGVtICN0cmVlSXRlbURpcmVjdGl2ZT1cImZkVHJlZUl0ZW1cIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0ucmVuZGVyZXJcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldEluamVjdG9yXT1cInRyZWVJdGVtRGlyZWN0aXZlLmluamVjdG9yXCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgIHRyZWVJdGVtRGlyZWN0aXZlLnRyZWVJdGVtPy5oYXNEc0NoaWxkcmVuICYmXG4gICAgICAgICAgICAhIXRyZWVJdGVtRGlyZWN0aXZlLnRyZWVJdGVtPy5leHBhbmRlZCAmJlxuICAgICAgICAgICAgIXRyZWVJdGVtRGlyZWN0aXZlLnRyZWVJdGVtPy5jaGlsZHJlbkxvYWRlZFxuICAgICAgICApIHtcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxvYWRpbmdSZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLmxldmVsICsgMSB9XCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAodHJlZUl0ZW1EaXJlY3RpdmUudHJlZUl0ZW0/LmNoaWxkcmVuOyBhcyBjaGlsZEl0ZW1zKSB7XG4gICAgICAgICAgICBAaWYgKGNoaWxkSXRlbXMgJiYgY2hpbGRJdGVtcy5sZW5ndGggPiAwICYmICEhdHJlZUl0ZW1EaXJlY3RpdmU/LnRyZWVJdGVtPy5leHBhbmRlZCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC10cmVlXCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGNoaWxkIG9mIGNoaWxkSXRlbXM7IHRyYWNrIF90cmFja0ZuKCRpbmRleCwgY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjaGlsZCB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcHJvamVjdGVkQ29udGVudFJlbmRlcmVyPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXRyZWUtaXRlbVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidHJlZUl0ZW1EZWYgPyBkYXRhU291cmNlUmVuZGVyZXIgOiBwcm9qZWN0ZWRDb250ZW50UmVuZGVyZXJcIj48L25nLXRlbXBsYXRlPlxuIl19","import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, DestroyRef, ElementRef, EventEmitter, HostBinding, Input, Output, QueryList, ViewChild, ViewEncapsulation, inject, input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { DataSourceDirective } from '@fundamental-ngx/cdk/data-source';\nimport { ClickedDirective, FDK_SELECTABLE_ITEM_PROVIDER, SelectableItemDirective, SelectableItemToken, uuidv4 } from '@fundamental-ngx/cdk/utils';\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { SkeletonComponent } from '@fundamental-ngx/core/skeleton';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { Subject, distinctUntilChanged, filter, startWith, switchMap } from 'rxjs';\nimport { TreeItemDirective } from '../../directives/tree-item.directive';\nimport { BaseTreeItem } from '../../models/base-tree-item.class';\nimport { TreeService } from '../../tree.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@fundamental-ngx/cdk/data-source\";\nimport * as i2 from \"@angular/forms\";\nexport class TreeItemComponent extends BaseTreeItem {\n /**\n * Tree item parent ID.\n */\n set parentId(value) {\n this._parentId = value;\n }\n get parentId() {\n return this._parentId || this._parentTreeItem?.id;\n }\n /**\n * Tree item level.\n */\n set level(value) {\n this._level = value;\n }\n get level() {\n return this._level || (this._parentTreeItem !== null ? this._parentTreeItem.level + 1 : 1);\n }\n /**\n * Whether the tree item is expanded.\n */\n set expanded(value) {\n if (value === this._expanded) {\n return;\n }\n this._treeService.addExpandableItem(this.id, this.level, value);\n this._expanded = value;\n if (value) {\n setTimeout(() => {\n this._treeService.detectChanges.next();\n this._dataSourceDirective.dataSourceProvider?.match();\n });\n }\n else {\n this.children = [];\n this.childrenLoaded = false;\n this._treeService.detectChanges.next();\n }\n this._cdr.detectChanges();\n }\n get expanded() {\n return this._expanded;\n }\n /** Whether the tree item has any type of child nodes. */\n get hasChildren() {\n return !!this.childNodes || this.hasProjectedChildren;\n }\n /** Whether the tree item has content-projected child nodes. */\n get hasProjectedChildren() {\n return this._projectedTreeItems && this._projectedTreeItems.length > 0;\n }\n /** Whether the tree item has data source children. */\n get hasDsChildren() {\n return this._dsChildrenNumber > 0;\n }\n /** Whether the item is accessible via keyboard. */\n get keyboardAccessible() {\n return this._parentTreeItem === null\n ? true\n : this._parentTreeItem.keyboardAccessible && this._parentTreeItem.expanded;\n }\n /** @hidden */\n constructor() {\n super();\n /**\n * Tree item ID.\n */\n this.id = uuidv4();\n /**\n * Whether the tree item is navigatable.\n */\n this.navigatable = false;\n /**\n * Tree item child nodes data source.\n */\n this.childNodes = [];\n /**\n * Whether to wrap content.\n */\n this.wrapContent = false;\n /**\n * Event emitted when user clicks on tree item.\n */\n this.treeItemClick = new EventEmitter();\n /**\n * Event emitted when `expanded` state changes.\n */\n this.expandedChange = new EventEmitter();\n /**\n * @hidden\n * Selection state.\n */\n this._selectionState = false;\n /** @hidden */\n this.children = [];\n /** @hidden */\n this.childrenLoaded = false;\n /** @Hidden */\n this._containerTabIndex = 0;\n /** @hidden */\n this._totalChildrenLoaded = false;\n /** @hidden */\n this.elementRef = inject(ElementRef);\n /** @hidden */\n this._treeService = inject(TreeService);\n /**\n * Custom background color\n */\n this.backgroundColor = input(...(ngDevMode ? [undefined, { debugName: \"backgroundColor\" }] : []));\n /**\n * Custom styles\n */\n this.customStyles = input(...(ngDevMode ? [undefined, { debugName: \"customStyles\" }] : []));\n /** @hidden */\n this._expanded = false;\n /** @hidden */\n this._dsChildrenNumber = 0;\n /** @hidden */\n this._clicked$ = new Subject();\n /** @hidden */\n this._treeItemDir = inject(TreeItemDirective, {\n optional: true\n });\n /** @hidden */\n this._dataSourceDirective = inject(DataSourceDirective);\n /** @hidden */\n this._cdr = inject(ChangeDetectorRef);\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** @hidden */\n this._parentTreeItem = inject(TreeItemComponent, {\n optional: true,\n skipSelf: true\n });\n this._treeItemDir?.setTreeItem(this);\n this.clicked = this._clicked$.asObservable();\n }\n /** @hidden */\n ngOnInit() {\n this._dataSourceDirective.dataSource = this.childNodes;\n this._treeService.addExpandableItem(this.id, this.level, this.expanded);\n this._dataSourceDirective.dataSourceProvider\n ?.getTotalItems()\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((totalItems) => {\n this._dsChildrenNumber = totalItems;\n this._totalChildrenLoaded = true;\n this._cdr.detectChanges();\n });\n this._dataSourceDirective.dataSourceProvider?.dataReceived\n .pipe(filter((received) => received), switchMap(() => this._dataSourceDirective.dataChanged$), takeUntilDestroyed(this._destroyRef))\n .subscribe((data) => {\n this.children = this._treeService.normalizeTreeItems(data, this.id, this.level + 1);\n this.childrenLoaded = true;\n setTimeout(() => {\n this._treeService.detectChanges.next();\n this._cdr.detectChanges();\n });\n });\n }\n /** @hidden */\n ngAfterViewInit() {\n this._projectedTreeItems.changes\n .pipe(startWith(null), distinctUntilChanged(), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._cdr.detectChanges();\n this._projectedTreeItems.forEach((treeItem, index) => {\n treeItem.setPosition(this._projectedTreeItems.length, index + 1);\n });\n });\n }\n /** @hidden */\n ngOnDestroy() {\n this._treeService.removeExpandableItem(this.id, this.level);\n }\n /**\n * Sets position of the current item in the set.\n * @param totalItems Total items amount in the set.\n * @param currentIndex Current item position in the set.\n */\n setPosition(totalItems, currentIndex) {\n this._setSize = totalItems;\n this._currentPosition = currentIndex;\n }\n /** Method to focus on the tree item. */\n focus() {\n this.itemContainer?.nativeElement.focus();\n }\n /** Method for setting the focusable tabindex. */\n setContainerTabIndex(value) {\n this._containerTabIndex = value;\n this._cdr.markForCheck();\n }\n /** @hidden */\n _toggleExpandState(event) {\n // Do not bubble up to selection change event.\n event.stopImmediatePropagation();\n this.expanded = !this.expanded;\n this.expandedChange.emit(this.expanded);\n this.focus();\n }\n /** @hidden */\n _onClick(event) {\n event.stopImmediatePropagation();\n this._clicked$.next(event);\n this.treeItemClick.emit(event);\n }\n /** @hidden */\n _setSelected(selected) {\n this._selectionState = selected;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: TreeItemComponent, isStandalone: true, selector: \"fd-tree-item\", inputs: { value: { classPropertyName: \"value\", publicName: \"value\", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: \"ariaLabel\", publicName: \"ariaLabel\", isSignal: false, isRequired: false, transformFunction: null }, parentId: { classPropertyName: \"parentId\", publicName: \"parentId\", isSignal: false, isRequired: false, transformFunction: null }, navigatable: { classPropertyName: \"navigatable\", publicName: \"navigatable\", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: \"state\", publicName: \"state\", isSignal: false, isRequired: false, transformFunction: null }, childNodes: { classPropertyName: \"childNodes\", publicName: \"childNodes\", isSignal: false, isRequired: false, transformFunction: null }, wrapContent: { classPropertyName: \"wrapContent\", publicName: \"wrapContent\", isSignal: false, isRequired: false, transformFunction: null }, level: { classPropertyName: \"level\", publicName: \"level\", isSignal: false, isRequired: false, transformFunction: null }, expanded: { classPropertyName: \"expanded\", publicName: \"expanded\", isSignal: false, isRequired: false, transformFunction: null }, backgroundColor: { classPropertyName: \"backgroundColor\", publicName: \"backgroundColor\", isSignal: true, isRequired: false, transformFunction: null }, customStyles: { classPropertyName: \"customStyles\", publicName: \"customStyles\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { treeItemClick: \"treeItemClick\", expandedChange: \"expandedChange\" }, host: { attributes: { \"role\": \"presentation\" }, properties: { \"attr.aria-label\": \"this.ariaLabel\", \"attr.aria-level\": \"this.level\" }, classAttribute: \"fd-tree__item\" }, providers: [\n {\n provide: FDK_SELECTABLE_ITEM_PROVIDER,\n useExisting: TreeItemComponent\n },\n {\n provide: BaseTreeItem,\n useExisting: TreeItemComponent\n }\n ], queries: [{ propertyName: \"_projectedTreeItems\", predicate: BaseTreeItem }], viewQueries: [{ propertyName: \"itemContainer\", first: true, predicate: [\"itemContainer\"], descendants: true, read: ElementRef }, { propertyName: \"selectableListItem\", first: true, predicate: SelectableItemDirective, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.DataSourceDirective }], ngImport: i0, template: \"<div\\n class=\\\"fd-tree__item-container\\\"\\n [attr.tabindex]=\\\"_containerTabIndex\\\"\\n (fdkClicked)=\\\"_onClick($event)\\\"\\n fdkSelectableItem\\n (selected)=\\\"_setSelected($event)\\\"\\n [value]=\\\"value\\\"\\n [attr.aria-haspopup]=\\\"children.length > 0 || hasProjectedChildren\\\"\\n [attr.aria-expanded]=\\\"expanded\\\"\\n [attr.aria-setsize]=\\\"_setSize\\\"\\n [attr.aria-posinset]=\\\"_currentPosition\\\"\\n role=\\\"treeitem\\\"\\n [attr.aria-level]=\\\"level\\\"\\n [style.background-color]=\\\"backgroundColor()\\\"\\n [ngStyle]=\\\"customStyles()\\\"\\n #itemContainer\\n [ngClass]=\\\"[\\n state ? 'has-highlight-indicator has-highlight-indicator--' + state : '',\\n navigatable ? 'fd-tree__item-container--active' : '',\\n wrapContent ? 'fd-tree__content--wrap' : ''\\n ]\\\"\\n>\\n @if (_treeService.selectionMode().placement === 'left') {\\n <ng-template [ngTemplateOutlet]=\\\"selection\\\"></ng-template>\\n }\\n @if (hasChildren) {\\n @if (hasDsChildren || hasProjectedChildren) {\\n <span\\n (click)=\\\"_toggleExpandState($event)\\\"\\n class=\\\"fd-tree__expander\\\"\\n aria-hidden=\\\"true\\\"\\n role=\\\"presentation\\\"\\n [attr.aria-label]=\\\"(expanded ? 'coreTree.collapse' : 'coreTree.expand') | fdTranslate\\\"\\n [class.is-expanded]=\\\"expanded\\\"\\n >\\n <fd-icon\\n class=\\\"fd-tree__icon\\\"\\n [glyph]=\\\"expanded ? 'navigation-down-arrow' : 'navigation-right-arrow'\\\"\\n ></fd-icon>\\n </span>\\n }\\n @if (!_totalChildrenLoaded) {\\n <div class=\\\"fd-tree__expander fd-tree__expander--loading\\\">\\n <fd-skeleton type=\\\"rectangle\\\" width=\\\"1rem\\\" height=\\\"1rem\\\"></fd-skeleton>\\n </div>\\n }\\n @if (_treeService.selectionMode().placement === 'afterExpand') {\\n <ng-template [ngTemplateOutlet]=\\\"selection\\\"></ng-template>\\n }\\n }\\n <div class=\\\"fd-tree__content\\\">\\n <ng-content select=\\\"[fdTreeItemIcon]\\\"></ng-content>\\n <ng-content select=\\\"[fdTreeItemText]\\\"></ng-content>\\n </div>\\n <ng-content select=\\\"[fdTreeItemButton]\\\"></ng-content>\\n @if (_treeService.selectionMode().placement === 'right') {\\n <ng-template [ngTemplateOutlet]=\\\"selection\\\"></ng-template>\\n }\\n @if (navigatable && _treeService.navigationIndicator()) {\\n <fd-icon glyph=\\\"slim-arrow-right\\\" class=\\\"fd-tree__icon fd-tree__icon--navigation\\\"></fd-icon>\\n }\\n</div>\\n@if (hasProjectedChildren && expanded) {\\n <div class=\\\"fd-tree\\\">\\n <ng-content select=\\\"fd-tree-item\\\"></ng-content>\\n </div>\\n}\\n<ng-template #selection>\\n <div class=\\\"fd-form-item\\\">\\n @if (_treeService.selectionMode().mode === 'multiple') {\\n <fd-checkbox\\n [(ngModel)]=\\\"_selectionState\\\"\\n [ngModelOptions]=\\\"{ standalone: true }\\\"\\n [standalone]=\\\"true\\\"\\n tabIndexValue=\\\"-1\\\"\\n ></fd-checkbox>\\n }\\n @if (_treeService.selectionMode().mode === 'single') {\\n <fd-radio-button\\n [(ngModel)]=\\\"_selectionState\\\"\\n [ngModelOptions]=\\\"{ standalone: true }\\\"\\n [selectedValue]=\\\"_selectionState\\\"\\n [value]=\\\"true\\\"\\n tabIndex=\\\"-1\\\"\\n [standalone]=\\\"true\\\"\\n tabIndexValue=\\\"-1\\\"\\n ></fd-radio-button>\\n }\\n </div>\\n</ng-template>\\n\", dependencies: [{ kind: \"directive\", type: SelectableItemDirective, selector: \"[fdkSelectableItem]\", inputs: [\"value\", \"fdkSelectableItem\"], outputs: [\"clicked\", \"selected\"], exportAs: [\"fdkSelectableItem\"] }, { kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"directive\", type: ClickedDirective, selector: \"[fdkClicked]\", outputs: [\"fdkClicked\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: IconComponent, selector: \"fd-icon\", inputs: [\"glyph\", \"font\", \"color\", \"background\", \"class\", \"ariaLabel\", \"ariaHidden\"] }, { kind: \"component\", type: SkeletonComponent, selector: \"fd-skeleton\", inputs: [\"animated\", \"type\", \"textLines\", \"width\", \"height\"] }, { kind: \"component\", type: CheckboxComponent, selector: \"fd-checkbox\", inputs: [\"wrapLabel\", \"valignLabel\", \"ariaLabel\", \"role\", \"value\", \"ariaLabelledBy\", \"ariaDescribedBy\", \"title\", \"inputId\", \"state\", \"name\", \"label\", \"disabled\", \"readonly\", \"tristate\", \"tristateSelectable\", \"labelClass\", \"required\", \"displayOnly\", \"values\", \"standalone\"], outputs: [\"focusChange\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"component\", type: RadioButtonComponent, selector: \"fd-radio-button\", inputs: [\"ariaLabel\", \"ariaLabelledBy\", \"ariaDescribedBy\", \"title\", \"tabIndex\", \"state\", \"disabled\", \"readOnly\", \"selectedValue\", \"name\", \"id\", \"value\", \"required\", \"standalone\", \"wrapLabel\", \"valignLabel\"] }, { kind: \"pipe\", type: FdTranslatePipe, name: \"fdTranslate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-tree-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [DataSourceDirective], host: {\n class: 'fd-tree__item',\n role: 'presentation'\n }, providers: [\n {\n provide: FDK_SELECTABLE_ITEM_PROVIDER,\n useExisting: TreeItemComponent\n },\n {\n provide: BaseTreeItem,\n useExisting: TreeItemComponent\n }\n ], imports: [\n SelectableItemDirective,\n NgClass,\n NgStyle,\n ClickedDirective,\n NgTemplateOutlet,\n IconComponent,\n SkeletonComponent,\n CheckboxComponent,\n FormsModule,\n RadioButtonComponent,\n FdTranslatePipe\n ], template: \"<div\\n class=\\\"fd-tree__item-container\\\"\\n [attr.tabindex]=\\\"_containerTabIndex\\\"\\n (fdkClicked)=\\\"_onClick($event)\\\"\\n fdkSelectableItem\\n (selected)=\\\"_setSelected($event)\\\"\\n [value]=\\\"value\\\"\\n [attr.aria-haspopup]=\\\"children.length > 0 || hasProjectedChildren\\\"\\n [attr.aria-expanded]=\\\"expanded\\\"\\n [attr.aria-setsize]=\\\"_setSize\\\"\\n [attr.aria-posinset]=\\\"_currentPosition\\\"\\n role=\\\"treeitem\\\"\\n [attr.aria-level]=\\\"level\\\"\\n [style.background-color]=\\\"backgroundColor()\\\"\\n [ngStyle]=\\\"customStyles()\\\"\\n #itemContainer\\n [ngClass]=\\\"[\\n state ? 'has-highlight-indicator has-highlight-indicator--' + state : '',\\n navigatable ? 'fd-tree__item-container--active' : '',\\n wrapContent ? 'fd-tree__content--wrap' : ''\\n ]\\\"\\n>\\n @if (_treeService.selectionMode().placement === 'left') {\\n <ng-template [ngTemplateOutlet]=\\\"selection\\\"></ng-template>\\n }\\n @if (hasChildren) {\\n @if (hasDsChildren || hasProjectedChildren) {\\n <span\\n (click)=\\\"_toggleExpandState($event)\\\"\\n class=\\\"fd-tree__expander\\\"\\n aria-hidden=\\\"true\\\"\\n role=\\\"presentation\\\"\\n [attr.aria-label]=\\\"(expanded ? 'coreTree.collapse' : 'coreTree.expand') | fdTranslate\\\"\\n [class.is-expanded]=\\\"expanded\\\"\\n >\\n <fd-icon\\n class=\\\"fd-tree__icon\\\"\\n [glyph]=\\\"expanded ? 'navigation-down-arrow' : 'navigation-right-arrow'\\\"\\n ></fd-icon>\\n </span>\\n }\\n @if (!_totalChildrenLoaded) {\\n <div class=\\\"fd-tree__expander fd-tree__expander--loading\\\">\\n <fd-skeleton type=\\\"rectangle\\\" width=\\\"1rem\\\" height=\\\"1rem\\\"></fd-skeleton>\\n </div>\\n }\\n @if (_treeService.selectionMode().placement === 'afterExpand') {\\n <ng-template [ngTemplateOutlet]=\\\"selection\\\"></ng-template>\\n }\\n }\\n <div class=\\\"fd-tree__content\\\">\\n <ng-content select=\\\"[fdTreeItemIcon]\\\"></ng-content>\\n <ng-content select=\\\"[fdTreeItemText]\\\"></ng-content>\\n </div>\\n <ng-content select=\\\"[fdTreeItemButton]\\\"></ng-content>\\n @if (_treeService.selectionMode().placement === 'right') {\\n <ng-template [ngTemplateOutlet]=\\\"selection\\\"></ng-template>\\n }\\n @if (navigatable && _treeService.navigationIndicator()) {\\n <fd-icon glyph=\\\"slim-arrow-right\\\" class=\\\"fd-tree__icon fd-tree__icon--navigation\\\"></fd-icon>\\n }\\n</div>\\n@if (hasProjectedChildren && expanded) {\\n <div class=\\\"fd-tree\\\">\\n <ng-content select=\\\"fd-tree-item\\\"></ng-content>\\n </div>\\n}\\n<ng-template #selection>\\n <div class=\\\"fd-form-item\\\">\\n @if (_treeService.selectionMode().mode === 'multiple') {\\n <fd-checkbox\\n [(ngModel)]=\\\"_selectionState\\\"\\n [ngModelOptions]=\\\"{ standalone: true }\\\"\\n [standalone]=\\\"true\\\"\\n tabIndexValue=\\\"-1\\\"\\n ></fd-checkbox>\\n }\\n @if (_treeService.selectionMode().mode === 'single') {\\n <fd-radio-button\\n [(ngModel)]=\\\"_selectionState\\\"\\n [ngModelOptions]=\\\"{ standalone: true }\\\"\\n [selectedValue]=\\\"_selectionState\\\"\\n [value]=\\\"true\\\"\\n tabIndex=\\\"-1\\\"\\n [standalone]=\\\"true\\\"\\n tabIndexValue=\\\"-1\\\"\\n ></fd-radio-button>\\n }\\n </div>\\n</ng-template>\\n\" }]\n }], ctorParameters: () => [], propDecorators: { value: [{\n type: Input\n }], id: [{\n type: Input\n }], ariaLabel: [{\n type: HostBinding,\n args: ['attr.aria-label']\n }, {\n type: Input\n }], parentId: [{\n type: Input\n }], navigatable: [{\n type: Input\n }], state: [{\n type: Input\n }], childNodes: [{\n type: Input\n }], wrapContent: [{\n type: Input\n }], level: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.aria-level']\n }], expanded: [{\n type: Input\n }], treeItemClick: [{\n type: Output\n }], expandedChange: [{\n type: Output\n }], itemContainer: [{\n type: ViewChild,\n args: ['itemContainer', { read: ElementRef }]\n }], selectableListItem: [{\n type: ViewChild,\n args: [SelectableItemDirective]\n }], _projectedTreeItems: [{\n type: ContentChildren,\n args: [BaseTreeItem]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmVlL2NvbXBvbmVudHMvdHJlZS1pdGVtL3RyZWUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS9jb21wb25lbnRzL3RyZWUtaXRlbS90cmVlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixLQUFLLEVBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBYyxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25GLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsNEJBQTRCLEVBRzVCLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIsTUFBTSxFQUNULE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIs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WCxvQkFBb0I7d0JBQ3BCLGVBQWU7cUJBQ2xCO3dEQVVELEtBQUs7c0JBREosS0FBSztnQkFNTixFQUFFO3NCQURELEtBQUs7Z0JBUU4sU0FBUztzQkFGUixXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQzdCLEtBQUs7Z0JBT0YsUUFBUTtzQkFEWCxLQUFLO2dCQWFOLFdBQVc7c0JBRFYsS0FBSztnQkFPTixLQUFLO3NCQURKLEtBQUs7Z0JBT04sVUFBVTtzQkFEVCxLQUFLO2dCQU9OLFdBQVc7c0JBRFYsS0FBSztnQkFRRixLQUFLO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsaUJBQWlCO2dCQWExQixRQUFRO3NCQURYLEtBQUs7Z0JBOEJHLGFBQWE7c0JBRHJCLE1BQU07Z0JBT1AsY0FBYztzQkFEYixNQUFNO2dCQUtQLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUtoRCxrQkFBa0I7c0JBRGpCLFNBQVM7dUJBQUMsdUJBQXVCO2dCQUtsQyxtQkFBbUI7c0JBRGxCLGVBQWU7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGluamVjdCxcbiAgICBpbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSwgRGF0YVNvdXJjZURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2RhdGEtc291cmNlJztcbmltcG9ydCB7XG4gICAgQ2xpY2tlZERpcmVjdGl2ZSxcbiAgICBGREtfU0VMRUNUQUJMRV9JVEVNX1BST1ZJREVSLFxuICAgIEhhc0VsZW1lbnRSZWYsXG4gICAgTnVsbGFibGUsXG4gICAgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgU2VsZWN0YWJsZUl0ZW1Ub2tlbixcbiAgICB1dWlkdjRcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY2hlY2tib3gnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3JhZGlvJztcbmltcG9ydCB7IFNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NrZWxldG9uJztcbmltcG9ydCB7IEZkVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2UsIEZkVHJlZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhLXNvdXJjZS90cmVlLWRhdGEtc291cmNlJztcbmltcG9ydCB7IFRyZWVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90cmVlLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhc2VUcmVlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9iYXNlLXRyZWUtaXRlbS5jbGFzcyc7XG5pbXBvcnQgeyBUcmVlSXRlbSwgVHJlZUl0ZW1TdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy90cmVlLWl0ZW0nO1xuaW1wb3J0IHsgVHJlZVNlcnZpY2UgfSBmcm9tICcuLi8uLi90cmVlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXRyZWUtaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW0RhdGFTb3VyY2VEaXJlY3RpdmVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC10cmVlX19pdGVtJyxcbiAgICAgICAgcm9sZTogJ3ByZXNlbnRhdGlvbidcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGREtfU0VMRUNUQUJMRV9JVEVNX1BST1ZJREVSLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFRyZWVJdGVtQ29tcG9uZW50XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEJhc2VUcmVlSXRlbSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUcmVlSXRlbUNvbXBvbmVudFxuICAgICAgICB9XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFNlbGVjdGFibGVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBOZ1N0eWxlLFxuICAgICAgICBDbGlja2VkRGlyZWN0aXZlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBJY29uQ29tcG9uZW50LFxuICAgICAgICBTa2VsZXRvbkNvbXBvbmVudCxcbiAgICAgICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgRmRUcmFuc2xhdGVQaXBlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUcmVlSXRlbUNvbXBvbmVudDxUIGV4dGVuZHMgVHJlZUl0ZW0gPSBUcmVlSXRlbSwgUCA9IGFueT5cbiAgICBleHRlbmRzIEJhc2VUcmVlSXRlbTxULCBQPlxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTZWxlY3RhYmxlSXRlbVRva2VuPEhUTUxFbGVtZW50LCBQPj4sIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBIYXNFbGVtZW50UmVmXG57XG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHZhbHVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU6IFA7XG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIElELlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaWQgPSB1dWlkdjQoKTtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBhcmlhIGxhYmVsLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHBhcmVudCBJRC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBwYXJlbnRJZCh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9wYXJlbnRJZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBwYXJlbnRJZCgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudElkIHx8IHRoaXMuX3BhcmVudFRyZWVJdGVtPy5pZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0cmVlIGl0ZW0gaXMgbmF2aWdhdGFibGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBuYXZpZ2F0YWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHN0YXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhdGU6IE51bGxhYmxlPFRyZWVJdGVtU3RhdGU+O1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIGNoaWxkIG5vZGVzIGRhdGEgc291cmNlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2hpbGROb2RlczogRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2U8VD4gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gd3JhcCBjb250ZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgd3JhcENvbnRlbnQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBsZXZlbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxldmVsJylcbiAgICBzZXQgbGV2ZWwodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9sZXZlbCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBsZXZlbCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGV2ZWwgfHwgKHRoaXMuX3BhcmVudFRyZWVJdGVtICE9PSBudWxsID8gdGhpcy5fcGFyZW50VHJlZUl0ZW0ubGV2ZWwgKyAxIDogMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdHJlZSBpdGVtIGlzIGV4cGFuZGVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGV4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl90cmVlU2VydmljZS5hZGRFeHBhbmRhYmxlSXRlbSh0aGlzLmlkLCB0aGlzLmxldmVsLCB2YWx1ZSk7XG4gICAgICAgIHRoaXMuX2V4cGFuZGVkID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl90cmVlU2VydmljZS5kZXRlY3RDaGFuZ2VzLm5leHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2VQcm92aWRlcj8ubWF0Y2goKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbiA9IFtdO1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbkxvYWRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UuZGV0ZWN0Q2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiB0cmVlIGl0ZW0uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdHJlZUl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYGV4cGFuZGVkYCBzdGF0ZSBjaGFuZ2VzLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGV4cGFuZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIFRyZWUgaXRlbSBmb2N1c2FibGUgY29udGFpbmVyLiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2l0ZW1Db250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBpdGVtQ29udGFpbmVyOiBOdWxsYWJsZTxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgICAvKiogU2VsZWN0YWJsZSBpdGVtLiAqL1xuICAgIEBWaWV3Q2hpbGQoU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUpXG4gICAgc2VsZWN0YWJsZUxpc3RJdGVtOiBTZWxlY3RhYmxlSXRlbVRva2VuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKEJhc2VUcmVlSXRlbSlcbiAgICBfcHJvamVjdGVkVHJlZUl0ZW1zOiBRdWVyeUxpc3Q8QmFzZVRyZWVJdGVtPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBTZWxlY3Rpb24gc3RhdGUuXG4gICAgICovXG4gICAgX3NlbGVjdGlvblN0YXRlID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNoaWxkcmVuOiBUW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY2hpbGRyZW5Mb2FkZWQgPSBmYWxzZTtcblxuICAgIC8qKiBASGlkZGVuICovXG4gICAgX2NvbnRhaW5lclRhYkluZGV4ID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldFNpemU6IG51bWJlcjtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jdXJyZW50UG9zaXRpb246IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3RvdGFsQ2hpbGRyZW5Mb2FkZWQgPSBmYWxzZTtcblxuICAgIC8qKiBDbGlja2VkIGJlaGF2aW9yIGltcGxlbWVudGF0aW9uLiAqL1xuICAgIGNsaWNrZWQ6IE9ic2VydmFibGU8TW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfdHJlZVNlcnZpY2UgPSBpbmplY3QoVHJlZVNlcnZpY2UpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBoYXMgYW55IHR5cGUgb2YgY2hpbGQgbm9kZXMuICovXG4gICAgZ2V0IGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmNoaWxkTm9kZXMgfHwgdGhpcy5oYXNQcm9qZWN0ZWRDaGlsZHJlbjtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgdHJlZSBpdGVtIGhhcyBjb250ZW50LXByb2plY3RlZCBjaGlsZCBub2Rlcy4gKi9cbiAgICBnZXQgaGFzUHJvamVjdGVkQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm9qZWN0ZWRUcmVlSXRlbXMgJiYgdGhpcy5fcHJvamVjdGVkVHJlZUl0ZW1zLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBoYXMgZGF0YSBzb3VyY2UgY2hpbGRyZW4uICovXG4gICAgZ2V0IGhhc0RzQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kc0NoaWxkcmVuTnVtYmVyID4gMDtcbiAgICB9XG4gICAgLyoqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgYWNjZXNzaWJsZSB2aWEga2V5Ym9hcmQuICovXG4gICAgZ2V0IGtleWJvYXJkQWNjZXNzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudFRyZWVJdGVtID09PSBudWxsXG4gICAgICAgICAgICA/IHRydWVcbiAgICAgICAgICAgIDogdGhpcy5fcGFyZW50VHJlZUl0ZW0ua2V5Ym9hcmRBY2Nlc3NpYmxlICYmIHRoaXMuX3BhcmVudFRyZWVJdGVtLmV4cGFuZGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9yXG4gICAgICovXG4gICAgYmFja2dyb3VuZENvbG9yID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHN0eWxlc1xuICAgICAqL1xuICAgIGN1c3RvbVN0eWxlcyA9IGlucHV0PG9iamVjdD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcGFyZW50SWQ6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xldmVsOiBudW1iZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2V4cGFuZGVkID0gZmFsc2U7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kc0NoaWxkcmVuTnVtYmVyID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2xpY2tlZCQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdHJlZUl0ZW1EaXIgPSBpbmplY3Q8VHJlZUl0ZW1EaXJlY3RpdmU8VCwgUD4+KFRyZWVJdGVtRGlyZWN0aXZlLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RhdGFTb3VyY2VEaXJlY3RpdmUgPSBpbmplY3Q8RGF0YVNvdXJjZURpcmVjdGl2ZTxULCBGZFRyZWVEYXRhU291cmNlPFQ+Pj4oRGF0YVNvdXJjZURpcmVjdGl2ZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudFRyZWVJdGVtID0gaW5qZWN0KFRyZWVJdGVtQ29tcG9uZW50LCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBza2lwU2VsZjogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fdHJlZUl0ZW1EaXI/LnNldFRyZWVJdGVtKHRoaXMpO1xuICAgICAgICB0aGlzLmNsaWNrZWQgPSB0aGlzLl9jbGlja2VkJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2UgPSB0aGlzLmNoaWxkTm9kZXMgYXMgRGF0YVNvdXJjZTxULCBGZFRyZWVEYXRhU291cmNlPFQ+PjtcbiAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UuYWRkRXhwYW5kYWJsZUl0ZW0odGhpcy5pZCwgdGhpcy5sZXZlbCwgdGhpcy5leHBhbmRlZCk7XG5cbiAgICAgICAgdGhpcy5fZGF0YVNvdXJjZURpcmVjdGl2ZS5kYXRhU291cmNlUHJvdmlkZXJcbiAgICAgICAgICAgID8uZ2V0VG90YWxJdGVtcygpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh0b3RhbEl0ZW1zKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZHNDaGlsZHJlbk51bWJlciA9IHRvdGFsSXRlbXM7XG4gICAgICAgICAgICAgICAgdGhpcy5fdG90YWxDaGlsZHJlbkxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2RhdGFTb3VyY2VEaXJlY3RpdmUuZGF0YVNvdXJjZVByb3ZpZGVyPy5kYXRhUmVjZWl2ZWRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigocmVjZWl2ZWQpID0+IHJlY2VpdmVkKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fZGF0YVNvdXJjZURpcmVjdGl2ZS5kYXRhQ2hhbmdlZCQpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLl90cmVlU2VydmljZS5ub3JtYWxpemVUcmVlSXRlbXMoZGF0YSwgdGhpcy5pZCwgdGhpcy5sZXZlbCArIDEpIGFzIFRbXTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoaWxkcmVuTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UuZGV0ZWN0Q2hhbmdlcy5uZXh0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHJvamVjdGVkVHJlZUl0ZW1zLmNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aChudWxsKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9wcm9qZWN0ZWRUcmVlSXRlbXMuZm9yRWFjaCgodHJlZUl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyZWVJdGVtLnNldFBvc2l0aW9uKHRoaXMuX3Byb2plY3RlZFRyZWVJdGVtcy5sZW5ndGgsIGluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90cmVlU2VydmljZS5yZW1vdmVFeHBhbmRhYmxlSXRlbSh0aGlzLmlkLCB0aGlzLmxldmVsISk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpdGVtIGluIHRoZSBzZXQuXG4gICAgICogQHBhcmFtIHRvdGFsSXRlbXMgVG90YWwgaXRlbXMgYW1vdW50IGluIHRoZSBzZXQuXG4gICAgICogQHBhcmFtIGN1cnJlbnRJbmRleCBDdXJyZW50IGl0ZW0gcG9zaXRpb24gaW4gdGhlIHNldC5cbiAgICAgKi9cbiAgICBzZXRQb3NpdGlvbih0b3RhbEl0ZW1zOiBudW1iZXIsIGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldFNpemUgPSB0b3RhbEl0ZW1zO1xuICAgICAgICB0aGlzLl9jdXJyZW50UG9zaXRpb24gPSBjdXJyZW50SW5kZXg7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0byBmb2N1cyBvbiB0aGUgdHJlZSBpdGVtLiAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIGZvciBzZXR0aW5nIHRoZSBmb2N1c2FibGUgdGFiaW5kZXguICovXG4gICAgc2V0Q29udGFpbmVyVGFiSW5kZXgodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb250YWluZXJUYWJJbmRleCA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfdG9nZ2xlRXhwYW5kU3RhdGUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gRG8gbm90IGJ1YmJsZSB1cCB0byBzZWxlY3Rpb24gY2hhbmdlIGV2ZW50LlxuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuICAgICAgICB0aGlzLmV4cGFuZGVkQ2hhbmdlLmVtaXQodGhpcy5leHBhbmRlZCk7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcblxuICAgICAgICB0aGlzLl9jbGlja2VkJC5uZXh0KGV2ZW50KTtcbiAgICAgICAgdGhpcy50cmVlSXRlbUNsaWNrLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldFNlbGVjdGVkKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvblN0YXRlID0gc2VsZWN0ZWQ7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiZmQtdHJlZV9faXRlbS1jb250YWluZXJcIlxuICAgIFthdHRyLnRhYmluZGV4XT1cIl9jb250YWluZXJUYWJJbmRleFwiXG4gICAgKGZka0NsaWNrZWQpPVwiX29uQ2xpY2soJGV2ZW50KVwiXG4gICAgZmRrU2VsZWN0YWJsZUl0ZW1cbiAgICAoc2VsZWN0ZWQpPVwiX3NldFNlbGVjdGVkKCRldmVudClcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJjaGlsZHJlbi5sZW5ndGggPiAwIHx8IGhhc1Byb2plY3RlZENoaWxkcmVuXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImV4cGFuZGVkXCJcbiAgICBbYXR0ci5hcmlhLXNldHNpemVdPVwiX3NldFNpemVcIlxuICAgIFthdHRyLmFyaWEtcG9zaW5zZXRdPVwiX2N1cnJlbnRQb3NpdGlvblwiXG4gICAgcm9sZT1cInRyZWVpdGVtXCJcbiAgICBbYXR0ci5hcmlhLWxldmVsXT1cImxldmVsXCJcbiAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3IoKVwiXG4gICAgW25nU3R5bGVdPVwiY3VzdG9tU3R5bGVzKClcIlxuICAgICNpdGVtQ29udGFpbmVyXG4gICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICBzdGF0ZSA/ICdoYXMtaGlnaGxpZ2h0LWluZGljYXRvciBoYXMtaGlnaGxpZ2h0LWluZGljYXRvci0tJyArIHN0YXRlIDogJycsXG4gICAgICAgIG5hdmlnYXRhYmxlID8gJ2ZkLXRyZWVfX2l0ZW0tY29udGFpbmVyLS1hY3RpdmUnIDogJycsXG4gICAgICAgIHdyYXBDb250ZW50ID8gJ2ZkLXRyZWVfX2NvbnRlbnQtLXdyYXAnIDogJydcbiAgICBdXCJcbj5cbiAgICBAaWYgKF90cmVlU2VydmljZS5zZWxlY3Rpb25Nb2RlKCkucGxhY2VtZW50ID09PSAnbGVmdCcpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlbGVjdGlvblwiPjwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAoaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgQGlmIChoYXNEc0NoaWxkcmVuIHx8IGhhc1Byb2plY3RlZENoaWxkcmVuKSB7XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfdG9nZ2xlRXhwYW5kU3RhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC10cmVlX19leHBhbmRlclwiXG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIihleHBhbmRlZCA/ICdjb3JlVHJlZS5jb2xsYXBzZScgOiAnY29yZVRyZWUuZXhwYW5kJykgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlzLWV4cGFuZGVkXT1cImV4cGFuZGVkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZmQtaWNvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXRyZWVfX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiZXhwYW5kZWQgPyAnbmF2aWdhdGlvbi1kb3duLWFycm93JyA6ICduYXZpZ2F0aW9uLXJpZ2h0LWFycm93J1wiXG4gICAgICAgICAgICAgICAgPjwvZmQtaWNvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKCFfdG90YWxDaGlsZHJlbkxvYWRlZCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRyZWVfX2V4cGFuZGVyIGZkLXRyZWVfX2V4cGFuZGVyLS1sb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAgPGZkLXNrZWxldG9uIHR5cGU9XCJyZWN0YW5nbGVcIiB3aWR0aD1cIjFyZW1cIiBoZWlnaHQ9XCIxcmVtXCI+PC9mZC1za2VsZXRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoX3RyZWVTZXJ2aWNlLnNlbGVjdGlvbk1vZGUoKS5wbGFjZW1lbnQgPT09ICdhZnRlckV4cGFuZCcpIHtcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWxlY3Rpb25cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJmZC10cmVlX19jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZFRyZWVJdGVtSWNvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZFRyZWVJdGVtVGV4dF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkVHJlZUl0ZW1CdXR0b25dXCI+PC9uZy1jb250ZW50PlxuICAgIEBpZiAoX3RyZWVTZXJ2aWNlLnNlbGVjdGlvbk1vZGUoKS5wbGFjZW1lbnQgPT09ICdyaWdodCcpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlbGVjdGlvblwiPjwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAobmF2aWdhdGFibGUgJiYgX3RyZWVTZXJ2aWNlLm5hdmlnYXRpb25JbmRpY2F0b3IoKSkge1xuICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cInNsaW0tYXJyb3ctcmlnaHRcIiBjbGFzcz1cImZkLXRyZWVfX2ljb24gZmQtdHJlZV9faWNvbi0tbmF2aWdhdGlvblwiPjwvZmQtaWNvbj5cbiAgICB9XG48L2Rpdj5cbkBpZiAoaGFzUHJvamVjdGVkQ2hpbGRyZW4gJiYgZXhwYW5kZWQpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZmQtdHJlZVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC10cmVlLWl0ZW1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG59XG48bmctdGVtcGxhdGUgI3NlbGVjdGlvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtZm9ybS1pdGVtXCI+XG4gICAgICAgIEBpZiAoX3RyZWVTZXJ2aWNlLnNlbGVjdGlvbk1vZGUoKS5tb2RlID09PSAnbXVsdGlwbGUnKSB7XG4gICAgICAgICAgICA8ZmQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIl9zZWxlY3Rpb25TdGF0ZVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICBbc3RhbmRhbG9uZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICB0YWJJbmRleFZhbHVlPVwiLTFcIlxuICAgICAgICAgICAgPjwvZmQtY2hlY2tib3g+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChfdHJlZVNlcnZpY2Uuc2VsZWN0aW9uTW9kZSgpLm1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgICAgICA8ZmQtcmFkaW8tYnV0dG9uXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJfc2VsZWN0aW9uU3RhdGVcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwiX3NlbGVjdGlvblN0YXRlXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgICAgW3N0YW5kYWxvbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgdGFiSW5kZXhWYWx1ZT1cIi0xXCJcbiAgICAgICAgICAgID48L2ZkLXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class TreeItemButtonDirective {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: TreeItemButtonDirective, isStandalone: true, selector: \"[fdTreeItemButton]\", host: { classAttribute: \"fd-tree__button\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemButtonDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdTreeItemButton]',\n host: {\n class: 'fd-tree__button'\n },\n standalone: true\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS9kaXJlY3RpdmVzL3RyZWUtaXRlbS1idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzFDLE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQVBuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsaUJBQWlCO3FCQUMzQjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRUcmVlSXRlbUJ1dHRvbl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC10cmVlX19idXR0b24nXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVJdGVtQnV0dG9uRGlyZWN0aXZlIHt9XG4iXX0=","import { Directive, HostBinding } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class TreeItemIconDirective {\n constructor() {\n /** @hidden */\n this._role = 'presentation';\n /** @hidden */\n this._ariaHidden = true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: TreeItemIconDirective, isStandalone: true, selector: \"[fdTreeItemIcon]\", host: { properties: { \"attr.role\": \"this._role\", \"attr.aria-hidden\": \"this._ariaHidden\" }, classAttribute: \"fd-tree__icon\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemIconDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdTreeItemIcon]',\n host: {\n class: 'fd-tree__icon'\n },\n standalone: true\n }]\n }], propDecorators: { _role: [{\n type: HostBinding,\n args: ['attr.role']\n }], _ariaHidden: [{\n type: HostBinding,\n args: ['attr.aria-hidden']\n }] } });\nexport class TreeItemTextDirective {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: TreeItemTextDirective, isStandalone: true, selector: \"[fdTreeItemText]\", host: { classAttribute: \"fd-tree__text\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemTextDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdTreeItemText]',\n host: {\n class: 'fd-tree__text'\n },\n standalone: true\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLWljb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyZWUvZGlyZWN0aXZlcy90cmVlLWl0ZW0taWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBU3ZELE1BQU0sT0FBTyxxQkFBcUI7SUFQbEM7UUFRSSxjQUFjO1FBRUcsVUFBSyxHQUFHLGNBQWMsQ0FBQztRQUV4QyxjQUFjO1FBRUcsZ0JBQVcsR0FBRyxJQUFJLENBQUM7S0FDdkM7OEdBUlkscUJBQXFCO2tHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBUGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxlQUFlO3FCQUN6QjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBSW9CLEtBQUs7c0JBRHJCLFdBQVc7dUJBQUMsV0FBVztnQkFLUCxXQUFXO3NCQUQzQixXQUFXO3VCQUFDLGtCQUFrQjs7QUFXbkMsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCO2tHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBUGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxlQUFlO3FCQUN6QjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkVHJlZUl0ZW1JY29uXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXRyZWVfX2ljb24nXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVJdGVtSWNvbkRpcmVjdGl2ZSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcm9sZSA9ICdwcmVzZW50YXRpb24nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FyaWFIaWRkZW4gPSB0cnVlO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZFRyZWVJdGVtVGV4dF0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC10cmVlX190ZXh0J1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUcmVlSXRlbVRleHREaXJlY3RpdmUge31cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { TreeItemComponent } from './components/tree-item/tree-item.component';\nimport { TreeItemButtonDirective } from './directives/tree-item-button.directive';\nimport { TreeItemDefDirective } from './directives/tree-item-def.directive';\nimport { TreeItemIconDirective, TreeItemTextDirective } from './directives/tree-item-icon.directive';\nimport { TreeItemDirective } from './directives/tree-item.directive';\nimport { TreeComponent } from './tree.component';\nimport * as i0 from \"@angular/core\";\nconst components = [\n TreeComponent,\n TreeItemComponent,\n TreeItemDefDirective,\n TreeItemDirective,\n TreeItemIconDirective,\n TreeItemTextDirective,\n TreeItemButtonDirective\n];\n/**\n * @deprecated\n *\n * Use direct imports of `TreeComponent`,\n `TreeItemComponent`,\n `TreeItemDefDirective`,\n `TreeItemDirective`,\n `TreeItemIconDirective`,\n `TreeItemTextDirective`,\n `TreeItemButtonDirective`\n */\nexport class TreeModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeModule, imports: [TreeComponent,\n TreeItemComponent,\n TreeItemDefDirective,\n TreeItemDirective,\n TreeItemIconDirective,\n TreeItemTextDirective,\n TreeItemButtonDirective], exports: [TreeComponent,\n TreeItemComponent,\n TreeItemDefDirective,\n TreeItemDirective,\n TreeItemIconDirective,\n TreeItemTextDirective,\n TreeItemButtonDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeModule, imports: [TreeComponent,\n TreeItemComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...components],\n exports: [...components]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS90cmVlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFakQsTUFBTSxVQUFVLEdBQUc7SUFDZixhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIscUJBQXFCO0lBQ3JCLHFCQUFxQjtJQUNyQix1QkFBdUI7Q0FDMUIsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFLSCxNQUFNLE9BQU8sVUFBVTs4R0FBVixVQUFVOytHQUFWLFVBQVUsWUF4Qm5CLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsb0JBQW9CO1lBQ3BCLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLHVCQUF1QixhQU52QixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLG9CQUFvQjtZQUNwQixpQkFBaUI7WUFDakIscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQix1QkFBdUI7K0dBa0JkLFVBQVUsWUF4Qm5CLGFBQWE7WUFDYixpQkFBaUI7OzJGQXVCUixVQUFVO2tCQUp0QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJlZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdHJlZS1pdGVtL3RyZWUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZUl0ZW1CdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdHJlZS1pdGVtLWJ1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVHJlZUl0ZW1EZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdHJlZS1pdGVtLWRlZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVHJlZUl0ZW1JY29uRGlyZWN0aXZlLCBUcmVlSXRlbVRleHREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdHJlZS1pdGVtLWljb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFRyZWVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3RyZWUtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vdHJlZS5jb21wb25lbnQnO1xuXG5jb25zdCBjb21wb25lbnRzID0gW1xuICAgIFRyZWVDb21wb25lbnQsXG4gICAgVHJlZUl0ZW1Db21wb25lbnQsXG4gICAgVHJlZUl0ZW1EZWZEaXJlY3RpdmUsXG4gICAgVHJlZUl0ZW1EaXJlY3RpdmUsXG4gICAgVHJlZUl0ZW1JY29uRGlyZWN0aXZlLFxuICAgIFRyZWVJdGVtVGV4dERpcmVjdGl2ZSxcbiAgICBUcmVlSXRlbUJ1dHRvbkRpcmVjdGl2ZVxuXTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICpcbiAqIFVzZSBkaXJlY3QgaW1wb3J0cyBvZiBgVHJlZUNvbXBvbmVudGAsXG4gICAgICAgIGBUcmVlSXRlbUNvbXBvbmVudGAsXG4gICAgICAgIGBUcmVlSXRlbURlZkRpcmVjdGl2ZWAsXG4gICAgICAgIGBUcmVlSXRlbURpcmVjdGl2ZWAsXG4gICAgICAgIGBUcmVlSXRlbUljb25EaXJlY3RpdmVgLFxuICAgICAgICBgVHJlZUl0ZW1UZXh0RGlyZWN0aXZlYCxcbiAgICAgICAgYFRyZWVJdGVtQnV0dG9uRGlyZWN0aXZlYFxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbiAgICBleHBvcnRzOiBbLi4uY29tcG9uZW50c11cbn0pXG5leHBvcnQgY2xhc3MgVHJlZU1vZHVsZSB7fVxuIl19","import { InjectionToken } from '@angular/core';\nexport const FD_TREE_ITEM = new InjectionToken('FdTreeItem');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyZWUvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEZEX1RSRUVfSVRFTSA9IG5ldyBJbmplY3Rpb25Ub2tlbignRmRUcmVlSXRlbScpO1xuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNvcmUtdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmVlL2Z1bmRhbWVudGFsLW5neC1jb3JlLXRyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-tree.mjs","sources":["../tmp-esm2022/tree/data-source/tree-data-source.js","../tmp-esm2022/tree/data-source/tree-data-source-parser.js","../tmp-esm2022/tree/directives/tree-item-def.directive.js","../tmp-esm2022/tree/directives/tree-item.directive.js","../tmp-esm2022/tree/models/base-tree-item.class.js","../tmp-esm2022/tree/tree.service.js","../tmp-esm2022/tree/tree.component.js","../tmp-esm2022/tree/components/tree-item/tree-item.component.js","../tmp-esm2022/tree/directives/tree-item-button.directive.js","../tmp-esm2022/tree/directives/tree-item-icon.directive.js","../tmp-esm2022/tree/tree.module.js","../tmp-esm2022/tree/tokens.js","../tmp-esm2022/tree/fundamental-ngx-core-tree.js"],"sourcesContent":["import { BaseDataSource, DataProvider } from '@fundamental-ngx/cdk/data-source';\nexport class FdTreeDataSource extends BaseDataSource {\n /** @hidden */\n constructor(dataProvider) {\n super(dataProvider);\n this.dataProvider = dataProvider;\n /** @hidden */\n this.limitless = true;\n }\n}\nexport class ArrayTreeDataSource extends FdTreeDataSource {\n /** @hidden */\n constructor(data) {\n super(new DataProvider(data));\n }\n}\nexport class ObservableTreeDataSource extends FdTreeDataSource {\n /** @hidden */\n constructor(data) {\n super(new DataProvider(data));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmVlL2RhdGEtc291cmNlL3RyZWUtZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHdEcsTUFBTSxPQUFPLGdCQUFvQixTQUFRLGNBQWlCO0lBR3RELGNBQWM7SUFDZCxZQUFtQixZQUFxQztRQUNwRCxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFETCxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFIeEQsY0FBYztRQUNkLGNBQVMsR0FBRyxJQUFJLENBQUM7SUFJakIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLG1CQUF1QixTQUFRLGdCQUFtQjtJQUMzRCxjQUFjO0lBQ2QsWUFBWSxJQUFTO1FBQ2pCLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyx3QkFBNEIsU0FBUSxnQkFBbUI7SUFDaEUsY0FBYztJQUNkLFlBQVksSUFBcUI7UUFDN0IsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3REYXRhUHJvdmlkZXIsIEJhc2VEYXRhU291cmNlLCBEYXRhUHJvdmlkZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9kYXRhLXNvdXJjZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBGZFRyZWVEYXRhU291cmNlPFQ+IGV4dGVuZHMgQmFzZURhdGFTb3VyY2U8VD4ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbGltaXRsZXNzID0gdHJ1ZTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhUHJvdmlkZXI6IEFic3RyYWN0RGF0YVByb3ZpZGVyPFQ+KSB7XG4gICAgICAgIHN1cGVyKGRhdGFQcm92aWRlcik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXJyYXlUcmVlRGF0YVNvdXJjZTxUPiBleHRlbmRzIEZkVHJlZURhdGFTb3VyY2U8VD4ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoZGF0YTogVFtdKSB7XG4gICAgICAgIHN1cGVyKG5ldyBEYXRhUHJvdmlkZXIoZGF0YSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9ic2VydmFibGVUcmVlRGF0YVNvdXJjZTxUPiBleHRlbmRzIEZkVHJlZURhdGFTb3VyY2U8VD4ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoZGF0YTogT2JzZXJ2YWJsZTxUW10+KSB7XG4gICAgICAgIHN1cGVyKG5ldyBEYXRhUHJvdmlkZXIoZGF0YSkpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUeXBlIG9mIGFjY2VwdGFibGUgb2JqZWN0cyBhcyBhIGRhdGFzb3VyY2UgZm9yIHRoZSBNdWx0aS1Db21ibyBCb3ggY29tcG9uZW50LlxuICovXG5leHBvcnQgdHlwZSBGZFRyZWVBY2NlcHRhYmxlRGF0YVNvdXJjZTxUID0gYW55PiA9IEZkVHJlZURhdGFTb3VyY2U8VD4gfCBPYnNlcnZhYmxlPFRbXT4gfCBUW107XG5leHBvcnQgdHlwZSBGZFRyZWVJdGVtVHlwZTxUeXBlIGV4dGVuZHMgRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2U+ID1cbiAgICBUeXBlIGV4dGVuZHMgQmFzZURhdGFTb3VyY2U8aW5mZXIgWD5cbiAgICAgICAgPyBYXG4gICAgICAgIDogVHlwZSBleHRlbmRzIEFycmF5PGluZmVyIFg+XG4gICAgICAgICAgPyBYXG4gICAgICAgICAgOiBUeXBlIGV4dGVuZHMgT2JzZXJ2YWJsZTxpbmZlciBYPlxuICAgICAgICAgICAgPyBYIGV4dGVuZHMgQXJyYXk8aW5mZXIgVj5cbiAgICAgICAgICAgICAgICA/IFZcbiAgICAgICAgICAgICAgICA6IFhcbiAgICAgICAgICAgIDogVHlwZTtcbiJdfQ==","import { isDataSource } from '@fundamental-ngx/cdk/data-source';\nimport { isObservable } from 'rxjs';\nimport { ArrayTreeDataSource, ObservableTreeDataSource } from './tree-data-source';\nexport class TreeDataSourceParser {\n /**\n * Transforms plain array or observable into DataSource class.\n * @param source\n */\n parse(source) {\n if (isDataSource(source)) {\n return source;\n }\n if (Array.isArray(source)) {\n return new ArrayTreeDataSource(source);\n }\n if (isObservable(source)) {\n return new ObservableTreeDataSource(source);\n }\n return undefined;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1kYXRhLXNvdXJjZS1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS9kYXRhLXNvdXJjZS90cmVlLWRhdGEtc291cmNlLXBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUNILG1CQUFtQixFQUduQix3QkFBd0IsRUFDM0IsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixNQUFNLE9BQU8sb0JBQW9CO0lBQzdCOzs7T0FHRztJQUNILEtBQUssQ0FBQyxNQUFxQztRQUN2QyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sTUFBNkIsQ0FBQztRQUN6QyxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxJQUFJLG1CQUFtQixDQUFJLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSx3QkFBd0IsQ0FBSSxNQUFNLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZVBhcnNlciwgaXNEYXRhU291cmNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIEFycmF5VHJlZURhdGFTb3VyY2UsXG4gICAgRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2UsXG4gICAgRmRUcmVlRGF0YVNvdXJjZSxcbiAgICBPYnNlcnZhYmxlVHJlZURhdGFTb3VyY2Vcbn0gZnJvbSAnLi90cmVlLWRhdGEtc291cmNlJztcblxuZXhwb3J0IGNsYXNzIFRyZWVEYXRhU291cmNlUGFyc2VyPFQ+IGltcGxlbWVudHMgRGF0YVNvdXJjZVBhcnNlcjxULCBGZFRyZWVEYXRhU291cmNlPFQ+PiB7XG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtcyBwbGFpbiBhcnJheSBvciBvYnNlcnZhYmxlIGludG8gRGF0YVNvdXJjZSBjbGFzcy5cbiAgICAgKiBAcGFyYW0gc291cmNlXG4gICAgICovXG4gICAgcGFyc2Uoc291cmNlOiBGZFRyZWVBY2NlcHRhYmxlRGF0YVNvdXJjZTxUPik6IEZkVHJlZURhdGFTb3VyY2U8VD4gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoaXNEYXRhU291cmNlKHNvdXJjZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2UgYXMgRmRUcmVlRGF0YVNvdXJjZTxUPjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHNvdXJjZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQXJyYXlUcmVlRGF0YVNvdXJjZTxUPihzb3VyY2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzT2JzZXJ2YWJsZShzb3VyY2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGVUcmVlRGF0YVNvdXJjZTxUPihzb3VyY2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59XG4iXX0=","import { Directive, Input, TemplateRef, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class TreeItemDefDirective {\n constructor() {\n /** Template reference. */\n this.templateRef = inject(TemplateRef);\n }\n /** @hidden */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: TreeItemDefDirective, isStandalone: true, selector: \"[fdTreeItemDef]\", inputs: { fdTreeItemDefAs: \"fdTreeItemDefAs\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemDefDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdTreeItemDef]',\n standalone: true\n }]\n }], propDecorators: { fdTreeItemDefAs: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLWRlZi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS9kaXJlY3RpdmVzL3RyZWUtaXRlbS1kZWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUXRFLE1BQU0sT0FBTyxvQkFBb0I7SUFKakM7UUFXSSwwQkFBMEI7UUFDakIsZ0JBQVcsR0FBRyxNQUFNLENBQXFDLFdBQVcsQ0FBQyxDQUFDO0tBS2xGO0lBSkcsY0FBYztJQUNkLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxHQUF5QixFQUFFLEdBQXVCO1FBQzVFLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OEdBWlEsb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQU9HLGVBQWU7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyZWVJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL3RyZWUtaXRlbSc7XG5pbXBvcnQgeyBUcmVlSXRlbURlZkNvbnRleHQgfSBmcm9tICcuLi9tb2RlbHMvdHJlZS1pdGVtLWRlZi1jb250ZXh0JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRUcmVlSXRlbURlZl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVHJlZUl0ZW1EZWZEaXJlY3RpdmU8VCBleHRlbmRzIFRyZWVJdGVtID0gVHJlZUl0ZW0+IHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVXNlZCBmb3IgdHlwZSBzdXBwb3J0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmRUcmVlSXRlbURlZkFzOiBUO1xuICAgIC8qKiBUZW1wbGF0ZSByZWZlcmVuY2UuICovXG4gICAgcmVhZG9ubHkgdGVtcGxhdGVSZWYgPSBpbmplY3Q8VGVtcGxhdGVSZWY8VHJlZUl0ZW1EZWZDb250ZXh0PFQ+Pj4oVGVtcGxhdGVSZWYpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoZGlyOiBUcmVlSXRlbURlZkRpcmVjdGl2ZSwgY3R4OiBUcmVlSXRlbURlZkNvbnRleHQpOiBjdHggaXMgVHJlZUl0ZW1EZWZDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl19","import { Directive, Injector } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class TreeItemDirective {\n /** @hidden */\n constructor(injector) {\n this.injector = Injector.create({ providers: [], parent: injector });\n }\n /** Sets tree item. */\n setTreeItem(item) {\n this.treeItem = item;\n }\n /** @hidden */\n ngOnDestroy() {\n this.treeItem = null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: TreeItemDirective, isStandalone: true, selector: \"[fdTreeItem]\", exportAs: [\"fdTreeItem\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdTreeItem]',\n exportAs: 'fdTreeItem',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmVlL2RpcmVjdGl2ZXMvdHJlZS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFVL0QsTUFBTSxPQUFPLGlCQUFpQjtJQU8xQixjQUFjO0lBQ2QsWUFBWSxRQUFrQjtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxzQkFBc0I7SUFDdEIsV0FBVyxDQUFDLElBQWtDO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7OEdBcEJRLGlCQUFpQjtrR0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUw3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEJhc2VUcmVlSXRlbSB9IGZyb20gJy4uL21vZGVscy9iYXNlLXRyZWUtaXRlbS5jbGFzcyc7XG5pbXBvcnQgeyBUcmVlSXRlbSB9IGZyb20gJy4uL21vZGVscy90cmVlLWl0ZW0nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZFRyZWVJdGVtXScsXG4gICAgZXhwb3J0QXM6ICdmZFRyZWVJdGVtJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVJdGVtRGlyZWN0aXZlPFQgZXh0ZW5kcyBUcmVlSXRlbSwgUD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKiBUcmVlIGl0ZW0gY29tcG9uZW50IGluc3RhbmNlLiAqL1xuICAgIHRyZWVJdGVtOiBOdWxsYWJsZTxCYXNlVHJlZUl0ZW08VCwgUD4+O1xuXG4gICAgLyoqIEluamVjdG9yIHRvIGJlIHVzZWQgaW4gYSB0cmVlIGl0ZW0gY29tcG9uZW50LCB0byByZXNvbHZlIGEgdHJlZSBpdGVtIGRpcmVjdGl2ZS4gKi9cbiAgICByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICB0aGlzLmluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbXSwgcGFyZW50OiBpbmplY3RvciB9KTtcbiAgICB9XG5cbiAgICAvKiogU2V0cyB0cmVlIGl0ZW0uICovXG4gICAgc2V0VHJlZUl0ZW0oaXRlbTogTnVsbGFibGU8QmFzZVRyZWVJdGVtPFQsIFA+Pik6IHZvaWQge1xuICAgICAgICB0aGlzLnRyZWVJdGVtID0gaXRlbTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyZWVJdGVtID0gbnVsbDtcbiAgICB9XG59XG4iXX0=","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BaseTreeItem {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: BaseTreeItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: BaseTreeItem, isStandalone: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: BaseTreeItem, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10cmVlLWl0ZW0uY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS9tb2RlbHMvYmFzZS10cmVlLWl0ZW0uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7QUFNdEQsTUFBTSxPQUFnQixZQUFZOzhHQUFaLFlBQVk7a0dBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEakMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUsIFNlbGVjdGFibGVJdGVtVG9rZW4gfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBGZFRyZWVBY2NlcHRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJy4uL2RhdGEtc291cmNlL3RyZWUtZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHsgVHJlZUl0ZW0sIFRyZWVJdGVtU3RhdGUgfSBmcm9tICcuL3RyZWUtaXRlbSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUcmVlSXRlbTxUIGV4dGVuZHMgVHJlZUl0ZW0gPSBUcmVlSXRlbSwgUCA9IGFueT5cbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2VsZWN0YWJsZUl0ZW1Ub2tlbjxIVE1MRWxlbWVudCwgUD4+XG57XG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHZhbHVlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IHZhbHVlOiBQO1xuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBJRC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBpZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHBhcmVudCBJRC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBwYXJlbnRJZDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBpcyBuYXZpZ2F0YWJsZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBuYXZpZ2F0YWJsZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBzdGF0ZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBzdGF0ZTogTnVsbGFibGU8VHJlZUl0ZW1TdGF0ZT47XG5cbiAgICAvKipcbiAgICAgKiBUcmVlIGl0ZW0gY2hpbGQgbm9kZXMgZGF0YSBzb3VyY2UuXG4gICAgICovXG4gICAgYWJzdHJhY3QgY2hpbGROb2RlczogRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2U8VD47XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHdyYXAgY29udGVudC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCB3cmFwQ29udGVudDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBpcyBleHBhbmRlZC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBleHBhbmRlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBsZXZlbC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBsZXZlbDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIGNoaWxkcmVuLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGNoaWxkcmVuOiBUW107XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0cmVlIGl0ZW0gaGFzIGNvbnRlbnQgcHJvamVjdGVkIGNoaWxkIG5vZGVzLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGhhc1Byb2plY3RlZENoaWxkcmVuOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdHJlZSBpdGVtIGhhcyBjb250ZW50IHByb2plY3RlZCBjaGlsZCBub2RlcyBvciBkYXRhIHNvdXJjZSBmb3IgY2hpbGRyZW4uXG4gICAgICovXG4gICAgYWJzdHJhY3QgaGFzQ2hpbGRyZW46IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBGb2N1c2FibGUgdHJlZSBpdGVtIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBpdGVtQ29udGFpbmVyOiBOdWxsYWJsZTxFbGVtZW50UmVmPjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBpcyBrZXlib2FyZCBuYXZpZ2F0YWJsZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBrZXlib2FyZEFjY2Vzc2libGU6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBUcmVlIGl0ZW0gc2VsZWN0YWJsZSBpdGVtLlxuICAgICAqL1xuICAgIGFic3RyYWN0IHNlbGVjdGFibGVMaXN0SXRlbTogU2VsZWN0YWJsZUl0ZW1Ub2tlbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBoYXMgRGF0YSBTb3VyY2UgY2hpbGRyZW4uXG4gICAgICovXG4gICAgYWJzdHJhY3QgaGFzRHNDaGlsZHJlbjogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGNoaWxkcmVuIG5vZGVzIGJlaW5nIGxvYWRlZCBmcm9tIHRoZSBEYXRhIFNvdXJjZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBjaGlsZHJlbkxvYWRlZDogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogTWV0aG9kIHRvIGZvY3VzIG9uIHRoZSB0cmVlIGl0ZW0uICovXG4gICAgYWJzdHJhY3QgZm9jdXMoKTogdm9pZDtcblxuICAgIC8qKiBNZXRob2QgdG8gc2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgaXRlbSBpbiBzZXQuICovXG4gICAgYWJzdHJhY3Qgc2V0UG9zaXRpb24odG90YWxJdGVtc0NvdW50OiBudW1iZXIsIGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZDtcblxuICAgIC8qKiBNZXRob2QgZm9yIHNldHRpbmcgdGhlIGZvY3VzYWJsZSB0YWJpbmRleC4gKi9cbiAgICBhYnN0cmFjdCBzZXRDb250YWluZXJUYWJJbmRleCh2YWx1ZTogbnVtYmVyKTogdm9pZDtcbn1cbiJdfQ==","import { Injectable, signal } from '@angular/core';\nimport { uuidv4 } from '@fundamental-ngx/cdk/utils';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class TreeService {\n constructor() {\n /**\n * @hidden\n */\n this.detectChanges = new Subject();\n /** @hidden */\n this._expandableItems = new Map();\n /** @hidden */\n this._selectionMode$ = signal({ mode: 'none', placement: 'none' }, ...(ngDevMode ? [{ debugName: \"_selectionMode$\" }] : []));\n /** @hidden */\n this._expandedLevel = signal(undefined, ...(ngDevMode ? [{ debugName: \"_expandedLevel\" }] : []));\n /** @hidden */\n this._navigationIndicator$ = signal(false, ...(ngDevMode ? [{ debugName: \"_navigationIndicator$\" }] : []));\n }\n /** Current expanded level. */\n get expandedLevel() {\n return this._expandedLevel.asReadonly();\n }\n /** Tree selection mode. */\n get selectionMode() {\n return this._selectionMode$.asReadonly();\n }\n /** Whether to show navigation indicator. */\n get navigationIndicator() {\n return this._navigationIndicator$.asReadonly();\n }\n /** Sets whether the navigation indicator should be visible. */\n setNavigationIndicator(value) {\n this._navigationIndicator$.set(value);\n }\n /** @hidden */\n normalizeTreeItems(items, parentId = null, level = 1) {\n if (!items) {\n return [];\n }\n return [...items].map((item) => ({\n ...item,\n ...{\n level,\n parentId,\n renderer: this.treeItemTemplateRef,\n id: item.id || uuidv4()\n }\n }));\n }\n /**\n * Adds expandable item to the object of expandable items.\n * @param id\n * @param level\n */\n addExpandableItem(id, level, expanded) {\n const levelCollection = this._expandableItems.get(level) || {};\n levelCollection[id] = expanded;\n this._expandableItems.set(level, levelCollection);\n this._emitNewExpandedLevel();\n }\n /**\n * Removes expandable item from the object of expandable items.\n * @param id\n * @param level\n */\n removeExpandableItem(id, level) {\n const levelCollection = this._expandableItems.get(level) || {};\n delete levelCollection[id];\n this._expandableItems.set(level, levelCollection);\n this._emitNewExpandedLevel();\n }\n /**\n * Sets selection mode and it's placement.\n * @param mode Selection mode.\n * @param placement Selection control placement.\n */\n setSelectionMode(mode, placement) {\n this._selectionMode$.set({ mode, placement });\n }\n /** @hidden */\n _emitNewExpandedLevel() {\n // We need to go from level 1 to deeper level since level 4 may be expanded, yet level 2 not.\n const levels = Array.from(this._expandableItems.keys()).sort();\n let lastLevel;\n for (const level of levels) {\n const levelExpandableItems = this._expandableItems.get(level);\n if (Object.values(levelExpandableItems).every((v) => !v)) {\n break;\n }\n lastLevel = level;\n }\n this._expandedLevel.set(lastLevel);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyZWUvdHJlZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQVksTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFZL0IsTUFBTSxPQUFPLFdBQVc7SUFEeEI7UUF1Qkk7O1dBRUc7UUFDTSxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFN0MsY0FBYztRQUNHLHFCQUFnQixHQUFHLElBQUksR0FBRyxFQUFzQyxDQUFDO1FBRWxGLGNBQWM7UUFDRyxvQkFBZSxHQUFHLE1BQU0sQ0FBcUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsMkRBQUMsQ0FBQztRQUVuRyxjQUFjO1FBQ0csbUJBQWMsR0FBRyxNQUFNLENBQXFCLFNBQVMsMERBQUMsQ0FBQztRQUV4RSxjQUFjO1FBQ0csMEJBQXFCLEdBQUcsTUFBTSxDQUFDLEtBQUssaUVBQUMsQ0FBQztLQThFMUQ7SUE1R0csOEJBQThCO0lBQzlCLElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsNENBQTRDO0lBQzVDLElBQUksbUJBQW1CO1FBQ25CLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFtQkQsK0RBQStEO0lBQy9ELHNCQUFzQixDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsY0FBYztJQUNkLGtCQUFrQixDQUNkLEtBQW9CLEVBQ3BCLFdBQTBCLElBQUksRUFDOUIsS0FBSyxHQUFHLENBQUM7UUFFVCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDaEMsR0FBRyxJQUFJO1lBQ1AsR0FBRztnQkFDQyxLQUFLO2dCQUNMLFFBQVE7Z0JBQ1IsUUFBUSxFQUFFLElBQUksQ0FBQyxtQkFBbUI7Z0JBQ2xDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLE1BQU0sRUFBRTthQUMxQjtTQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQkFBaUIsQ0FBQyxFQUFVLEVBQUUsS0FBYSxFQUFFLFFBQWlCO1FBQzFELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9ELGVBQWUsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxFQUFVLEVBQUUsS0FBYTtRQUMxQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvRCxPQUFPLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLElBQW1CLEVBQUUsU0FBNkI7UUFDL0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsY0FBYztJQUNOLHFCQUFxQjtRQUN6Qiw2RkFBNkY7UUFDN0YsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvRCxJQUFJLFNBQTZCLENBQUM7UUFFbEMsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN6QixNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFFLENBQUM7WUFFL0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZELE1BQU07WUFDVixDQUFDO1lBRUQsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN0QixDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs4R0FsSFEsV0FBVztrSEFBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgU2lnbmFsLCBUZW1wbGF0ZVJlZiwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSwgdXVpZHY0IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFzZVRyZWVJdGVtIH0gZnJvbSAnLi9tb2RlbHMvYmFzZS10cmVlLWl0ZW0uY2xhc3MnO1xuaW1wb3J0IHsgU2VsZWN0aW9uUGxhY2VtZW50LCBTZWxlY3Rpb25UeXBlIH0gZnJvbSAnLi9tb2RlbHMvc2VsZWN0aW9uLXR5cGUnO1xuaW1wb3J0IHsgVHJlZUl0ZW0sIFRyZWVJdGVtR2VuZXJpYyB9IGZyb20gJy4vbW9kZWxzL3RyZWUtaXRlbSc7XG5pbXBvcnQgeyBUcmVlSXRlbURlZkNvbnRleHQgfSBmcm9tICcuL21vZGVscy90cmVlLWl0ZW0tZGVmLWNvbnRleHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGlvbk1vZGVNb2RlbCB7XG4gICAgbW9kZTogU2VsZWN0aW9uVHlwZTtcbiAgICBwbGFjZW1lbnQ6IFNlbGVjdGlvblBsYWNlbWVudDtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyZWVTZXJ2aWNlIHtcbiAgICAvKiogVHJlZSBpdGVtIHRlbXBsYXRlIHJlZi4gKi9cbiAgICB0cmVlSXRlbVRlbXBsYXRlUmVmOiBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxUcmVlSXRlbURlZkNvbnRleHQ+PjtcblxuICAgIC8qKiBDdXJyZW50bHkgZm9jdXNlZCB0cmVlIGl0ZW0uICovXG4gICAgZm9jdXNlZFRyZWVJdGVtOiBOdWxsYWJsZTxCYXNlVHJlZUl0ZW0+O1xuXG4gICAgLyoqIEN1cnJlbnQgZXhwYW5kZWQgbGV2ZWwuICovXG4gICAgZ2V0IGV4cGFuZGVkTGV2ZWwoKTogU2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWRMZXZlbC5hc1JlYWRvbmx5KCk7XG4gICAgfVxuXG4gICAgLyoqIFRyZWUgc2VsZWN0aW9uIG1vZGUuICovXG4gICAgZ2V0IHNlbGVjdGlvbk1vZGUoKTogU2lnbmFsPFNlbGVjdGlvbk1vZGVNb2RlbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTW9kZSQuYXNSZWFkb25seSgpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRvIHNob3cgbmF2aWdhdGlvbiBpbmRpY2F0b3IuICovXG4gICAgZ2V0IG5hdmlnYXRpb25JbmRpY2F0b3IoKTogU2lnbmFsPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25JbmRpY2F0b3IkLmFzUmVhZG9ubHkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGV0ZWN0Q2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2V4cGFuZGFibGVJdGVtcyA9IG5ldyBNYXA8bnVtYmVyLCB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc2VsZWN0aW9uTW9kZSQgPSBzaWduYWw8U2VsZWN0aW9uTW9kZU1vZGVsPih7IG1vZGU6ICdub25lJywgcGxhY2VtZW50OiAnbm9uZScgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2V4cGFuZGVkTGV2ZWwgPSBzaWduYWw8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uYXZpZ2F0aW9uSW5kaWNhdG9yJCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogU2V0cyB3aGV0aGVyIHRoZSBuYXZpZ2F0aW9uIGluZGljYXRvciBzaG91bGQgYmUgdmlzaWJsZS4gKi9cbiAgICBzZXROYXZpZ2F0aW9uSW5kaWNhdG9yKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb25JbmRpY2F0b3IkLnNldCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBub3JtYWxpemVUcmVlSXRlbXM8VCBleHRlbmRzIFRyZWVJdGVtID0gVHJlZUl0ZW0+KFxuICAgICAgICBpdGVtczogTnVsbGFibGU8VFtdPixcbiAgICAgICAgcGFyZW50SWQ6IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICAgICAgICBsZXZlbCA9IDFcbiAgICApOiBUcmVlSXRlbTxUcmVlSXRlbUdlbmVyaWM8VD4+W10ge1xuICAgICAgICBpZiAoIWl0ZW1zKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFsuLi5pdGVtc10ubWFwKChpdGVtOiBUKSA9PiAoe1xuICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgIC4uLntcbiAgICAgICAgICAgICAgICBsZXZlbCxcbiAgICAgICAgICAgICAgICBwYXJlbnRJZCxcbiAgICAgICAgICAgICAgICByZW5kZXJlcjogdGhpcy50cmVlSXRlbVRlbXBsYXRlUmVmLFxuICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkIHx8IHV1aWR2NCgpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGV4cGFuZGFibGUgaXRlbSB0byB0aGUgb2JqZWN0IG9mIGV4cGFuZGFibGUgaXRlbXMuXG4gICAgICogQHBhcmFtIGlkXG4gICAgICogQHBhcmFtIGxldmVsXG4gICAgICovXG4gICAgYWRkRXhwYW5kYWJsZUl0ZW0oaWQ6IHN0cmluZywgbGV2ZWw6IG51bWJlciwgZXhwYW5kZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGV2ZWxDb2xsZWN0aW9uID0gdGhpcy5fZXhwYW5kYWJsZUl0ZW1zLmdldChsZXZlbCkgfHwge307XG4gICAgICAgIGxldmVsQ29sbGVjdGlvbltpZF0gPSBleHBhbmRlZDtcbiAgICAgICAgdGhpcy5fZXhwYW5kYWJsZUl0ZW1zLnNldChsZXZlbCwgbGV2ZWxDb2xsZWN0aW9uKTtcbiAgICAgICAgdGhpcy5fZW1pdE5ld0V4cGFuZGVkTGV2ZWwoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGV4cGFuZGFibGUgaXRlbSBmcm9tIHRoZSBvYmplY3Qgb2YgZXhwYW5kYWJsZSBpdGVtcy5cbiAgICAgKiBAcGFyYW0gaWRcbiAgICAgKiBAcGFyYW0gbGV2ZWxcbiAgICAgKi9cbiAgICByZW1vdmVFeHBhbmRhYmxlSXRlbShpZDogc3RyaW5nLCBsZXZlbDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxldmVsQ29sbGVjdGlvbiA9IHRoaXMuX2V4cGFuZGFibGVJdGVtcy5nZXQobGV2ZWwpIHx8IHt9O1xuICAgICAgICBkZWxldGUgbGV2ZWxDb2xsZWN0aW9uW2lkXTtcbiAgICAgICAgdGhpcy5fZXhwYW5kYWJsZUl0ZW1zLnNldChsZXZlbCwgbGV2ZWxDb2xsZWN0aW9uKTtcbiAgICAgICAgdGhpcy5fZW1pdE5ld0V4cGFuZGVkTGV2ZWwoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHNlbGVjdGlvbiBtb2RlIGFuZCBpdCdzIHBsYWNlbWVudC5cbiAgICAgKiBAcGFyYW0gbW9kZSBTZWxlY3Rpb24gbW9kZS5cbiAgICAgKiBAcGFyYW0gcGxhY2VtZW50IFNlbGVjdGlvbiBjb250cm9sIHBsYWNlbWVudC5cbiAgICAgKi9cbiAgICBzZXRTZWxlY3Rpb25Nb2RlKG1vZGU6IFNlbGVjdGlvblR5cGUsIHBsYWNlbWVudDogU2VsZWN0aW9uUGxhY2VtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUkLnNldCh7IG1vZGUsIHBsYWNlbWVudCB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2VtaXROZXdFeHBhbmRlZExldmVsKCk6IHZvaWQge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIGZyb20gbGV2ZWwgMSB0byBkZWVwZXIgbGV2ZWwgc2luY2UgbGV2ZWwgNCBtYXkgYmUgZXhwYW5kZWQsIHlldCBsZXZlbCAyIG5vdC5cbiAgICAgICAgY29uc3QgbGV2ZWxzID0gQXJyYXkuZnJvbSh0aGlzLl9leHBhbmRhYmxlSXRlbXMua2V5cygpKS5zb3J0KCk7XG4gICAgICAgIGxldCBsYXN0TGV2ZWw6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgICAgICBmb3IgKGNvbnN0IGxldmVsIG9mIGxldmVscykge1xuICAgICAgICAgICAgY29uc3QgbGV2ZWxFeHBhbmRhYmxlSXRlbXMgPSB0aGlzLl9leHBhbmRhYmxlSXRlbXMuZ2V0KGxldmVsKSE7XG5cbiAgICAgICAgICAgIGlmIChPYmplY3QudmFsdWVzKGxldmVsRXhwYW5kYWJsZUl0ZW1zKS5ldmVyeSgodikgPT4gIXYpKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhc3RMZXZlbCA9IGxldmVsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZXhwYW5kZWRMZXZlbC5zZXQobGFzdExldmVsKTtcbiAgICB9XG59XG4iXX0=","import { __decorate, __metadata } from \"tslib\";\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectorRef, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, EventEmitter, HostListener, Input, Output, QueryList, ViewChildren, ViewEncapsulation, effect, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DataSourceDirective, FD_DATA_SOURCE_TRANSFORMER } from '@fundamental-ngx/cdk/data-source';\nimport { CvaDirective } from '@fundamental-ngx/cdk/forms';\nimport { KeyUtil, RepeatDirective, RtlService, SelectableItemDirective, SelectionService, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { SkeletonComponent } from '@fundamental-ngx/core/skeleton';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { Subscription, filter, fromEvent, startWith, switchMap } from 'rxjs';\nimport { TreeDataSourceParser } from './data-source/tree-data-source-parser';\nimport { TreeItemDefDirective } from './directives/tree-item-def.directive';\nimport { TreeItemDirective } from './directives/tree-item.directive';\nimport { BaseTreeItem } from './models/base-tree-item.class';\nimport { TreeService } from './tree.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@fundamental-ngx/cdk/data-source\";\nimport * as i2 from \"@fundamental-ngx/cdk/forms\";\nexport class TreeComponent {\n /**\n * Whether the Tree component has navigation indicators.\n */\n set navigationIndicator(value) {\n if (value === this._navigationIndicator) {\n return;\n }\n this._navigationIndicator = value;\n this._treeService.setNavigationIndicator(value);\n }\n get navigationIndicator() {\n return this._navigationIndicator;\n }\n /** Tree item template definition. */\n set treeItemDef(value) {\n this._treeItemDef = value;\n // Set new renderer\n this._treeService.treeItemTemplateRef = value?.templateRef;\n this._items = this._treeService.normalizeTreeItems(this._items);\n }\n get treeItemDef() {\n return this._treeItemDef;\n }\n /** @hidden */\n get multiple() {\n return this.selection === 'multiple';\n }\n /** @hidden */\n get toggle() {\n return true;\n }\n /** @hidden */\n constructor() {\n /**\n * Whether the tree should be borderless.\n */\n this.noBorder = false;\n /** Type of tree items selection. */\n this.selection = 'none';\n /** Placement of the selection control. */\n this.selectionPlacement = 'none';\n /**\n * Whether the sections should be dependent for selection mode.\n * If true, selection control will shift, according to the level.\n * If false, selection control will stay on the same place ignoring the item level.\n */\n this.independentSections = false;\n /** Event emitted when data loading is started. */\n this.dataRequested = new EventEmitter();\n /** Event emitted when data loading is finished. */\n this.dataReceived = new EventEmitter();\n /** Event emitted when selected state changed. */\n this.selectedChange = new EventEmitter();\n /** @hidden */\n this._items = [];\n /**\n * @hidden\n * Used for skeleton to appear before first meaningful data being loaded.\n */\n this._initialDataLoaded = false;\n /** @hidden */\n this.elementRef = inject(ElementRef);\n /** @hidden */\n this._treeService = inject(TreeService);\n /** @hidden */\n this._navigationIndicator = false;\n /** @hidden */\n this._contentDensityObserver = inject(ContentDensityObserver);\n /** @hidden */\n this._dataSourceDirective = inject(DataSourceDirective);\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** @hidden */\n this._selectionService = inject(SelectionService);\n /** @hidden */\n this._rtl = inject(RtlService, {\n optional: true\n });\n /** @hidden */\n this._cvaDirective = inject(CvaDirective);\n /** @hidden */\n this._cdr = inject(ChangeDetectorRef);\n /** @hidden */\n this._dsSubscription = null;\n /**\n * @hidden\n * Sorted tree item components.\n */\n this._sortedTreeItems = [];\n /**\n * @hidden\n * All tree item components.\n */\n this._allItems = [];\n this._selectionService.registerRootComponent(this);\n this._contentDensityObserver.subscribe();\n effect(() => {\n this._expandedLevel = this._treeService.expandedLevel();\n this.buildComponentCssClass();\n });\n }\n /** @hidden */\n buildComponentCssClass() {\n return [\n this.class,\n this._expandedLevel ? `expanded-level-${this._expandedLevel}` : '',\n this.noBorder ? 'fd-tree--no-border' : '',\n this._items.length === 0 && this._initialDataLoaded ? 'fd-tree--no-data' : '',\n this.independentSections ? 'fd-tree--independent-multi-selection' : '',\n 'fd-tree'\n ];\n }\n /**\n * @hidden\n * Keyboard navigation\n * @param event Keyboard event.\n */\n _onKeyUp(event) {\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n if (event.defaultPrevented) {\n return;\n }\n event.preventDefault();\n this._focusKeyManager?.onKeydown(event);\n }\n }\n /** @hidden */\n ngOnInit() {\n this._openDataStream();\n this.buildComponentCssClass();\n this._treeService.detectChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._cdr.detectChanges();\n });\n if (this.selection !== 'none') {\n this._selectionService.setValue(this._cvaDirective.value);\n this._cvaDirective.ngControl?.valueChanges?.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._selectionService.setValue(this._cvaDirective.value);\n });\n }\n }\n /** @hidden */\n ngOnChanges(changes) {\n this.buildComponentCssClass();\n if ('selection' in changes || 'selectionPlacement' in changes) {\n this._treeService.setSelectionMode(this.selection, this.selectionPlacement);\n this._setSelectionListener();\n }\n }\n /** @hidden */\n ngAfterViewInit() {\n this._listenToTreeItemsChanges();\n this._listenToTreeItemDirectiveChanges();\n }\n /** @hidden */\n ngOnDestroy() {\n this._dsSubscription?.unsubscribe();\n this._eventSub?.unsubscribe();\n this._selectionSub?.unsubscribe();\n }\n /** @hidden */\n _onItemFocused(treeItem) {\n let focusedIndex = -1;\n this._sortedTreeItems.forEach((item, index) => {\n const isFocused = treeItem === item;\n item.setContainerTabIndex(isFocused ? 0 : -1);\n if (isFocused) {\n focusedIndex = index;\n }\n });\n if (focusedIndex === -1) {\n return;\n }\n this._focusKeyManager.setActiveItem(focusedIndex);\n }\n /** @hidden */\n _onItemKeyDown(event, treeItem) {\n if (!treeItem) {\n return;\n }\n const isRtl = !!this._rtl?.rtlSignal();\n const expandKey = isRtl ? LEFT_ARROW : RIGHT_ARROW;\n const collapseKey = isRtl ? RIGHT_ARROW : LEFT_ARROW;\n if (KeyUtil.isKeyCode(event, expandKey) && (treeItem.hasDsChildren || treeItem.hasProjectedChildren)) {\n if (event.defaultPrevented) {\n return;\n }\n event.preventDefault();\n this._expandTreeSection(treeItem);\n return;\n }\n if (KeyUtil.isKeyCode(event, collapseKey)) {\n if (event.defaultPrevented) {\n return;\n }\n event.preventDefault();\n this._collapseTreeSection(treeItem);\n return;\n }\n }\n /** @hidden */\n _trackFn(index, item) {\n return item.id;\n }\n /**\n * @hidden\n * Select list interface method implementation.\n * Sets value for control value accessor and emits it.\n * @param value value of the selection.\n */\n onChange(value) {\n this._cvaDirective.setValue(value, true);\n }\n /** @hidden */\n _expandTreeSection(treeItem) {\n if (treeItem.expanded) {\n // Shift focus on the first child item\n const itemIndex = this._sortedTreeItems.findIndex((item) => item.id === treeItem.id);\n const nextItem = this._sortedTreeItems[itemIndex + 1];\n if (nextItem?.parentId === treeItem.id) {\n this._focusKeyManager.setActiveItem(itemIndex + 1);\n }\n return;\n }\n treeItem.expanded = true;\n this._cdr.detectChanges();\n }\n /** @hidden */\n _collapseTreeSection(treeItem) {\n if (!treeItem.expanded && treeItem.parentId) {\n const parentItemIndex = this._sortedTreeItems.findIndex((item) => item.id === treeItem.parentId);\n if (parentItemIndex > -1) {\n this._focusKeyManager.setActiveItem(parentItemIndex);\n return;\n }\n }\n treeItem.expanded = false;\n this._cdr.detectChanges();\n }\n /** @hidden */\n _openDataStream() {\n this._dsSubscription?.unsubscribe();\n this._dsSubscription = new Subscription();\n this._dsSubscription.add(this._dataSourceDirective.dataSourceProvider?.dataRequested.subscribe(this.dataRequested));\n this._dsSubscription.add(this._dataSourceDirective.dataSourceProvider?.dataReceived.subscribe(this.dataReceived));\n this._dsSubscription.add(this._dataSourceDirective.dataSourceProvider?.dataReceived\n .pipe(filter((received) => received), switchMap(() => this._dataSourceDirective.dataChanged$))\n .subscribe((data) => {\n this._initialDataLoaded = true;\n this._items = this._treeService.normalizeTreeItems(data);\n this.buildComponentCssClass();\n this._cdr.markForCheck();\n }));\n this._dataSourceDirective.dataSourceProvider?.match();\n }\n /** @hidden */\n _setupEventListeners() {\n this._eventSub?.unsubscribe();\n this._eventSub = new Subscription();\n this._sortedTreeItems.forEach((item) => {\n this._eventSub.add(fromEvent(item.elementRef.nativeElement, 'keydown').subscribe((event) => {\n this._onItemKeyDown(event, item);\n }));\n this._eventSub.add(fromEvent(item.itemContainer?.nativeElement, 'focus').subscribe(() => {\n this._onItemFocused(item);\n }));\n });\n }\n /** @hidden */\n _sortTreeItems(items) {\n const components = [];\n const rootItems = items.filter((item) => item.level === 1);\n rootItems.forEach((treeItem, index) => {\n treeItem.setPosition(rootItems.length, index + 1);\n });\n items.forEach((item) => {\n if (!item || components.includes(item)) {\n return;\n }\n components.push(item);\n if (item.children.length === 0) {\n return;\n }\n const childItems = this._sortTreeItems(this._allItems.filter((i) => i.parentId === item.id));\n childItems.forEach((treeItem, index) => {\n treeItem.setPosition(childItems.length, index + 1);\n });\n components.push(...childItems);\n });\n return components;\n }\n /** @hidden */\n _setSelectionListener() {\n this._selectionSub?.unsubscribe();\n if (this.selection !== 'none') {\n this._selectionService.setValue(this._cvaDirective.value);\n this._selectionSub = this._cvaDirective.ngControl?.valueChanges\n ?.pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._selectionService.setValue(this._cvaDirective.value);\n });\n }\n }\n /** @hidden */\n _listenToTreeItemDirectiveChanges() {\n this._treeItemDirectives.changes\n .pipe(startWith(null), filter(() => this.treeItemDef !== undefined), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._allItems = this._treeItemDirectives.toArray().map((item) => item.treeItem);\n const flattenedItems = this._sortTreeItems(this._allItems);\n this._setFlattenedItems(flattenedItems);\n });\n }\n /** @hidden */\n _listenToTreeItemsChanges() {\n this._projectedTreeItems.changes\n .pipe(startWith(null), filter(() => !this.treeItemDef), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._allItems = this._projectedTreeItems.toArray();\n const flattenedItems = this._sortTreeItems(this._allItems);\n this._setFlattenedItems(flattenedItems);\n });\n }\n /** @hidden */\n _setFlattenedItems(items) {\n this._sortedTreeItems = items;\n const activeItem = this._focusKeyManager?.activeItem;\n const newActiveItemIndex = items.findIndex((item) => item === activeItem);\n this._focusKeyManager?.destroy();\n this._focusKeyManager = new FocusKeyManager(items)\n .withVerticalOrientation(true)\n .skipPredicate((item) => !item.keyboardAccessible);\n if (newActiveItemIndex > -1) {\n this._focusKeyManager.setActiveItem(newActiveItemIndex);\n }\n this._selectionService.initialize(this._sortedTreeItems.map((item) => item.selectableListItem));\n this._setupEventListeners();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: TreeComponent, isStandalone: true, selector: \"fd-tree\", inputs: { class: \"class\", noBorder: \"noBorder\", selection: \"selection\", selectionPlacement: \"selectionPlacement\", independentSections: \"independentSections\", navigationIndicator: \"navigationIndicator\" }, outputs: { dataRequested: \"dataRequested\", dataReceived: \"dataReceived\", selectedChange: \"selectedChange\" }, host: { attributes: { \"role\": \"tree\" }, listeners: { \"keydown\": \"_onKeyUp($event)\" } }, providers: [\n contentDensityObserverProviders(),\n TreeService,\n SelectionService,\n {\n provide: FD_DATA_SOURCE_TRANSFORMER,\n useClass: TreeDataSourceParser\n }\n ], queries: [{ propertyName: \"treeItemDef\", first: true, predicate: TreeItemDefDirective, descendants: true }, { propertyName: \"_projectedTreeItems\", predicate: BaseTreeItem, descendants: true }], viewQueries: [{ propertyName: \"_treeItemDirectives\", predicate: TreeItemDirective, descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.DataSourceDirective, inputs: [\"dataSource\", \"dataSource\"], outputs: [\"dataChanged\", \"dataChanged\"] }, { directive: i2.CvaDirective, inputs: [\"name\", \"name\", \"id\", \"id\", \"state\", \"state\", \"stateMessage\", \"stateMessage\", \"disabled\", \"disabled\", \"readonly\", \"readonly\"] }], ngImport: i0, template: \"<ng-template #dataSourceRenderer>\\n <ng-template\\n [ngTemplateOutlet]=\\\"!_initialDataLoaded ? loadingRenderer : dataLoadedTpl\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: 1 }\\\"\\n ></ng-template>\\n <ng-template #loadingRenderer let-level>\\n <div *fdkRepeat=\\\"5\\\" role=\\\"treeitem\\\" [attr.aria-level]=\\\"level\\\" class=\\\"fd-tree__item\\\">\\n <div class=\\\"fd-tree__item-container\\\">\\n <div class=\\\"fd-tree__content\\\">\\n <span class=\\\"fd-tree__text\\\">\\n <fd-skeleton type=\\\"text\\\" width=\\\"100px\\\" textLines=\\\"1\\\"></fd-skeleton>\\n </span>\\n </div>\\n </div>\\n </div>\\n </ng-template>\\n <ng-template #dataLoadedTpl>\\n @if (_items.length > 0 && treeItemDef) {\\n @for (item of _items; track _trackFn($index, item)) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"renderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item }\\\"\\n ></ng-template>\\n }\\n } @else {\\n <div role=\\\"treeitem\\\" aria-level=\\\"1\\\" class=\\\"fd-tree__item\\\">\\n <div class=\\\"fd-tree__item-container\\\">\\n <div class=\\\"fd-tree__content\\\">\\n <span class=\\\"fd-tree__text\\\">{{ 'coreTree.noData' | fdTranslate }}</span>\\n </div>\\n </div>\\n </div>\\n }\\n </ng-template>\\n <ng-template #renderer let-item>\\n <ng-container fdTreeItem fdkSelectableItem #treeItemDirective=\\\"fdTreeItem\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.renderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item }\\\"\\n [ngTemplateOutletInjector]=\\\"treeItemDirective.injector\\\"\\n ></ng-template>\\n </ng-container>\\n @if (\\n treeItemDirective.treeItem?.hasDsChildren &&\\n !!treeItemDirective.treeItem?.expanded &&\\n !treeItemDirective.treeItem?.childrenLoaded\\n ) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"loadingRenderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item.level + 1 }\\\"\\n ></ng-template>\\n }\\n @if (treeItemDirective.treeItem?.children; as childItems) {\\n @if (childItems && childItems.length > 0 && !!treeItemDirective?.treeItem?.expanded) {\\n <div class=\\\"fd-tree\\\">\\n @for (child of childItems; track _trackFn($index, child)) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"renderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"\\n ></ng-template>\\n }\\n </div>\\n }\\n }\\n </ng-template>\\n</ng-template>\\n<ng-template #projectedContentRenderer>\\n <ng-content select=\\\"fd-tree-item\\\"></ng-content>\\n</ng-template>\\n<ng-template [ngTemplateOutlet]=\\\"treeItemDef ? dataSourceRenderer : projectedContentRenderer\\\"></ng-template>\\n\", styles: [\":root{--fdList_Item_Background_Color:var(--sapList_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor);--fdList_Item_Text_Font_Size:var(--sapFontLargeSize);--fdList_Item_Icon_Font_Size:1.125rem;--fdList_Item_Height:var(--sapElement_LineHeight);--fdList_Status_Text_Color:var(--sapNeutralTextColor);--fdList_Message_Background_Color:var(--sapNeutralBackground)}.fd-tree{--fdTree_Button_Spacing:var(--fdList_Button_Spacing);--fdTree_Expander_Size:2.75rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Height:2.75rem;--fdTree_Item_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Wrap_Text_Line_Height:1.4;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;list-style-type:none;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:100%}.fd-tree[class*=-compact],.fd-tree[class*=-condensed],[class*=-compact] .fd-tree:not([class*=-cozy]),[class*=-condensed] .fd-tree:not([class*=-cozy]){--fdTree_Expander_Size:2rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontSmallSize);--fdTree_Item_Height:2rem;--fdTree_Item_Font_Size:var(--sapFontSize);--fdTree_Item_Wrap_Text_Line_Height:1.4}.fd-tree .has-highlight-indicator{--fdTree_Item_Highlight_Color:var(--sapInformationBorderColor);-webkit-box-shadow:inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator--error{--fdTree_Item_Highlight_Color:var(--sapErrorBorderColor)}.fd-tree .has-highlight-indicator--warning{--fdTree_Item_Highlight_Color:var(--sapWarningBorderColor)}.fd-tree .has-highlight-indicator--success{--fdTree_Item_Highlight_Color:var(--sapSuccessBorderColor)}.fd-tree .has-highlight-indicator[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator{-webkit-box-shadow:inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated{-webkit-box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor),inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor),inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator.is-navigated{-webkit-box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor),inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor),inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander{-webkit-margin-start:var(--fdTree_Item_Level_Spacing);margin-inline-start:var(--fdTree_Item_Level_Spacing)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content{-webkit-margin-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size));margin-inline-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content,.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child{-webkit-margin-start:0;margin-inline-start:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content{-webkit-margin-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size));margin-inline-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree.expanded-level-1 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"2\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"2\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"3\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"3\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"4\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"4\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"5\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"5\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"6\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"6\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree .fd-tree__item-container .fd-form-item:first-child label,.fd-tree .fd-tree__item-container .fd-tree__expander+.fd-form-item label{margin-block:0;margin-inline:0}.fd-tree .fd-tree__expander+.fd-tree__content{-webkit-margin-start:0;margin-inline-start:0}.fd-tree:after,.fd-tree:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree[aria-hidden=true]{display:none}.fd-tree__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-tree__item:after,.fd-tree__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container{background:var(--sapList_Background);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-button,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__item-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--sapList_AlternatingBackground);border-bottom:var(--sapList_BorderWidth) solid transparent;min-height:var(--fdTree_Item_Height);position:relative;width:100%;-webkit-padding-end:1rem;padding-inline-end:1rem}.fd-tree__item-container:after,.fd-tree__item-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__item-container.is-selected,.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item-container.is-navigated{-webkit-box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor);box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-navigated[dir=rtl],[dir=rtl] .fd-tree__item-container.is-navigated{-webkit-box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor);box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-focus,.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree__item-container.is-focus:before,.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item-container.is-focus.is-active:before,.fd-tree__item-container.is-focus:active:before,.fd-tree__item-container:focus.is-active:before,.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item-container--active.is-hover,.fd-tree__item-container--active:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree__item-container--active.is-selected,.fd-tree__item-container--active[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree__item-container--active.is-active,.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item-container--active.is-active:hover,.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item-container--active:active,.fd-tree__item-container--active:active.is-hover,.fd-tree__item-container--active:active.is-selected,.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item-container--active:active:hover,.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item-container--active:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree__item-container--active.is-focus,.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item-container--active.is-focus:before,.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item-container--active:active .fd-button,.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__button{-webkit-margin-start:var(--fdTree_Button_Spacing);margin-inline-start:var(--fdTree_Button_Spacing)}.fd-tree__expander{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;background-image:none;background:transparent;border:0;border-radius:var(--sapButton_BorderCornerRadius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapButton_IconColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size);outline:0;padding-block:0;padding-inline:0;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.fd-tree__expander:after,.fd-tree__expander:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__expander::-moz-focus-inner{border:0}.fd-tree__expander.is-focus,.fd-tree__expander:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--fdButton_Outline_Offset);z-index:5}.fd-tree__expander .fd-tree__icon{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-tree__expander .fd-tree__icon:after,.fd-tree__expander .fd-tree__icon:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__expander .fd-tree__icon [class*=sap-icon],.fd-tree__expander .fd-tree__icon[class*=sap-icon]{color:var(--sapButton_IconColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:var(--fdTree_Expander_Icon_Font_Size);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-tree__expander[dir=rtl] .fd-tree__icon,[dir=rtl] .fd-tree__expander .fd-tree__icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fd-tree__expander.is-expanded,.fd-tree__expander[aria-expanded=true]{border-bottom:none}.fd-tree__expander.is-expanded[dir=rtl] .fd-tree__icon,.fd-tree__expander[aria-expanded=true][dir=rtl] .fd-tree__icon,[dir=rtl] .fd-tree__expander.is-expanded .fd-tree__icon,[dir=rtl] .fd-tree__expander[aria-expanded=true] .fd-tree__icon{-webkit-transform:rotate(0);transform:rotate(0)}.fd-tree__content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:var(--fdTree_Item_Height);text-decoration:none;width:100%}.fd-tree__content:after,.fd-tree__content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__content--wrap,.fd-tree__content--wrap .fd-tree__text{overflow:visible;text-overflow:clip;white-space:normal}.fd-tree__content--wrap .fd-tree__text{line-height:var(--fdTree_Item_Wrap_Text_Line_Height)}.fd-tree__icon{line-height:var(--fdTree_Expander_Size);min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size)}.fd-tree__icon,.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{color:var(--sapContent_NonInteractiveIconColor);font-size:1.125rem}.fd-tree__icon--navigation [class*=sap-icon],.fd-tree__icon--navigation[class*=sap-icon]{font-size:.75rem;min-width:2.5rem}.fd-tree__icon--navigation:last-child{-webkit-margin-end:-1rem;margin-inline-end:-1rem}.fd-tree__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--fdTree_Item_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:var(--fdTree_Item_Height);margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.fd-tree__text:after,.fd-tree__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree--no-border .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container{border-bottom:var(--sapList_BorderWidth) solid transparent}.fd-tree--no-border .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-selected,.fd-tree--no-border .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container[aria-selected=true]{border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--active .fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item-container:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree--active .fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item-container[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item-container:active,.fd-tree--active .fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--no-data .fd-tree__text{text-align:center}.fd-tree{display:block}.fd-tree__expander--loading{display:flex;align-items:center;justify-content:center}[dir=rtl] .fd-tree__expander:not(.is-expanded),.fd-tree__expander:not(.is-expanded)[dir=rtl]{transform:rotate(180deg)}[dir=rtl] .fd-tree__icon--navigation,.fd-tree__icon--navigation[dir=rtl]{transform:rotate(180deg)}\\n/*! Bundled license information:\\n\\nfundamental-styles/dist/tree.css:\\n (*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\\n *)\\n*/\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: RepeatDirective, selector: \"[fdkRepeat]\", inputs: [\"fdkRepeat\"] }, { kind: \"component\", type: SkeletonComponent, selector: \"fd-skeleton\", inputs: [\"animated\", \"type\", \"textLines\", \"width\", \"height\"] }, { kind: \"directive\", type: TreeItemDirective, selector: \"[fdTreeItem]\", exportAs: [\"fdTreeItem\"] }, { kind: \"directive\", type: SelectableItemDirective, selector: \"[fdkSelectableItem]\", inputs: [\"value\", \"fdkSelectableItem\"], outputs: [\"clicked\", \"selected\"], exportAs: [\"fdkSelectableItem\"] }, { kind: \"pipe\", type: FdTranslatePipe, name: \"fdTranslate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\n__decorate([\n applyCssClass,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Array)\n], TreeComponent.prototype, \"buildComponentCssClass\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-tree', encapsulation: ViewEncapsulation.None, hostDirectives: [\n {\n directive: DataSourceDirective,\n inputs: ['dataSource'],\n outputs: ['dataChanged']\n },\n {\n directive: CvaDirective,\n inputs: ['name', 'id', 'state', 'stateMessage', 'disabled', 'readonly']\n }\n ], host: {\n role: 'tree'\n }, providers: [\n contentDensityObserverProviders(),\n TreeService,\n SelectionService,\n {\n provide: FD_DATA_SOURCE_TRANSFORMER,\n useClass: TreeDataSourceParser\n }\n ], imports: [\n NgTemplateOutlet,\n RepeatDirective,\n SkeletonComponent,\n TreeItemDirective,\n SelectableItemDirective,\n FdTranslatePipe\n ], template: \"<ng-template #dataSourceRenderer>\\n <ng-template\\n [ngTemplateOutlet]=\\\"!_initialDataLoaded ? loadingRenderer : dataLoadedTpl\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: 1 }\\\"\\n ></ng-template>\\n <ng-template #loadingRenderer let-level>\\n <div *fdkRepeat=\\\"5\\\" role=\\\"treeitem\\\" [attr.aria-level]=\\\"level\\\" class=\\\"fd-tree__item\\\">\\n <div class=\\\"fd-tree__item-container\\\">\\n <div class=\\\"fd-tree__content\\\">\\n <span class=\\\"fd-tree__text\\\">\\n <fd-skeleton type=\\\"text\\\" width=\\\"100px\\\" textLines=\\\"1\\\"></fd-skeleton>\\n </span>\\n </div>\\n </div>\\n </div>\\n </ng-template>\\n <ng-template #dataLoadedTpl>\\n @if (_items.length > 0 && treeItemDef) {\\n @for (item of _items; track _trackFn($index, item)) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"renderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item }\\\"\\n ></ng-template>\\n }\\n } @else {\\n <div role=\\\"treeitem\\\" aria-level=\\\"1\\\" class=\\\"fd-tree__item\\\">\\n <div class=\\\"fd-tree__item-container\\\">\\n <div class=\\\"fd-tree__content\\\">\\n <span class=\\\"fd-tree__text\\\">{{ 'coreTree.noData' | fdTranslate }}</span>\\n </div>\\n </div>\\n </div>\\n }\\n </ng-template>\\n <ng-template #renderer let-item>\\n <ng-container fdTreeItem fdkSelectableItem #treeItemDirective=\\\"fdTreeItem\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"item.renderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item }\\\"\\n [ngTemplateOutletInjector]=\\\"treeItemDirective.injector\\\"\\n ></ng-template>\\n </ng-container>\\n @if (\\n treeItemDirective.treeItem?.hasDsChildren &&\\n !!treeItemDirective.treeItem?.expanded &&\\n !treeItemDirective.treeItem?.childrenLoaded\\n ) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"loadingRenderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: item.level + 1 }\\\"\\n ></ng-template>\\n }\\n @if (treeItemDirective.treeItem?.children; as childItems) {\\n @if (childItems && childItems.length > 0 && !!treeItemDirective?.treeItem?.expanded) {\\n <div class=\\\"fd-tree\\\">\\n @for (child of childItems; track _trackFn($index, child)) {\\n <ng-template\\n [ngTemplateOutlet]=\\\"renderer\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"\\n ></ng-template>\\n }\\n </div>\\n }\\n }\\n </ng-template>\\n</ng-template>\\n<ng-template #projectedContentRenderer>\\n <ng-content select=\\\"fd-tree-item\\\"></ng-content>\\n</ng-template>\\n<ng-template [ngTemplateOutlet]=\\\"treeItemDef ? dataSourceRenderer : projectedContentRenderer\\\"></ng-template>\\n\", styles: [\":root{--fdList_Item_Background_Color:var(--sapList_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor);--fdList_Item_Text_Font_Size:var(--sapFontLargeSize);--fdList_Item_Icon_Font_Size:1.125rem;--fdList_Item_Height:var(--sapElement_LineHeight);--fdList_Status_Text_Color:var(--sapNeutralTextColor);--fdList_Message_Background_Color:var(--sapNeutralBackground)}.fd-tree{--fdTree_Button_Spacing:var(--fdList_Button_Spacing);--fdTree_Expander_Size:2.75rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Height:2.75rem;--fdTree_Item_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Wrap_Text_Line_Height:1.4;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;list-style-type:none;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:100%}.fd-tree[class*=-compact],.fd-tree[class*=-condensed],[class*=-compact] .fd-tree:not([class*=-cozy]),[class*=-condensed] .fd-tree:not([class*=-cozy]){--fdTree_Expander_Size:2rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontSmallSize);--fdTree_Item_Height:2rem;--fdTree_Item_Font_Size:var(--sapFontSize);--fdTree_Item_Wrap_Text_Line_Height:1.4}.fd-tree .has-highlight-indicator{--fdTree_Item_Highlight_Color:var(--sapInformationBorderColor);-webkit-box-shadow:inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator--error{--fdTree_Item_Highlight_Color:var(--sapErrorBorderColor)}.fd-tree .has-highlight-indicator--warning{--fdTree_Item_Highlight_Color:var(--sapWarningBorderColor)}.fd-tree .has-highlight-indicator--success{--fdTree_Item_Highlight_Color:var(--sapSuccessBorderColor)}.fd-tree .has-highlight-indicator[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator{-webkit-box-shadow:inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated{-webkit-box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor),inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor),inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator.is-navigated{-webkit-box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor),inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color);box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor),inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander{-webkit-margin-start:var(--fdTree_Item_Level_Spacing);margin-inline-start:var(--fdTree_Item_Level_Spacing)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content{-webkit-margin-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size));margin-inline-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content,.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child{-webkit-margin-start:0;margin-inline-start:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content{-webkit-margin-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size));margin-inline-start:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree.expanded-level-1 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"2\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"2\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"3\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"3\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"4\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"4\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"5\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"5\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\\\"6\\\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\\\"6\\\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"1\\\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"2\\\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"3\\\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"4\\\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"5\\\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"6\\\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"7\\\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"8\\\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"9\\\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"10\\\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"11\\\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\\\"12\\\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree .fd-tree__item-container .fd-form-item:first-child label,.fd-tree .fd-tree__item-container .fd-tree__expander+.fd-form-item label{margin-block:0;margin-inline:0}.fd-tree .fd-tree__expander+.fd-tree__content{-webkit-margin-start:0;margin-inline-start:0}.fd-tree:after,.fd-tree:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree[aria-hidden=true]{display:none}.fd-tree__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-tree__item:after,.fd-tree__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container{background:var(--sapList_Background);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-selected,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active:hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-button,.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__item-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--sapList_AlternatingBackground);border-bottom:var(--sapList_BorderWidth) solid transparent;min-height:var(--fdTree_Item_Height);position:relative;width:100%;-webkit-padding-end:1rem;padding-inline-end:1rem}.fd-tree__item-container:after,.fd-tree__item-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__item-container.is-selected,.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item-container.is-navigated{-webkit-box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor);box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-navigated[dir=rtl],[dir=rtl] .fd-tree__item-container.is-navigated{-webkit-box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor);box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-focus,.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree__item-container.is-focus:before,.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item-container.is-focus.is-active:before,.fd-tree__item-container.is-focus:active:before,.fd-tree__item-container:focus.is-active:before,.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item-container--active.is-hover,.fd-tree__item-container--active:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree__item-container--active.is-selected,.fd-tree__item-container--active[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree__item-container--active.is-active,.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item-container--active.is-active:hover,.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item-container--active:active,.fd-tree__item-container--active:active.is-hover,.fd-tree__item-container--active:active.is-selected,.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item-container--active:active:hover,.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item-container--active:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree__item-container--active.is-focus,.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item-container--active.is-focus:before,.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item-container--active:active .fd-button,.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__button{-webkit-margin-start:var(--fdTree_Button_Spacing);margin-inline-start:var(--fdTree_Button_Spacing)}.fd-tree__expander{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;background-image:none;background:transparent;border:0;border-radius:var(--sapButton_BorderCornerRadius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapButton_IconColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size);outline:0;padding-block:0;padding-inline:0;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.fd-tree__expander:after,.fd-tree__expander:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__expander::-moz-focus-inner{border:0}.fd-tree__expander.is-focus,.fd-tree__expander:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--fdButton_Outline_Offset);z-index:5}.fd-tree__expander .fd-tree__icon{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-tree__expander .fd-tree__icon:after,.fd-tree__expander .fd-tree__icon:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__expander .fd-tree__icon [class*=sap-icon],.fd-tree__expander .fd-tree__icon[class*=sap-icon]{color:var(--sapButton_IconColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:var(--fdTree_Expander_Icon_Font_Size);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-tree__expander[dir=rtl] .fd-tree__icon,[dir=rtl] .fd-tree__expander .fd-tree__icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fd-tree__expander.is-expanded,.fd-tree__expander[aria-expanded=true]{border-bottom:none}.fd-tree__expander.is-expanded[dir=rtl] .fd-tree__icon,.fd-tree__expander[aria-expanded=true][dir=rtl] .fd-tree__icon,[dir=rtl] .fd-tree__expander.is-expanded .fd-tree__icon,[dir=rtl] .fd-tree__expander[aria-expanded=true] .fd-tree__icon{-webkit-transform:rotate(0);transform:rotate(0)}.fd-tree__content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:var(--fdTree_Item_Height);text-decoration:none;width:100%}.fd-tree__content:after,.fd-tree__content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree__content--wrap,.fd-tree__content--wrap .fd-tree__text{overflow:visible;text-overflow:clip;white-space:normal}.fd-tree__content--wrap .fd-tree__text{line-height:var(--fdTree_Item_Wrap_Text_Line_Height)}.fd-tree__icon{line-height:var(--fdTree_Expander_Size);min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size)}.fd-tree__icon,.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{color:var(--sapContent_NonInteractiveIconColor);font-size:1.125rem}.fd-tree__icon--navigation [class*=sap-icon],.fd-tree__icon--navigation[class*=sap-icon]{font-size:.75rem;min-width:2.5rem}.fd-tree__icon--navigation:last-child{-webkit-margin-end:-1rem;margin-inline-end:-1rem}.fd-tree__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--fdTree_Item_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:var(--fdTree_Item_Height);margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.fd-tree__text:after,.fd-tree__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-tree--no-border .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container{border-bottom:var(--sapList_BorderWidth) solid transparent}.fd-tree--no-border .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-selected,.fd-tree--no-border .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container[aria-selected=true]{border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\\\"1\\\"]>.fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--active .fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item-container:hover{--fdList_Item_Background_Color:var(--sapList_Hover_Background);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_BorderColor)}.fd-tree--active .fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item-container[aria-selected=true]{--fdList_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdList_Item_Text_Color:var(--sapList_TextColor);--fdList_Item_Border_Color:var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item-container:active,.fd-tree--active .fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true]:hover{--fdList_Item_Background_Color:var(--sapList_Active_Background);--fdList_Item_Text_Color:var(--sapList_Active_TextColor);--fdList_Item_Border_Color:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);content:\\\"\\\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--no-data .fd-tree__text{text-align:center}.fd-tree{display:block}.fd-tree__expander--loading{display:flex;align-items:center;justify-content:center}[dir=rtl] .fd-tree__expander:not(.is-expanded),.fd-tree__expander:not(.is-expanded)[dir=rtl]{transform:rotate(180deg)}[dir=rtl] .fd-tree__icon--navigation,.fd-tree__icon--navigation[dir=rtl]{transform:rotate(180deg)}\\n/*! Bundled license information:\\n\\nfundamental-styles/dist/tree.css:\\n (*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\\n *)\\n*/\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { class: [{\n type: Input\n }], noBorder: [{\n type: Input\n }], selection: [{\n type: Input\n }], selectionPlacement: [{\n type: Input\n }], independentSections: [{\n type: Input\n }], navigationIndicator: [{\n type: Input\n }], dataRequested: [{\n type: Output\n }], dataReceived: [{\n type: Output\n }], selectedChange: [{\n type: Output\n }], treeItemDef: [{\n type: ContentChild,\n args: [TreeItemDefDirective]\n }], _treeItemDirectives: [{\n type: ViewChildren,\n args: [TreeItemDirective]\n }], _projectedTreeItems: [{\n type: ContentChildren,\n args: [BaseTreeItem, { descendants: true }]\n }], buildComponentCssClass: [], _onKeyUp: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS90cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmVlL3RyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDTixTQUFTLEVBRVQsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25HLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBRUgsT0FBTyxFQUVQLGVBQWUsRUFDZixVQUFVLEVBRVYsdUJBQXVCLEVBRXZCLGdCQUFnQixFQUNoQixhQUFhLEVBQ2hCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxF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RSxvQkFBb0I7eUJBQ2pDO3FCQUNKLFdBQ1E7d0JBQ0wsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLGVBQWU7cUJBQ2xCO3dEQU9ELEtBQUs7c0JBREosS0FBSztnQkFPTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFTTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBT0YsbUJBQW1CO3NCQUR0QixLQUFLO2dCQWVOLGFBQWE7c0JBRFosTUFBTTtnQkFLUCxZQUFZO3NCQURYLE1BQU07Z0JBS1AsY0FBYztzQkFEYixNQUFNO2dCQUtILFdBQVc7c0JBRGQsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBY2xDLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBS3RCLG1CQUFtQjtzQkFEM0IsZUFBZTt1QkFBQyxZQUFZLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQWlHcEQsc0JBQXNCLE1BaUJaLFFBQVE7c0JBRGpCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgTEVGVF9BUlJPVywgUklHSFRfQVJST1csIFVQX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgZWZmZWN0LFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IERhdGFTb3VyY2VEaXJlY3RpdmUsIEZEX0RBVEFfU09VUkNFX1RSQU5TRk9STUVSIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHsgQ3ZhRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBDc3NDbGFzc0J1aWxkZXIsXG4gICAgS2V5VXRpbCxcbiAgICBOdWxsYWJsZSxcbiAgICBSZXBlYXREaXJlY3RpdmUsXG4gICAgUnRsU2VydmljZSxcbiAgICBTZWxlY3RDb21wb25lbnRSb290VG9rZW4sXG4gICAgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgU2VsZWN0YWJsZUxpc3RWYWx1ZVR5cGUsXG4gICAgU2VsZWN0aW9uU2VydmljZSxcbiAgICBhcHBseUNzc0NsYXNzXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IFNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NrZWxldG9uJztcbmltcG9ydCB7IEZkVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGZpbHRlciwgZnJvbUV2ZW50LCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2UsIEZkVHJlZURhdGFTb3VyY2UsIEZkVHJlZUl0ZW1UeXBlIH0gZnJvbSAnLi9kYXRhLXNvdXJjZS90cmVlLWRhdGEtc291cmNlJztcbmltcG9ydCB7IFRyZWVEYXRhU291cmNlUGFyc2VyIH0gZnJvbSAnLi9kYXRhLXNvdXJjZS90cmVlLWRhdGEtc291cmNlLXBhcnNlcic7XG5pbXBvcnQgeyBUcmVlSXRlbURlZkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy90cmVlLWl0ZW0tZGVmLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUcmVlSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy90cmVlLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhc2VUcmVlSXRlbSB9IGZyb20gJy4vbW9kZWxzL2Jhc2UtdHJlZS1pdGVtLmNsYXNzJztcbmltcG9ydCB7IFNlbGVjdGlvblBsYWNlbWVudCwgU2VsZWN0aW9uVHlwZSB9IGZyb20gJy4vbW9kZWxzL3NlbGVjdGlvbi10eXBlJztcbmltcG9ydCB7IFRyZWVJdGVtLCBUcmVlSXRlbUdlbmVyaWMgfSBmcm9tICcuL21vZGVscy90cmVlLWl0ZW0nO1xuaW1wb3J0IHsgVHJlZVNlcnZpY2UgfSBmcm9tICcuL3RyZWUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtdHJlZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RyZWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3R5bGVVcmw6ICcuL3RyZWUuY29tcG9uZW50LnNjc3MnLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogRGF0YVNvdXJjZURpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogWydkYXRhU291cmNlJ10sXG4gICAgICAgICAgICBvdXRwdXRzOiBbJ2RhdGFDaGFuZ2VkJ11cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBDdmFEaXJlY3RpdmUsXG4gICAgICAgICAgICBpbnB1dHM6IFsnbmFtZScsICdpZCcsICdzdGF0ZScsICdzdGF0ZU1lc3NhZ2UnLCAnZGlzYWJsZWQnLCAncmVhZG9ubHknXVxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICd0cmVlJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKSxcbiAgICAgICAgVHJlZVNlcnZpY2UsXG4gICAgICAgIFNlbGVjdGlvblNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0RBVEFfU09VUkNFX1RSQU5TRk9STUVSLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IFRyZWVEYXRhU291cmNlUGFyc2VyXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgUmVwZWF0RGlyZWN0aXZlLFxuICAgICAgICBTa2VsZXRvbkNvbXBvbmVudCxcbiAgICAgICAgVHJlZUl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIFNlbGVjdGFibGVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBGZFRyYW5zbGF0ZVBpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVDb21wb25lbnQ8UCBleHRlbmRzIEZkVHJlZUFjY2VwdGFibGVEYXRhU291cmNlLCBUIGV4dGVuZHMgVHJlZUl0ZW0gPSBGZFRyZWVJdGVtVHlwZTxQPj5cbiAgICBpbXBsZW1lbnRzIENzc0NsYXNzQnVpbGRlciwgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIFNlbGVjdENvbXBvbmVudFJvb3RUb2tlbiwgT25EZXN0cm95XG57XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0cmVlIHNob3VsZCBiZSBib3JkZXJsZXNzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbm9Cb3JkZXIgPSBmYWxzZTtcblxuICAgIC8qKiBUeXBlIG9mIHRyZWUgaXRlbXMgc2VsZWN0aW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2VsZWN0aW9uOiBTZWxlY3Rpb25UeXBlID0gJ25vbmUnO1xuXG4gICAgLyoqIFBsYWNlbWVudCBvZiB0aGUgc2VsZWN0aW9uIGNvbnRyb2wuICovXG4gICAgQElucHV0KClcbiAgICBzZWxlY3Rpb25QbGFjZW1lbnQ6IFNlbGVjdGlvblBsYWNlbWVudCA9ICdub25lJztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHNlY3Rpb25zIHNob3VsZCBiZSBkZXBlbmRlbnQgZm9yIHNlbGVjdGlvbiBtb2RlLlxuICAgICAqIElmIHRydWUsIHNlbGVjdGlvbiBjb250cm9sIHdpbGwgc2hpZnQsIGFjY29yZGluZyB0byB0aGUgbGV2ZWwuXG4gICAgICogSWYgZmFsc2UsIHNlbGVjdGlvbiBjb250cm9sIHdpbGwgc3RheSBvbiB0aGUgc2FtZSBwbGFjZSBpZ25vcmluZyB0aGUgaXRlbSBsZXZlbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGluZGVwZW5kZW50U2VjdGlvbnMgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIFRyZWUgY29tcG9uZW50IGhhcyBuYXZpZ2F0aW9uIGluZGljYXRvcnMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgbmF2aWdhdGlvbkluZGljYXRvcih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX25hdmlnYXRpb25JbmRpY2F0b3IpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uSW5kaWNhdG9yID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX3RyZWVTZXJ2aWNlLnNldE5hdmlnYXRpb25JbmRpY2F0b3IodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBuYXZpZ2F0aW9uSW5kaWNhdG9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmF2aWdhdGlvbkluZGljYXRvcjtcbiAgICB9XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGRhdGEgbG9hZGluZyBpcyBzdGFydGVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGRhdGFSZXF1ZXN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGRhdGEgbG9hZGluZyBpcyBmaW5pc2hlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBkYXRhUmVjZWl2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHNlbGVjdGVkIHN0YXRlIGNoYW5nZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBUcmVlIGl0ZW0gdGVtcGxhdGUgZGVmaW5pdGlvbi4gKi9cbiAgICBAQ29udGVudENoaWxkKFRyZWVJdGVtRGVmRGlyZWN0aXZlKVxuICAgIHNldCB0cmVlSXRlbURlZih2YWx1ZTogTnVsbGFibGU8VHJlZUl0ZW1EZWZEaXJlY3RpdmU+KSB7XG4gICAgICAgIHRoaXMuX3RyZWVJdGVtRGVmID0gdmFsdWU7XG4gICAgICAgIC8vIFNldCBuZXcgcmVuZGVyZXJcbiAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UudHJlZUl0ZW1UZW1wbGF0ZVJlZiA9IHZhbHVlPy50ZW1wbGF0ZVJlZjtcbiAgICAgICAgdGhpcy5faXRlbXMgPSB0aGlzLl90cmVlU2VydmljZS5ub3JtYWxpemVUcmVlSXRlbXModGhpcy5faXRlbXMpO1xuICAgIH1cblxuICAgIGdldCB0cmVlSXRlbURlZigpOiBOdWxsYWJsZTxUcmVlSXRlbURlZkRpcmVjdGl2ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJlZUl0ZW1EZWY7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKFRyZWVJdGVtRGlyZWN0aXZlKVxuICAgIF90cmVlSXRlbURpcmVjdGl2ZXM6IFF1ZXJ5TGlzdDxUcmVlSXRlbURpcmVjdGl2ZTxUcmVlSXRlbSwgYW55Pj47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oQmFzZVRyZWVJdGVtLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgcmVhZG9ubHkgX3Byb2plY3RlZFRyZWVJdGVtczogUXVlcnlMaXN0PEJhc2VUcmVlSXRlbT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pdGVtczogVHJlZUl0ZW08VHJlZUl0ZW1HZW5lcmljPFQ+PltdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBtdWx0aXBsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uID09PSAnbXVsdGlwbGUnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IHRvZ2dsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFVzZWQgZm9yIHNrZWxldG9uIHRvIGFwcGVhciBiZWZvcmUgZmlyc3QgbWVhbmluZ2Z1bCBkYXRhIGJlaW5nIGxvYWRlZC5cbiAgICAgKi9cbiAgICBfaW5pdGlhbERhdGFMb2FkZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX3RyZWVTZXJ2aWNlID0gaW5qZWN0KFRyZWVTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbmF2aWdhdGlvbkluZGljYXRvciA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90cmVlSXRlbURlZjogTnVsbGFibGU8VHJlZUl0ZW1EZWZEaXJlY3RpdmU+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZW50RGVuc2l0eU9ic2VydmVyID0gaW5qZWN0KENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhU291cmNlRGlyZWN0aXZlID0gaW5qZWN0PERhdGFTb3VyY2VEaXJlY3RpdmU8VCwgRmRUcmVlRGF0YVNvdXJjZTxUPj4+KERhdGFTb3VyY2VEaXJlY3RpdmUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3Rpb25TZXJ2aWNlID0gaW5qZWN0KFNlbGVjdGlvblNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ydGwgPSBpbmplY3QoUnRsU2VydmljZSwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jdmFEaXJlY3RpdmUgPSBpbmplY3QoQ3ZhRGlyZWN0aXZlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZHNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9leHBhbmRlZExldmVsOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ZvY3VzS2V5TWFuYWdlcjogRm9jdXNLZXlNYW5hZ2VyPEJhc2VUcmVlSXRlbT47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogU29ydGVkIHRyZWUgaXRlbSBjb21wb25lbnRzLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3NvcnRlZFRyZWVJdGVtczogQmFzZVRyZWVJdGVtW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBbGwgdHJlZSBpdGVtIGNvbXBvbmVudHMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfYWxsSXRlbXM6IEJhc2VUcmVlSXRlbVtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2V2ZW50U3ViOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlbGVjdGlvblN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uU2VydmljZS5yZWdpc3RlclJvb3RDb21wb25lbnQodGhpcyk7XG4gICAgICAgIHRoaXMuX2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXIuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2V4cGFuZGVkTGV2ZWwgPSB0aGlzLl90cmVlU2VydmljZS5leHBhbmRlZExldmVsKCk7XG4gICAgICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAYXBwbHlDc3NDbGFzc1xuICAgIGJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5jbGFzcyxcbiAgICAgICAgICAgIHRoaXMuX2V4cGFuZGVkTGV2ZWwgPyBgZXhwYW5kZWQtbGV2ZWwtJHt0aGlzLl9leHBhbmRlZExldmVsfWAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMubm9Cb3JkZXIgPyAnZmQtdHJlZS0tbm8tYm9yZGVyJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5faXRlbXMubGVuZ3RoID09PSAwICYmIHRoaXMuX2luaXRpYWxEYXRhTG9hZGVkID8gJ2ZkLXRyZWUtLW5vLWRhdGEnIDogJycsXG4gICAgICAgICAgICB0aGlzLmluZGVwZW5kZW50U2VjdGlvbnMgPyAnZmQtdHJlZS0taW5kZXBlbmRlbnQtbXVsdGktc2VsZWN0aW9uJyA6ICcnLFxuICAgICAgICAgICAgJ2ZkLXRyZWUnXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEtleWJvYXJkIG5hdmlnYXRpb25cbiAgICAgKiBAcGFyYW0gZXZlbnQgS2V5Ym9hcmQgZXZlbnQuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgcHJvdGVjdGVkIF9vbktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0RPV05fQVJST1csIFVQX0FSUk9XXSkpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlcj8ub25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29wZW5EYXRhU3RyZWFtKCk7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuXG4gICAgICAgIHRoaXMuX3RyZWVTZXJ2aWNlLmRldGVjdENoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24gIT09ICdub25lJykge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uU2VydmljZS5zZXRWYWx1ZSh0aGlzLl9jdmFEaXJlY3RpdmUudmFsdWUpO1xuXG4gICAgICAgICAgICB0aGlzLl9jdmFEaXJlY3RpdmUubmdDb250cm9sPy52YWx1ZUNoYW5nZXM/LnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvblNlcnZpY2Uuc2V0VmFsdWUodGhpcy5fY3ZhRGlyZWN0aXZlLnZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuXG4gICAgICAgIGlmICgnc2VsZWN0aW9uJyBpbiBjaGFuZ2VzIHx8ICdzZWxlY3Rpb25QbGFjZW1lbnQnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyZWVTZXJ2aWNlLnNldFNlbGVjdGlvbk1vZGUodGhpcy5zZWxlY3Rpb24sIHRoaXMuc2VsZWN0aW9uUGxhY2VtZW50KTtcbiAgICAgICAgICAgIHRoaXMuX3NldFNlbGVjdGlvbkxpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuVG9UcmVlSXRlbXNDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuX2xpc3RlblRvVHJlZUl0ZW1EaXJlY3RpdmVDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZHNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2V2ZW50U3ViPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25TdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25JdGVtRm9jdXNlZCh0cmVlSXRlbTogQmFzZVRyZWVJdGVtKTogdm9pZCB7XG4gICAgICAgIGxldCBmb2N1c2VkSW5kZXggPSAtMTtcbiAgICAgICAgdGhpcy5fc29ydGVkVHJlZUl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc0ZvY3VzZWQgPSB0cmVlSXRlbSA9PT0gaXRlbTtcbiAgICAgICAgICAgIGl0ZW0uc2V0Q29udGFpbmVyVGFiSW5kZXgoaXNGb2N1c2VkID8gMCA6IC0xKTtcbiAgICAgICAgICAgIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgICAgICAgICAgICBmb2N1c2VkSW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGZvY3VzZWRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGZvY3VzZWRJbmRleCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25JdGVtS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgdHJlZUl0ZW06IE51bGxhYmxlPEJhc2VUcmVlSXRlbT4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0cmVlSXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNSdGwgPSAhIXRoaXMuX3J0bD8ucnRsU2lnbmFsKCk7XG4gICAgICAgIGNvbnN0IGV4cGFuZEtleSA9IGlzUnRsID8gTEVGVF9BUlJPVyA6IFJJR0hUX0FSUk9XO1xuICAgICAgICBjb25zdCBjb2xsYXBzZUtleSA9IGlzUnRsID8gUklHSFRfQVJST1cgOiBMRUZUX0FSUk9XO1xuXG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgZXhwYW5kS2V5KSAmJiAodHJlZUl0ZW0uaGFzRHNDaGlsZHJlbiB8fCB0cmVlSXRlbS5oYXNQcm9qZWN0ZWRDaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgdGhpcy5fZXhwYW5kVHJlZVNlY3Rpb24odHJlZUl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBjb2xsYXBzZUtleSkpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgdGhpcy5fY29sbGFwc2VUcmVlU2VjdGlvbih0cmVlSXRlbSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF90cmFja0ZuKGluZGV4OiBudW1iZXIsIGl0ZW06IFRyZWVJdGVtPFRyZWVJdGVtR2VuZXJpYzxUPj4pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaXRlbS5pZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogU2VsZWN0IGxpc3QgaW50ZXJmYWNlIG1ldGhvZCBpbXBsZW1lbnRhdGlvbi5cbiAgICAgKiBTZXRzIHZhbHVlIGZvciBjb250cm9sIHZhbHVlIGFjY2Vzc29yIGFuZCBlbWl0cyBpdC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgdmFsdWUgb2YgdGhlIHNlbGVjdGlvbi5cbiAgICAgKi9cbiAgICBvbkNoYW5nZSh2YWx1ZTogU2VsZWN0YWJsZUxpc3RWYWx1ZVR5cGU8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jdmFEaXJlY3RpdmUuc2V0VmFsdWUodmFsdWUsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZXhwYW5kVHJlZVNlY3Rpb24odHJlZUl0ZW06IEJhc2VUcmVlSXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAodHJlZUl0ZW0uZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIC8vIFNoaWZ0IGZvY3VzIG9uIHRoZSBmaXJzdCBjaGlsZCBpdGVtXG4gICAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSB0aGlzLl9zb3J0ZWRUcmVlSXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLmlkID09PSB0cmVlSXRlbS5pZCk7XG4gICAgICAgICAgICBjb25zdCBuZXh0SXRlbSA9IHRoaXMuX3NvcnRlZFRyZWVJdGVtc1tpdGVtSW5kZXggKyAxXTtcbiAgICAgICAgICAgIGlmIChuZXh0SXRlbT8ucGFyZW50SWQgPT09IHRyZWVJdGVtLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZm9jdXNLZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oaXRlbUluZGV4ICsgMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyZWVJdGVtLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NvbGxhcHNlVHJlZVNlY3Rpb24odHJlZUl0ZW06IEJhc2VUcmVlSXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRyZWVJdGVtLmV4cGFuZGVkICYmIHRyZWVJdGVtLnBhcmVudElkKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRJdGVtSW5kZXggPSB0aGlzLl9zb3J0ZWRUcmVlSXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLmlkID09PSB0cmVlSXRlbS5wYXJlbnRJZCk7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnRJdGVtSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHBhcmVudEl0ZW1JbmRleCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRyZWVJdGVtLmV4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9vcGVuRGF0YVN0cmVhbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZHNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2RzU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgICAgICB0aGlzLl9kc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2VQcm92aWRlcj8uZGF0YVJlcXVlc3RlZC5zdWJzY3JpYmUodGhpcy5kYXRhUmVxdWVzdGVkKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9kc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2VQcm92aWRlcj8uZGF0YVJlY2VpdmVkLnN1YnNjcmliZSh0aGlzLmRhdGFSZWNlaXZlZClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9kc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2VQcm92aWRlcj8uZGF0YVJlY2VpdmVkXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigocmVjZWl2ZWQpID0+IHJlY2VpdmVkKSxcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX2RhdGFTb3VyY2VEaXJlY3RpdmUuZGF0YUNoYW5nZWQkKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2luaXRpYWxEYXRhTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faXRlbXMgPSB0aGlzLl90cmVlU2VydmljZS5ub3JtYWxpemVUcmVlSXRlbXMoZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX2RhdGFTb3VyY2VEaXJlY3RpdmUuZGF0YVNvdXJjZVByb3ZpZGVyPy5tYXRjaCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0dXBFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZXZlbnRTdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2V2ZW50U3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgICAgIHRoaXMuX3NvcnRlZFRyZWVJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9ldmVudFN1Yi5hZGQoXG4gICAgICAgICAgICAgICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2V5ZG93bicpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25JdGVtS2V5RG93bihldmVudCwgaXRlbSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLl9ldmVudFN1Yi5hZGQoXG4gICAgICAgICAgICAgICAgZnJvbUV2ZW50KGl0ZW0uaXRlbUNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudCwgJ2ZvY3VzJykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25JdGVtRm9jdXNlZChpdGVtKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zb3J0VHJlZUl0ZW1zKGl0ZW1zOiBCYXNlVHJlZUl0ZW1bXSk6IEJhc2VUcmVlSXRlbVtdIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50czogQmFzZVRyZWVJdGVtW10gPSBbXTtcbiAgICAgICAgY29uc3Qgcm9vdEl0ZW1zID0gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmxldmVsID09PSAxKTtcblxuICAgICAgICByb290SXRlbXMuZm9yRWFjaCgodHJlZUl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB0cmVlSXRlbS5zZXRQb3NpdGlvbihyb290SXRlbXMubGVuZ3RoLCBpbmRleCArIDEpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWl0ZW0gfHwgY29tcG9uZW50cy5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKGl0ZW0pO1xuXG4gICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNoaWxkSXRlbXMgPSB0aGlzLl9zb3J0VHJlZUl0ZW1zKHRoaXMuX2FsbEl0ZW1zLmZpbHRlcigoaSkgPT4gaS5wYXJlbnRJZCA9PT0gaXRlbS5pZCkpO1xuXG4gICAgICAgICAgICBjaGlsZEl0ZW1zLmZvckVhY2goKHRyZWVJdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyZWVJdGVtLnNldFBvc2l0aW9uKGNoaWxkSXRlbXMubGVuZ3RoLCBpbmRleCArIDEpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaCguLi5jaGlsZEl0ZW1zKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudHM7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRTZWxlY3Rpb25MaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uU3ViPy51bnN1YnNjcmliZSgpO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24gIT09ICdub25lJykge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uU2VydmljZS5zZXRWYWx1ZSh0aGlzLl9jdmFEaXJlY3RpdmUudmFsdWUpO1xuXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25TdWIgPSB0aGlzLl9jdmFEaXJlY3RpdmUubmdDb250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgICAgICA/LnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25TZXJ2aWNlLnNldFZhbHVlKHRoaXMuX2N2YURpcmVjdGl2ZS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvVHJlZUl0ZW1EaXJlY3RpdmVDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90cmVlSXRlbURpcmVjdGl2ZXMuY2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLnRyZWVJdGVtRGVmICE9PSB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYWxsSXRlbXMgPSB0aGlzLl90cmVlSXRlbURpcmVjdGl2ZXMudG9BcnJheSgpLm1hcCgoaXRlbSkgPT4gaXRlbS50cmVlSXRlbSEpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZsYXR0ZW5lZEl0ZW1zID0gdGhpcy5fc29ydFRyZWVJdGVtcyh0aGlzLl9hbGxJdGVtcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0RmxhdHRlbmVkSXRlbXMoZmxhdHRlbmVkSXRlbXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1RyZWVJdGVtc0NoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Byb2plY3RlZFRyZWVJdGVtcy5jaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLnRyZWVJdGVtRGVmKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2FsbEl0ZW1zID0gdGhpcy5fcHJvamVjdGVkVHJlZUl0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmbGF0dGVuZWRJdGVtcyA9IHRoaXMuX3NvcnRUcmVlSXRlbXModGhpcy5fYWxsSXRlbXMpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldEZsYXR0ZW5lZEl0ZW1zKGZsYXR0ZW5lZEl0ZW1zKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0RmxhdHRlbmVkSXRlbXMoaXRlbXM6IEJhc2VUcmVlSXRlbVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NvcnRlZFRyZWVJdGVtcyA9IGl0ZW1zO1xuXG4gICAgICAgIGNvbnN0IGFjdGl2ZUl0ZW0gPSB0aGlzLl9mb2N1c0tleU1hbmFnZXI/LmFjdGl2ZUl0ZW07XG4gICAgICAgIGNvbnN0IG5ld0FjdGl2ZUl0ZW1JbmRleCA9IGl0ZW1zLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbSA9PT0gYWN0aXZlSXRlbSk7XG4gICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuXG4gICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIoaXRlbXMpXG4gICAgICAgICAgICAud2l0aFZlcnRpY2FsT3JpZW50YXRpb24odHJ1ZSlcbiAgICAgICAgICAgIC5za2lwUHJlZGljYXRlKChpdGVtKSA9PiAhaXRlbS5rZXlib2FyZEFjY2Vzc2libGUpO1xuXG4gICAgICAgIGlmIChuZXdBY3RpdmVJdGVtSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5fZm9jdXNLZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0obmV3QWN0aXZlSXRlbUluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvblNlcnZpY2UuaW5pdGlhbGl6ZSh0aGlzLl9zb3J0ZWRUcmVlSXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnNlbGVjdGFibGVMaXN0SXRlbSkpO1xuXG4gICAgICAgIHRoaXMuX3NldHVwRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2RhdGFTb3VyY2VSZW5kZXJlcj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiIV9pbml0aWFsRGF0YUxvYWRlZCA/IGxvYWRpbmdSZW5kZXJlciA6IGRhdGFMb2FkZWRUcGxcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IDEgfVwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nUmVuZGVyZXIgbGV0LWxldmVsPlxuICAgICAgICA8ZGl2ICpmZGtSZXBlYXQ9XCI1XCIgcm9sZT1cInRyZWVpdGVtXCIgW2F0dHIuYXJpYS1sZXZlbF09XCJsZXZlbFwiIGNsYXNzPVwiZmQtdHJlZV9faXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRyZWVfX2l0ZW0tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRyZWVfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC10cmVlX190ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtc2tlbGV0b24gdHlwZT1cInRleHRcIiB3aWR0aD1cIjEwMHB4XCIgdGV4dExpbmVzPVwiMVwiPjwvZmQtc2tlbGV0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGF0YUxvYWRlZFRwbD5cbiAgICAgICAgQGlmIChfaXRlbXMubGVuZ3RoID4gMCAmJiB0cmVlSXRlbURlZikge1xuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBfaXRlbXM7IHRyYWNrIF90cmFja0ZuKCRpbmRleCwgaXRlbSkpIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicmVuZGVyZXJcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGRpdiByb2xlPVwidHJlZWl0ZW1cIiBhcmlhLWxldmVsPVwiMVwiIGNsYXNzPVwiZmQtdHJlZV9faXRlbVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC10cmVlX19pdGVtLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtdHJlZV9fY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC10cmVlX190ZXh0XCI+e3sgJ2NvcmVUcmVlLm5vRGF0YScgfCBmZFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNyZW5kZXJlciBsZXQtaXRlbT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBmZFRyZWVJdGVtIGZka1NlbGVjdGFibGVJdGVtICN0cmVlSXRlbURpcmVjdGl2ZT1cImZkVHJlZUl0ZW1cIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0ucmVuZGVyZXJcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldEluamVjdG9yXT1cInRyZWVJdGVtRGlyZWN0aXZlLmluamVjdG9yXCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgIHRyZWVJdGVtRGlyZWN0aXZlLnRyZWVJdGVtPy5oYXNEc0NoaWxkcmVuICYmXG4gICAgICAgICAgICAhIXRyZWVJdGVtRGlyZWN0aXZlLnRyZWVJdGVtPy5leHBhbmRlZCAmJlxuICAgICAgICAgICAgIXRyZWVJdGVtRGlyZWN0aXZlLnRyZWVJdGVtPy5jaGlsZHJlbkxvYWRlZFxuICAgICAgICApIHtcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxvYWRpbmdSZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLmxldmVsICsgMSB9XCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAodHJlZUl0ZW1EaXJlY3RpdmUudHJlZUl0ZW0/LmNoaWxkcmVuOyBhcyBjaGlsZEl0ZW1zKSB7XG4gICAgICAgICAgICBAaWYgKGNoaWxkSXRlbXMgJiYgY2hpbGRJdGVtcy5sZW5ndGggPiAwICYmICEhdHJlZUl0ZW1EaXJlY3RpdmU/LnRyZWVJdGVtPy5leHBhbmRlZCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC10cmVlXCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGNoaWxkIG9mIGNoaWxkSXRlbXM7IHRyYWNrIF90cmFja0ZuKCRpbmRleCwgY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjaGlsZCB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcHJvamVjdGVkQ29udGVudFJlbmRlcmVyPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXRyZWUtaXRlbVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidHJlZUl0ZW1EZWYgPyBkYXRhU291cmNlUmVuZGVyZXIgOiBwcm9qZWN0ZWRDb250ZW50UmVuZGVyZXJcIj48L25nLXRlbXBsYXRlPlxuIl19","import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, DestroyRef, ElementRef, EventEmitter, HostBinding, Input, Output, QueryList, ViewChild, ViewEncapsulation, inject, input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { DataSourceDirective } from '@fundamental-ngx/cdk/data-source';\nimport { ClickedDirective, FDK_SELECTABLE_ITEM_PROVIDER, SelectableItemDirective, SelectableItemToken, uuidv4 } from '@fundamental-ngx/cdk/utils';\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { SkeletonComponent } from '@fundamental-ngx/core/skeleton';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { Subject, distinctUntilChanged, filter, startWith, switchMap } from 'rxjs';\nimport { TreeItemDirective } from '../../directives/tree-item.directive';\nimport { BaseTreeItem } from '../../models/base-tree-item.class';\nimport { TreeService } from '../../tree.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@fundamental-ngx/cdk/data-source\";\nimport * as i2 from \"@angular/forms\";\nexport class TreeItemComponent extends BaseTreeItem {\n /**\n * Tree item parent ID.\n */\n set parentId(value) {\n this._parentId = value;\n }\n get parentId() {\n return this._parentId || this._parentTreeItem?.id;\n }\n /**\n * Tree item level.\n */\n set level(value) {\n this._level = value;\n }\n get level() {\n return this._level || (this._parentTreeItem !== null ? this._parentTreeItem.level + 1 : 1);\n }\n /**\n * Whether the tree item is expanded.\n */\n set expanded(value) {\n if (value === this._expanded) {\n return;\n }\n this._treeService.addExpandableItem(this.id, this.level, value);\n this._expanded = value;\n if (value) {\n setTimeout(() => {\n this._treeService.detectChanges.next();\n this._dataSourceDirective.dataSourceProvider?.match();\n });\n }\n else {\n this.children = [];\n this.childrenLoaded = false;\n this._treeService.detectChanges.next();\n }\n this._cdr.detectChanges();\n }\n get expanded() {\n return this._expanded;\n }\n /** Whether the tree item has any type of child nodes. */\n get hasChildren() {\n return !!this.childNodes || this.hasProjectedChildren;\n }\n /** Whether the tree item has content-projected child nodes. */\n get hasProjectedChildren() {\n return this._projectedTreeItems && this._projectedTreeItems.length > 0;\n }\n /** Whether the tree item has data source children. */\n get hasDsChildren() {\n return this._dsChildrenNumber > 0;\n }\n /** Whether the item is accessible via keyboard. */\n get keyboardAccessible() {\n return this._parentTreeItem === null\n ? true\n : this._parentTreeItem.keyboardAccessible && this._parentTreeItem.expanded;\n }\n /** @hidden */\n constructor() {\n super();\n /**\n * Tree item ID.\n */\n this.id = uuidv4();\n /**\n * Whether the tree item is navigatable.\n */\n this.navigatable = false;\n /**\n * Tree item child nodes data source.\n */\n this.childNodes = [];\n /**\n * Whether to wrap content.\n */\n this.wrapContent = false;\n /**\n * Event emitted when user clicks on tree item.\n */\n this.treeItemClick = new EventEmitter();\n /**\n * Event emitted when `expanded` state changes.\n */\n this.expandedChange = new EventEmitter();\n /**\n * @hidden\n * Selection state.\n */\n this._selectionState = false;\n /** @hidden */\n this.children = [];\n /** @hidden */\n this.childrenLoaded = false;\n /** @Hidden */\n this._containerTabIndex = 0;\n /** @hidden */\n this._totalChildrenLoaded = false;\n /** @hidden */\n this.elementRef = inject(ElementRef);\n /** @hidden */\n this._treeService = inject(TreeService);\n /**\n * Custom background color\n */\n this.backgroundColor = input(...(ngDevMode ? [undefined, { debugName: \"backgroundColor\" }] : []));\n /**\n * Custom styles\n */\n this.customStyles = input(...(ngDevMode ? [undefined, { debugName: \"customStyles\" }] : []));\n /** @hidden */\n this._expanded = false;\n /** @hidden */\n this._dsChildrenNumber = 0;\n /** @hidden */\n this._clicked$ = new Subject();\n /** @hidden */\n this._treeItemDir = inject(TreeItemDirective, {\n optional: true\n });\n /** @hidden */\n this._dataSourceDirective = inject(DataSourceDirective);\n /** @hidden */\n this._cdr = inject(ChangeDetectorRef);\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** @hidden */\n this._parentTreeItem = inject(TreeItemComponent, {\n optional: true,\n skipSelf: true\n });\n this._treeItemDir?.setTreeItem(this);\n this.clicked = this._clicked$.asObservable();\n }\n /** @hidden */\n ngOnInit() {\n this._dataSourceDirective.dataSource = this.childNodes;\n this._treeService.addExpandableItem(this.id, this.level, this.expanded);\n this._dataSourceDirective.dataSourceProvider\n ?.getTotalItems()\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((totalItems) => {\n this._dsChildrenNumber = totalItems;\n this._totalChildrenLoaded = true;\n this._cdr.detectChanges();\n });\n this._dataSourceDirective.dataSourceProvider?.dataReceived\n .pipe(filter((received) => received), switchMap(() => this._dataSourceDirective.dataChanged$), takeUntilDestroyed(this._destroyRef))\n .subscribe((data) => {\n this.children = this._treeService.normalizeTreeItems(data, this.id, this.level + 1);\n this.childrenLoaded = true;\n setTimeout(() => {\n this._treeService.detectChanges.next();\n this._cdr.detectChanges();\n });\n });\n }\n /** @hidden */\n ngAfterViewInit() {\n this._projectedTreeItems.changes\n .pipe(startWith(null), distinctUntilChanged(), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._cdr.detectChanges();\n this._projectedTreeItems.forEach((treeItem, index) => {\n treeItem.setPosition(this._projectedTreeItems.length, index + 1);\n });\n });\n }\n /** @hidden */\n ngOnDestroy() {\n this._treeService.removeExpandableItem(this.id, this.level);\n }\n /**\n * Sets position of the current item in the set.\n * @param totalItems Total items amount in the set.\n * @param currentIndex Current item position in the set.\n */\n setPosition(totalItems, currentIndex) {\n this._setSize = totalItems;\n this._currentPosition = currentIndex;\n }\n /** Method to focus on the tree item. */\n focus() {\n this.itemContainer?.nativeElement.focus();\n }\n /** Method for setting the focusable tabindex. */\n setContainerTabIndex(value) {\n this._containerTabIndex = value;\n this._cdr.markForCheck();\n }\n /** @hidden */\n _toggleExpandState(event) {\n // Do not bubble up to selection change event.\n event.stopImmediatePropagation();\n this.expanded = !this.expanded;\n this.expandedChange.emit(this.expanded);\n this.focus();\n }\n /** @hidden */\n _onClick(event) {\n event.stopImmediatePropagation();\n this._clicked$.next(event);\n this.treeItemClick.emit(event);\n }\n /** @hidden */\n _setSelected(selected) {\n this._selectionState = selected;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: TreeItemComponent, isStandalone: true, selector: \"fd-tree-item\", inputs: { value: { classPropertyName: \"value\", publicName: \"value\", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: \"ariaLabel\", publicName: \"ariaLabel\", isSignal: false, isRequired: false, transformFunction: null }, parentId: { classPropertyName: \"parentId\", publicName: \"parentId\", isSignal: false, isRequired: false, transformFunction: null }, navigatable: { classPropertyName: \"navigatable\", publicName: \"navigatable\", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: \"state\", publicName: \"state\", isSignal: false, isRequired: false, transformFunction: null }, childNodes: { classPropertyName: \"childNodes\", publicName: \"childNodes\", isSignal: false, isRequired: false, transformFunction: null }, wrapContent: { classPropertyName: \"wrapContent\", publicName: \"wrapContent\", isSignal: false, isRequired: false, transformFunction: null }, level: { classPropertyName: \"level\", publicName: \"level\", isSignal: false, isRequired: false, transformFunction: null }, expanded: { classPropertyName: \"expanded\", publicName: \"expanded\", isSignal: false, isRequired: false, transformFunction: null }, backgroundColor: { classPropertyName: \"backgroundColor\", publicName: \"backgroundColor\", isSignal: true, isRequired: false, transformFunction: null }, customStyles: { classPropertyName: \"customStyles\", publicName: \"customStyles\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { treeItemClick: \"treeItemClick\", expandedChange: \"expandedChange\" }, host: { attributes: { \"role\": \"presentation\" }, properties: { \"attr.aria-label\": \"this.ariaLabel\", \"attr.aria-level\": \"this.level\" }, classAttribute: \"fd-tree__item\" }, providers: [\n {\n provide: FDK_SELECTABLE_ITEM_PROVIDER,\n useExisting: TreeItemComponent\n },\n {\n provide: BaseTreeItem,\n useExisting: TreeItemComponent\n }\n ], queries: [{ propertyName: \"_projectedTreeItems\", predicate: BaseTreeItem }], viewQueries: [{ propertyName: \"itemContainer\", first: true, predicate: [\"itemContainer\"], descendants: true, read: ElementRef }, { propertyName: \"selectableListItem\", first: true, predicate: SelectableItemDirective, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.DataSourceDirective }], ngImport: i0, template: \"<div\\n class=\\\"fd-tree__item-container\\\"\\n [attr.tabindex]=\\\"_containerTabIndex\\\"\\n (fdkClicked)=\\\"_onClick($event)\\\"\\n fdkSelectableItem\\n (selected)=\\\"_setSelected($event)\\\"\\n [value]=\\\"value\\\"\\n [attr.aria-haspopup]=\\\"children.length > 0 || hasProjectedChildren\\\"\\n [attr.aria-expanded]=\\\"expanded\\\"\\n [attr.aria-setsize]=\\\"_setSize\\\"\\n [attr.aria-posinset]=\\\"_currentPosition\\\"\\n role=\\\"treeitem\\\"\\n [attr.aria-level]=\\\"level\\\"\\n [style.background-color]=\\\"backgroundColor()\\\"\\n [ngStyle]=\\\"customStyles()\\\"\\n #itemContainer\\n [ngClass]=\\\"[\\n state ? 'has-highlight-indicator has-highlight-indicator--' + state : '',\\n navigatable ? 'fd-tree__item-container--active' : '',\\n wrapContent ? 'fd-tree__content--wrap' : ''\\n ]\\\"\\n>\\n @if (_treeService.selectionMode().placement === 'left') {\\n <ng-template [ngTemplateOutlet]=\\\"selection\\\"></ng-template>\\n }\\n @if (hasChildren) {\\n @if (hasDsChildren || hasProjectedChildren) {\\n <span\\n (click)=\\\"_toggleExpandState($event)\\\"\\n class=\\\"fd-tree__expander\\\"\\n aria-hidden=\\\"true\\\"\\n role=\\\"presentation\\\"\\n [attr.aria-label]=\\\"(expanded ? 'coreTree.collapse' : 'coreTree.expand') | fdTranslate\\\"\\n [class.is-expanded]=\\\"expanded\\\"\\n >\\n <fd-icon\\n class=\\\"fd-tree__icon\\\"\\n [glyph]=\\\"expanded ? 'navigation-down-arrow' : 'navigation-right-arrow'\\\"\\n ></fd-icon>\\n </span>\\n }\\n @if (!_totalChildrenLoaded) {\\n <div class=\\\"fd-tree__expander fd-tree__expander--loading\\\">\\n <fd-skeleton type=\\\"rectangle\\\" width=\\\"1rem\\\" height=\\\"1rem\\\"></fd-skeleton>\\n </div>\\n }\\n @if (_treeService.selectionMode().placement === 'afterExpand') {\\n <ng-template [ngTemplateOutlet]=\\\"selection\\\"></ng-template>\\n }\\n }\\n <div class=\\\"fd-tree__content\\\">\\n <ng-content select=\\\"[fdTreeItemIcon]\\\"></ng-content>\\n <ng-content select=\\\"[fdTreeItemText]\\\"></ng-content>\\n </div>\\n <ng-content select=\\\"[fdTreeItemButton]\\\"></ng-content>\\n @if (_treeService.selectionMode().placement === 'right') {\\n <ng-template [ngTemplateOutlet]=\\\"selection\\\"></ng-template>\\n }\\n @if (navigatable && _treeService.navigationIndicator()) {\\n <fd-icon glyph=\\\"slim-arrow-right\\\" class=\\\"fd-tree__icon fd-tree__icon--navigation\\\"></fd-icon>\\n }\\n</div>\\n@if (hasProjectedChildren && expanded) {\\n <div class=\\\"fd-tree\\\">\\n <ng-content select=\\\"fd-tree-item\\\"></ng-content>\\n </div>\\n}\\n<ng-template #selection>\\n <div class=\\\"fd-form-item\\\">\\n @if (_treeService.selectionMode().mode === 'multiple') {\\n <fd-checkbox\\n [(ngModel)]=\\\"_selectionState\\\"\\n [ngModelOptions]=\\\"{ standalone: true }\\\"\\n [standalone]=\\\"true\\\"\\n tabIndexValue=\\\"-1\\\"\\n ></fd-checkbox>\\n }\\n @if (_treeService.selectionMode().mode === 'single') {\\n <fd-radio-button\\n [(ngModel)]=\\\"_selectionState\\\"\\n [ngModelOptions]=\\\"{ standalone: true }\\\"\\n [selectedValue]=\\\"_selectionState\\\"\\n [value]=\\\"true\\\"\\n tabIndex=\\\"-1\\\"\\n [standalone]=\\\"true\\\"\\n tabIndexValue=\\\"-1\\\"\\n ></fd-radio-button>\\n }\\n </div>\\n</ng-template>\\n\", dependencies: [{ kind: \"directive\", type: SelectableItemDirective, selector: \"[fdkSelectableItem]\", inputs: [\"value\", \"fdkSelectableItem\"], outputs: [\"clicked\", \"selected\"], exportAs: [\"fdkSelectableItem\"] }, { kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"directive\", type: ClickedDirective, selector: \"[fdkClicked]\", outputs: [\"fdkClicked\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: IconComponent, selector: \"fd-icon\", inputs: [\"glyph\", \"font\", \"color\", \"background\", \"class\", \"ariaLabel\", \"ariaHidden\"] }, { kind: \"component\", type: SkeletonComponent, selector: \"fd-skeleton\", inputs: [\"animated\", \"type\", \"textLines\", \"width\", \"height\"] }, { kind: \"component\", type: CheckboxComponent, selector: \"fd-checkbox\", inputs: [\"wrapLabel\", \"valignLabel\", \"ariaLabel\", \"role\", \"value\", \"ariaLabelledBy\", \"ariaDescribedBy\", \"title\", \"inputId\", \"state\", \"name\", \"label\", \"disabled\", \"readonly\", \"tristate\", \"tristateSelectable\", \"labelClass\", \"required\", \"displayOnly\", \"values\", \"standalone\"], outputs: [\"focusChange\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"component\", type: RadioButtonComponent, selector: \"fd-radio-button\", inputs: [\"ariaLabel\", \"ariaLabelledBy\", \"ariaDescribedBy\", \"title\", \"tabIndex\", \"state\", \"disabled\", \"readOnly\", \"selectedValue\", \"name\", \"id\", \"value\", \"required\", \"standalone\", \"wrapLabel\", \"valignLabel\"] }, { kind: \"pipe\", type: FdTranslatePipe, name: \"fdTranslate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-tree-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [DataSourceDirective], host: {\n class: 'fd-tree__item',\n role: 'presentation'\n }, providers: [\n {\n provide: FDK_SELECTABLE_ITEM_PROVIDER,\n useExisting: TreeItemComponent\n },\n {\n provide: BaseTreeItem,\n useExisting: TreeItemComponent\n }\n ], imports: [\n SelectableItemDirective,\n NgClass,\n NgStyle,\n ClickedDirective,\n NgTemplateOutlet,\n IconComponent,\n SkeletonComponent,\n CheckboxComponent,\n FormsModule,\n RadioButtonComponent,\n FdTranslatePipe\n ], template: \"<div\\n class=\\\"fd-tree__item-container\\\"\\n [attr.tabindex]=\\\"_containerTabIndex\\\"\\n (fdkClicked)=\\\"_onClick($event)\\\"\\n fdkSelectableItem\\n (selected)=\\\"_setSelected($event)\\\"\\n [value]=\\\"value\\\"\\n [attr.aria-haspopup]=\\\"children.length > 0 || hasProjectedChildren\\\"\\n [attr.aria-expanded]=\\\"expanded\\\"\\n [attr.aria-setsize]=\\\"_setSize\\\"\\n [attr.aria-posinset]=\\\"_currentPosition\\\"\\n role=\\\"treeitem\\\"\\n [attr.aria-level]=\\\"level\\\"\\n [style.background-color]=\\\"backgroundColor()\\\"\\n [ngStyle]=\\\"customStyles()\\\"\\n #itemContainer\\n [ngClass]=\\\"[\\n state ? 'has-highlight-indicator has-highlight-indicator--' + state : '',\\n navigatable ? 'fd-tree__item-container--active' : '',\\n wrapContent ? 'fd-tree__content--wrap' : ''\\n ]\\\"\\n>\\n @if (_treeService.selectionMode().placement === 'left') {\\n <ng-template [ngTemplateOutlet]=\\\"selection\\\"></ng-template>\\n }\\n @if (hasChildren) {\\n @if (hasDsChildren || hasProjectedChildren) {\\n <span\\n (click)=\\\"_toggleExpandState($event)\\\"\\n class=\\\"fd-tree__expander\\\"\\n aria-hidden=\\\"true\\\"\\n role=\\\"presentation\\\"\\n [attr.aria-label]=\\\"(expanded ? 'coreTree.collapse' : 'coreTree.expand') | fdTranslate\\\"\\n [class.is-expanded]=\\\"expanded\\\"\\n >\\n <fd-icon\\n class=\\\"fd-tree__icon\\\"\\n [glyph]=\\\"expanded ? 'navigation-down-arrow' : 'navigation-right-arrow'\\\"\\n ></fd-icon>\\n </span>\\n }\\n @if (!_totalChildrenLoaded) {\\n <div class=\\\"fd-tree__expander fd-tree__expander--loading\\\">\\n <fd-skeleton type=\\\"rectangle\\\" width=\\\"1rem\\\" height=\\\"1rem\\\"></fd-skeleton>\\n </div>\\n }\\n @if (_treeService.selectionMode().placement === 'afterExpand') {\\n <ng-template [ngTemplateOutlet]=\\\"selection\\\"></ng-template>\\n }\\n }\\n <div class=\\\"fd-tree__content\\\">\\n <ng-content select=\\\"[fdTreeItemIcon]\\\"></ng-content>\\n <ng-content select=\\\"[fdTreeItemText]\\\"></ng-content>\\n </div>\\n <ng-content select=\\\"[fdTreeItemButton]\\\"></ng-content>\\n @if (_treeService.selectionMode().placement === 'right') {\\n <ng-template [ngTemplateOutlet]=\\\"selection\\\"></ng-template>\\n }\\n @if (navigatable && _treeService.navigationIndicator()) {\\n <fd-icon glyph=\\\"slim-arrow-right\\\" class=\\\"fd-tree__icon fd-tree__icon--navigation\\\"></fd-icon>\\n }\\n</div>\\n@if (hasProjectedChildren && expanded) {\\n <div class=\\\"fd-tree\\\">\\n <ng-content select=\\\"fd-tree-item\\\"></ng-content>\\n </div>\\n}\\n<ng-template #selection>\\n <div class=\\\"fd-form-item\\\">\\n @if (_treeService.selectionMode().mode === 'multiple') {\\n <fd-checkbox\\n [(ngModel)]=\\\"_selectionState\\\"\\n [ngModelOptions]=\\\"{ standalone: true }\\\"\\n [standalone]=\\\"true\\\"\\n tabIndexValue=\\\"-1\\\"\\n ></fd-checkbox>\\n }\\n @if (_treeService.selectionMode().mode === 'single') {\\n <fd-radio-button\\n [(ngModel)]=\\\"_selectionState\\\"\\n [ngModelOptions]=\\\"{ standalone: true }\\\"\\n [selectedValue]=\\\"_selectionState\\\"\\n [value]=\\\"true\\\"\\n tabIndex=\\\"-1\\\"\\n [standalone]=\\\"true\\\"\\n tabIndexValue=\\\"-1\\\"\\n ></fd-radio-button>\\n }\\n </div>\\n</ng-template>\\n\" }]\n }], ctorParameters: () => [], propDecorators: { value: [{\n type: Input\n }], id: [{\n type: Input\n }], ariaLabel: [{\n type: HostBinding,\n args: ['attr.aria-label']\n }, {\n type: Input\n }], parentId: [{\n type: Input\n }], navigatable: [{\n type: Input\n }], state: [{\n type: Input\n }], childNodes: [{\n type: Input\n }], wrapContent: [{\n type: Input\n }], level: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.aria-level']\n }], expanded: [{\n type: Input\n }], treeItemClick: [{\n type: Output\n }], expandedChange: [{\n type: Output\n }], itemContainer: [{\n type: ViewChild,\n args: ['itemContainer', { read: ElementRef }]\n }], selectableListItem: [{\n type: ViewChild,\n args: [SelectableItemDirective]\n }], _projectedTreeItems: [{\n type: ContentChildren,\n args: [BaseTreeItem]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmVlL2NvbXBvbmVudHMvdHJlZS1pdGVtL3RyZWUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS9jb21wb25lbnRzL3RyZWUtaXRlbS90cmVlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixLQUFLLEVBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBYyxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25GLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsNEJBQTRCLEVBRzVCLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIsTUFBTSxFQUNULE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIs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WCxvQkFBb0I7d0JBQ3BCLGVBQWU7cUJBQ2xCO3dEQVVELEtBQUs7c0JBREosS0FBSztnQkFNTixFQUFFO3NCQURELEtBQUs7Z0JBUU4sU0FBUztzQkFGUixXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQzdCLEtBQUs7Z0JBT0YsUUFBUTtzQkFEWCxLQUFLO2dCQWFOLFdBQVc7c0JBRFYsS0FBSztnQkFPTixLQUFLO3NCQURKLEtBQUs7Z0JBT04sVUFBVTtzQkFEVCxLQUFLO2dCQU9OLFdBQVc7c0JBRFYsS0FBSztnQkFRRixLQUFLO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsaUJBQWlCO2dCQWExQixRQUFRO3NCQURYLEtBQUs7Z0JBOEJHLGFBQWE7c0JBRHJCLE1BQU07Z0JBT1AsY0FBYztzQkFEYixNQUFNO2dCQUtQLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUtoRCxrQkFBa0I7c0JBRGpCLFNBQVM7dUJBQUMsdUJBQXVCO2dCQUtsQyxtQkFBbUI7c0JBRGxCLGVBQWU7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGluamVjdCxcbiAgICBpbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSwgRGF0YVNvdXJjZURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2RhdGEtc291cmNlJztcbmltcG9ydCB7XG4gICAgQ2xpY2tlZERpcmVjdGl2ZSxcbiAgICBGREtfU0VMRUNUQUJMRV9JVEVNX1BST1ZJREVSLFxuICAgIEhhc0VsZW1lbnRSZWYsXG4gICAgTnVsbGFibGUsXG4gICAgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgU2VsZWN0YWJsZUl0ZW1Ub2tlbixcbiAgICB1dWlkdjRcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY2hlY2tib3gnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3JhZGlvJztcbmltcG9ydCB7IFNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NrZWxldG9uJztcbmltcG9ydCB7IEZkVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2UsIEZkVHJlZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhLXNvdXJjZS90cmVlLWRhdGEtc291cmNlJztcbmltcG9ydCB7IFRyZWVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90cmVlLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhc2VUcmVlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9iYXNlLXRyZWUtaXRlbS5jbGFzcyc7XG5pbXBvcnQgeyBUcmVlSXRlbSwgVHJlZUl0ZW1TdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy90cmVlLWl0ZW0nO1xuaW1wb3J0IHsgVHJlZVNlcnZpY2UgfSBmcm9tICcuLi8uLi90cmVlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXRyZWUtaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW0RhdGFTb3VyY2VEaXJlY3RpdmVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC10cmVlX19pdGVtJyxcbiAgICAgICAgcm9sZTogJ3ByZXNlbnRhdGlvbidcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGREtfU0VMRUNUQUJMRV9JVEVNX1BST1ZJREVSLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFRyZWVJdGVtQ29tcG9uZW50XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEJhc2VUcmVlSXRlbSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUcmVlSXRlbUNvbXBvbmVudFxuICAgICAgICB9XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFNlbGVjdGFibGVJdGVtRGlyZWN0aXZlLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBOZ1N0eWxlLFxuICAgICAgICBDbGlja2VkRGlyZWN0aXZlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBJY29uQ29tcG9uZW50LFxuICAgICAgICBTa2VsZXRvbkNvbXBvbmVudCxcbiAgICAgICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgRmRUcmFuc2xhdGVQaXBlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUcmVlSXRlbUNvbXBvbmVudDxUIGV4dGVuZHMgVHJlZUl0ZW0gPSBUcmVlSXRlbSwgUCA9IGFueT5cbiAgICBleHRlbmRzIEJhc2VUcmVlSXRlbTxULCBQPlxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTZWxlY3RhYmxlSXRlbVRva2VuPEhUTUxFbGVtZW50LCBQPj4sIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBIYXNFbGVtZW50UmVmXG57XG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHZhbHVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU6IFA7XG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIElELlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaWQgPSB1dWlkdjQoKTtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBhcmlhIGxhYmVsLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHBhcmVudCBJRC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBwYXJlbnRJZCh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9wYXJlbnRJZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBwYXJlbnRJZCgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudElkIHx8IHRoaXMuX3BhcmVudFRyZWVJdGVtPy5pZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0cmVlIGl0ZW0gaXMgbmF2aWdhdGFibGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBuYXZpZ2F0YWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHN0YXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhdGU6IE51bGxhYmxlPFRyZWVJdGVtU3RhdGU+O1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIGNoaWxkIG5vZGVzIGRhdGEgc291cmNlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2hpbGROb2RlczogRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2U8VD4gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gd3JhcCBjb250ZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgd3JhcENvbnRlbnQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBsZXZlbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxldmVsJylcbiAgICBzZXQgbGV2ZWwodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9sZXZlbCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBsZXZlbCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGV2ZWwgfHwgKHRoaXMuX3BhcmVudFRyZWVJdGVtICE9PSBudWxsID8gdGhpcy5fcGFyZW50VHJlZUl0ZW0ubGV2ZWwgKyAxIDogMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdHJlZSBpdGVtIGlzIGV4cGFuZGVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGV4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl90cmVlU2VydmljZS5hZGRFeHBhbmRhYmxlSXRlbSh0aGlzLmlkLCB0aGlzLmxldmVsLCB2YWx1ZSk7XG4gICAgICAgIHRoaXMuX2V4cGFuZGVkID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl90cmVlU2VydmljZS5kZXRlY3RDaGFuZ2VzLm5leHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2VQcm92aWRlcj8ubWF0Y2goKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbiA9IFtdO1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbkxvYWRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UuZGV0ZWN0Q2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB1c2VyIGNsaWNrcyBvbiB0cmVlIGl0ZW0uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdHJlZUl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYGV4cGFuZGVkYCBzdGF0ZSBjaGFuZ2VzLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGV4cGFuZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIFRyZWUgaXRlbSBmb2N1c2FibGUgY29udGFpbmVyLiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2l0ZW1Db250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBpdGVtQ29udGFpbmVyOiBOdWxsYWJsZTxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgICAvKiogU2VsZWN0YWJsZSBpdGVtLiAqL1xuICAgIEBWaWV3Q2hpbGQoU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUpXG4gICAgc2VsZWN0YWJsZUxpc3RJdGVtOiBTZWxlY3RhYmxlSXRlbVRva2VuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKEJhc2VUcmVlSXRlbSlcbiAgICBfcHJvamVjdGVkVHJlZUl0ZW1zOiBRdWVyeUxpc3Q8QmFzZVRyZWVJdGVtPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBTZWxlY3Rpb24gc3RhdGUuXG4gICAgICovXG4gICAgX3NlbGVjdGlvblN0YXRlID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNoaWxkcmVuOiBUW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY2hpbGRyZW5Mb2FkZWQgPSBmYWxzZTtcblxuICAgIC8qKiBASGlkZGVuICovXG4gICAgX2NvbnRhaW5lclRhYkluZGV4ID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldFNpemU6IG51bWJlcjtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jdXJyZW50UG9zaXRpb246IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3RvdGFsQ2hpbGRyZW5Mb2FkZWQgPSBmYWxzZTtcblxuICAgIC8qKiBDbGlja2VkIGJlaGF2aW9yIGltcGxlbWVudGF0aW9uLiAqL1xuICAgIGNsaWNrZWQ6IE9ic2VydmFibGU8TW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfdHJlZVNlcnZpY2UgPSBpbmplY3QoVHJlZVNlcnZpY2UpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBoYXMgYW55IHR5cGUgb2YgY2hpbGQgbm9kZXMuICovXG4gICAgZ2V0IGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmNoaWxkTm9kZXMgfHwgdGhpcy5oYXNQcm9qZWN0ZWRDaGlsZHJlbjtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgdHJlZSBpdGVtIGhhcyBjb250ZW50LXByb2plY3RlZCBjaGlsZCBub2Rlcy4gKi9cbiAgICBnZXQgaGFzUHJvamVjdGVkQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm9qZWN0ZWRUcmVlSXRlbXMgJiYgdGhpcy5fcHJvamVjdGVkVHJlZUl0ZW1zLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBoYXMgZGF0YSBzb3VyY2UgY2hpbGRyZW4uICovXG4gICAgZ2V0IGhhc0RzQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kc0NoaWxkcmVuTnVtYmVyID4gMDtcbiAgICB9XG4gICAgLyoqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgYWNjZXNzaWJsZSB2aWEga2V5Ym9hcmQuICovXG4gICAgZ2V0IGtleWJvYXJkQWNjZXNzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudFRyZWVJdGVtID09PSBudWxsXG4gICAgICAgICAgICA/IHRydWVcbiAgICAgICAgICAgIDogdGhpcy5fcGFyZW50VHJlZUl0ZW0ua2V5Ym9hcmRBY2Nlc3NpYmxlICYmIHRoaXMuX3BhcmVudFRyZWVJdGVtLmV4cGFuZGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9yXG4gICAgICovXG4gICAgYmFja2dyb3VuZENvbG9yID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHN0eWxlc1xuICAgICAqL1xuICAgIGN1c3RvbVN0eWxlcyA9IGlucHV0PG9iamVjdD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcGFyZW50SWQ6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xldmVsOiBudW1iZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2V4cGFuZGVkID0gZmFsc2U7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kc0NoaWxkcmVuTnVtYmVyID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2xpY2tlZCQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdHJlZUl0ZW1EaXIgPSBpbmplY3Q8VHJlZUl0ZW1EaXJlY3RpdmU8VCwgUD4+KFRyZWVJdGVtRGlyZWN0aXZlLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RhdGFTb3VyY2VEaXJlY3RpdmUgPSBpbmplY3Q8RGF0YVNvdXJjZURpcmVjdGl2ZTxULCBGZFRyZWVEYXRhU291cmNlPFQ+Pj4oRGF0YVNvdXJjZURpcmVjdGl2ZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudFRyZWVJdGVtID0gaW5qZWN0KFRyZWVJdGVtQ29tcG9uZW50LCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBza2lwU2VsZjogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fdHJlZUl0ZW1EaXI/LnNldFRyZWVJdGVtKHRoaXMpO1xuICAgICAgICB0aGlzLmNsaWNrZWQgPSB0aGlzLl9jbGlja2VkJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFTb3VyY2UgPSB0aGlzLmNoaWxkTm9kZXMgYXMgRGF0YVNvdXJjZTxULCBGZFRyZWVEYXRhU291cmNlPFQ+PjtcbiAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UuYWRkRXhwYW5kYWJsZUl0ZW0odGhpcy5pZCwgdGhpcy5sZXZlbCwgdGhpcy5leHBhbmRlZCk7XG5cbiAgICAgICAgdGhpcy5fZGF0YVNvdXJjZURpcmVjdGl2ZS5kYXRhU291cmNlUHJvdmlkZXJcbiAgICAgICAgICAgID8uZ2V0VG90YWxJdGVtcygpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh0b3RhbEl0ZW1zKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZHNDaGlsZHJlbk51bWJlciA9IHRvdGFsSXRlbXM7XG4gICAgICAgICAgICAgICAgdGhpcy5fdG90YWxDaGlsZHJlbkxvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2RhdGFTb3VyY2VEaXJlY3RpdmUuZGF0YVNvdXJjZVByb3ZpZGVyPy5kYXRhUmVjZWl2ZWRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigocmVjZWl2ZWQpID0+IHJlY2VpdmVkKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fZGF0YVNvdXJjZURpcmVjdGl2ZS5kYXRhQ2hhbmdlZCQpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLl90cmVlU2VydmljZS5ub3JtYWxpemVUcmVlSXRlbXMoZGF0YSwgdGhpcy5pZCwgdGhpcy5sZXZlbCArIDEpIGFzIFRbXTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoaWxkcmVuTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UuZGV0ZWN0Q2hhbmdlcy5uZXh0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHJvamVjdGVkVHJlZUl0ZW1zLmNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aChudWxsKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9wcm9qZWN0ZWRUcmVlSXRlbXMuZm9yRWFjaCgodHJlZUl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyZWVJdGVtLnNldFBvc2l0aW9uKHRoaXMuX3Byb2plY3RlZFRyZWVJdGVtcy5sZW5ndGgsIGluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90cmVlU2VydmljZS5yZW1vdmVFeHBhbmRhYmxlSXRlbSh0aGlzLmlkLCB0aGlzLmxldmVsISk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpdGVtIGluIHRoZSBzZXQuXG4gICAgICogQHBhcmFtIHRvdGFsSXRlbXMgVG90YWwgaXRlbXMgYW1vdW50IGluIHRoZSBzZXQuXG4gICAgICogQHBhcmFtIGN1cnJlbnRJbmRleCBDdXJyZW50IGl0ZW0gcG9zaXRpb24gaW4gdGhlIHNldC5cbiAgICAgKi9cbiAgICBzZXRQb3NpdGlvbih0b3RhbEl0ZW1zOiBudW1iZXIsIGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldFNpemUgPSB0b3RhbEl0ZW1zO1xuICAgICAgICB0aGlzLl9jdXJyZW50UG9zaXRpb24gPSBjdXJyZW50SW5kZXg7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0byBmb2N1cyBvbiB0aGUgdHJlZSBpdGVtLiAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIGZvciBzZXR0aW5nIHRoZSBmb2N1c2FibGUgdGFiaW5kZXguICovXG4gICAgc2V0Q29udGFpbmVyVGFiSW5kZXgodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb250YWluZXJUYWJJbmRleCA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfdG9nZ2xlRXhwYW5kU3RhdGUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gRG8gbm90IGJ1YmJsZSB1cCB0byBzZWxlY3Rpb24gY2hhbmdlIGV2ZW50LlxuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuICAgICAgICB0aGlzLmV4cGFuZGVkQ2hhbmdlLmVtaXQodGhpcy5leHBhbmRlZCk7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcblxuICAgICAgICB0aGlzLl9jbGlja2VkJC5uZXh0KGV2ZW50KTtcbiAgICAgICAgdGhpcy50cmVlSXRlbUNsaWNrLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldFNlbGVjdGVkKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvblN0YXRlID0gc2VsZWN0ZWQ7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiZmQtdHJlZV9faXRlbS1jb250YWluZXJcIlxuICAgIFthdHRyLnRhYmluZGV4XT1cIl9jb250YWluZXJUYWJJbmRleFwiXG4gICAgKGZka0NsaWNrZWQpPVwiX29uQ2xpY2soJGV2ZW50KVwiXG4gICAgZmRrU2VsZWN0YWJsZUl0ZW1cbiAgICAoc2VsZWN0ZWQpPVwiX3NldFNlbGVjdGVkKCRldmVudClcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJjaGlsZHJlbi5sZW5ndGggPiAwIHx8IGhhc1Byb2plY3RlZENoaWxkcmVuXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImV4cGFuZGVkXCJcbiAgICBbYXR0ci5hcmlhLXNldHNpemVdPVwiX3NldFNpemVcIlxuICAgIFthdHRyLmFyaWEtcG9zaW5zZXRdPVwiX2N1cnJlbnRQb3NpdGlvblwiXG4gICAgcm9sZT1cInRyZWVpdGVtXCJcbiAgICBbYXR0ci5hcmlhLWxldmVsXT1cImxldmVsXCJcbiAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3IoKVwiXG4gICAgW25nU3R5bGVdPVwiY3VzdG9tU3R5bGVzKClcIlxuICAgICNpdGVtQ29udGFpbmVyXG4gICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICBzdGF0ZSA/ICdoYXMtaGlnaGxpZ2h0LWluZGljYXRvciBoYXMtaGlnaGxpZ2h0LWluZGljYXRvci0tJyArIHN0YXRlIDogJycsXG4gICAgICAgIG5hdmlnYXRhYmxlID8gJ2ZkLXRyZWVfX2l0ZW0tY29udGFpbmVyLS1hY3RpdmUnIDogJycsXG4gICAgICAgIHdyYXBDb250ZW50ID8gJ2ZkLXRyZWVfX2NvbnRlbnQtLXdyYXAnIDogJydcbiAgICBdXCJcbj5cbiAgICBAaWYgKF90cmVlU2VydmljZS5zZWxlY3Rpb25Nb2RlKCkucGxhY2VtZW50ID09PSAnbGVmdCcpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlbGVjdGlvblwiPjwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAoaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgQGlmIChoYXNEc0NoaWxkcmVuIHx8IGhhc1Byb2plY3RlZENoaWxkcmVuKSB7XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfdG9nZ2xlRXhwYW5kU3RhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC10cmVlX19leHBhbmRlclwiXG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIihleHBhbmRlZCA/ICdjb3JlVHJlZS5jb2xsYXBzZScgOiAnY29yZVRyZWUuZXhwYW5kJykgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlzLWV4cGFuZGVkXT1cImV4cGFuZGVkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZmQtaWNvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXRyZWVfX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiZXhwYW5kZWQgPyAnbmF2aWdhdGlvbi1kb3duLWFycm93JyA6ICduYXZpZ2F0aW9uLXJpZ2h0LWFycm93J1wiXG4gICAgICAgICAgICAgICAgPjwvZmQtaWNvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKCFfdG90YWxDaGlsZHJlbkxvYWRlZCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRyZWVfX2V4cGFuZGVyIGZkLXRyZWVfX2V4cGFuZGVyLS1sb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAgPGZkLXNrZWxldG9uIHR5cGU9XCJyZWN0YW5nbGVcIiB3aWR0aD1cIjFyZW1cIiBoZWlnaHQ9XCIxcmVtXCI+PC9mZC1za2VsZXRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoX3RyZWVTZXJ2aWNlLnNlbGVjdGlvbk1vZGUoKS5wbGFjZW1lbnQgPT09ICdhZnRlckV4cGFuZCcpIHtcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWxlY3Rpb25cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJmZC10cmVlX19jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZFRyZWVJdGVtSWNvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZFRyZWVJdGVtVGV4dF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkVHJlZUl0ZW1CdXR0b25dXCI+PC9uZy1jb250ZW50PlxuICAgIEBpZiAoX3RyZWVTZXJ2aWNlLnNlbGVjdGlvbk1vZGUoKS5wbGFjZW1lbnQgPT09ICdyaWdodCcpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlbGVjdGlvblwiPjwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAobmF2aWdhdGFibGUgJiYgX3RyZWVTZXJ2aWNlLm5hdmlnYXRpb25JbmRpY2F0b3IoKSkge1xuICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cInNsaW0tYXJyb3ctcmlnaHRcIiBjbGFzcz1cImZkLXRyZWVfX2ljb24gZmQtdHJlZV9faWNvbi0tbmF2aWdhdGlvblwiPjwvZmQtaWNvbj5cbiAgICB9XG48L2Rpdj5cbkBpZiAoaGFzUHJvamVjdGVkQ2hpbGRyZW4gJiYgZXhwYW5kZWQpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZmQtdHJlZVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC10cmVlLWl0ZW1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG59XG48bmctdGVtcGxhdGUgI3NlbGVjdGlvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtZm9ybS1pdGVtXCI+XG4gICAgICAgIEBpZiAoX3RyZWVTZXJ2aWNlLnNlbGVjdGlvbk1vZGUoKS5tb2RlID09PSAnbXVsdGlwbGUnKSB7XG4gICAgICAgICAgICA8ZmQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIl9zZWxlY3Rpb25TdGF0ZVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICBbc3RhbmRhbG9uZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICB0YWJJbmRleFZhbHVlPVwiLTFcIlxuICAgICAgICAgICAgPjwvZmQtY2hlY2tib3g+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChfdHJlZVNlcnZpY2Uuc2VsZWN0aW9uTW9kZSgpLm1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgICAgICA8ZmQtcmFkaW8tYnV0dG9uXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJfc2VsZWN0aW9uU3RhdGVcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwiX3NlbGVjdGlvblN0YXRlXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgICAgW3N0YW5kYWxvbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgdGFiSW5kZXhWYWx1ZT1cIi0xXCJcbiAgICAgICAgICAgID48L2ZkLXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class TreeItemButtonDirective {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: TreeItemButtonDirective, isStandalone: true, selector: \"[fdTreeItemButton]\", host: { classAttribute: \"fd-tree__button\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemButtonDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdTreeItemButton]',\n host: {\n class: 'fd-tree__button'\n },\n standalone: true\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS9kaXJlY3RpdmVzL3RyZWUtaXRlbS1idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzFDLE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQVBuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsaUJBQWlCO3FCQUMzQjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRUcmVlSXRlbUJ1dHRvbl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC10cmVlX19idXR0b24nXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVJdGVtQnV0dG9uRGlyZWN0aXZlIHt9XG4iXX0=","import { Directive, HostBinding } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class TreeItemIconDirective {\n constructor() {\n /** @hidden */\n this._role = 'presentation';\n /** @hidden */\n this._ariaHidden = true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: TreeItemIconDirective, isStandalone: true, selector: \"[fdTreeItemIcon]\", host: { properties: { \"attr.role\": \"this._role\", \"attr.aria-hidden\": \"this._ariaHidden\" }, classAttribute: \"fd-tree__icon\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemIconDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdTreeItemIcon]',\n host: {\n class: 'fd-tree__icon'\n },\n standalone: true\n }]\n }], propDecorators: { _role: [{\n type: HostBinding,\n args: ['attr.role']\n }], _ariaHidden: [{\n type: HostBinding,\n args: ['attr.aria-hidden']\n }] } });\nexport class TreeItemTextDirective {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: TreeItemTextDirective, isStandalone: true, selector: \"[fdTreeItemText]\", host: { classAttribute: \"fd-tree__text\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeItemTextDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdTreeItemText]',\n host: {\n class: 'fd-tree__text'\n },\n standalone: true\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLWljb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyZWUvZGlyZWN0aXZlcy90cmVlLWl0ZW0taWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBU3ZELE1BQU0sT0FBTyxxQkFBcUI7SUFQbEM7UUFRSSxjQUFjO1FBRUssVUFBSyxHQUFHLGNBQWMsQ0FBQztRQUUxQyxjQUFjO1FBRUssZ0JBQVcsR0FBRyxJQUFJLENBQUM7S0FDekM7OEdBUlkscUJBQXFCO2tHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBUGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxlQUFlO3FCQUN6QjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBSXNCLEtBQUs7c0JBRHZCLFdBQVc7dUJBQUMsV0FBVztnQkFLTCxXQUFXO3NCQUQ3QixXQUFXO3VCQUFDLGtCQUFrQjs7QUFXbkMsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCO2tHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBUGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxlQUFlO3FCQUN6QjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkVHJlZUl0ZW1JY29uXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXRyZWVfX2ljb24nXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVJdGVtSWNvbkRpcmVjdGl2ZSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9yb2xlID0gJ3ByZXNlbnRhdGlvbic7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9hcmlhSGlkZGVuID0gdHJ1ZTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRUcmVlSXRlbVRleHRdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdHJlZV9fdGV4dCdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVHJlZUl0ZW1UZXh0RGlyZWN0aXZlIHt9XG4iXX0=","import { NgModule } from '@angular/core';\nimport { TreeItemComponent } from './components/tree-item/tree-item.component';\nimport { TreeItemButtonDirective } from './directives/tree-item-button.directive';\nimport { TreeItemDefDirective } from './directives/tree-item-def.directive';\nimport { TreeItemIconDirective, TreeItemTextDirective } from './directives/tree-item-icon.directive';\nimport { TreeItemDirective } from './directives/tree-item.directive';\nimport { TreeComponent } from './tree.component';\nimport * as i0 from \"@angular/core\";\nconst components = [\n TreeComponent,\n TreeItemComponent,\n TreeItemDefDirective,\n TreeItemDirective,\n TreeItemIconDirective,\n TreeItemTextDirective,\n TreeItemButtonDirective\n];\n/**\n * @deprecated\n *\n * Use direct imports of `TreeComponent`,\n `TreeItemComponent`,\n `TreeItemDefDirective`,\n `TreeItemDirective`,\n `TreeItemIconDirective`,\n `TreeItemTextDirective`,\n `TreeItemButtonDirective`\n */\nexport class TreeModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeModule, imports: [TreeComponent,\n TreeItemComponent,\n TreeItemDefDirective,\n TreeItemDirective,\n TreeItemIconDirective,\n TreeItemTextDirective,\n TreeItemButtonDirective], exports: [TreeComponent,\n TreeItemComponent,\n TreeItemDefDirective,\n TreeItemDirective,\n TreeItemIconDirective,\n TreeItemTextDirective,\n TreeItemButtonDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeModule, imports: [TreeComponent,\n TreeItemComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TreeModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...components],\n exports: [...components]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJlZS90cmVlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFakQsTUFBTSxVQUFVLEdBQUc7SUFDZixhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIscUJBQXFCO0lBQ3JCLHFCQUFxQjtJQUNyQix1QkFBdUI7Q0FDMUIsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFLSCxNQUFNLE9BQU8sVUFBVTs4R0FBVixVQUFVOytHQUFWLFVBQVUsWUF4Qm5CLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsb0JBQW9CO1lBQ3BCLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLHVCQUF1QixhQU52QixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLG9CQUFvQjtZQUNwQixpQkFBaUI7WUFDakIscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQix1QkFBdUI7K0dBa0JkLFVBQVUsWUF4Qm5CLGFBQWE7WUFDYixpQkFBaUI7OzJGQXVCUixVQUFVO2tCQUp0QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJlZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdHJlZS1pdGVtL3RyZWUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZUl0ZW1CdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdHJlZS1pdGVtLWJ1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVHJlZUl0ZW1EZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdHJlZS1pdGVtLWRlZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVHJlZUl0ZW1JY29uRGlyZWN0aXZlLCBUcmVlSXRlbVRleHREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdHJlZS1pdGVtLWljb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFRyZWVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3RyZWUtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vdHJlZS5jb21wb25lbnQnO1xuXG5jb25zdCBjb21wb25lbnRzID0gW1xuICAgIFRyZWVDb21wb25lbnQsXG4gICAgVHJlZUl0ZW1Db21wb25lbnQsXG4gICAgVHJlZUl0ZW1EZWZEaXJlY3RpdmUsXG4gICAgVHJlZUl0ZW1EaXJlY3RpdmUsXG4gICAgVHJlZUl0ZW1JY29uRGlyZWN0aXZlLFxuICAgIFRyZWVJdGVtVGV4dERpcmVjdGl2ZSxcbiAgICBUcmVlSXRlbUJ1dHRvbkRpcmVjdGl2ZVxuXTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICpcbiAqIFVzZSBkaXJlY3QgaW1wb3J0cyBvZiBgVHJlZUNvbXBvbmVudGAsXG4gICAgICAgIGBUcmVlSXRlbUNvbXBvbmVudGAsXG4gICAgICAgIGBUcmVlSXRlbURlZkRpcmVjdGl2ZWAsXG4gICAgICAgIGBUcmVlSXRlbURpcmVjdGl2ZWAsXG4gICAgICAgIGBUcmVlSXRlbUljb25EaXJlY3RpdmVgLFxuICAgICAgICBgVHJlZUl0ZW1UZXh0RGlyZWN0aXZlYCxcbiAgICAgICAgYFRyZWVJdGVtQnV0dG9uRGlyZWN0aXZlYFxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbiAgICBleHBvcnRzOiBbLi4uY29tcG9uZW50c11cbn0pXG5leHBvcnQgY2xhc3MgVHJlZU1vZHVsZSB7fVxuIl19","import { InjectionToken } from '@angular/core';\nexport const FD_TREE_ITEM = new InjectionToken('FdTreeItem');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyZWUvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEZEX1RSRUVfSVRFTSA9IG5ldyBJbmplY3Rpb25Ub2tlbignRmRUcmVlSXRlbScpO1xuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNvcmUtdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmVlL2Z1bmRhbWVudGFsLW5neC1jb3JlLXRyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i2"],"mappings":"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"}
|