@fundamental-ngx/core 0.36.0-rc.21 → 0.36.0-rc.24

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.
Files changed (146) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/package.json +1 -1
  7. package/breadcrumb/breadcrumb.component.d.ts +6 -3
  8. package/breadcrumb/esm2020/breadcrumb.component.mjs +13 -5
  9. package/breadcrumb/fesm2015/fundamental-ngx-core-breadcrumb.mjs +14 -6
  10. package/breadcrumb/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  11. package/breadcrumb/fesm2020/fundamental-ngx-core-breadcrumb.mjs +14 -6
  12. package/breadcrumb/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  13. package/breadcrumb/package.json +1 -1
  14. package/busy-indicator/package.json +1 -1
  15. package/button/package.json +1 -1
  16. package/calendar/package.json +1 -1
  17. package/card/package.json +1 -1
  18. package/carousel/package.json +1 -1
  19. package/checkbox/package.json +1 -1
  20. package/combobox/package.json +1 -1
  21. package/content-density/package.json +2 -2
  22. package/date-picker/package.json +1 -1
  23. package/datetime/package.json +1 -1
  24. package/datetime-picker/package.json +1 -1
  25. package/dialog/package.json +1 -1
  26. package/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.d.ts +7 -1
  27. package/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.d.ts +3 -1
  28. package/dynamic-page/dynamic-page.service.d.ts +2 -0
  29. package/dynamic-page/esm2020/dynamic-page-header/actions/dynamic-page-global-actions.component.mjs +6 -3
  30. package/dynamic-page/esm2020/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +19 -5
  31. package/dynamic-page/esm2020/dynamic-page-header/header/dynamic-page-header.component.mjs +8 -4
  32. package/dynamic-page/esm2020/dynamic-page-header/subheader/dynamic-page-subheader.component.mjs +3 -3
  33. package/dynamic-page/esm2020/dynamic-page.service.mjs +3 -1
  34. package/dynamic-page/fesm2015/fundamental-ngx-core-dynamic-page.mjs +50 -30
  35. package/dynamic-page/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  36. package/dynamic-page/fesm2020/fundamental-ngx-core-dynamic-page.mjs +50 -30
  37. package/dynamic-page/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  38. package/dynamic-page/package.json +1 -1
  39. package/dynamic-side-content/package.json +1 -1
  40. package/esm2020/breadcrumb/breadcrumb.component.mjs +13 -5
  41. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.mjs +6 -3
  42. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +19 -5
  43. package/esm2020/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +8 -4
  44. package/esm2020/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.mjs +3 -3
  45. package/esm2020/dynamic-page/dynamic-page.service.mjs +3 -1
  46. package/esm2020/flexible-column-layout/flexible-column-layout.component.mjs +9 -3
  47. package/esm2020/table/table.component.mjs +2 -1
  48. package/facets/package.json +1 -1
  49. package/feed-input/package.json +1 -1
  50. package/feed-list-item/package.json +1 -1
  51. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +14 -6
  52. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  53. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +50 -30
  54. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  55. package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs +8 -2
  56. package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  57. package/fesm2015/fundamental-ngx-core-table.mjs +1 -0
  58. package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
  59. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +14 -6
  60. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  61. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +50 -30
  62. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  63. package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs +8 -2
  64. package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  65. package/fesm2020/fundamental-ngx-core-table.mjs +1 -0
  66. package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
  67. package/file-uploader/package.json +1 -1
  68. package/fixed-card-layout/package.json +1 -1
  69. package/flexible-column-layout/esm2020/flexible-column-layout.component.mjs +9 -3
  70. package/flexible-column-layout/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs +8 -2
  71. package/flexible-column-layout/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  72. package/flexible-column-layout/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs +8 -2
  73. package/flexible-column-layout/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  74. package/flexible-column-layout/flexible-column-layout.component.d.ts +7 -1
  75. package/flexible-column-layout/package.json +1 -1
  76. package/form/package.json +1 -1
  77. package/formatted-text/package.json +1 -1
  78. package/grid-list/package.json +1 -1
  79. package/icon/package.json +1 -1
  80. package/illustrated-message/package.json +1 -1
  81. package/infinite-scroll/package.json +1 -1
  82. package/info-label/package.json +1 -1
  83. package/inline-help/package.json +1 -1
  84. package/input-group/package.json +1 -1
  85. package/layout-grid/package.json +1 -1
  86. package/layout-panel/package.json +1 -1
  87. package/link/package.json +1 -1
  88. package/list/package.json +1 -1
  89. package/menu/package.json +1 -1
  90. package/message-box/package.json +1 -1
  91. package/message-strip/package.json +1 -1
  92. package/message-toast/package.json +1 -1
  93. package/micro-process-flow/package.json +1 -1
  94. package/mobile-mode/package.json +1 -1
  95. package/multi-input/package.json +1 -1
  96. package/nested-list/package.json +1 -1
  97. package/notification/package.json +1 -1
  98. package/object-identifier/package.json +1 -1
  99. package/object-marker/package.json +1 -1
  100. package/object-number/package.json +1 -1
  101. package/object-status/package.json +1 -1
  102. package/overflow-layout/package.json +4 -4
  103. package/package.json +2 -2
  104. package/pagination/package.json +1 -1
  105. package/panel/package.json +1 -1
  106. package/popover/package.json +1 -1
  107. package/product-switch/package.json +1 -1
  108. package/progress-indicator/package.json +1 -1
  109. package/quick-view/package.json +1 -1
  110. package/radio/package.json +1 -1
  111. package/rating-indicator/package.json +1 -1
  112. package/resizable-card-layout/package.json +1 -1
  113. package/scroll-spy/package.json +1 -1
  114. package/scrollbar/package.json +1 -1
  115. package/segmented-button/package.json +1 -1
  116. package/select/package.json +1 -1
  117. package/shared/package.json +1 -1
  118. package/shellbar/package.json +1 -1
  119. package/side-navigation/package.json +1 -1
  120. package/slider/package.json +1 -1
  121. package/split-button/package.json +1 -1
  122. package/splitter/package.json +1 -1
  123. package/status-indicator/package.json +1 -1
  124. package/step-input/package.json +1 -1
  125. package/switch/package.json +1 -1
  126. package/table/esm2020/table.component.mjs +2 -1
  127. package/table/fesm2015/fundamental-ngx-core-table.mjs +1 -0
  128. package/table/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
  129. package/table/fesm2020/fundamental-ngx-core-table.mjs +1 -0
  130. package/table/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
  131. package/table/package.json +1 -1
  132. package/tabs/package.json +1 -1
  133. package/text/package.json +1 -1
  134. package/theming/package.json +1 -1
  135. package/tile/package.json +1 -1
  136. package/time/package.json +1 -1
  137. package/time-picker/package.json +1 -1
  138. package/timeline/package.json +1 -1
  139. package/title/package.json +1 -1
  140. package/token/package.json +1 -1
  141. package/toolbar/package.json +1 -1
  142. package/tree/package.json +1 -1
  143. package/upload-collection/package.json +1 -1
  144. package/utils/package.json +1 -1
  145. package/vertical-navigation/package.json +1 -1
  146. package/wizard/package.json +1 -1
@@ -1,13 +1,14 @@
1
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, Input, NgZone, Renderer2, ViewEncapsulation } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
2
4
  import { DYNAMIC_PAGE_HEADER_TOKEN } from '@fundamental-ngx/core/shared';
3
5
  import { BreadcrumbComponent } from '@fundamental-ngx/core/breadcrumb';
4
6
  import { DYNAMIC_PAGE_CLASS_NAME } from '../../constants';
5
7
  import { DynamicPageService } from '../../dynamic-page.service';
6
8
  import { addClassNameToElement } from '../../utils';
9
+ import { DynamicPageLayoutActionsComponent } from '../actions/dynamic-page-layout-actions.component';
7
10
  import { DynamicPageGlobalActionsComponent } from '../actions/dynamic-page-global-actions.component';
8
11
  import { DynamicPageTitleContentComponent } from '../actions/dynamic-page-title-content.component';
9
- import { Subject } from 'rxjs';
10
- import { takeUntil } from 'rxjs/operators';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "../../dynamic-page.service";
13
14
  import * as i2 from "@angular/common";
@@ -102,7 +103,7 @@ DynamicPageHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
102
103
  provide: DYNAMIC_PAGE_HEADER_TOKEN,
103
104
  useExisting: DynamicPageHeaderComponent
104
105
  }
105
- ], queries: [{ propertyName: "_breadcrumbComponent", first: true, predicate: BreadcrumbComponent, descendants: true }, { propertyName: "_globalActions", first: true, predicate: DynamicPageGlobalActionsComponent, descendants: true }, { propertyName: "_contentToolbar", first: true, predicate: DynamicPageTitleContentComponent, descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__main-container\">\n <div class=\"fd-dynamic-page__breadcrumb-title-container\">\n <div class=\"fd-dynamic-page__breadcrumb-container\">\n <nav aria-label=\"Breadcrumbs\" class=\"fd-dynamic-page__breadcrumb-wrapper\" (click)=\"stopPropagation($event)\">\n <ng-content select=\"fd-breadcrumb\"></ng-content>\n </nav>\n <ng-container *ngIf=\"_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n <div class=\"fd-dynamic-page__title-container\">\n <ng-container *ngIf=\"_collapsed\">\n <ng-content select=\"fd-facet\"></ng-content>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-subtitle-container\">\n <div class=\"fd-dynamic-page__title-container\">\n <span class=\"fd-dynamic-page__title\" fdIgnoreClickOnSelection>\n {{ title }}\n </span>\n <ng-content select=\"fd-dynamic-page-title-content\"></ng-content>\n <div class=\"fd-dynamic-page__toolbar-container\" (click)=\"stopPropagation($event)\">\n <ng-container *ngTemplateOutlet=\"dynamicPageGlobalActionsRef\"></ng-container>\n <ng-container *ngIf=\"!_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"fd-dynamic-page__subtitle\" *ngIf=\"_collapsed && subtitle\" fdIgnoreClickOnSelection>\n {{ subtitle }}\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"fd-dynamic-page__subtitle\" *ngIf=\"!_collapsed && subtitle\" fdIgnoreClickOnSelection>{{ subtitle }}</div>\n\n<ng-template #dynamicPageGlobalActionsRef>\n <ng-content select=\"fd-dynamic-page-global-actions\"></ng-content>\n</ng-template>\n<ng-template #dynamicPageLayoutActionsRef>\n <ng-content select=\"fd-dynamic-page-layout-actions\"></ng-content>\n</ng-template>\n", styles: [".fd-dynamic-page__breadcrumb-wrapper{width:100%;max-width:60%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.IgnoreClickOnSelectionDirective, selector: "[fdIgnoreClickOnSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
106
+ ], queries: [{ propertyName: "_breadcrumbComponent", first: true, predicate: BreadcrumbComponent, descendants: true }, { propertyName: "_globalActions", first: true, predicate: DynamicPageGlobalActionsComponent, descendants: true }, { propertyName: "_layoutActions", first: true, predicate: DynamicPageLayoutActionsComponent, descendants: true }, { propertyName: "_contentToolbar", first: true, predicate: DynamicPageTitleContentComponent, descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__main-container\">\n <div class=\"fd-dynamic-page__breadcrumb-title-container\">\n <div class=\"fd-dynamic-page__breadcrumb-container\">\n <nav aria-label=\"Breadcrumbs\" class=\"fd-dynamic-page__breadcrumb-wrapper\" (click)=\"stopPropagation($event)\">\n <ng-content select=\"fd-breadcrumb\"></ng-content>\n </nav>\n <ng-container *ngIf=\"_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n <div class=\"fd-dynamic-page__title-container\">\n <ng-container *ngIf=\"_collapsed\">\n <ng-content select=\"fd-facet\"></ng-content>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-subtitle-container\">\n <div class=\"fd-dynamic-page__title-container\">\n <span class=\"fd-dynamic-page__title\" fdIgnoreClickOnSelection>\n {{ title }}\n </span>\n <ng-content select=\"fd-dynamic-page-title-content\"></ng-content>\n <div class=\"fd-dynamic-page__toolbar-container\" (click)=\"stopPropagation($event)\">\n <ng-container *ngTemplateOutlet=\"dynamicPageGlobalActionsRef\"></ng-container>\n <ng-container *ngIf=\"!_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"fd-dynamic-page__subtitle\" *ngIf=\"_collapsed && subtitle\" fdIgnoreClickOnSelection>\n {{ subtitle }}\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"fd-dynamic-page__subtitle\" *ngIf=\"!_collapsed && subtitle\" fdIgnoreClickOnSelection>{{ subtitle }}</div>\n\n<ng-template #dynamicPageGlobalActionsRef>\n <ng-content select=\"fd-dynamic-page-global-actions\"></ng-content>\n</ng-template>\n<ng-template #dynamicPageLayoutActionsRef>\n <ng-content select=\"fd-dynamic-page-layout-actions\"></ng-content>\n</ng-template>\n", styles: [".fd-dynamic-page__breadcrumb-wrapper{width:100%;max-width:60%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.IgnoreClickOnSelectionDirective, selector: "[fdIgnoreClickOnSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
106
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicPageHeaderComponent, decorators: [{
107
108
  type: Component,
108
109
  args: [{ selector: 'fd-dynamic-page-header', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
@@ -123,8 +124,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
123
124
  }], _globalActions: [{
124
125
  type: ContentChild,
125
126
  args: [DynamicPageGlobalActionsComponent]
127
+ }], _layoutActions: [{
128
+ type: ContentChild,
129
+ args: [DynamicPageLayoutActionsComponent]
126
130
  }], _contentToolbar: [{
127
131
  type: ContentChild,
128
132
  args: [DynamicPageTitleContentComponent]
129
133
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9oZWFkZXIvZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9oZWFkZXIvZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFxQixNQUFNLDhCQUE4QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBNkIsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saURBQWlELENBQUM7QUFFbkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRTNDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksQ0FBQztBQWtCN0MsTUFBTSxPQUFPLDBCQUEwQjtJQWlDbkMsY0FBYztJQUNkLFlBQ1ksV0FBb0MsRUFDcEMsU0FBb0IsRUFDcEIsbUJBQXVDLEVBQ3ZDLE9BQWUsRUFDZixhQUFnQztRQUpoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUF0QzVDLGNBQWM7UUFDZCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBc0JuQixjQUFjO1FBQ2QscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBS3pCLGVBQWU7UUFDRSxnQkFBVyxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBUy9ELENBQUM7SUFFSixjQUFjO0lBQ2QsUUFBUTtRQUNKLElBQUksQ0FBQywwQkFBMEIsQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBRW5DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN6RixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztZQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLElBQUksQ0FBQyxRQUFtQztRQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjO0lBQ2QsZUFBZSxDQUFDLEtBQWlCO1FBQzdCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFFBQVEsQ0FBQyxRQUFtQztRQUNoRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYztJQUNOLDBCQUEwQixDQUFDLFNBQWlCO1FBQ2hELHFCQUFxQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELGNBQWM7SUFDTiw0QkFBNEIsQ0FBQyxPQUFnQixFQUFFLFNBQWlCO1FBQ3BFLHFCQUFxQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxjQUFjO0lBQ04sMkJBQTJCO1FBQy9CLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzNCLElBQUksQ0FBQyw0QkFBNEIsQ0FDN0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQ2xELHVCQUF1QixDQUFDLHFCQUFxQixDQUNoRCxDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNOLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM5RixNQUFNLGVBQWUsR0FBWSxNQUFNLEdBQUcsd0JBQXdCLENBQUM7WUFDbkUsSUFBSSxlQUFlLEtBQUssSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUMzQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3RDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzt1SEF6SFEsMEJBQTBCOzJHQUExQiwwQkFBMEIsbUpBUHhCO1FBQ1A7WUFDSSxPQUFPLEVBQUUseUJBQXlCO1lBQ2xDLFdBQVcsRUFBRSwwQkFBMEI7U0FDMUM7S0FDSiw0RUFlYSxtQkFBbUIsaUZBSW5CLGlDQUFpQyxrRkFJakMsZ0NBQWdDLGdEQ2xFbEQsb3VFQTJDQTsyRkRFYSwwQkFBMEI7a0JBaEJ0QyxTQUFTOytCQUNJLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDRixpQkFBaUIsRUFBRSxHQUFHO3FCQUN6QixhQUNVO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSx5QkFBeUI7NEJBQ2xDLFdBQVcsNEJBQTRCO3lCQUMxQztxQkFDSjsrTUFRRCxLQUFLO3NCQURKLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLG9CQUFvQjtzQkFEbkIsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBS2pDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxpQ0FBaUM7Z0JBSy9DLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRFlOQU1JQ19QQUdFX0hFQURFUl9UT0tFTiwgRHluYW1pY1BhZ2VIZWFkZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnJlYWRjcnVtYic7XG5cbmltcG9ydCB7IERZTkFNSUNfUEFHRV9DTEFTU19OQU1FLCBEeW5hbWljUGFnZVJlc3BvbnNpdmVTaXplIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IER5bmFtaWNQYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL2R5bmFtaWMtcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IGFkZENsYXNzTmFtZVRvRWxlbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IER5bmFtaWNQYWdlR2xvYmFsQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL2FjdGlvbnMvZHluYW1pYy1wYWdlLWdsb2JhbC1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZVRpdGxlQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGlvbnMvZHluYW1pYy1wYWdlLXRpdGxlLWNvbnRlbnQuY29tcG9uZW50JztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgQWN0aW9uU3F1YXNoQnJlYWtwb2ludFB4ID0gMTI4MDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1keW5hbWljLXBhZ2UtaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJzAnXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRFlOQU1JQ19QQUdFX0hFQURFUl9UT0tFTixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudFxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBEeW5hbWljUGFnZUhlYWRlciB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY29sbGFwc2VkID0gZmFsc2U7XG5cbiAgICAvKiogVGl0bGUgcHJvcGVydHkgZm9yIGR5bmFtaWMgcGFnZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBTdWJ0aXRsZSBwcm9wZXJ0eSBmb3IgZHluYW1pYyBwYWdlICovXG4gICAgQElucHV0KClcbiAgICBzdWJ0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKEJyZWFkY3J1bWJDb21wb25lbnQpXG4gICAgX2JyZWFkY3J1bWJDb21wb25lbnQ6IEJyZWFkY3J1bWJDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoRHluYW1pY1BhZ2VHbG9iYWxBY3Rpb25zQ29tcG9uZW50KVxuICAgIF9nbG9iYWxBY3Rpb25zOiBEeW5hbWljUGFnZUdsb2JhbEFjdGlvbnNDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoRHluYW1pY1BhZ2VUaXRsZUNvbnRlbnRDb21wb25lbnQpXG4gICAgX2NvbnRlbnRUb29sYmFyOiBEeW5hbWljUGFnZVRpdGxlQ29udGVudENvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2FjdGlvbnNTcXVhc2hlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2l6ZTogRHluYW1pY1BhZ2VSZXNwb25zaXZlU2l6ZTtcblxuICAgIC8qKiBAaGlkZGVuICoqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29uRGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgX2R5bmFtaWNQYWdlU2VydmljZTogRHluYW1pY1BhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0UmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FkZENsYXNzTmFtZVRvSG9zdEVsZW1lbnQoRFlOQU1JQ19QQUdFX0NMQVNTX05BTUUuZHluYW1pY1BhZ2VUaXRsZUFyZWEpO1xuICAgICAgICB0aGlzLl9saXN0ZW5Ub1BhZ2VDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FkZEN1c3RvbUNsYXNzVG9CcmVhZGNydW1iKCk7XG5cbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VTZXJ2aWNlLmNvbGxhcHNlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChjb2xsYXBzZWQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2NvbGxhcHNlZCA9IGNvbGxhcHNlZDtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzZXRzIHNpemUgd2hpY2ggaW4gdHVybiBhZGRzIGNvcnJlc3BvbmRpbmcgcGFkZGluZyBmb3IgdGhlIHNpemUgdHlwZS5cbiAgICAgKiBzaXplIGNhbiBiZSBgc21hbGxgLCBgbWVkaXVtYCwgYGxhcmdlYCwgb3IgYGV4dHJhLWxhcmdlYC5cbiAgICAgKi9cbiAgICBzZXQgc2l6ZShzaXplVHlwZTogRHluYW1pY1BhZ2VSZXNwb25zaXZlU2l6ZSkge1xuICAgICAgICB0aGlzLl9zZXRTaXplKHNpemVUeXBlKTtcbiAgICAgICAgdGhpcy5fc2l6ZSA9IHNpemVUeXBlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBzZXRzIHRoZSBwYWRkaW5nIGNsYXNzZXNcbiAgICAgKiBAcGFyYW0gc2l6ZVR5cGVcbiAgICAgKi9cbiAgICBwcml2YXRlIF9zZXRTaXplKHNpemVUeXBlOiBEeW5hbWljUGFnZVJlc3BvbnNpdmVTaXplKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fYnJlYWRjcnVtYkNvbXBvbmVudD8ub25SZXNpemUoKTtcbiAgICAgICAgICAgIHRoaXMuX2dsb2JhbEFjdGlvbnM/Ll9zZXRTaXplKHNpemVUeXBlKTtcbiAgICAgICAgICAgIHRoaXMuX2NvbnRlbnRUb29sYmFyPy5fc2V0U2l6ZShzaXplVHlwZSk7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FkZENsYXNzTmFtZVRvSG9zdEVsZW1lbnQoY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgYWRkQ2xhc3NOYW1lVG9FbGVtZW50KHRoaXMuX3JlbmRlcmVyLCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hZGRDbGFzc05hbWVUb0N1c3RvbUVsZW1lbnQoZWxlbWVudDogRWxlbWVudCwgY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgYWRkQ2xhc3NOYW1lVG9FbGVtZW50KHRoaXMuX3JlbmRlcmVyLCBlbGVtZW50LCBjbGFzc05hbWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWRkQ3VzdG9tQ2xhc3NUb0JyZWFkY3J1bWIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9icmVhZGNydW1iQ29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9hZGRDbGFzc05hbWVUb0N1c3RvbUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgdGhpcy5fYnJlYWRjcnVtYkNvbXBvbmVudC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgRFlOQU1JQ19QQUdFX0NMQVNTX05BTUUuZHluYW1pY1BhZ2VCcmVhZGNydW1iXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1BhZ2VDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9keW5hbWljUGFnZVNlcnZpY2UucGl4ZWxzU2l6ZUNoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgocGl4ZWxzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhY3Rpb25zU3F1YXNoZWQ6IGJvb2xlYW4gPSBwaXhlbHMgPCBBY3Rpb25TcXVhc2hCcmVha3BvaW50UHg7XG4gICAgICAgICAgICBpZiAoYWN0aW9uc1NxdWFzaGVkICE9PSB0aGlzLl9hY3Rpb25zU3F1YXNoZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hY3Rpb25zU3F1YXNoZWQgPSBhY3Rpb25zU3F1YXNoZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fbWFpbi1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19icmVhZGNydW1iLXRpdGxlLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19icmVhZGNydW1iLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG5hdiBhcmlhLWxhYmVsPVwiQnJlYWRjcnVtYnNcIiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fYnJlYWRjcnVtYi13cmFwcGVyXCIgKGNsaWNrKT1cInN0b3BQcm9wYWdhdGlvbigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtYnJlYWRjcnVtYlwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9hY3Rpb25zU3F1YXNoZWRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHluYW1pY1BhZ2VMYXlvdXRBY3Rpb25zUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX3RpdGxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9jb2xsYXBzZWRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC1mYWNldFwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX190aXRsZS1zdWJ0aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX190aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX3RpdGxlXCIgZmRJZ25vcmVDbGlja09uU2VsZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC1keW5hbWljLXBhZ2UtdGl0bGUtY29udGVudFwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fdG9vbGJhci1jb250YWluZXJcIiAoY2xpY2spPVwic3RvcFByb3BhZ2F0aW9uKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkeW5hbWljUGFnZUdsb2JhbEFjdGlvbnNSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhX2FjdGlvbnNTcXVhc2hlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkeW5hbWljUGFnZUxheW91dEFjdGlvbnNSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19zdWJ0aXRsZVwiICpuZ0lmPVwiX2NvbGxhcHNlZCAmJiBzdWJ0aXRsZVwiIGZkSWdub3JlQ2xpY2tPblNlbGVjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAge3sgc3VidGl0bGUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fc3VidGl0bGVcIiAqbmdJZj1cIiFfY29sbGFwc2VkICYmIHN1YnRpdGxlXCIgZmRJZ25vcmVDbGlja09uU2VsZWN0aW9uPnt7IHN1YnRpdGxlIH19PC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZHluYW1pY1BhZ2VHbG9iYWxBY3Rpb25zUmVmPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLWR5bmFtaWMtcGFnZS1nbG9iYWwtYWN0aW9uc1wiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2R5bmFtaWNQYWdlTGF5b3V0QWN0aW9uc1JlZj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC1keW5hbWljLXBhZ2UtbGF5b3V0LWFjdGlvbnNcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9oZWFkZXIvZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9oZWFkZXIvZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHlCQUF5QixFQUFxQixNQUFNLDhCQUE4QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBNkIsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saURB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QkFEZCxZQUFZO3VCQUFDLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERZTkFNSUNfUEFHRV9IRUFERVJfVE9LRU4sIER5bmFtaWNQYWdlSGVhZGVyIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5pbXBvcnQgeyBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2JyZWFkY3J1bWInO1xuXG5pbXBvcnQgeyBEWU5BTUlDX1BBR0VfQ0xBU1NfTkFNRSwgRHluYW1pY1BhZ2VSZXNwb25zaXZlU2l6ZSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9keW5hbWljLXBhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBhZGRDbGFzc05hbWVUb0VsZW1lbnQgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUxheW91dEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb25zL2R5bmFtaWMtcGFnZS1sYXlvdXQtYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VHbG9iYWxBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9ucy9keW5hbWljLXBhZ2UtZ2xvYmFsLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNQYWdlVGl0bGVDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9ucy9keW5hbWljLXBhZ2UtdGl0bGUtY29udGVudC5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgQWN0aW9uU3F1YXNoQnJlYWtwb2ludFB4ID0gMTI4MDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1keW5hbWljLXBhZ2UtaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJzAnXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRFlOQU1JQ19QQUdFX0hFQURFUl9UT0tFTixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudFxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBEeW5hbWljUGFnZUhlYWRlciB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY29sbGFwc2VkID0gZmFsc2U7XG5cbiAgICAvKiogVGl0bGUgcHJvcGVydHkgZm9yIGR5bmFtaWMgcGFnZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBTdWJ0aXRsZSBwcm9wZXJ0eSBmb3IgZHluYW1pYyBwYWdlICovXG4gICAgQElucHV0KClcbiAgICBzdWJ0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKEJyZWFkY3J1bWJDb21wb25lbnQpXG4gICAgX2JyZWFkY3J1bWJDb21wb25lbnQ6IEJyZWFkY3J1bWJDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoRHluYW1pY1BhZ2VHbG9iYWxBY3Rpb25zQ29tcG9uZW50KVxuICAgIF9nbG9iYWxBY3Rpb25zOiBEeW5hbWljUGFnZUdsb2JhbEFjdGlvbnNDb21wb25lbnQ7XG5cbiAgICBAQ29udGVudENoaWxkKER5bmFtaWNQYWdlTGF5b3V0QWN0aW9uc0NvbXBvbmVudClcbiAgICBfbGF5b3V0QWN0aW9uczogRHluYW1pY1BhZ2VMYXlvdXRBY3Rpb25zQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKER5bmFtaWNQYWdlVGl0bGVDb250ZW50Q29tcG9uZW50KVxuICAgIF9jb250ZW50VG9vbGJhcjogRHluYW1pY1BhZ2VUaXRsZUNvbnRlbnRDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9hY3Rpb25zU3F1YXNoZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NpemU6IER5bmFtaWNQYWdlUmVzcG9uc2l2ZVNpemU7XG5cbiAgICAvKiogQGhpZGRlbiAqKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIF9keW5hbWljUGFnZVNlcnZpY2U6IER5bmFtaWNQYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hZGRDbGFzc05hbWVUb0hvc3RFbGVtZW50KERZTkFNSUNfUEFHRV9DTEFTU19OQU1FLmR5bmFtaWNQYWdlVGl0bGVBcmVhKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuVG9QYWdlQ2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hZGRDdXN0b21DbGFzc1RvQnJlYWRjcnVtYigpO1xuXG4gICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5jb2xsYXBzZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoY29sbGFwc2VkKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jb2xsYXBzZWQgPSBjb2xsYXBzZWQ7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0cyBzaXplIHdoaWNoIGluIHR1cm4gYWRkcyBjb3JyZXNwb25kaW5nIHBhZGRpbmcgZm9yIHRoZSBzaXplIHR5cGUuXG4gICAgICogc2l6ZSBjYW4gYmUgYHNtYWxsYCwgYG1lZGl1bWAsIGBsYXJnZWAsIG9yIGBleHRyYS1sYXJnZWAuXG4gICAgICovXG4gICAgc2V0IHNpemUoc2l6ZVR5cGU6IER5bmFtaWNQYWdlUmVzcG9uc2l2ZVNpemUpIHtcbiAgICAgICAgdGhpcy5fc2V0U2l6ZShzaXplVHlwZSk7XG4gICAgICAgIHRoaXMuX3NpemUgPSBzaXplVHlwZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHN0b3BQcm9wYWdhdGlvbihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogc2V0cyB0aGUgcGFkZGluZyBjbGFzc2VzXG4gICAgICogQHBhcmFtIHNpemVUeXBlXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2V0U2l6ZShzaXplVHlwZTogRHluYW1pY1BhZ2VSZXNwb25zaXZlU2l6ZSk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2JyZWFkY3J1bWJDb21wb25lbnQ/Lm9uUmVzaXplKCk7XG4gICAgICAgICAgICB0aGlzLl9nbG9iYWxBY3Rpb25zPy5fc2V0U2l6ZShzaXplVHlwZSk7XG4gICAgICAgICAgICB0aGlzLl9jb250ZW50VG9vbGJhcj8uX3NldFNpemUoc2l6ZVR5cGUpO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hZGRDbGFzc05hbWVUb0hvc3RFbGVtZW50KGNsYXNzTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGFkZENsYXNzTmFtZVRvRWxlbWVudCh0aGlzLl9yZW5kZXJlciwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWRkQ2xhc3NOYW1lVG9DdXN0b21FbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnQsIGNsYXNzTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGFkZENsYXNzTmFtZVRvRWxlbWVudCh0aGlzLl9yZW5kZXJlciwgZWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FkZEN1c3RvbUNsYXNzVG9CcmVhZGNydW1iKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fYnJlYWRjcnVtYkNvbXBvbmVudCkge1xuICAgICAgICAgICAgdGhpcy5fYWRkQ2xhc3NOYW1lVG9DdXN0b21FbGVtZW50KFxuICAgICAgICAgICAgICAgIHRoaXMuX2JyZWFkY3J1bWJDb21wb25lbnQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIERZTkFNSUNfUEFHRV9DTEFTU19OQU1FLmR5bmFtaWNQYWdlQnJlYWRjcnVtYlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuVG9QYWdlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VTZXJ2aWNlLnBpeGVsc1NpemVDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHBpeGVscykgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uc1NxdWFzaGVkOiBib29sZWFuID0gcGl4ZWxzIDwgQWN0aW9uU3F1YXNoQnJlYWtwb2ludFB4O1xuICAgICAgICAgICAgaWYgKGFjdGlvbnNTcXVhc2hlZCAhPT0gdGhpcy5fYWN0aW9uc1NxdWFzaGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYWN0aW9uc1NxdWFzaGVkID0gYWN0aW9uc1NxdWFzaGVkO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX21haW4tY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fYnJlYWRjcnVtYi10aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fYnJlYWRjcnVtYi1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxuYXYgYXJpYS1sYWJlbD1cIkJyZWFkY3J1bWJzXCIgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2JyZWFkY3J1bWItd3JhcHBlclwiIChjbGljayk9XCJzdG9wUHJvcGFnYXRpb24oJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLWJyZWFkY3J1bWJcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L25hdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfYWN0aW9uc1NxdWFzaGVkXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImR5bmFtaWNQYWdlTGF5b3V0QWN0aW9uc1JlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX190aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfY29sbGFwc2VkXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtZmFjZXRcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fdGl0bGUtc3VidGl0bGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fdGl0bGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX190aXRsZVwiIGZkSWdub3JlQ2xpY2tPblNlbGVjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtZHluYW1pYy1wYWdlLXRpdGxlLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX3Rvb2xiYXItY29udGFpbmVyXCIgKGNsaWNrKT1cInN0b3BQcm9wYWdhdGlvbigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHluYW1pY1BhZ2VHbG9iYWxBY3Rpb25zUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIV9hY3Rpb25zU3F1YXNoZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHluYW1pY1BhZ2VMYXlvdXRBY3Rpb25zUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fc3VidGl0bGVcIiAqbmdJZj1cIl9jb2xsYXBzZWQgJiYgc3VidGl0bGVcIiBmZElnbm9yZUNsaWNrT25TZWxlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgIHt7IHN1YnRpdGxlIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX3N1YnRpdGxlXCIgKm5nSWY9XCIhX2NvbGxhcHNlZCAmJiBzdWJ0aXRsZVwiIGZkSWdub3JlQ2xpY2tPblNlbGVjdGlvbj57eyBzdWJ0aXRsZSB9fTwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2R5bmFtaWNQYWdlR2xvYmFsQWN0aW9uc1JlZj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC1keW5hbWljLXBhZ2UtZ2xvYmFsLWFjdGlvbnNcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNkeW5hbWljUGFnZUxheW91dEFjdGlvbnNSZWY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtZHluYW1pYy1wYWdlLWxheW91dC1hY3Rpb25zXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -98,10 +98,10 @@ export class DynamicPageSubheaderComponent {
98
98
  }
99
99
  }
100
100
  DynamicPageSubheaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicPageSubheaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DynamicPageConfig }, { token: i2.DynamicPageService }], target: i0.ɵɵFactoryTarget.Component });
101
- DynamicPageSubheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "attr.role": "this.role", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "pinCollapseContainer", first: true, predicate: ["pincollapseContainer"], descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div\n role=\"toolbar\"\n aria-label=\"Pin/Collapse actions\"\n class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\"\n >\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
101
+ DynamicPageSubheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "attr.role": "this.role", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "pinCollapseContainer", first: true, predicate: ["pincollapseContainer"], descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
102
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicPageSubheaderComponent, decorators: [{
103
103
  type: Component,
104
- args: [{ selector: 'fd-dynamic-page-subheader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div\n role=\"toolbar\"\n aria-label=\"Pin/Collapse actions\"\n class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\"\n >\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n" }]
104
+ args: [{ selector: 'fd-dynamic-page-subheader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n" }]
105
105
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DynamicPageConfig }, { type: i2.DynamicPageService }]; }, propDecorators: { collapsible: [{
106
106
  type: Input
107
107
  }], pinnable: [{
@@ -134,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
134
134
  type: ViewChild,
135
135
  args: ['pincollapseContainer']
136
136
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9zdWJoZWFkZXIvZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9zdWJoZWFkZXIvZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFFaEUsSUFBSSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7QUFPL0IsTUFBTSxPQUFPLDZCQUE2QjtJQXdGdEMsY0FBYztJQUNkLFlBQ1ksR0FBc0IsRUFDcEIsa0JBQXFDLEVBQ3ZDLG1CQUF1QztRQUZ2QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNwQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3ZDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUEzRm5EOzs7V0FHRztRQUVILGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRW5COzs7V0FHRztRQUVILGFBQVEsR0FBRyxL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RGIsS0FBSztnQkFLTixlQUFlO3NCQURkLE1BQU07Z0JBS1Asb0JBQW9CO3NCQURuQixTQUFTO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5cbmltcG9ydCB7IER5bmFtaWNQYWdlQ29uZmlnIH0gZnJvbSAnLi4vLi4vZHluYW1pYy1wYWdlLmNvbmZpZyc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9keW5hbWljLXBhZ2Uuc2VydmljZSc7XG5cbmxldCBkeW5hbWljUGFnZVN1YkhlYWRlcklkID0gMDtcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtZHluYW1pYy1wYWdlLXN1YmhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtcGFnZS1zdWJoZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1BhZ2VTdWJoZWFkZXJDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIHdoZXRoZXIgdGhlIGhlYWRlciBjYW4gYmUgY29sbGFwc2VkLiBUcnVlIGJ5IGRlZmF1bHQuIElmIHNldCB0byBmYWxzZSwgYm90aCBwaW4vY29sbGFwc2UgYnV0dG9ucyBkaXNhcHBlYXJcbiAgICAgKiBhbmQgdGhlIGhlYWRlciBzdGF5cyB2aXNpYmxlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjb2xsYXBzaWJsZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiB3aGV0aGVyIHRoZSBoZWFkZXIgc2hvdWxkIGJlIGFsbG93ZWQgdG8gYmUgcGlubmVkIG9yIHVucGlubmVkLiBXaGVuIHNldCwgdGhlIHBpbiBidXR0b24gc2hvd3MgdXAuXG4gICAgICogUGlubmluZyB0aGUgaGVhZGVyIHdpbGwgbWFrZSB0aGUgaGVhZGVyIHN0YXkgdmlzaWJsZSBhbmQgdGhlIGNvbGxhcHNlIGJ1dHRvbihpZiBwcmVzZW50KSB3aWxsIGRpc2FwcGVhciB1bnRpbCB1bnBpbm5lZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHBpbm5hYmxlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiB0aGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGUgaGVhZGVyLiBTZXQgdG8gdHJ1ZSBpZiBoZWFkZXIgc2hvdWxkIGJlIGNvbGxhcHNlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb2xsYXBzZWQoY29sbGFwc2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2hhbmRsZUNvbGxhcHNlZENoYW5nZShjb2xsYXBzZWQpO1xuICAgIH1cblxuICAgIGdldCBjb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb2xsYXBzZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQVJJQSBsYWJlbCBmb3IgYnV0dG9uIHdoZW4gdGhlIGhlYWRlciBpcyBjb2xsYXBzZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGV4cGFuZExhYmVsOiBzdHJpbmcgPSB0aGlzLl9keW5hbWljUGFnZUNvbmZpZy5leHBhbmRMYWJlbDtcblxuICAgIC8qKlxuICAgICAqIEFSSUEgbGFiZWwgZm9yIGJ1dHRvbiB3aGVuIHRoZSBoZWFkZXIgaXMgZXhwYW5kZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbGxhcHNlTGFiZWw6IHN0cmluZyA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLmNvbGxhcHNlTGFiZWw7XG5cbiAgICAvKiogSGVhZGVyIHJvbGUgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcm9sZSA9ICdyZWdpb24nO1xuXG4gICAgLyoqXG4gICAgICogaWQgZm9yIGhlYWRlclxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBpZCA9IGBmZC1keW5hbWljLXBhZ2UtaGVhZGVyLWlkLSR7ZHluYW1pY1BhZ2VTdWJIZWFkZXJJZCsrfWA7XG5cbiAgICAvKipcbiAgICAgKiBhcmlhIGxhYmVsIGZvciBoZWFkZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGhlYWRlckFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIGFyaWEgbGFiZWwgZm9yIHBpbiBzdGF0ZSBvZiBwaW4gYnV0dG9uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwaW5BcmlhTGFiZWw6IHN0cmluZyA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLnBpbkxhYmVsO1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgdW5waW4gc3RhdGUgb2YgcGluIGJ1dHRvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdW5waW5BcmlhTGFiZWw6IHN0cmluZyA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLnVucGluTGFiZWw7XG5cbiAgICAvKiogQ29sbGFwc2UvRXhwYW5kIGNoYW5nZSBldmVudCByYWlzZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICBjb2xsYXBzZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogUmVmZXJlbmNlIHRvIHBhZ2UgaGVhZGVyIGNvbnRlbnQgKi9cbiAgICBAVmlld0NoaWxkKCdwaW5jb2xsYXBzZUNvbnRhaW5lcicpXG4gICAgcGluQ29sbGFwc2VDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogdHJhY2tpbmcgaWYgcGluIGJ1dHRvbiBpcyBwaW5uZWRcbiAgICAgKi9cbiAgICBfcGlubmVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogdHJhY2tpbmcgZXhwYW5kL2NvbGxhcHNlIGJ1dHRvblxuICAgICAqL1xuICAgIHByaXZhdGUgX2NvbGxhcHNlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX2R5bmFtaWNQYWdlQ29uZmlnOiBEeW5hbWljUGFnZUNvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBfZHluYW1pY1BhZ2VTZXJ2aWNlOiBEeW5hbWljUGFnZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VTZXJ2aWNlLmNvbGxhcHNlZFxuICAgICAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNvbGxhcHNlZCkgPT4gdGhpcy5faGFuZGxlQ29sbGFwc2VkQ2hhbmdlKGNvbGxhcHNlZCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHRvZ2dsZXMgdGhlIHN0YXRlIG9mIHRoZSBoZWFkZXIgYW5kXG4gICAgICogaGFuZGxlcyBleHBhbmRlZC9jb2xsYXBzZWQgZXZlbnRcbiAgICAgKi9cbiAgICB0b2dnbGVDb2xsYXBzZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcGlubmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2hhbmRsZUNvbGxhcHNlZENoYW5nZSghdGhpcy5fY29sbGFwc2VkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogY2xpY2sgYWN0aW9uIG9uIHBpbiBidXR0b25cbiAgICAgKi9cbiAgICB0b2dnbGVQaW5uZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Bpbm5lZCA9ICF0aGlzLl9waW5uZWQ7XG4gICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5waW5uZWQubmV4dCh0aGlzLl9waW5uZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2hhbmRsZUNvbGxhcHNlZENoYW5nZShjb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGNvbGxhcHNlZCA9PT0gdGhpcy5fY29sbGFwc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jb2xsYXBzZWQgPSBjb2xsYXBzZWQ7XG4gICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5jb2xsYXBzZWQubmV4dChjb2xsYXBzZWQpO1xuICAgICAgICB0aGlzLmNvbGxhcHNlZENoYW5nZS5lbWl0KHRoaXMuX2NvbGxhcHNlZCk7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VTZXJ2aWNlLnN1YmhlYWRlclZpc2liaWxpdHlDaGFuZ2UubmV4dCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNpYmxlLWhlYWRlci1jb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzaWJsZS1oZWFkZXJcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImhlYWRlckFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImNvbGxhcHNlZFwiXG4gICAgICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICNoZWFkZXJDb250ZW50XG4gICAgPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fY29sbGFwc2libGUtaGVhZGVyLXZpc2liaWxpdHktY29udGFpbmVyXCIgI3BpbmNvbGxhcHNlQ29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sbGFwc2libGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNpYmxlLWhlYWRlci12aXNpYmlsaXR5LWNvbnRhaW5lci0tbGVmdC1ncmFkaWVudFwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIHJvbGU9XCJ0b29sYmFyXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiUGluL0NvbGxhcHNlIGFjdGlvbnNcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzaWJsZS1oZWFkZXItdmlzaWJpbGl0eS1jb250YWluZXItLWJ1dHRvbi1ncm91cFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJjb2xsYXBzZWQgPyBleHBhbmRMYWJlbCA6IGNvbGxhcHNlTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJjb2xsYXBzZWQgPyBleHBhbmRMYWJlbCA6IGNvbGxhcHNlTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiFjb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNvbGxhcHNlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCIhY29sbGFwc2VkXCIgY2xhc3M9XCJzYXAtaWNvbi0tc2xpbS1hcnJvdy11cFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJjb2xsYXBzZWRcIiBjbGFzcz1cInNhcC1pY29uLS1zbGltLWFycm93LWRvd25cIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX3Bpbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIl9waW5uZWQgPyB1bnBpbkFyaWFMYWJlbCA6IHBpbkFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIl9waW5uZWQgPyB1bnBpbkFyaWFMYWJlbCA6IHBpbkFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiX3Bpbm5lZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVQaW5uZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicGlubmFibGUgJiYgIWNvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInNhcC1pY29uLS1wdXNocGluLW9mZlwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fY29sbGFwc2libGUtaGVhZGVyLXZpc2liaWxpdHktY29udGFpbmVyLS1yaWdodC1ncmFkaWVudFwiPjwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9zdWJoZWFkZXIvZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9zdWJoZWFkZXIvZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFFaEUsSUFBSSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7QUFPL0IsTUFBTSxPQUFPLDZCQUE2QjtJQXdGdEMsY0FBYztJQUNkLFlBQ1ksR0FBc0IsRUFDcEIsa0JBQXFDLEVBQ3ZDLG1CQUF1QztRQUZ2QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNwQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3ZDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUEzRm5EOzs7V0FHRztRQUVILGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRW5COzs7V0FHRztRQUVILGFBQVEsR0FBRyxL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RGIsS0FBSztnQkFLTixlQUFlO3NCQURkLE1BQU07Z0JBS1Asb0JBQW9CO3NCQURuQixTQUFTO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5cbmltcG9ydCB7IER5bmFtaWNQYWdlQ29uZmlnIH0gZnJvbSAnLi4vLi4vZHluYW1pYy1wYWdlLmNvbmZpZyc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9keW5hbWljLXBhZ2Uuc2VydmljZSc7XG5cbmxldCBkeW5hbWljUGFnZVN1YkhlYWRlcklkID0gMDtcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtZHluYW1pYy1wYWdlLXN1YmhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtcGFnZS1zdWJoZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1BhZ2VTdWJoZWFkZXJDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIHdoZXRoZXIgdGhlIGhlYWRlciBjYW4gYmUgY29sbGFwc2VkLiBUcnVlIGJ5IGRlZmF1bHQuIElmIHNldCB0byBmYWxzZSwgYm90aCBwaW4vY29sbGFwc2UgYnV0dG9ucyBkaXNhcHBlYXJcbiAgICAgKiBhbmQgdGhlIGhlYWRlciBzdGF5cyB2aXNpYmxlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjb2xsYXBzaWJsZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiB3aGV0aGVyIHRoZSBoZWFkZXIgc2hvdWxkIGJlIGFsbG93ZWQgdG8gYmUgcGlubmVkIG9yIHVucGlubmVkLiBXaGVuIHNldCwgdGhlIHBpbiBidXR0b24gc2hvd3MgdXAuXG4gICAgICogUGlubmluZyB0aGUgaGVhZGVyIHdpbGwgbWFrZSB0aGUgaGVhZGVyIHN0YXkgdmlzaWJsZSBhbmQgdGhlIGNvbGxhcHNlIGJ1dHRvbihpZiBwcmVzZW50KSB3aWxsIGRpc2FwcGVhciB1bnRpbCB1bnBpbm5lZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHBpbm5hYmxlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiB0aGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGUgaGVhZGVyLiBTZXQgdG8gdHJ1ZSBpZiBoZWFkZXIgc2hvdWxkIGJlIGNvbGxhcHNlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb2xsYXBzZWQoY29sbGFwc2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2hhbmRsZUNvbGxhcHNlZENoYW5nZShjb2xsYXBzZWQpO1xuICAgIH1cblxuICAgIGdldCBjb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb2xsYXBzZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQVJJQSBsYWJlbCBmb3IgYnV0dG9uIHdoZW4gdGhlIGhlYWRlciBpcyBjb2xsYXBzZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGV4cGFuZExhYmVsOiBzdHJpbmcgPSB0aGlzLl9keW5hbWljUGFnZUNvbmZpZy5leHBhbmRMYWJlbDtcblxuICAgIC8qKlxuICAgICAqIEFSSUEgbGFiZWwgZm9yIGJ1dHRvbiB3aGVuIHRoZSBoZWFkZXIgaXMgZXhwYW5kZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbGxhcHNlTGFiZWw6IHN0cmluZyA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLmNvbGxhcHNlTGFiZWw7XG5cbiAgICAvKiogSGVhZGVyIHJvbGUgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcm9sZSA9ICdyZWdpb24nO1xuXG4gICAgLyoqXG4gICAgICogaWQgZm9yIGhlYWRlclxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBpZCA9IGBmZC1keW5hbWljLXBhZ2UtaGVhZGVyLWlkLSR7ZHluYW1pY1BhZ2VTdWJIZWFkZXJJZCsrfWA7XG5cbiAgICAvKipcbiAgICAgKiBhcmlhIGxhYmVsIGZvciBoZWFkZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGhlYWRlckFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIGFyaWEgbGFiZWwgZm9yIHBpbiBzdGF0ZSBvZiBwaW4gYnV0dG9uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwaW5BcmlhTGFiZWw6IHN0cmluZyA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLnBpbkxhYmVsO1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgdW5waW4gc3RhdGUgb2YgcGluIGJ1dHRvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdW5waW5BcmlhTGFiZWw6IHN0cmluZyA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLnVucGluTGFiZWw7XG5cbiAgICAvKiogQ29sbGFwc2UvRXhwYW5kIGNoYW5nZSBldmVudCByYWlzZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICBjb2xsYXBzZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogUmVmZXJlbmNlIHRvIHBhZ2UgaGVhZGVyIGNvbnRlbnQgKi9cbiAgICBAVmlld0NoaWxkKCdwaW5jb2xsYXBzZUNvbnRhaW5lcicpXG4gICAgcGluQ29sbGFwc2VDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogdHJhY2tpbmcgaWYgcGluIGJ1dHRvbiBpcyBwaW5uZWRcbiAgICAgKi9cbiAgICBfcGlubmVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogdHJhY2tpbmcgZXhwYW5kL2NvbGxhcHNlIGJ1dHRvblxuICAgICAqL1xuICAgIHByaXZhdGUgX2NvbGxhcHNlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX2R5bmFtaWNQYWdlQ29uZmlnOiBEeW5hbWljUGFnZUNvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBfZHluYW1pY1BhZ2VTZXJ2aWNlOiBEeW5hbWljUGFnZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VTZXJ2aWNlLmNvbGxhcHNlZFxuICAgICAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNvbGxhcHNlZCkgPT4gdGhpcy5faGFuZGxlQ29sbGFwc2VkQ2hhbmdlKGNvbGxhcHNlZCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHRvZ2dsZXMgdGhlIHN0YXRlIG9mIHRoZSBoZWFkZXIgYW5kXG4gICAgICogaGFuZGxlcyBleHBhbmRlZC9jb2xsYXBzZWQgZXZlbnRcbiAgICAgKi9cbiAgICB0b2dnbGVDb2xsYXBzZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcGlubmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2hhbmRsZUNvbGxhcHNlZENoYW5nZSghdGhpcy5fY29sbGFwc2VkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogY2xpY2sgYWN0aW9uIG9uIHBpbiBidXR0b25cbiAgICAgKi9cbiAgICB0b2dnbGVQaW5uZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Bpbm5lZCA9ICF0aGlzLl9waW5uZWQ7XG4gICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5waW5uZWQubmV4dCh0aGlzLl9waW5uZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2hhbmRsZUNvbGxhcHNlZENoYW5nZShjb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGNvbGxhcHNlZCA9PT0gdGhpcy5fY29sbGFwc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jb2xsYXBzZWQgPSBjb2xsYXBzZWQ7XG4gICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5jb2xsYXBzZWQubmV4dChjb2xsYXBzZWQpO1xuICAgICAgICB0aGlzLmNvbGxhcHNlZENoYW5nZS5lbWl0KHRoaXMuX2NvbGxhcHNlZCk7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VTZXJ2aWNlLnN1YmhlYWRlclZpc2liaWxpdHlDaGFuZ2UubmV4dCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNpYmxlLWhlYWRlci1jb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzaWJsZS1oZWFkZXJcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImhlYWRlckFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImNvbGxhcHNlZFwiXG4gICAgICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICNoZWFkZXJDb250ZW50XG4gICAgPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fY29sbGFwc2libGUtaGVhZGVyLXZpc2liaWxpdHktY29udGFpbmVyXCIgI3BpbmNvbGxhcHNlQ29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sbGFwc2libGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNpYmxlLWhlYWRlci12aXNpYmlsaXR5LWNvbnRhaW5lci0tbGVmdC1ncmFkaWVudFwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiByb2xlPVwidG9vbGJhclwiIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzaWJsZS1oZWFkZXItdmlzaWJpbGl0eS1jb250YWluZXItLWJ1dHRvbi1ncm91cFwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiY29sbGFwc2VkID8gZXhwYW5kTGFiZWwgOiBjb2xsYXBzZUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiY29sbGFwc2VkID8gZXhwYW5kTGFiZWwgOiBjb2xsYXBzZUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhY29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzZSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIWNvbGxhcHNlZFwiIGNsYXNzPVwic2FwLWljb24tLXNsaW0tYXJyb3ctdXBcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiY29sbGFwc2VkXCIgY2xhc3M9XCJzYXAtaWNvbi0tc2xpbS1hcnJvdy1kb3duXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19waW4tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJfcGlubmVkID8gdW5waW5BcmlhTGFiZWwgOiBwaW5BcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJfcGlubmVkID8gdW5waW5BcmlhTGFiZWwgOiBwaW5BcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIl9waW5uZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUGlubmVkKClcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInBpbm5hYmxlICYmICFjb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJzYXAtaWNvbi0tcHVzaHBpbi1vZmZcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNpYmxlLWhlYWRlci12aXNpYmlsaXR5LWNvbnRhaW5lci0tcmlnaHQtZ3JhZGllbnRcIj48L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -11,6 +11,8 @@ export class DynamicPageService {
11
11
  this.pixelsSizeChanged = new BehaviorSubject(0);
12
12
  /** @hidden */
13
13
  this.subheaderVisibilityChange = new Subject();
14
+ /** @hidden */
15
+ this.focusLayoutAction = new Subject();
14
16
  }
15
17
  /** @hidden */
16
18
  toggleCollapsed() {
@@ -22,4 +24,4 @@ DynamicPageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", v
22
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicPageService, decorators: [{
23
25
  type: Injectable
24
26
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHaEQsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUVJLGNBQWM7UUFDZCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFaEQsY0FBYztRQUNkLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUU3QyxjQUFjO1FBQ2Qsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFbkQsY0FBYztRQUNkLDhCQUF5QixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7S0FNbkQ7SUFKRyxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDOzsrR0FoQlEsa0JBQWtCO21IQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRHluYW1pY1BhZ2VTZXJ2aWNlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbGxhcHNlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwaW5uZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcGl4ZWxzU2l6ZUNoYW5nZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHN1YmhlYWRlclZpc2liaWxpdHlDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0b2dnbGVDb2xsYXBzZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkLm5leHQoIXRoaXMuY29sbGFwc2VkLnZhbHVlKTtcbiAgICB9XG59XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHaEQsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUVJLGNBQWM7UUFDZCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFaEQsY0FBYztRQUNkLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUU3QyxjQUFjO1FBQ2Qsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFbkQsY0FBYztRQUNkLDhCQUF5QixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFaEQsY0FBYztRQUNkLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7S0FNM0M7SUFKRyxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDOzsrR0FuQlEsa0JBQWtCO21IQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRHluYW1pY1BhZ2VTZXJ2aWNlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbGxhcHNlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwaW5uZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcGl4ZWxzU2l6ZUNoYW5nZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHN1YmhlYWRlclZpc2liaWxpdHlDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBmb2N1c0xheW91dEFjdGlvbiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRvZ2dsZUNvbGxhcHNlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2xsYXBzZWQubmV4dCghdGhpcy5jb2xsYXBzZWQudmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -141,6 +141,8 @@ class DynamicPageService {
141
141
  this.pixelsSizeChanged = new BehaviorSubject(0);
142
142
  /** @hidden */
143
143
  this.subheaderVisibilityChange = new Subject();
144
+ /** @hidden */
145
+ this.focusLayoutAction = new Subject();
144
146
  }
145
147
  /** @hidden */
146
148
  toggleCollapsed() {
@@ -244,10 +246,10 @@ class DynamicPageSubheaderComponent {
244
246
  }
245
247
  }
246
248
  DynamicPageSubheaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicPageSubheaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DynamicPageConfig }, { token: DynamicPageService }], target: i0.ɵɵFactoryTarget.Component });
247
- DynamicPageSubheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "attr.role": "this.role", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "pinCollapseContainer", first: true, predicate: ["pincollapseContainer"], descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div\n role=\"toolbar\"\n aria-label=\"Pin/Collapse actions\"\n class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\"\n >\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
249
+ DynamicPageSubheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "attr.role": "this.role", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "pinCollapseContainer", first: true, predicate: ["pincollapseContainer"], descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
248
250
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicPageSubheaderComponent, decorators: [{
249
251
  type: Component,
250
- args: [{ selector: 'fd-dynamic-page-subheader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div\n role=\"toolbar\"\n aria-label=\"Pin/Collapse actions\"\n class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\"\n >\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n" }]
252
+ args: [{ selector: 'fd-dynamic-page-subheader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n" }]
251
253
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: DynamicPageConfig }, { type: DynamicPageService }]; }, propDecorators: { collapsible: [{
252
254
  type: Input
253
255
  }], pinnable: [{
@@ -296,6 +298,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
296
298
  type: Directive
297
299
  }] });
298
300
 
301
+ class DynamicPageLayoutActionsComponent extends DynamicPageBaseActions {
302
+ constructor(_elementRef, _renderer, _changeDetRef) {
303
+ super();
304
+ this._elementRef = _elementRef;
305
+ this._renderer = _renderer;
306
+ this._changeDetRef = _changeDetRef;
307
+ /** @hidden */
308
+ this._onDestroy$ = new Subject();
309
+ }
310
+ /** @hidden */
311
+ get elementRef() {
312
+ return this._elementRef;
313
+ }
314
+ /** @hidden */
315
+ ngAfterContentInit() {
316
+ this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageLayoutActionsToolbar, this._elementRef);
317
+ this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);
318
+ }
319
+ }
320
+ DynamicPageLayoutActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicPageLayoutActionsComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
321
+ DynamicPageLayoutActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions", host: { attributes: { "role": "toolbar" } }, queries: [{ propertyName: "toolbarComponent", first: true, predicate: ToolbarComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicPageLayoutActionsComponent, decorators: [{
323
+ type: Component,
324
+ args: [{
325
+ selector: 'fd-dynamic-page-layout-actions',
326
+ template: '<ng-content></ng-content>',
327
+ changeDetection: ChangeDetectionStrategy.OnPush,
328
+ encapsulation: ViewEncapsulation.None,
329
+ host: {
330
+ role: 'toolbar'
331
+ }
332
+ }]
333
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { toolbarComponent: [{
334
+ type: ContentChild,
335
+ args: [ToolbarComponent]
336
+ }] } });
337
+
299
338
  class DynamicPageGlobalActionsComponent extends DynamicPageBaseActions {
300
339
  /** @hidden */
301
340
  constructor(_elementRef, _renderer, _changeDetRef) {
@@ -325,14 +364,17 @@ class DynamicPageGlobalActionsComponent extends DynamicPageBaseActions {
325
364
  }
326
365
  }
327
366
  DynamicPageGlobalActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicPageGlobalActionsComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
328
- DynamicPageGlobalActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions", queries: [{ propertyName: "_toolbarComponent", first: true, predicate: ToolbarComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
367
+ DynamicPageGlobalActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions", host: { attributes: { "role": "toolbar" } }, queries: [{ propertyName: "_toolbarComponent", first: true, predicate: ToolbarComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
329
368
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicPageGlobalActionsComponent, decorators: [{
330
369
  type: Component,
331
370
  args: [{
332
371
  selector: 'fd-dynamic-page-global-actions',
333
372
  template: '<ng-content></ng-content>',
334
373
  changeDetection: ChangeDetectionStrategy.OnPush,
335
- encapsulation: ViewEncapsulation.None
374
+ encapsulation: ViewEncapsulation.None,
375
+ host: {
376
+ role: 'toolbar'
377
+ }
336
378
  }]
337
379
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _toolbarComponent: [{
338
380
  type: ContentChild,
@@ -501,7 +543,7 @@ DynamicPageHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
501
543
  provide: DYNAMIC_PAGE_HEADER_TOKEN,
502
544
  useExisting: DynamicPageHeaderComponent
503
545
  }
504
- ], queries: [{ propertyName: "_breadcrumbComponent", first: true, predicate: BreadcrumbComponent, descendants: true }, { propertyName: "_globalActions", first: true, predicate: DynamicPageGlobalActionsComponent, descendants: true }, { propertyName: "_contentToolbar", first: true, predicate: DynamicPageTitleContentComponent, descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__main-container\">\n <div class=\"fd-dynamic-page__breadcrumb-title-container\">\n <div class=\"fd-dynamic-page__breadcrumb-container\">\n <nav aria-label=\"Breadcrumbs\" class=\"fd-dynamic-page__breadcrumb-wrapper\" (click)=\"stopPropagation($event)\">\n <ng-content select=\"fd-breadcrumb\"></ng-content>\n </nav>\n <ng-container *ngIf=\"_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n <div class=\"fd-dynamic-page__title-container\">\n <ng-container *ngIf=\"_collapsed\">\n <ng-content select=\"fd-facet\"></ng-content>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-subtitle-container\">\n <div class=\"fd-dynamic-page__title-container\">\n <span class=\"fd-dynamic-page__title\" fdIgnoreClickOnSelection>\n {{ title }}\n </span>\n <ng-content select=\"fd-dynamic-page-title-content\"></ng-content>\n <div class=\"fd-dynamic-page__toolbar-container\" (click)=\"stopPropagation($event)\">\n <ng-container *ngTemplateOutlet=\"dynamicPageGlobalActionsRef\"></ng-container>\n <ng-container *ngIf=\"!_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"fd-dynamic-page__subtitle\" *ngIf=\"_collapsed && subtitle\" fdIgnoreClickOnSelection>\n {{ subtitle }}\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"fd-dynamic-page__subtitle\" *ngIf=\"!_collapsed && subtitle\" fdIgnoreClickOnSelection>{{ subtitle }}</div>\n\n<ng-template #dynamicPageGlobalActionsRef>\n <ng-content select=\"fd-dynamic-page-global-actions\"></ng-content>\n</ng-template>\n<ng-template #dynamicPageLayoutActionsRef>\n <ng-content select=\"fd-dynamic-page-layout-actions\"></ng-content>\n</ng-template>\n", styles: [".fd-dynamic-page__breadcrumb-wrapper{width:100%;max-width:60%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$1.IgnoreClickOnSelectionDirective, selector: "[fdIgnoreClickOnSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
546
+ ], queries: [{ propertyName: "_breadcrumbComponent", first: true, predicate: BreadcrumbComponent, descendants: true }, { propertyName: "_globalActions", first: true, predicate: DynamicPageGlobalActionsComponent, descendants: true }, { propertyName: "_layoutActions", first: true, predicate: DynamicPageLayoutActionsComponent, descendants: true }, { propertyName: "_contentToolbar", first: true, predicate: DynamicPageTitleContentComponent, descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__main-container\">\n <div class=\"fd-dynamic-page__breadcrumb-title-container\">\n <div class=\"fd-dynamic-page__breadcrumb-container\">\n <nav aria-label=\"Breadcrumbs\" class=\"fd-dynamic-page__breadcrumb-wrapper\" (click)=\"stopPropagation($event)\">\n <ng-content select=\"fd-breadcrumb\"></ng-content>\n </nav>\n <ng-container *ngIf=\"_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n <div class=\"fd-dynamic-page__title-container\">\n <ng-container *ngIf=\"_collapsed\">\n <ng-content select=\"fd-facet\"></ng-content>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-subtitle-container\">\n <div class=\"fd-dynamic-page__title-container\">\n <span class=\"fd-dynamic-page__title\" fdIgnoreClickOnSelection>\n {{ title }}\n </span>\n <ng-content select=\"fd-dynamic-page-title-content\"></ng-content>\n <div class=\"fd-dynamic-page__toolbar-container\" (click)=\"stopPropagation($event)\">\n <ng-container *ngTemplateOutlet=\"dynamicPageGlobalActionsRef\"></ng-container>\n <ng-container *ngIf=\"!_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"fd-dynamic-page__subtitle\" *ngIf=\"_collapsed && subtitle\" fdIgnoreClickOnSelection>\n {{ subtitle }}\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"fd-dynamic-page__subtitle\" *ngIf=\"!_collapsed && subtitle\" fdIgnoreClickOnSelection>{{ subtitle }}</div>\n\n<ng-template #dynamicPageGlobalActionsRef>\n <ng-content select=\"fd-dynamic-page-global-actions\"></ng-content>\n</ng-template>\n<ng-template #dynamicPageLayoutActionsRef>\n <ng-content select=\"fd-dynamic-page-layout-actions\"></ng-content>\n</ng-template>\n", styles: [".fd-dynamic-page__breadcrumb-wrapper{width:100%;max-width:60%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$1.IgnoreClickOnSelectionDirective, selector: "[fdIgnoreClickOnSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
505
547
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicPageHeaderComponent, decorators: [{
506
548
  type: Component,
507
549
  args: [{ selector: 'fd-dynamic-page-header', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
@@ -522,6 +564,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
522
564
  }], _globalActions: [{
523
565
  type: ContentChild,
524
566
  args: [DynamicPageGlobalActionsComponent]
567
+ }], _layoutActions: [{
568
+ type: ContentChild,
569
+ args: [DynamicPageLayoutActionsComponent]
525
570
  }], _contentToolbar: [{
526
571
  type: ContentChild,
527
572
  args: [DynamicPageTitleContentComponent]
@@ -819,31 +864,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
819
864
  args: ['dynamicPageElement']
820
865
  }] } });
821
866
 
822
- class DynamicPageLayoutActionsComponent extends DynamicPageBaseActions {
823
- constructor(_elementRef, _renderer, _changeDetRef) {
824
- super();
825
- this._elementRef = _elementRef;
826
- this._renderer = _renderer;
827
- this._changeDetRef = _changeDetRef;
828
- }
829
- /** @hidden */
830
- ngAfterContentInit() {
831
- this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageLayoutActionsToolbar, this._elementRef);
832
- this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);
833
- }
834
- }
835
- DynamicPageLayoutActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicPageLayoutActionsComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
836
- DynamicPageLayoutActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DynamicPageLayoutActionsComponent, decorators: [{
838
- type: Component,
839
- args: [{
840
- selector: 'fd-dynamic-page-layout-actions',
841
- template: '<ng-content></ng-content>',
842
- changeDetection: ChangeDetectionStrategy.OnPush,
843
- encapsulation: ViewEncapsulation.None
844
- }]
845
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; } });
846
-
847
867
  class DeprecatedDynamicPageCompactDirective extends DeprecatedCompactDirective {
848
868
  constructor() {
849
869
  super('fd-dynamic-page-title-content');