@elderbyte/ngx-starter 14.11.0 → 14.12.0-beta

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 (158) hide show
  1. package/_index.scss +2 -0
  2. package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +3 -4
  3. package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +4 -8
  4. package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +9 -13
  5. package/esm2020/lib/components/auditing/elder-audit.module.mjs +1 -5
  6. package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -4
  7. package/esm2020/lib/components/button-group/elder-button-group.module.mjs +4 -8
  8. package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -5
  9. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +5 -6
  10. package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +4 -5
  11. package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -5
  12. package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +3 -5
  13. package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +4 -5
  14. package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +4 -5
  15. package/esm2020/lib/components/containers/elder-containers.module.mjs +4 -8
  16. package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +3 -4
  17. package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +4 -5
  18. package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +3 -4
  19. package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +4 -5
  20. package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +6 -7
  21. package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +5 -6
  22. package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +4 -5
  23. package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +4 -5
  24. package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +3 -4
  25. package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +4 -5
  26. package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +3 -4
  27. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +39 -26
  28. package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +1 -5
  29. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +4 -5
  30. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +8 -9
  31. package/esm2020/lib/components/data-view/table/elder-table.module.mjs +4 -5
  32. package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +4 -5
  33. package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +4 -5
  34. package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +4 -5
  35. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -5
  36. package/esm2020/lib/components/errors/elder-error.module.mjs +4 -8
  37. package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +3 -4
  38. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +4 -5
  39. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +4 -5
  40. package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +3 -4
  41. package/esm2020/lib/components/files/elder-file.module.mjs +4 -5
  42. package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +11 -12
  43. package/esm2020/lib/components/forms/search/elder-search.module.mjs +4 -5
  44. package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +5 -6
  45. package/esm2020/lib/components/global-search/elder-global-search.component.mjs +4 -5
  46. package/esm2020/lib/components/global-search/elder-global-search.module.mjs +4 -5
  47. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -11
  48. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -8
  49. package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +4 -5
  50. package/esm2020/lib/components/headers/elder-header.module.mjs +4 -5
  51. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +1 -5
  52. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +10 -11
  53. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +8 -9
  54. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +14 -15
  55. package/esm2020/lib/components/i18n/language/elder-language.module.mjs +1 -5
  56. package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +5 -6
  57. package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +4 -5
  58. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +1 -5
  59. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +4 -5
  60. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +6 -7
  61. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +4 -5
  62. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +4 -5
  63. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +1 -5
  64. package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +5 -16
  65. package/esm2020/lib/components/measures/elder-measures.module.mjs +1 -5
  66. package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +12 -13
  67. package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +12 -13
  68. package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +4 -5
  69. package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +4 -5
  70. package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +3 -4
  71. package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +4 -5
  72. package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -5
  73. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +4 -5
  74. package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +6 -7
  75. package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +2 -2
  76. package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +2 -2
  77. package/esm2020/lib/components/overlays/elder-overlay.component.mjs +2 -2
  78. package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -4
  79. package/esm2020/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +3 -4
  80. package/esm2020/lib/components/panels/elder-panel.module.mjs +3 -7
  81. package/esm2020/lib/components/select/elder-select.module.mjs +4 -5
  82. package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +9 -10
  83. package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +5 -6
  84. package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +8 -9
  85. package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +4 -6
  86. package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +4 -5
  87. package/esm2020/lib/components/select-list/elder-select-list.module.mjs +4 -5
  88. package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +3 -4
  89. package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +3 -4
  90. package/esm2020/lib/components/shell/elder-shell.module.mjs +4 -5
  91. package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +4 -5
  92. package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +4 -5
  93. package/esm2020/lib/components/tabs/elder-tab.module.mjs +4 -8
  94. package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +7 -8
  95. package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +9 -10
  96. package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +7 -8
  97. package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +7 -8
  98. package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +12 -13
  99. package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +9 -10
  100. package/esm2020/lib/components/time/elder-time.module.mjs +1 -11
  101. package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +7 -8
  102. package/esm2020/lib/components/toasts/elder-toast.module.mjs +4 -5
  103. package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +5 -6
  104. package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +1 -5
  105. package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +4 -5
  106. package/fesm2015/elderbyte-ngx-starter.mjs +383 -447
  107. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  108. package/fesm2020/elderbyte-ngx-starter.mjs +383 -447
  109. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  110. package/lib/components/access-denied/elder-access-denied.module.d.ts +1 -2
  111. package/lib/components/auditing/audited-entity/elder-audited-entity.component.d.ts +1 -2
  112. package/lib/components/auditing/elder-audit.module.d.ts +5 -6
  113. package/lib/components/button-group/elder-button-group.module.d.ts +1 -2
  114. package/lib/components/card-organizer/elder-card-organizer.module.d.ts +3 -4
  115. package/lib/components/cards/elder-card/elder-card.module.d.ts +2 -3
  116. package/lib/components/connectivity/elder-connectivity.module.d.ts +6 -7
  117. package/lib/components/containers/elder-containers.module.d.ts +1 -2
  118. package/lib/components/data-transfer/elder-data-transfer.module.d.ts +4 -5
  119. package/lib/components/data-view/common/elder-data-common.module.d.ts +1 -2
  120. package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +4 -3
  121. package/lib/components/data-view/grid/elder-grid.module.d.ts +6 -7
  122. package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.d.ts +4 -5
  123. package/lib/components/data-view/table/elder-table.module.d.ts +4 -5
  124. package/lib/components/dialogs/elder-dialog.module.d.ts +2 -3
  125. package/lib/components/errors/elder-error.module.d.ts +1 -2
  126. package/lib/components/expand-toggle-button/elder-expand-toggle-button.module.d.ts +1 -2
  127. package/lib/components/files/elder-file.module.d.ts +6 -7
  128. package/lib/components/forms/search/elder-search.module.d.ts +2 -3
  129. package/lib/components/global-search/elder-global-search.module.d.ts +2 -3
  130. package/lib/components/graph/elder-progress-bar/elder-progress-bar.component.d.ts +1 -8
  131. package/lib/components/graph/elder-progress-bar/elder-progress-bar.module.d.ts +1 -2
  132. package/lib/components/headers/elder-header.module.d.ts +2 -3
  133. package/lib/components/i18n/entities/elder-i18n-entities.module.d.ts +15 -16
  134. package/lib/components/i18n/language/elder-language.module.d.ts +2 -3
  135. package/lib/components/iframes/elder-iframe.module.d.ts +5 -6
  136. package/lib/components/input/autocomplete/elder-autocomplete.module.d.ts +2 -3
  137. package/lib/components/measures/dimensions-input/elder-dimensions-input.component.d.ts +1 -3
  138. package/lib/components/measures/elder-measures.module.d.ts +5 -6
  139. package/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.d.ts +8 -9
  140. package/lib/components/navigation/nav/elder-nav.module.d.ts +1 -2
  141. package/lib/components/navigation/nav/nav-list/elder-nav-list.component.d.ts +1 -3
  142. package/lib/components/navigation/toolbar/elder-toolbar.module.d.ts +8 -9
  143. package/lib/components/panels/elder-panel.module.d.ts +1 -2
  144. package/lib/components/select/elder-select.module.d.ts +10 -11
  145. package/lib/components/select-chip-list/elder-chip-list-select.module.d.ts +3 -4
  146. package/lib/components/select-list/elder-select-list.module.d.ts +1 -2
  147. package/lib/components/shell/elder-shell.module.d.ts +4 -5
  148. package/lib/components/tabs/elder-tab.module.d.ts +1 -2
  149. package/lib/components/time/elder-time.module.d.ts +9 -10
  150. package/lib/components/toasts/elder-toast.module.d.ts +3 -4
  151. package/lib/components/url-fragment/elder-url-fragment.module.d.ts +2 -3
  152. package/package.json +1 -2
  153. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.scss +5 -0
  154. package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.scss +5 -6
  155. package/src/lib/components/select/single/elder-select/elder-select.component.scss +1 -4
  156. package/theming/_elder-common.scss +32 -0
  157. package/theming/_elder-flex-layout.scss +562 -0
  158. package/theming/_elder-style-fixes.scss +3 -0
@@ -14,13 +14,12 @@ import * as i4 from "@angular/forms";
14
14
  import * as i5 from "@angular/common";
15
15
  import * as i6 from "@angular/material/icon";
16
16
  import * as i7 from "@angular/material/button";
17
- import * as i8 from "@angular/flex-layout/flex";
18
- import * as i9 from "../../../forms/directives/elder-stop-event-propagation.directive";
19
- import * as i10 from "@angular/material/chips";
20
- import * as i11 from "@angular/material/tooltip";
21
- import * as i12 from "../../single/elder-select/elder-select.component";
22
- import * as i13 from "../../single/elder-clear-select.directive";
23
- import * as i14 from "../../../../pipes/elder-truncate.pipe";
17
+ import * as i8 from "../../../forms/directives/elder-stop-event-propagation.directive";
18
+ import * as i9 from "@angular/material/chips";
19
+ import * as i10 from "@angular/material/tooltip";
20
+ import * as i11 from "../../single/elder-select/elder-select.component";
21
+ import * as i12 from "../../single/elder-clear-select.directive";
22
+ import * as i13 from "../../../../pipes/elder-truncate.pipe";
24
23
  class ChipModel {
25
24
  constructor(value, displayText, color, removeable, avatarSpec) {
26
25
  this.value = value;
@@ -180,7 +179,7 @@ ElderMultiSelectChipsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
180
179
  provide: ELDER_SELECT_BASE,
181
180
  useExisting: forwardRef(() => ElderMultiSelectChipsComponent)
182
181
  }
183
- ], queries: [{ propertyName: "chipTemplateQuery", first: true, predicate: ElderSelectChipDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "chipAvatarTemplateQuery", first: true, predicate: ElderSelectChipAvatarDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "customInputTemplateQuery", first: true, predicate: ElderSelectCustomInputDirective, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"(selectChips$ | async) as chipValues\" fxFlex\n class=\"elder-form-control\"\n [matTooltip]=\"(state$ | async)?.error\"\n>\n\n <mat-chip-list [selectable]=\"chipColorEnabled\" multiple #chips>\n\n <ng-container *ngIf=\"(mergedState$ | async) as state\">\n <div *ngIf=\"icon\" fxFlex=\"none\"\n class=\"elder-input-prefix-icon-container\"\n >\n <mat-icon *ngIf=\"icon\" disabled\n class=\"elder-prefix-icon elder-select-icon elder-icon-small noselect\"\n [class.loading]=\"state.loading\"\n >\n {{icon}}\n </mat-icon>\n </div>\n </ng-container>\n\n\n <mat-chip *ngFor=\"let chipModel of chipValues\"\n class=\"noselect clickable-chip\"\n [value]=\"resolveChipValue(chipModel.value)\"\n [color]=\"chipModel.color\" [selectable]=\"chipColorEnabled\" [selected]=\"chipColorEnabled\"\n [removable]=\"chipModel.removeable\"\n (keydown)=\"onChipKeyDown($event, chipModel.value)\"\n (click)=\"onCurrentClicked(chipModel.value)\"\n >\n <mat-chip-avatar\n *ngIf=\"chipAvatarTemplate && !chipModel.avatarSpec.hide\"\n [class.chip-avatar-large]=\"chipModel.avatarSpec.large\"\n >\n <ng-container\n *ngTemplateOutlet=\"chipAvatarTemplate; context: {$implicit: chipModel}\">\n </ng-container>\n </mat-chip-avatar>\n <ng-container\n *ngTemplateOutlet=\"chipTemplate || simpleChipTemplate; context: {$implicit: chipModel}\">\n </ng-container>\n <mat-icon matChipRemove\n *ngIf=\"chipModel.removeable\"\n (click)=\"onClickRemoveChip($event, chipModel.value)\">\n cancel\n </mat-icon>\n </mat-chip>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex\n style=\"padding-top: 7px; padding-bottom: 7px;\">\n\n <!-- [matChipInputFor]=\"chips\" -->\n <ng-container\n *ngTemplateOutlet=\"customInputTemplate || selectInput;\">\n </ng-container>\n\n <button mat-icon-button type=\"button\" class=\"elder-icon-button-small elder-browse-icon\"\n *ngIf=\"selectionPopup\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-select-icon\">search</mat-icon>\n </button>\n </div>\n </mat-chip-list>\n</div>\n\n<ng-template #selectInput>\n <elder-select autocomplete elderClearSelect fxFlex\n class=\"elder-chip-input\"\n [data]=\"dataContext$ | async\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"!!readonly\"\n [placeholder]=\"placeholder\"\n (entityUpdated)=\"appendEntity($event)\"\n [displayPropertyResolver]=\"displayPropertyResolver$ | async\"\n [valueTemplate]=\"valueTemplate\"\n [queryFilter]=\"queryFilter\" [filters]=\"filters\" [sorts]=\"sorts\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n ></elder-select>\n</ng-template>\n\n<ng-template #simpleChipTemplate let-chipModel>\n <span class=\"elder-chip-text\">{{chipModel.displayText | elderTruncate:20}}</span>\n</ng-template>\n\n", styles: [".clickable-chip{cursor:pointer}.elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-standard-chip .mat-chip-avatar.chip-avatar-large{width:30px;height:30px;margin-left:1px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i9.ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: i10.MatChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i10.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "directive", type: i10.MatChipRemove, selector: "[matChipRemove]" }, { kind: "directive", type: i10.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i12.ElderSelectComponent, selector: "elder-select", inputs: ["nullDisplay", "autocomplete", "allowNull", "entity", "entityId"], outputs: ["entityIdChange", "entityIdUpdated", "entityChange", "entityUpdated"] }, { kind: "directive", type: i13.ElderClearSelectDirective, selector: "[elderClearSelect]" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.ElderTruncatePipe, name: "elderTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
182
+ ], queries: [{ propertyName: "chipTemplateQuery", first: true, predicate: ElderSelectChipDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "chipAvatarTemplateQuery", first: true, predicate: ElderSelectChipAvatarDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "customInputTemplateQuery", first: true, predicate: ElderSelectCustomInputDirective, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"(selectChips$ | async) as chipValues\"\n class=\"elder-flex-control\"\n [matTooltip]=\"(state$ | async)?.error\"\n>\n\n <mat-chip-list [selectable]=\"chipColorEnabled\" multiple #chips>\n\n <ng-container *ngIf=\"(mergedState$ | async) as state\">\n <div *ngIf=\"icon\"\n class=\"elder-input-prefix-icon-container flex-none\"\n >\n <mat-icon *ngIf=\"icon\" disabled\n class=\"elder-prefix-icon elder-select-icon elder-icon-small noselect\"\n [class.loading]=\"state.loading\"\n >\n {{icon}}\n </mat-icon>\n </div>\n </ng-container>\n\n\n <mat-chip *ngFor=\"let chipModel of chipValues\"\n class=\"noselect clickable-chip\"\n [value]=\"resolveChipValue(chipModel.value)\"\n [color]=\"chipModel.color\" [selectable]=\"chipColorEnabled\" [selected]=\"chipColorEnabled\"\n [removable]=\"chipModel.removeable\"\n (keydown)=\"onChipKeyDown($event, chipModel.value)\"\n (click)=\"onCurrentClicked(chipModel.value)\"\n >\n <mat-chip-avatar\n *ngIf=\"chipAvatarTemplate && !chipModel.avatarSpec.hide\"\n [class.chip-avatar-large]=\"chipModel.avatarSpec.large\"\n >\n <ng-container\n *ngTemplateOutlet=\"chipAvatarTemplate; context: {$implicit: chipModel}\">\n </ng-container>\n </mat-chip-avatar>\n <ng-container\n *ngTemplateOutlet=\"chipTemplate || simpleChipTemplate; context: {$implicit: chipModel}\">\n </ng-container>\n <mat-icon matChipRemove\n *ngIf=\"chipModel.removeable\"\n (click)=\"onClickRemoveChip($event, chipModel.value)\">\n cancel\n </mat-icon>\n </mat-chip>\n\n <div class=\"layout-row place-start-center flex\"\n style=\"padding-top: 7px; padding-bottom: 7px;\">\n\n <!-- [matChipInputFor]=\"chips\" -->\n <ng-container\n *ngTemplateOutlet=\"customInputTemplate || selectInput;\">\n </ng-container>\n\n <button mat-icon-button type=\"button\" class=\"elder-icon-button-small elder-browse-icon\"\n *ngIf=\"selectionPopup\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-select-icon\">search</mat-icon>\n </button>\n </div>\n </mat-chip-list>\n</div>\n\n<ng-template #selectInput>\n <elder-select autocomplete elderClearSelect\n class=\"elder-chip-input flex\"\n [data]=\"dataContext$ | async\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"!!readonly\"\n [placeholder]=\"placeholder\"\n (entityUpdated)=\"appendEntity($event)\"\n [displayPropertyResolver]=\"displayPropertyResolver$ | async\"\n [valueTemplate]=\"valueTemplate\"\n [queryFilter]=\"queryFilter\" [filters]=\"filters\" [sorts]=\"sorts\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n ></elder-select>\n</ng-template>\n\n<ng-template #simpleChipTemplate let-chipModel>\n <span class=\"elder-chip-text\">{{chipModel.displayText | elderTruncate:20}}</span>\n</ng-template>\n\n", styles: [".clickable-chip{cursor:pointer}.elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-standard-chip .mat-chip-avatar.chip-avatar-large{width:30px;height:30px;margin-left:1px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i8.ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: i9.MatChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i9.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "directive", type: i9.MatChipRemove, selector: "[matChipRemove]" }, { kind: "directive", type: i9.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i11.ElderSelectComponent, selector: "elder-select", inputs: ["nullDisplay", "autocomplete", "allowNull", "entity", "entityId"], outputs: ["entityIdChange", "entityIdUpdated", "entityChange", "entityUpdated"] }, { kind: "directive", type: i12.ElderClearSelectDirective, selector: "[elderClearSelect]" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.ElderTruncatePipe, name: "elderTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
184
183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderMultiSelectChipsComponent, decorators: [{
185
184
  type: Component,
186
185
  args: [{ selector: 'elder-multi-select-chips', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -189,7 +188,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
189
188
  provide: ELDER_SELECT_BASE,
190
189
  useExisting: forwardRef(() => ElderMultiSelectChipsComponent)
191
190
  }
192
- ], template: "<div *ngIf=\"(selectChips$ | async) as chipValues\" fxFlex\n class=\"elder-form-control\"\n [matTooltip]=\"(state$ | async)?.error\"\n>\n\n <mat-chip-list [selectable]=\"chipColorEnabled\" multiple #chips>\n\n <ng-container *ngIf=\"(mergedState$ | async) as state\">\n <div *ngIf=\"icon\" fxFlex=\"none\"\n class=\"elder-input-prefix-icon-container\"\n >\n <mat-icon *ngIf=\"icon\" disabled\n class=\"elder-prefix-icon elder-select-icon elder-icon-small noselect\"\n [class.loading]=\"state.loading\"\n >\n {{icon}}\n </mat-icon>\n </div>\n </ng-container>\n\n\n <mat-chip *ngFor=\"let chipModel of chipValues\"\n class=\"noselect clickable-chip\"\n [value]=\"resolveChipValue(chipModel.value)\"\n [color]=\"chipModel.color\" [selectable]=\"chipColorEnabled\" [selected]=\"chipColorEnabled\"\n [removable]=\"chipModel.removeable\"\n (keydown)=\"onChipKeyDown($event, chipModel.value)\"\n (click)=\"onCurrentClicked(chipModel.value)\"\n >\n <mat-chip-avatar\n *ngIf=\"chipAvatarTemplate && !chipModel.avatarSpec.hide\"\n [class.chip-avatar-large]=\"chipModel.avatarSpec.large\"\n >\n <ng-container\n *ngTemplateOutlet=\"chipAvatarTemplate; context: {$implicit: chipModel}\">\n </ng-container>\n </mat-chip-avatar>\n <ng-container\n *ngTemplateOutlet=\"chipTemplate || simpleChipTemplate; context: {$implicit: chipModel}\">\n </ng-container>\n <mat-icon matChipRemove\n *ngIf=\"chipModel.removeable\"\n (click)=\"onClickRemoveChip($event, chipModel.value)\">\n cancel\n </mat-icon>\n </mat-chip>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFlex\n style=\"padding-top: 7px; padding-bottom: 7px;\">\n\n <!-- [matChipInputFor]=\"chips\" -->\n <ng-container\n *ngTemplateOutlet=\"customInputTemplate || selectInput;\">\n </ng-container>\n\n <button mat-icon-button type=\"button\" class=\"elder-icon-button-small elder-browse-icon\"\n *ngIf=\"selectionPopup\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-select-icon\">search</mat-icon>\n </button>\n </div>\n </mat-chip-list>\n</div>\n\n<ng-template #selectInput>\n <elder-select autocomplete elderClearSelect fxFlex\n class=\"elder-chip-input\"\n [data]=\"dataContext$ | async\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"!!readonly\"\n [placeholder]=\"placeholder\"\n (entityUpdated)=\"appendEntity($event)\"\n [displayPropertyResolver]=\"displayPropertyResolver$ | async\"\n [valueTemplate]=\"valueTemplate\"\n [queryFilter]=\"queryFilter\" [filters]=\"filters\" [sorts]=\"sorts\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n ></elder-select>\n</ng-template>\n\n<ng-template #simpleChipTemplate let-chipModel>\n <span class=\"elder-chip-text\">{{chipModel.displayText | elderTruncate:20}}</span>\n</ng-template>\n\n", styles: [".clickable-chip{cursor:pointer}.elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-standard-chip .mat-chip-avatar.chip-avatar-large{width:30px;height:30px;margin-left:1px}\n"] }]
191
+ ], template: "<div *ngIf=\"(selectChips$ | async) as chipValues\"\n class=\"elder-flex-control\"\n [matTooltip]=\"(state$ | async)?.error\"\n>\n\n <mat-chip-list [selectable]=\"chipColorEnabled\" multiple #chips>\n\n <ng-container *ngIf=\"(mergedState$ | async) as state\">\n <div *ngIf=\"icon\"\n class=\"elder-input-prefix-icon-container flex-none\"\n >\n <mat-icon *ngIf=\"icon\" disabled\n class=\"elder-prefix-icon elder-select-icon elder-icon-small noselect\"\n [class.loading]=\"state.loading\"\n >\n {{icon}}\n </mat-icon>\n </div>\n </ng-container>\n\n\n <mat-chip *ngFor=\"let chipModel of chipValues\"\n class=\"noselect clickable-chip\"\n [value]=\"resolveChipValue(chipModel.value)\"\n [color]=\"chipModel.color\" [selectable]=\"chipColorEnabled\" [selected]=\"chipColorEnabled\"\n [removable]=\"chipModel.removeable\"\n (keydown)=\"onChipKeyDown($event, chipModel.value)\"\n (click)=\"onCurrentClicked(chipModel.value)\"\n >\n <mat-chip-avatar\n *ngIf=\"chipAvatarTemplate && !chipModel.avatarSpec.hide\"\n [class.chip-avatar-large]=\"chipModel.avatarSpec.large\"\n >\n <ng-container\n *ngTemplateOutlet=\"chipAvatarTemplate; context: {$implicit: chipModel}\">\n </ng-container>\n </mat-chip-avatar>\n <ng-container\n *ngTemplateOutlet=\"chipTemplate || simpleChipTemplate; context: {$implicit: chipModel}\">\n </ng-container>\n <mat-icon matChipRemove\n *ngIf=\"chipModel.removeable\"\n (click)=\"onClickRemoveChip($event, chipModel.value)\">\n cancel\n </mat-icon>\n </mat-chip>\n\n <div class=\"layout-row place-start-center flex\"\n style=\"padding-top: 7px; padding-bottom: 7px;\">\n\n <!-- [matChipInputFor]=\"chips\" -->\n <ng-container\n *ngTemplateOutlet=\"customInputTemplate || selectInput;\">\n </ng-container>\n\n <button mat-icon-button type=\"button\" class=\"elder-icon-button-small elder-browse-icon\"\n *ngIf=\"selectionPopup\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-select-icon\">search</mat-icon>\n </button>\n </div>\n </mat-chip-list>\n</div>\n\n<ng-template #selectInput>\n <elder-select autocomplete elderClearSelect\n class=\"elder-chip-input flex\"\n [data]=\"dataContext$ | async\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"!!readonly\"\n [placeholder]=\"placeholder\"\n (entityUpdated)=\"appendEntity($event)\"\n [displayPropertyResolver]=\"displayPropertyResolver$ | async\"\n [valueTemplate]=\"valueTemplate\"\n [queryFilter]=\"queryFilter\" [filters]=\"filters\" [sorts]=\"sorts\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n ></elder-select>\n</ng-template>\n\n<ng-template #simpleChipTemplate let-chipModel>\n <span class=\"elder-chip-text\">{{chipModel.displayText | elderTruncate:20}}</span>\n</ng-template>\n\n", styles: [".clickable-chip{cursor:pointer}.elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-standard-chip .mat-chip-avatar.chip-avatar-large{width:30px;height:30px;margin-left:1px}\n"] }]
193
192
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.FocusMonitor }, { type: i2.TranslateService }, { type: i3.ElderDialogService }, { type: i4.NgControl, decorators: [{
194
193
  type: Optional
195
194
  }, {
@@ -235,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
235
234
  }], chipColorResolver: [{
236
235
  type: Input
237
236
  }] } });
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L211bHRpL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixXQUFXLEVBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsOEJBQThCLEVBQUUsd0JBQXdCLEVBQUUsK0JBQStCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUc1SSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsaUJBQWlCLEVBQTRDLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7Ozs7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LGlCQUFpQjtzQkFEdkIsWUFBWTt1QkFBQyx3QkFBd0IsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQztnQkFLbEUsdUJBQXVCO3NCQUQ3QixZQUFZO3VCQUFDLDhCQUE4QixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUt4RSx3QkFBd0I7c0JBRDlCLFlBQVk7dUJBQUMsK0JBQStCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBK0N0RCxTQUFTO3NCQUFsQyxXQUFXO3VCQUFDLE9BQU87Z0JBSTBCLGFBQWE7c0JBQTFELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUlLLGVBQWU7c0JBQTNELFdBQVc7dUJBQUMsMEJBQTBCO2dCQUlPLGFBQWE7c0JBQTFELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUlHLFVBQVU7c0JBQXBELFdBQVc7dUJBQUMsd0JBQXdCO2dCQVcxQixZQUFZO3NCQUR0QixLQUFLO2dCQVVLLGtCQUFrQjtzQkFENUIsS0FBSztnQkFVSyxtQkFBbUI7c0JBRDdCLEtBQUs7Z0JBVUssZ0JBQWdCO3NCQUQxQixLQUFLO2dCQWFLLGlCQUFpQjtzQkFEM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVyTXVsdGlTZWxlY3RCYXNlfSBmcm9tICcuLi9lbGRlci1tdWx0aS1zZWxlY3QtYmFzZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0VsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSwgRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLCBFbGRlclNlbGVjdEN1c3RvbUlucHV0RGlyZWN0aXZlfSBmcm9tICcuLi8uLi9lbGRlci1zZWxlY3QtY2hpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUaGVtZVBhbGV0dGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge0VMREVSX1NFTEVDVF9CQVNFLCBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLCBUZXh0UmVzb2x2ZXJGbn0gZnJvbSAnLi4vLi4vZWxkZXItc2VsZWN0LWJhc2UnO1xuaW1wb3J0IHtGb2N1c01vbml0b3J9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7RWxkZXJEaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9kaWFsb2dzL2VsZGVyLWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmNsYXNzIENoaXBNb2RlbDxUPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZTogVCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGlzcGxheVRleHQ6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29sb3I6IFRoZW1lUGFsZXR0ZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVtb3ZlYWJsZTogYm9vbGVhbixcbiAgICBwdWJsaWMgcmVhZG9ubHkgYXZhdGFyU3BlYzogQ2hpcEF2YXRhclNwZWNcbiAgKSB7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGlwQXZhdGFyU3BlYyB7XG5cbiAgLyoqXG4gICAqIEhpZGVzIHRoZSBhdmF0YXIgZm9yIHRoaXMgY2hpcC5cbiAgICovXG4gIGhpZGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGxhcmdlIHN0eWxpbmcgb2YgdGhlIGF2YXRhciBmb3IgdGhpcyBjaGlwXG4gICAqL1xuICBsYXJnZT86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMuY29tcG9uZW50LnNjc3MnXSxcbiAgLy8gZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50fSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBFTERFUl9TRUxFQ1RfQkFTRSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudClcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50PFRJZCA9IGFueSwgVEVudGl0eSA9IGFueSwgVFZhbHVlID0gYW55PlxuICBleHRlbmRzIEVsZGVyTXVsdGlTZWxlY3RCYXNlPFRJZCwgVEVudGl0eSwgVFZhbHVlPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdENoaXBzJDogT2JzZXJ2YWJsZTxDaGlwTW9kZWw8VEVudGl0eT5bXT47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRlZmF1bHRBdmF0YXJTcGVjOiBDaGlwQXZhdGFyU3BlYyA9IHtcbiAgICBoaWRlOiBmYWxzZSxcbiAgICBsYXJnZTogZmFsc2VcbiAgfTtcblxuICAvKipcbiAgICogQWxsb3dzIHRvIGN1c3RvbWl6ZSBlYWNoIGNoaXAgYXZhdGFyIGluZGl2aWR1YWxseS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhdmF0YXJTcGVjRm46IChlOiBURW50aXR5KSA9PiBDaGlwQXZhdGFyU3BlYyA9IGUgPT4gdGhpcy5kZWZhdWx0QXZhdGFyU3BlYztcblxuICBwdWJsaWMgc2VsZWN0YWJsZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93UmVtb3ZlID0gdHJ1ZTtcblxuICBAQ29udGVudENoaWxkKEVsZGVyU2VsZWN0Q2hpcERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgY2hpcFRlbXBsYXRlUXVlcnk6IFRlbXBsYXRlUmVmPGFueT47XG4gIHByaXZhdGUgX2NoaXBUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEVsZGVyU2VsZWN0Q2hpcEF2YXRhckRpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgY2hpcEF2YXRhclRlbXBsYXRlUXVlcnk6IFRlbXBsYXRlUmVmPGFueT47XG4gIHByaXZhdGUgX2NoaXBBdmF0YXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEVsZGVyU2VsZWN0Q3VzdG9tSW5wdXREaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlfSlcbiAgcHVibGljIGN1c3RvbUlucHV0VGVtcGxhdGVRdWVyeTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSBfY3VzdG9tSW5wdXRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNoaXBDb2xvclJlc29sdmVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8KG8xOiBhbnkpID0+IFRoZW1lUGFsZXR0ZT4oKHZhbHVlOiBURW50aXR5KSA9PiB1bmRlZmluZWQpO1xuICBwcml2YXRlIF9jaGlwQ29sb3JFbmFibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBob3N0UmVmOiBFbGVtZW50UmVmLFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIGRpYWxvZ1NlcnZpY2U6IEVsZGVyRGlhbG9nU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sXG4gICkge1xuICAgIHN1cGVyKHpvbmUsIGhvc3RSZWYsICdtdWx0aS1zZWxlY3QtY2hpcHMnLCBmb2N1c01vbml0b3IsIHRyYW5zbGF0ZVNlcnZpY2UsIGRpYWxvZ1NlcnZpY2UsIG5nQ29udHJvbCk7XG5cbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gJy4uLic7XG5cbiAgICB0aGlzLnNlbGVjdENoaXBzJCA9IGNvbWJpbmVMYXRlc3QoXG4gICAgICBbXG4gICAgICAgIHRoaXMuZW50aXRpZXMkLFxuICAgICAgICB0aGlzLmVudGl0eUlkcyQsXG4gICAgICAgIHRoaXMuc3RhdGUkLFxuICAgICAgICB0aGlzLmRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJCxcbiAgICAgICAgdGhpcy5jaGlwQ29sb3JSZXNvbHZlciRcbiAgICAgIF1cbiAgICApLnBpcGUoXG4gICAgICBtYXAoKFtlbnRpdGllcywgZW50aXR5SWRzLCBzdGF0ZSwgZFBSLCBjQ1JdKSA9PlxuICAgICAgICB0aGlzLmJ1aWxkQ2hpcE1vZGVsc09yRmFsbGJhY2soZW50aXRpZXMsIGVudGl0eUlkcywgc3RhdGUsIGRQUiwgY0NSKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogSG9zdCBCaW5kaW5ncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGhvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZWxkZXItc2VsZWN0LWJhc2UgZWxkZXItbXVsdGktc2VsZWN0JztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LXNlbGVjdC1kaXNhYmxlZCcpIGdldCBkaXNhYmxlZENsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtc2VsZWN0LWludmFsaWQnKSBnZXQgZXJyb3JTdGF0ZUNsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yU3RhdGU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1zZWxlY3QtcmVxdWlyZWQnKSBnZXQgcmVxdWlyZWRDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZXF1aXJlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LXNlbGVjdC1lbXB0eScpIGdldCBlbXB0eUNsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVtcHR5O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGlwVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLl9jaGlwVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpcFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jaGlwVGVtcGxhdGUgfHwgdGhpcy5jaGlwVGVtcGxhdGVRdWVyeTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hpcEF2YXRhclRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgdGhpcy5fY2hpcEF2YXRhclRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBBdmF0YXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fY2hpcEF2YXRhclRlbXBsYXRlIHx8IHRoaXMuY2hpcEF2YXRhclRlbXBsYXRlUXVlcnk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGN1c3RvbUlucHV0VGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLl9jdXN0b21JbnB1dFRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1c3RvbUlucHV0VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2N1c3RvbUlucHV0VGVtcGxhdGUgfHwgdGhpcy5jdXN0b21JbnB1dFRlbXBsYXRlUXVlcnk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNoaXBDb2xvckVuYWJsZWQoZW5hYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX2NoaXBDb2xvckVuYWJsZWQgPSBlbmFibGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGlwQ29sb3JFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yU3RhdGUgfHwgdGhpcy5fY2hpcENvbG9yRW5hYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgdGhlIGNvbG9yIG9mIGEgZ2l2ZW4gbGFiZWwgb2JqZWN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGlwQ29sb3JSZXNvbHZlcihmbjogKG8xOiBhbnkpID0+IFRoZW1lUGFsZXR0ZSkge1xuICAgIGlmICghZm4pIHtcbiAgICAgIHRoaXMuY2hpcENvbG9yRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NoaXBDb2xvclJlc29sdmVyIG11c3QgYmUgYSBmdW5jdGlvbiEnKTtcbiAgICB9XG4gICAgdGhpcy5jaGlwQ29sb3JFbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmNoaXBDb2xvclJlc29sdmVyJC5uZXh0KGZuKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyByZXNvbHZlQ2hpcFZhbHVlKGUxOiBURW50aXR5KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5nZXRFbnRpdHlJZChlMSk7XG4gIH1cblxuICBwdWJsaWMgb25DaGlwS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgdG9SZW1vdmU6IFRFbnRpdHkpOiB2b2lkIHtcbiAgICB0aGlzLmxvZy53YXJuKCdvbkNoaXBLZXlEb3duJywgZXZlbnQpO1xuICAgIGlmKGV2ZW50LmtleSA9PSAnQmFja3NwYWNlJyB8fCBldmVudC5rZXkgPT0gJ0RlbGV0ZScpe1xuICAgICAgdGhpcy5yZXF1ZXN0UmVtb3ZlRW50aXR5KHRvUmVtb3ZlLCBldmVudC5zaGlmdEtleSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2xpY2tSZW1vdmVDaGlwKFxuICAgIGV2ZW50OiBNb3VzZUV2ZW50LFxuICAgIHRvUmVtb3ZlOiBURW50aXR5XG4gICk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5yZXF1ZXN0UmVtb3ZlRW50aXR5KHRvUmVtb3ZlLCBldmVudC5zaGlmdEtleSk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucykge1xuICAgIC8vIFRPRE8gdGhpcy5pbnB1dENvbnRyb2w/LmZvY3VzKG9wdGlvbnMpO1xuICAgIC8vIHRoaXMuY3VzdG9tSW5wdXRUZW1wbGF0ZS5mb2N1cyhvcHRpb25zKVxuICB9XG5cbiAgcHVibGljIGJsdXIoKSB7XG4gICAgLy8gVE9ETyB0aGlzLmlucHV0Q29udHJvbD8uYmx1cigpO1xuICAgIC8vIHRoaXMuY3VzdG9tSW5wdXRUZW1wbGF0ZS5ibHVyKClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgYnVpbGRDaGlwTW9kZWxzT3JGYWxsYmFjayhcbiAgICBlbnRpdGllczogVEVudGl0eVtdLFxuICAgIGVudGl0eUlkczogVElkW10sXG4gICAgc3RhdGU6IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUsXG4gICAgZFBSOiBUZXh0UmVzb2x2ZXJGbixcbiAgICBjQ1I6IChvMTogYW55KSA9PiBUaGVtZVBhbGV0dGVcbiAgKTogQ2hpcE1vZGVsPFRFbnRpdHk+W10ge1xuXG4gICAgaWYgKHN0YXRlLmVycm9yKSB7XG4gICAgICByZXR1cm4gdGhpcy5idWlsZENoaXBGYWxsYmFja01vZGVscyhlbnRpdHlJZHMpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5idWlsZENoaXBNb2RlbHMoZW50aXRpZXMsIGRQUiwgY0NSKTtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBidWlsZENoaXBGYWxsYmFja01vZGVscyhlbnRpdHlJZHM6IFRJZFtdKTogQ2hpcE1vZGVsPFRFbnRpdHk+W10ge1xuICAgIHJldHVybiBlbnRpdHlJZHMubWFwKFxuICAgICAgaWQgPT4gbmV3IENoaXBNb2RlbDxURW50aXR5PihcbiAgICAgICAgPGFueT57aWQ6IGlkfSxcbiAgICAgICAgU3RyaW5nKGlkKSxcbiAgICAgICAgJ3dhcm4nLFxuICAgICAgICB0aGlzLmFsbG93UmVtb3ZlICYmICF0aGlzLmlzTG9ja2VkLFxuICAgICAgICB0aGlzLmRlZmF1bHRBdmF0YXJTcGVjXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRDaGlwTW9kZWxzKFxuICAgIGVudGl0aWVzOiBURW50aXR5W10sXG4gICAgZFBSOiBUZXh0UmVzb2x2ZXJGbixcbiAgICBjQ1I6IChvMTogYW55KSA9PiBUaGVtZVBhbGV0dGVcbiAgKTogQ2hpcE1vZGVsPFRFbnRpdHk+W10ge1xuICAgIGlmIChlbnRpdGllcykge1xuICAgICAgcmV0dXJuIGVudGl0aWVzLm1hcChcbiAgICAgICAgZSA9PiBuZXcgQ2hpcE1vZGVsPFRFbnRpdHk+KFxuICAgICAgICAgIGUsXG4gICAgICAgICAgZFBSKGUpLFxuICAgICAgICAgIGNDUihlKSxcbiAgICAgICAgICB0aGlzLmFsbG93UmVtb3ZlICYmICF0aGlzLmlzTG9ja2VkLFxuICAgICAgICAgIHRoaXMuYXZhdGFyU3BlY0ZuKGUpID8/IHRoaXMuZGVmYXVsdEF2YXRhclNwZWNcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDxDaGlwTW9kZWw8VEVudGl0eT5bXT5bXTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiAqbmdJZj1cIihzZWxlY3RDaGlwcyQgfCBhc3luYykgYXMgY2hpcFZhbHVlc1wiIGZ4RmxleFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZWxkZXItZm9ybS1jb250cm9sXCJcbiAgICAgW21hdFRvb2x0aXBdPVwiKHN0YXRlJCB8IGFzeW5jKT8uZXJyb3JcIlxuPlxuXG4gIDxtYXQtY2hpcC1saXN0IFtzZWxlY3RhYmxlXT1cImNoaXBDb2xvckVuYWJsZWRcIiBtdWx0aXBsZSAjY2hpcHM+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKG1lcmdlZFN0YXRlJCB8IGFzeW5jKSBhcyBzdGF0ZVwiPlxuICAgICAgPGRpdiAqbmdJZj1cImljb25cIiBmeEZsZXg9XCJub25lXCJcbiAgICAgICAgICAgY2xhc3M9XCJlbGRlci1pbnB1dC1wcmVmaXgtaWNvbi1jb250YWluZXJcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uXCIgZGlzYWJsZWRcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWxkZXItcHJlZml4LWljb24gZWxkZXItc2VsZWN0LWljb24gZWxkZXItaWNvbi1zbWFsbCBub3NlbGVjdFwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MubG9hZGluZ109XCJzdGF0ZS5sb2FkaW5nXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7aWNvbn19XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuXG4gICAgPG1hdC1jaGlwICpuZ0Zvcj1cImxldCBjaGlwTW9kZWwgb2YgY2hpcFZhbHVlc1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwibm9zZWxlY3QgY2xpY2thYmxlLWNoaXBcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwicmVzb2x2ZUNoaXBWYWx1ZShjaGlwTW9kZWwudmFsdWUpXCJcbiAgICAgICAgICAgICAgW2NvbG9yXT1cImNoaXBNb2RlbC5jb2xvclwiIFtzZWxlY3RhYmxlXT1cImNoaXBDb2xvckVuYWJsZWRcIiBbc2VsZWN0ZWRdPVwiY2hpcENvbG9yRW5hYmxlZFwiXG4gICAgICAgICAgICAgIFtyZW1vdmFibGVdPVwiY2hpcE1vZGVsLnJlbW92ZWFibGVcIlxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkNoaXBLZXlEb3duKCRldmVudCwgY2hpcE1vZGVsLnZhbHVlKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkN1cnJlbnRDbGlja2VkKGNoaXBNb2RlbC52YWx1ZSlcIlxuICAgID5cbiAgICAgIDxtYXQtY2hpcC1hdmF0YXJcbiAgICAgICAgKm5nSWY9XCJjaGlwQXZhdGFyVGVtcGxhdGUgJiYgIWNoaXBNb2RlbC5hdmF0YXJTcGVjLmhpZGVcIlxuICAgICAgICBbY2xhc3MuY2hpcC1hdmF0YXItbGFyZ2VdPVwiY2hpcE1vZGVsLmF2YXRhclNwZWMubGFyZ2VcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjaGlwQXZhdGFyVGVtcGxhdGU7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNoaXBNb2RlbH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1jaGlwLWF2YXRhcj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjaGlwVGVtcGxhdGUgfHwgc2ltcGxlQ2hpcFRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBjaGlwTW9kZWx9XCI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlwTW9kZWwucmVtb3ZlYWJsZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tSZW1vdmVDaGlwKCRldmVudCwgY2hpcE1vZGVsLnZhbHVlKVwiPlxuICAgICAgICBjYW5jZWxcbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9tYXQtY2hpcD5cblxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGbGV4XG4gICAgICAgICBzdHlsZT1cInBhZGRpbmctdG9wOiA3cHg7IHBhZGRpbmctYm90dG9tOiA3cHg7XCI+XG5cbiAgICAgIDwhLS0gW21hdENoaXBJbnB1dEZvcl09XCJjaGlwc1wiIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbUlucHV0VGVtcGxhdGUgfHwgc2VsZWN0SW5wdXQ7XCI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZWxkZXItaWNvbi1idXR0b24tc21hbGwgZWxkZXItYnJvd3NlLWljb25cIlxuICAgICAgICAgICAgICAqbmdJZj1cInNlbGVjdGlvblBvcHVwXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZWxlY3Rpb25Qb3B1cCgkZXZlbnQpXCIgYXJpYS1sYWJlbD1cIlNlYXJjaFwiXG4gICAgICAgICAgICAgIGVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25cbiAgICAgICAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImVsZGVyLXNlbGVjdC1pY29uXCI+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L21hdC1jaGlwLWxpc3Q+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzZWxlY3RJbnB1dD5cbiAgPGVsZGVyLXNlbGVjdCBhdXRvY29tcGxldGUgZWxkZXJDbGVhclNlbGVjdCBmeEZsZXhcbiAgICAgICAgICAgICAgICBjbGFzcz1cImVsZGVyLWNoaXAtaW5wdXRcIlxuICAgICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFDb250ZXh0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cIiEhcmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIhIXJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIChlbnRpdHlVcGRhdGVkKT1cImFwcGVuZEVudGl0eSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbZGlzcGxheVByb3BlcnR5UmVzb2x2ZXJdPVwiZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZVRlbXBsYXRlXT1cInZhbHVlVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtxdWVyeUZpbHRlcl09XCJxdWVyeUZpbHRlclwiIFtmaWx0ZXJzXT1cImZpbHRlcnNcIiBbc29ydHNdPVwic29ydHNcIlxuICAgICAgICAgICAgICAgIFtpc09wdGlvbkRpc2FibGVkRm5dPVwiaXNPcHRpb25EaXNhYmxlZEludGVybmFsRm5cIlxuICAgICAgICAgICAgICAgIFtpc09wdGlvbkhpZGRlbkZuXT1cImlzT3B0aW9uSGlkZGVuSW50ZXJuYWxGblwiXG4gID48L2VsZGVyLXNlbGVjdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2ltcGxlQ2hpcFRlbXBsYXRlIGxldC1jaGlwTW9kZWw+XG4gIDxzcGFuIGNsYXNzPVwiZWxkZXItY2hpcC10ZXh0XCI+e3tjaGlwTW9kZWwuZGlzcGxheVRleHQgfCBlbGRlclRydW5jYXRlOjIwfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG4iXX0=
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L211bHRpL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy9lbGRlci1tdWx0aS1zZWxlY3QtY2hpcHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixXQUFXLEVBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsOEJBQThCLEVBQUUsd0JBQXdCLEVBQUUsK0JBQStCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUc1SSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsaUJBQWlCLEVBQTRDLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7Ozs7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aUJBQWlCO3NCQUR2QixZQUFZO3VCQUFDLHdCQUF3QixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUtsRSx1QkFBdUI7c0JBRDdCLFlBQVk7dUJBQUMsOEJBQThCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBS3hFLHdCQUF3QjtzQkFEOUIsWUFBWTt1QkFBQywrQkFBK0IsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQztnQkErQ3RELFNBQVM7c0JBQWxDLFdBQVc7dUJBQUMsT0FBTztnQkFJMEIsYUFBYTtzQkFBMUQsV0FBVzt1QkFBQywyQkFBMkI7Z0JBSUssZUFBZTtzQkFBM0QsV0FBVzt1QkFBQywwQkFBMEI7Z0JBSU8sYUFBYTtzQkFBMUQsV0FBVzt1QkFBQywyQkFBMkI7Z0JBSUcsVUFBVTtzQkFBcEQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBVzFCLFlBQVk7c0JBRHRCLEtBQUs7Z0JBVUssa0JBQWtCO3NCQUQ1QixLQUFLO2dCQVVLLG1CQUFtQjtzQkFEN0IsS0FBSztnQkFVSyxnQkFBZ0I7c0JBRDFCLEtBQUs7Z0JBYUssaUJBQWlCO3NCQUQzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RWxkZXJNdWx0aVNlbGVjdEJhc2V9IGZyb20gJy4uL2VsZGVyLW11bHRpLXNlbGVjdC1iYXNlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RWxkZXJTZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlLCBFbGRlclNlbGVjdENoaXBEaXJlY3RpdmUsIEVsZGVyU2VsZWN0Q3VzdG9tSW5wdXREaXJlY3RpdmV9IGZyb20gJy4uLy4uL2VsZGVyLXNlbGVjdC1jaGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RoZW1lUGFsZXR0ZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRDb250cm9sfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7RUxERVJfU0VMRUNUX0JBU0UsIEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUsIFRleHRSZXNvbHZlckZufSBmcm9tICcuLi8uLi9lbGRlci1zZWxlY3QtYmFzZSc7XG5pbXBvcnQge0ZvY3VzTW9uaXRvcn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtFbGRlckRpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2RpYWxvZ3MvZWxkZXItZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuY2xhc3MgQ2hpcE1vZGVsPFQ+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBULFxuICAgIHB1YmxpYyByZWFkb25seSBkaXNwbGF5VGV4dDogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBjb2xvcjogVGhlbWVQYWxldHRlLFxuICAgIHB1YmxpYyByZWFkb25seSByZW1vdmVhYmxlOiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSBhdmF0YXJTcGVjOiBDaGlwQXZhdGFyU3BlY1xuICApIHtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoaXBBdmF0YXJTcGVjIHtcblxuICAvKipcbiAgICogSGlkZXMgdGhlIGF2YXRhciBmb3IgdGhpcyBjaGlwLlxuICAgKi9cbiAgaGlkZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgbGFyZ2Ugc3R5bGluZyBvZiB0aGUgYXZhdGFyIGZvciB0aGlzIGNoaXBcbiAgICovXG4gIGxhcmdlPzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQuc2NzcyddLFxuICAvLyBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge3Byb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnR9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEVMREVSX1NFTEVDVF9CQVNFLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRWxkZXJNdWx0aVNlbGVjdENoaXBzQ29tcG9uZW50KVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnQ8VElkID0gYW55LCBURW50aXR5ID0gYW55LCBUVmFsdWUgPSBhbnk+XG4gIGV4dGVuZHMgRWxkZXJNdWx0aVNlbGVjdEJhc2U8VElkLCBURW50aXR5LCBUVmFsdWU+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0Q2hpcHMkOiBPYnNlcnZhYmxlPENoaXBNb2RlbDxURW50aXR5PltdPjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdEF2YXRhclNwZWM6IENoaXBBdmF0YXJTcGVjID0ge1xuICAgIGhpZGU6IGZhbHNlLFxuICAgIGxhcmdlOiBmYWxzZVxuICB9O1xuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gY3VzdG9taXplIGVhY2ggY2hpcCBhdmF0YXIgaW5kaXZpZHVhbGx5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGF2YXRhclNwZWNGbjogKGU6IFRFbnRpdHkpID0+IENoaXBBdmF0YXJTcGVjID0gZSA9PiB0aGlzLmRlZmF1bHRBdmF0YXJTcGVjO1xuXG4gIHB1YmxpYyBzZWxlY3RhYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYWxsb3dSZW1vdmUgPSB0cnVlO1xuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJTZWxlY3RDaGlwRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyBjaGlwVGVtcGxhdGVRdWVyeTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSBfY2hpcFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJTZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyBjaGlwQXZhdGFyVGVtcGxhdGVRdWVyeTogVGVtcGxhdGVSZWY8YW55PjtcbiAgcHJpdmF0ZSBfY2hpcEF2YXRhclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJTZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgY3VzdG9tSW5wdXRUZW1wbGF0ZVF1ZXJ5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwcml2YXRlIF9jdXN0b21JbnB1dFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2hpcENvbG9yUmVzb2x2ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDwobzE6IGFueSkgPT4gVGhlbWVQYWxldHRlPigodmFsdWU6IFRFbnRpdHkpID0+IHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgX2NoaXBDb2xvckVuYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgem9uZTogTmdab25lLFxuICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgZGlhbG9nU2VydmljZTogRWxkZXJEaWFsb2dTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2xcbiAgKSB7XG4gICAgc3VwZXIoem9uZSwgaG9zdFJlZiwgJ211bHRpLXNlbGVjdC1jaGlwcycsIGZvY3VzTW9uaXRvciwgdHJhbnNsYXRlU2VydmljZSwgZGlhbG9nU2VydmljZSwgbmdDb250cm9sKTtcblxuICAgIHRoaXMucGxhY2Vob2xkZXIgPSAnLi4uJztcblxuICAgIHRoaXMuc2VsZWN0Q2hpcHMkID0gY29tYmluZUxhdGVzdChcbiAgICAgIFtcbiAgICAgICAgdGhpcy5lbnRpdGllcyQsXG4gICAgICAgIHRoaXMuZW50aXR5SWRzJCxcbiAgICAgICAgdGhpcy5zdGF0ZSQsXG4gICAgICAgIHRoaXMuZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIkLFxuICAgICAgICB0aGlzLmNoaXBDb2xvclJlc29sdmVyJFxuICAgICAgXVxuICAgICkucGlwZShcbiAgICAgIG1hcCgoW2VudGl0aWVzLCBlbnRpdHlJZHMsIHN0YXRlLCBkUFIsIGNDUl0pID0+XG4gICAgICAgIHRoaXMuYnVpbGRDaGlwTW9kZWxzT3JGYWxsYmFjayhlbnRpdGllcywgZW50aXR5SWRzLCBzdGF0ZSwgZFBSLCBjQ1IpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBIb3N0IEJpbmRpbmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgaG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdlbGRlci1zZWxlY3QtYmFzZSBlbGRlci1tdWx0aS1zZWxlY3QnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtc2VsZWN0LWRpc2FibGVkJykgZ2V0IGRpc2FibGVkQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1hdC1zZWxlY3QtaW52YWxpZCcpIGdldCBlcnJvclN0YXRlQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JTdGF0ZTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LXNlbGVjdC1yZXF1aXJlZCcpIGdldCByZXF1aXJlZENsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVpcmVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtc2VsZWN0LWVtcHR5JykgZ2V0IGVtcHR5Q2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW1wdHk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNoaXBUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuX2NoaXBUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGlwVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaXBUZW1wbGF0ZSB8fCB0aGlzLmNoaXBUZW1wbGF0ZVF1ZXJ5O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGlwQXZhdGFyVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLl9jaGlwQXZhdGFyVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpcEF2YXRhclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jaGlwQXZhdGFyVGVtcGxhdGUgfHwgdGhpcy5jaGlwQXZhdGFyVGVtcGxhdGVRdWVyeTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY3VzdG9tSW5wdXRUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuX2N1c3RvbUlucHV0VGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3VzdG9tSW5wdXRUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fY3VzdG9tSW5wdXRUZW1wbGF0ZSB8fCB0aGlzLmN1c3RvbUlucHV0VGVtcGxhdGVRdWVyeTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hpcENvbG9yRW5hYmxlZChlbmFibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5fY2hpcENvbG9yRW5hYmxlZCA9IGVuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBDb2xvckVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JTdGF0ZSB8fCB0aGlzLl9jaGlwQ29sb3JFbmFibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGUgY29sb3Igb2YgYSBnaXZlbiBsYWJlbCBvYmplY3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNoaXBDb2xvclJlc29sdmVyKGZuOiAobzE6IGFueSkgPT4gVGhlbWVQYWxldHRlKSB7XG4gICAgaWYgKCFmbikge1xuICAgICAgdGhpcy5jaGlwQ29sb3JFbmFibGVkID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY2hpcENvbG9yUmVzb2x2ZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIScpO1xuICAgIH1cbiAgICB0aGlzLmNoaXBDb2xvckVuYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuY2hpcENvbG9yUmVzb2x2ZXIkLm5leHQoZm4pO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHJlc29sdmVDaGlwVmFsdWUoZTE6IFRFbnRpdHkpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmdldEVudGl0eUlkKGUxKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoaXBLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCB0b1JlbW92ZTogVEVudGl0eSk6IHZvaWQge1xuICAgIHRoaXMubG9nLndhcm4oJ29uQ2hpcEtleURvd24nLCBldmVudCk7XG4gICAgaWYoZXZlbnQua2V5ID09ICdCYWNrc3BhY2UnIHx8IGV2ZW50LmtleSA9PSAnRGVsZXRlJyl7XG4gICAgICB0aGlzLnJlcXVlc3RSZW1vdmVFbnRpdHkodG9SZW1vdmUsIGV2ZW50LnNoaWZ0S2V5KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DbGlja1JlbW92ZUNoaXAoXG4gICAgZXZlbnQ6IE1vdXNlRXZlbnQsXG4gICAgdG9SZW1vdmU6IFRFbnRpdHlcbiAgKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnJlcXVlc3RSZW1vdmVFbnRpdHkodG9SZW1vdmUsIGV2ZW50LnNoaWZ0S2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKSB7XG4gICAgLy8gVE9ETyB0aGlzLmlucHV0Q29udHJvbD8uZm9jdXMob3B0aW9ucyk7XG4gICAgLy8gdGhpcy5jdXN0b21JbnB1dFRlbXBsYXRlLmZvY3VzKG9wdGlvbnMpXG4gIH1cblxuICBwdWJsaWMgYmx1cigpIHtcbiAgICAvLyBUT0RPIHRoaXMuaW5wdXRDb250cm9sPy5ibHVyKCk7XG4gICAgLy8gdGhpcy5jdXN0b21JbnB1dFRlbXBsYXRlLmJsdXIoKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBidWlsZENoaXBNb2RlbHNPckZhbGxiYWNrKFxuICAgIGVudGl0aWVzOiBURW50aXR5W10sXG4gICAgZW50aXR5SWRzOiBUSWRbXSxcbiAgICBzdGF0ZTogRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSxcbiAgICBkUFI6IFRleHRSZXNvbHZlckZuLFxuICAgIGNDUjogKG8xOiBhbnkpID0+IFRoZW1lUGFsZXR0ZVxuICApOiBDaGlwTW9kZWw8VEVudGl0eT5bXSB7XG5cbiAgICBpZiAoc3RhdGUuZXJyb3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ1aWxkQ2hpcEZhbGxiYWNrTW9kZWxzKGVudGl0eUlkcyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmJ1aWxkQ2hpcE1vZGVscyhlbnRpdGllcywgZFBSLCBjQ1IpO1xuICB9XG5cblxuICBwcml2YXRlIGJ1aWxkQ2hpcEZhbGxiYWNrTW9kZWxzKGVudGl0eUlkczogVElkW10pOiBDaGlwTW9kZWw8VEVudGl0eT5bXSB7XG4gICAgcmV0dXJuIGVudGl0eUlkcy5tYXAoXG4gICAgICBpZCA9PiBuZXcgQ2hpcE1vZGVsPFRFbnRpdHk+KFxuICAgICAgICA8YW55PntpZDogaWR9LFxuICAgICAgICBTdHJpbmcoaWQpLFxuICAgICAgICAnd2FybicsXG4gICAgICAgIHRoaXMuYWxsb3dSZW1vdmUgJiYgIXRoaXMuaXNMb2NrZWQsXG4gICAgICAgIHRoaXMuZGVmYXVsdEF2YXRhclNwZWNcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENoaXBNb2RlbHMoXG4gICAgZW50aXRpZXM6IFRFbnRpdHlbXSxcbiAgICBkUFI6IFRleHRSZXNvbHZlckZuLFxuICAgIGNDUjogKG8xOiBhbnkpID0+IFRoZW1lUGFsZXR0ZVxuICApOiBDaGlwTW9kZWw8VEVudGl0eT5bXSB7XG4gICAgaWYgKGVudGl0aWVzKSB7XG4gICAgICByZXR1cm4gZW50aXRpZXMubWFwKFxuICAgICAgICBlID0+IG5ldyBDaGlwTW9kZWw8VEVudGl0eT4oXG4gICAgICAgICAgZSxcbiAgICAgICAgICBkUFIoZSksXG4gICAgICAgICAgY0NSKGUpLFxuICAgICAgICAgIHRoaXMuYWxsb3dSZW1vdmUgJiYgIXRoaXMuaXNMb2NrZWQsXG4gICAgICAgICAgdGhpcy5hdmF0YXJTcGVjRm4oZSkgPz8gdGhpcy5kZWZhdWx0QXZhdGFyU3BlY1xuICAgICAgICApXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gPENoaXBNb2RlbDxURW50aXR5PltdPltdO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2ICpuZ0lmPVwiKHNlbGVjdENoaXBzJCB8IGFzeW5jKSBhcyBjaGlwVmFsdWVzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImVsZGVyLWZsZXgtY29udHJvbFwiXG4gICAgIFttYXRUb29sdGlwXT1cIihzdGF0ZSQgfCBhc3luYyk/LmVycm9yXCJcbj5cblxuICA8bWF0LWNoaXAtbGlzdCBbc2VsZWN0YWJsZV09XCJjaGlwQ29sb3JFbmFibGVkXCIgbXVsdGlwbGUgI2NoaXBzPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihtZXJnZWRTdGF0ZSQgfCBhc3luYykgYXMgc3RhdGVcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJpY29uXCJcbiAgICAgICAgICAgY2xhc3M9XCJlbGRlci1pbnB1dC1wcmVmaXgtaWNvbi1jb250YWluZXIgZmxleC1ub25lXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblwiIGRpc2FibGVkXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImVsZGVyLXByZWZpeC1pY29uIGVsZGVyLXNlbGVjdC1pY29uIGVsZGVyLWljb24tc21hbGwgbm9zZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmxvYWRpbmddPVwic3RhdGUubG9hZGluZ1wiXG4gICAgICAgID5cbiAgICAgICAgICB7e2ljb259fVxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cblxuICAgIDxtYXQtY2hpcCAqbmdGb3I9XCJsZXQgY2hpcE1vZGVsIG9mIGNoaXBWYWx1ZXNcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm5vc2VsZWN0IGNsaWNrYWJsZS1jaGlwXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cInJlc29sdmVDaGlwVmFsdWUoY2hpcE1vZGVsLnZhbHVlKVwiXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJjaGlwTW9kZWwuY29sb3JcIiBbc2VsZWN0YWJsZV09XCJjaGlwQ29sb3JFbmFibGVkXCIgW3NlbGVjdGVkXT1cImNoaXBDb2xvckVuYWJsZWRcIlxuICAgICAgICAgICAgICBbcmVtb3ZhYmxlXT1cImNoaXBNb2RlbC5yZW1vdmVhYmxlXCJcbiAgICAgICAgICAgICAgKGtleWRvd24pPVwib25DaGlwS2V5RG93bigkZXZlbnQsIGNoaXBNb2RlbC52YWx1ZSlcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DdXJyZW50Q2xpY2tlZChjaGlwTW9kZWwudmFsdWUpXCJcbiAgICA+XG4gICAgICA8bWF0LWNoaXAtYXZhdGFyXG4gICAgICAgICpuZ0lmPVwiY2hpcEF2YXRhclRlbXBsYXRlICYmICFjaGlwTW9kZWwuYXZhdGFyU3BlYy5oaWRlXCJcbiAgICAgICAgW2NsYXNzLmNoaXAtYXZhdGFyLWxhcmdlXT1cImNoaXBNb2RlbC5hdmF0YXJTcGVjLmxhcmdlXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hpcEF2YXRhclRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBjaGlwTW9kZWx9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9tYXQtY2hpcC1hdmF0YXI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hpcFRlbXBsYXRlIHx8IHNpbXBsZUNoaXBUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogY2hpcE1vZGVsfVwiPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bWF0LWljb24gbWF0Q2hpcFJlbW92ZVxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpcE1vZGVsLnJlbW92ZWFibGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrUmVtb3ZlQ2hpcCgkZXZlbnQsIGNoaXBNb2RlbC52YWx1ZSlcIj5cbiAgICAgICAgY2FuY2VsXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWNoaXA+XG5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgZmxleFwiXG4gICAgICAgICBzdHlsZT1cInBhZGRpbmctdG9wOiA3cHg7IHBhZGRpbmctYm90dG9tOiA3cHg7XCI+XG5cbiAgICAgIDwhLS0gW21hdENoaXBJbnB1dEZvcl09XCJjaGlwc1wiIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbUlucHV0VGVtcGxhdGUgfHwgc2VsZWN0SW5wdXQ7XCI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZWxkZXItaWNvbi1idXR0b24tc21hbGwgZWxkZXItYnJvd3NlLWljb25cIlxuICAgICAgICAgICAgICAqbmdJZj1cInNlbGVjdGlvblBvcHVwXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9ja2VkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZWxlY3Rpb25Qb3B1cCgkZXZlbnQpXCIgYXJpYS1sYWJlbD1cIlNlYXJjaFwiXG4gICAgICAgICAgICAgIGVsZGVyU3RvcEV2ZW50UHJvcGFnYXRpb25cbiAgICAgICAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImVsZGVyLXNlbGVjdC1pY29uXCI+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L21hdC1jaGlwLWxpc3Q+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzZWxlY3RJbnB1dD5cbiAgPGVsZGVyLXNlbGVjdCBhdXRvY29tcGxldGUgZWxkZXJDbGVhclNlbGVjdFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZWxkZXItY2hpcC1pbnB1dCBmbGV4XCJcbiAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhQ29udGV4dCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCIhIXJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiISFyZWFkb25seVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAoZW50aXR5VXBkYXRlZCk9XCJhcHBlbmRFbnRpdHkoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlQcm9wZXJ0eVJlc29sdmVyXT1cImRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVUZW1wbGF0ZV09XCJ2YWx1ZVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbcXVlcnlGaWx0ZXJdPVwicXVlcnlGaWx0ZXJcIiBbZmlsdGVyc109XCJmaWx0ZXJzXCIgW3NvcnRzXT1cInNvcnRzXCJcbiAgICAgICAgICAgICAgICBbaXNPcHRpb25EaXNhYmxlZEZuXT1cImlzT3B0aW9uRGlzYWJsZWRJbnRlcm5hbEZuXCJcbiAgICAgICAgICAgICAgICBbaXNPcHRpb25IaWRkZW5Gbl09XCJpc09wdGlvbkhpZGRlbkludGVybmFsRm5cIlxuICA+PC9lbGRlci1zZWxlY3Q+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NpbXBsZUNoaXBUZW1wbGF0ZSBsZXQtY2hpcE1vZGVsPlxuICA8c3BhbiBjbGFzcz1cImVsZGVyLWNoaXAtdGV4dFwiPnt7Y2hpcE1vZGVsLmRpc3BsYXlUZXh0IHwgZWxkZXJUcnVuY2F0ZToyMH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuIl19
@@ -8,9 +8,8 @@ import * as i3 from "@angular/common";
8
8
  import * as i4 from "@angular/material/icon";
9
9
  import * as i5 from "@angular/material/button";
10
10
  import * as i6 from "@angular/material/toolbar";
11
- import * as i7 from "@angular/flex-layout/flex";
12
- import * as i8 from "../../../theme/elder-theme.directive";
13
- import * as i9 from "@ngx-translate/core";
11
+ import * as i7 from "../../../theme/elder-theme.directive";
12
+ import * as i8 from "@ngx-translate/core";
14
13
  export class TemplatedSelectionDialogComponent {
15
14
  /***************************************************************************
16
15
  * *
@@ -37,12 +36,12 @@ export class TemplatedSelectionDialogComponent {
37
36
  }
38
37
  }
39
38
  TemplatedSelectionDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: TemplatedSelectionDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.SelectionModel }], target: i0.ɵɵFactoryTarget.Component });
40
- TemplatedSelectionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: TemplatedSelectionDialogComponent, selector: "elder-templated-selection-dialog", ngImport: i0, template: "<div fxLayout=\"column\" fxFill>\n <mat-toolbar elderTheme fxFlex=\"none\">\n <button mat-icon-button type=\"button\" matDialogClose=\"\">\n <mat-icon>close</mat-icon>\n </button>\n <span fxFlex></span>\n <button mat-stroked-button type=\"submit\" color=\"accent\"\n *ngIf=\"selectionModel.selection | async as selection\"\n [disabled]=\"!selection || selection.length === 0\"\n [mat-dialog-close]=\"selection\"\n >\n {{'actions.select' | translate}}\n </button>\n </mat-toolbar>\n <div fxLayout=\"column\" fxFlex style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"data.selectionComponentTemplate\"></ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i8.ElderThemeDirective, selector: "[elderTheme]" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
+ TemplatedSelectionDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: TemplatedSelectionDialogComponent, selector: "elder-templated-selection-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <button mat-icon-button type=\"button\" matDialogClose=\"\">\n <mat-icon>close</mat-icon>\n </button>\n <span class=\"flex\"></span>\n <button mat-stroked-button type=\"submit\" color=\"accent\"\n *ngIf=\"selectionModel.selection | async as selection\"\n [disabled]=\"!selection || selection.length === 0\"\n [mat-dialog-close]=\"selection\"\n >\n {{'actions.select' | translate}}\n </button>\n </mat-toolbar>\n <div class=\"layout-col flex\" style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"data.selectionComponentTemplate\"></ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i7.ElderThemeDirective, selector: "[elderTheme]" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: TemplatedSelectionDialogComponent, decorators: [{
42
41
  type: Component,
43
- args: [{ selector: 'elder-templated-selection-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div fxLayout=\"column\" fxFill>\n <mat-toolbar elderTheme fxFlex=\"none\">\n <button mat-icon-button type=\"button\" matDialogClose=\"\">\n <mat-icon>close</mat-icon>\n </button>\n <span fxFlex></span>\n <button mat-stroked-button type=\"submit\" color=\"accent\"\n *ngIf=\"selectionModel.selection | async as selection\"\n [disabled]=\"!selection || selection.length === 0\"\n [mat-dialog-close]=\"selection\"\n >\n {{'actions.select' | translate}}\n </button>\n </mat-toolbar>\n <div fxLayout=\"column\" fxFlex style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"data.selectionComponentTemplate\"></ng-container>\n </div>\n</div>\n" }]
42
+ args: [{ selector: 'elder-templated-selection-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <button mat-icon-button type=\"button\" matDialogClose=\"\">\n <mat-icon>close</mat-icon>\n </button>\n <span class=\"flex\"></span>\n <button mat-stroked-button type=\"submit\" color=\"accent\"\n *ngIf=\"selectionModel.selection | async as selection\"\n [disabled]=\"!selection || selection.length === 0\"\n [mat-dialog-close]=\"selection\"\n >\n {{'actions.select' | translate}}\n </button>\n </mat-toolbar>\n <div class=\"layout-col flex\" style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"data.selectionComponentTemplate\"></ng-container>\n </div>\n</div>\n" }]
44
43
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
45
44
  type: Inject,
46
45
  args: [MAT_DIALOG_DATA]
47
46
  }] }, { type: i2.SelectionModel }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvcG9wdXAvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvcG9wdXAvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSx1QkFBdUIsRUFBZSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQWUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7QUFhdkUsTUFBTSxPQUFPLGlDQUFpQztJQVU1Qzs7OztnRkFJNEU7SUFFNUUsWUFDVSxTQUEwRCxFQUN6QixJQUFrQyxFQUMzRCxjQUFtQztRQUYzQyxjQUFTLEdBQVQsU0FBUyxDQUFpRDtRQUN6QixTQUFJLEdBQUosSUFBSSxDQUE4QjtRQUMzRCxtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7UUFqQnJEOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBY3RFLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsUUFBUTtJQUNmLENBQUM7OytIQS9CVSxpQ0FBaUMsOENBa0JsQyxlQUFlO21IQWxCZCxpQ0FBaUMsd0VDaEI5Qyw0c0JBa0JBOzRGREZhLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDRSxrQ0FBa0MsbUJBRzNCLHVCQUF1QixDQUFDLE1BQU07OzBCQW9CNUMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFRlbXBsYXRlUmVmLCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTZWxlY3Rpb25Nb2RlbH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge01BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZWxlY3Rpb25Nb2RlbERpYWxvZ09wdGlvbnMge1xuICByZWFkb25seSBzZWxlY3Rpb25Db21wb25lbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pjtcbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci10ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZWQtc2VsZWN0aW9uLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RlbXBsYXRlZC1zZWxlY3Rpb24tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlZFNlbGVjdGlvbkRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIHJlYWRvbmx5IGRhdGE6IElTZWxlY3Rpb25Nb2RlbERpYWxvZ09wdGlvbnMsXG4gICAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGlvbk1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxhbnk+XG4gICkge1xuXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29tcG9uZW50IEV2ZW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxufVxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4RmlsbD5cbiAgPG1hdC10b29sYmFyIGVsZGVyVGhlbWUgZnhGbGV4PVwibm9uZVwiPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXREaWFsb2dDbG9zZT1cIlwiPlxuICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8c3BhbiBmeEZsZXg+PC9zcGFuPlxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICAqbmdJZj1cInNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbiB8IGFzeW5jIGFzIHNlbGVjdGlvblwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24ubGVuZ3RoID09PSAwXCJcbiAgICAgICAgICAgIFttYXQtZGlhbG9nLWNsb3NlXT1cInNlbGVjdGlvblwiXG4gICAgPlxuICAgICAge3snYWN0aW9ucy5zZWxlY3QnIHwgdHJhbnNsYXRlfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtdG9vbGJhcj5cbiAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleCBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW5cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF0YS5zZWxlY3Rpb25Db21wb25lbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvcG9wdXAvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvcG9wdXAvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVSx1QkFBdUIsRUFBZSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQWUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7OztBQWF2RSxNQUFNLE9BQU8saUNBQWlDO0lBVTVDOzs7O2dGQUk0RTtJQUU1RSxZQUNVLFNBQTBELEVBQ3pCLElBQWtDLEVBQzNELGNBQW1DO1FBRjNDLGNBQVMsR0FBVCxTQUFTLENBQWlEO1FBQ3pCLFNBQUksR0FBSixJQUFJLENBQThCO1FBQzNELG1CQUFjLEdBQWQsY0FBYyxDQUFxQjtRQWpCckQ7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFjdEUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxRQUFRO0lBQ2YsQ0FBQzs7K0hBL0JVLGlDQUFpQyw4Q0FrQmxDLGVBQWU7bUhBbEJkLGlDQUFpQyx3RUNoQjlDLHN0QkFrQkE7NEZERmEsaUNBQWlDO2tCQU43QyxTQUFTOytCQUNFLGtDQUFrQyxtQkFHM0IsdUJBQXVCLENBQUMsTUFBTTs7MEJBb0I1QyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVGVtcGxhdGVSZWYsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7TUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbGVjdGlvbk1vZGVsRGlhbG9nT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbkNvbXBvbmVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLXRlbXBsYXRlZC1zZWxlY3Rpb24tZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlZC1zZWxlY3Rpb24tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgcmVhZG9ubHkgZGF0YTogSVNlbGVjdGlvbk1vZGVsRGlhbG9nT3B0aW9ucyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0aW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPGFueT5cbiAgKSB7XG5cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb21wb25lbnQgRXZlbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmdWxsXCI+XG4gIDxtYXQtdG9vbGJhciBlbGRlclRoZW1lIGNsYXNzPVwiZmxleC1ub25lXCI+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdERpYWxvZ0Nsb3NlPVwiXCI+XG4gICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxzcGFuIGNsYXNzPVwiZmxleFwiPjwvc3Bhbj5cbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlbC5zZWxlY3Rpb24gfCBhc3luYyBhcyBzZWxlY3Rpb25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFzZWxlY3Rpb24gfHwgc2VsZWN0aW9uLmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICBbbWF0LWRpYWxvZy1jbG9zZV09XCJzZWxlY3Rpb25cIlxuICAgID5cbiAgICAgIHt7J2FjdGlvbnMuc2VsZWN0JyB8IHRyYW5zbGF0ZX19XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29sIGZsZXhcIiBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW5cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF0YS5zZWxlY3Rpb25Db21wb25lbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19