@fundamental-ngx/core 0.33.5-rc.32 → 0.33.5-rc.35

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 (107) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/avatar.component.d.ts +27 -10
  5. package/avatar/esm2020/avatar.component.mjs +88 -48
  6. package/avatar/fesm2015/fundamental-ngx-core-avatar.mjs +87 -47
  7. package/avatar/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
  8. package/avatar/fesm2020/fundamental-ngx-core-avatar.mjs +87 -47
  9. package/avatar/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
  10. package/avatar/package.json +1 -1
  11. package/avatar-group/package.json +1 -1
  12. package/bar/package.json +1 -1
  13. package/breadcrumb/package.json +1 -1
  14. package/busy-indicator/package.json +1 -1
  15. package/button/package.json +1 -1
  16. package/calendar/package.json +1 -1
  17. package/card/package.json +1 -1
  18. package/carousel/package.json +1 -1
  19. package/checkbox/package.json +1 -1
  20. package/combobox/package.json +1 -1
  21. package/date-picker/package.json +1 -1
  22. package/datetime/package.json +1 -1
  23. package/datetime-picker/package.json +1 -1
  24. package/dialog/package.json +1 -1
  25. package/dynamic-page/package.json +1 -1
  26. package/dynamic-side-content/package.json +1 -1
  27. package/esm2020/avatar/avatar.component.mjs +88 -48
  28. package/esm2020/shellbar/user-menu/shellbar-user-menu.component.mjs +1 -1
  29. package/facets/package.json +1 -1
  30. package/feed-input/package.json +1 -1
  31. package/feed-list-item/package.json +1 -1
  32. package/fesm2015/fundamental-ngx-core-avatar.mjs +87 -47
  33. package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
  34. package/fesm2015/fundamental-ngx-core-shellbar.mjs +1 -1
  35. package/fesm2020/fundamental-ngx-core-avatar.mjs +87 -47
  36. package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
  37. package/fesm2020/fundamental-ngx-core-shellbar.mjs +1 -1
  38. package/file-uploader/package.json +1 -1
  39. package/fixed-card-layout/package.json +1 -1
  40. package/flexible-column-layout/package.json +1 -1
  41. package/form/package.json +1 -1
  42. package/formatted-text/package.json +1 -1
  43. package/grid-list/package.json +1 -1
  44. package/icon/package.json +1 -1
  45. package/illustrated-message/package.json +1 -1
  46. package/infinite-scroll/package.json +1 -1
  47. package/info-label/package.json +1 -1
  48. package/inline-help/package.json +1 -1
  49. package/input-group/package.json +1 -1
  50. package/layout-grid/package.json +1 -1
  51. package/layout-panel/package.json +1 -1
  52. package/link/package.json +1 -1
  53. package/list/package.json +1 -1
  54. package/menu/package.json +1 -1
  55. package/message-box/package.json +1 -1
  56. package/message-strip/package.json +1 -1
  57. package/message-toast/package.json +1 -1
  58. package/micro-process-flow/package.json +1 -1
  59. package/mobile-mode/package.json +1 -1
  60. package/multi-input/package.json +1 -1
  61. package/nested-list/package.json +1 -1
  62. package/notification/package.json +1 -1
  63. package/object-identifier/package.json +1 -1
  64. package/object-marker/package.json +1 -1
  65. package/object-number/package.json +1 -1
  66. package/object-status/package.json +1 -1
  67. package/package.json +2 -2
  68. package/pagination/package.json +1 -1
  69. package/panel/package.json +1 -1
  70. package/popover/package.json +1 -1
  71. package/product-switch/package.json +1 -1
  72. package/progress-indicator/package.json +1 -1
  73. package/quick-view/package.json +1 -1
  74. package/radio/package.json +1 -1
  75. package/rating-indicator/package.json +1 -1
  76. package/resizable-card-layout/package.json +1 -1
  77. package/scroll-spy/package.json +1 -1
  78. package/scrollbar/package.json +1 -1
  79. package/segmented-button/package.json +1 -1
  80. package/select/package.json +1 -1
  81. package/shared/package.json +1 -1
  82. package/shellbar/esm2020/user-menu/shellbar-user-menu.component.mjs +1 -1
  83. package/shellbar/fesm2015/fundamental-ngx-core-shellbar.mjs +1 -1
  84. package/shellbar/fesm2020/fundamental-ngx-core-shellbar.mjs +1 -1
  85. package/shellbar/package.json +1 -1
  86. package/side-navigation/package.json +1 -1
  87. package/slider/package.json +1 -1
  88. package/split-button/package.json +1 -1
  89. package/splitter/package.json +1 -1
  90. package/status-indicator/package.json +1 -1
  91. package/step-input/package.json +1 -1
  92. package/switch/package.json +1 -1
  93. package/table/package.json +1 -1
  94. package/tabs/package.json +1 -1
  95. package/text/package.json +1 -1
  96. package/tile/package.json +1 -1
  97. package/time/package.json +1 -1
  98. package/time-picker/package.json +1 -1
  99. package/timeline/package.json +1 -1
  100. package/title/package.json +1 -1
  101. package/token/package.json +1 -1
  102. package/toolbar/package.json +1 -1
  103. package/tree/package.json +1 -1
  104. package/upload-collection/package.json +1 -1
  105. package/utils/package.json +2 -2
  106. package/vertical-navigation/package.json +1 -1
  107. package/wizard/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/action-bar",
3
- "version": "0.33.5-rc.32",
3
+ "version": "0.33.5-rc.35",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/action-sheet",
3
- "version": "0.33.5-rc.32",
3
+ "version": "0.33.5-rc.35",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/alert",
3
- "version": "0.33.5-rc.32",
3
+ "version": "0.33.5-rc.35",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, ElementRef, OnChanges, OnInit } from '@angular/core';
1
+ import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit } from '@angular/core';
2
2
  import { ColorAccent, Size, CssClassBuilder } from '@fundamental-ngx/core/utils';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuilder {
@@ -20,22 +20,24 @@ export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuild
20
20
  glyph: string;
21
21
  /** The glyph name for zoom icon. */
22
22
  zoomGlyph: string;
23
- /** Whether or not to apply a circle style to the Avatar. */
23
+ /** Whether to apply a circle style to the Avatar. */
24
24
  circle: boolean;
25
- /** Whether or not to apply a transparent style to the Avatar. */
25
+ /** Whether to apply a transparent style to the Avatar. */
26
26
  transparent: boolean;
27
- /** Whether or not to apply background size contain style to the Avatar */
27
+ /** Whether to apply background size contain style to the Avatar */
28
28
  contain: boolean;
29
- /** Whether or not to apply a placeholder background style to the Avatar. */
29
+ /** Whether to apply a placeholder background style to the Avatar. */
30
30
  placeholder: boolean;
31
- /** Whether or not to apply a tile background style to the Avatar. */
31
+ /** Whether to apply a tile background style to the Avatar. */
32
32
  tile: boolean;
33
- /** Whether or not to apply a border to the Avatar. */
33
+ /** Whether to apply a border to the Avatar. */
34
34
  border: boolean;
35
35
  /** A number from 1 to 10 representing the background color of the Avatar. */
36
36
  colorAccent: ColorAccent;
37
- /** Whether or not to apply random background color to the Avatar. */
37
+ /** Whether to apply random background color to the Avatar. */
38
38
  random: boolean;
39
+ /** Whether component should be focusable & clicable */
40
+ clickable: boolean;
39
41
  /**
40
42
  * @deprecated
41
43
  * Deprecated according to Rename `backgroundImage` to `image`
@@ -45,10 +47,21 @@ export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuild
45
47
  /** Background image resource: url or base64. */
46
48
  set image(value: string);
47
49
  get image(): string;
50
+ /** Backup options to use when image hasn't been loaded successfully.
51
+ * Options separated with "|" symbol.
52
+ * Possible options: content, alt, backup, default-icon
53
+ */
48
54
  set alterIcon(value: string);
49
55
  get alterIcon(): string;
56
+ /** Backup image to load when image hasn't been loaded successfully.
57
+ * Only applicable when using alterIcon input property.
58
+ */
50
59
  set backupImage(value: string);
51
60
  get backupImage(): string;
61
+ /** Event emitted when avatar clicked. Only fires if clickable input property set to true. */
62
+ avatarClicked: EventEmitter<void>;
63
+ /** Event emitted when zoom icon clicked. Only fires if zoomGlyph input property is set. */
64
+ zoomGlyphClicked: EventEmitter<void>;
52
65
  /** @hidden */
53
66
  get bgImage(): string;
54
67
  /** @hidden */
@@ -67,6 +80,8 @@ export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuild
67
80
  private _backupImage;
68
81
  /** @hidden */
69
82
  private _bgImage;
83
+ /** @hidden */
84
+ get _tabindex(): number;
70
85
  /** If a default placeholder should be displayed */
71
86
  get showDefault(): boolean;
72
87
  /** @hidden */
@@ -82,9 +97,11 @@ export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuild
82
97
  buildComponentCssClass(): string[];
83
98
  /** @hidden */
84
99
  elementRef(): ElementRef<any>;
100
+ /** @hidden */
101
+ _onClick(): void;
85
102
  /** @hidden Get an abbreviate from the label or return null if not fit requirements */
86
103
  private _getAbbreviate;
87
- /** @hidden Get the abbrevation string */
104
+ /** @hidden Get the abbreviation string */
88
105
  private _generateAbbreviation;
89
106
  /** @hidden */
90
107
  private _setImage;
@@ -97,5 +114,5 @@ export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuild
97
114
  /** @hidden */
98
115
  private _showDefaultIcon;
99
116
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, never>;
100
- static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "fd-avatar", never, { "class": "class"; "id": "id"; "ariaLabel": "ariaLabel"; "ariaLabelledby": "ariaLabelledby"; "label": "label"; "size": "size"; "glyph": "glyph"; "zoomGlyph": "zoomGlyph"; "circle": "circle"; "transparent": "transparent"; "contain": "contain"; "placeholder": "placeholder"; "tile": "tile"; "border": "border"; "colorAccent": "colorAccent"; "random": "random"; "backgroundImage": "backgroundImage"; "image": "image"; "alterIcon": "alterIcon"; "backupImage": "backupImage"; }, {}, never, ["*"]>;
117
+ static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "fd-avatar", never, { "class": "class"; "id": "id"; "ariaLabel": "ariaLabel"; "ariaLabelledby": "ariaLabelledby"; "label": "label"; "size": "size"; "glyph": "glyph"; "zoomGlyph": "zoomGlyph"; "circle": "circle"; "transparent": "transparent"; "contain": "contain"; "placeholder": "placeholder"; "tile": "tile"; "border": "border"; "colorAccent": "colorAccent"; "random": "random"; "clickable": "clickable"; "backgroundImage": "backgroundImage"; "image": "image"; "alterIcon": "alterIcon"; "backupImage": "backupImage"; }, { "avatarClicked": "avatarClicked"; "zoomGlyphClicked": "zoomGlyphClicked"; }, never, ["*"]>;
101
118
  }
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, Input, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
3
3
  import { ANY_LANGUAGE_LETTERS_REGEX, applyCssClass, getRandomColorAccent } from '@fundamental-ngx/core/utils';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
@@ -27,22 +27,28 @@ export class AvatarComponent {
27
27
  this.glyph = null;
28
28
  /** The glyph name for zoom icon. */
29
29
  this.zoomGlyph = null;
30
- /** Whether or not to apply a circle style to the Avatar. */
30
+ /** Whether to apply a circle style to the Avatar. */
31
31
  this.circle = false;
32
- /** Whether or not to apply a transparent style to the Avatar. */
32
+ /** Whether to apply a transparent style to the Avatar. */
33
33
  this.transparent = false;
34
- /** Whether or not to apply background size contain style to the Avatar */
34
+ /** Whether to apply background size contain style to the Avatar */
35
35
  this.contain = false;
36
- /** Whether or not to apply a placeholder background style to the Avatar. */
36
+ /** Whether to apply a placeholder background style to the Avatar. */
37
37
  this.placeholder = false;
38
- /** Whether or not to apply a tile background style to the Avatar. */
38
+ /** Whether to apply a tile background style to the Avatar. */
39
39
  this.tile = false;
40
- /** Whether or not to apply a border to the Avatar. */
40
+ /** Whether to apply a border to the Avatar. */
41
41
  this.border = false;
42
42
  /** A number from 1 to 10 representing the background color of the Avatar. */
43
43
  this.colorAccent = null;
44
- /** Whether or not to apply random background color to the Avatar. */
44
+ /** Whether to apply random background color to the Avatar. */
45
45
  this.random = false;
46
+ /** Whether component should be focusable & clicable */
47
+ this.clickable = false;
48
+ /** Event emitted when avatar clicked. Only fires if clickable input property set to true. */
49
+ this.avatarClicked = new EventEmitter();
50
+ /** Event emitted when zoom icon clicked. Only fires if zoomGlyph input property is set. */
51
+ this.zoomGlyphClicked = new EventEmitter();
46
52
  /** @hidden */
47
53
  this.abbreviate = null;
48
54
  /** @hidden */
@@ -76,12 +82,19 @@ export class AvatarComponent {
76
82
  get image() {
77
83
  return this._image;
78
84
  }
85
+ /** Backup options to use when image hasn't been loaded successfully.
86
+ * Options separated with "|" symbol.
87
+ * Possible options: content, alt, backup, default-icon
88
+ */
79
89
  set alterIcon(value) {
80
90
  this._alterIcon = value;
81
91
  }
82
92
  get alterIcon() {
83
93
  return this._alterIcon;
84
94
  }
95
+ /** Backup image to load when image hasn't been loaded successfully.
96
+ * Only applicable when using alterIcon input property.
97
+ */
85
98
  set backupImage(value) {
86
99
  this._backupImage = value;
87
100
  }
@@ -100,6 +113,10 @@ export class AvatarComponent {
100
113
  set content(value) {
101
114
  this._content = value;
102
115
  }
116
+ /** @hidden */
117
+ get _tabindex() {
118
+ return this.clickable ? 0 : null;
119
+ }
103
120
  /** If a default placeholder should be displayed */
104
121
  get showDefault() {
105
122
  return !this.abbreviate && !this._image && !this.glyph;
@@ -135,6 +152,12 @@ export class AvatarComponent {
135
152
  elementRef() {
136
153
  return this._elementRef;
137
154
  }
155
+ /** @hidden */
156
+ _onClick() {
157
+ if (this.clickable) {
158
+ this.avatarClicked.emit();
159
+ }
160
+ }
138
161
  /** @hidden Get an abbreviate from the label or return null if not fit requirements */
139
162
  _getAbbreviate(label) {
140
163
  if (!label || this._image) {
@@ -142,7 +165,7 @@ export class AvatarComponent {
142
165
  }
143
166
  return this._generateAbbreviation(label);
144
167
  }
145
- /** @hidden Get the abbrevation string */
168
+ /** @hidden Get the abbreviation string */
146
169
  _generateAbbreviation(label) {
147
170
  const maxLettersCount = 3;
148
171
  const firstLetters = label.split(' ').map((word) => word.charAt(0));
@@ -178,48 +201,48 @@ export class AvatarComponent {
178
201
  _onErrorCallback() {
179
202
  if (!this._alterIcon) {
180
203
  this._showDefaultIcon();
204
+ this._cdr.detectChanges();
205
+ return;
181
206
  }
182
- else {
183
- const options = this._alterIcon.split('|');
184
- for (let i = 0; i < options.length; i++) {
185
- const option = options[i];
186
- if (option === ALTER_ICON_OPTIONS.CONTENT) {
187
- const contentValue = this._content.nativeElement.innerText;
188
- if (contentValue && contentValue !== '') {
189
- this.abbreviate = this._generateAbbreviation(contentValue);
190
- break;
191
- }
192
- continue;
193
- }
194
- if (option === ALTER_ICON_OPTIONS.ALT) {
195
- const altValue = this.elementRef().nativeElement.getAttribute('alt');
196
- if (altValue && altValue !== '') {
197
- this.abbreviate = this._generateAbbreviation(altValue);
198
- break;
199
- }
200
- continue;
207
+ const options = this._alterIcon.split('|');
208
+ for (let i = 0; i < options.length; i++) {
209
+ const option = options[i];
210
+ if (option === ALTER_ICON_OPTIONS.CONTENT) {
211
+ const contentValue = this._content.nativeElement.innerText;
212
+ if (contentValue) {
213
+ this.abbreviate = this._generateAbbreviation(contentValue);
214
+ break;
201
215
  }
202
- if (option === ALTER_ICON_OPTIONS.BACKUP) {
203
- if (this._backupImage && this._backupImage !== '') {
204
- // Check if backupImage can be loaded successfully
205
- // If not, set default user icon
206
- this._verifyImageUrl(this._backupImage, () => {
207
- this._assignBgImage(this._backupImage);
208
- this._cdr.detectChanges();
209
- }, () => {
210
- this._showDefaultIcon();
211
- this._cdr.detectChanges();
212
- });
213
- break;
214
- }
215
- continue;
216
+ continue;
217
+ }
218
+ if (option === ALTER_ICON_OPTIONS.ALT) {
219
+ const altValue = this.elementRef().nativeElement.getAttribute('alt');
220
+ if (altValue) {
221
+ this.abbreviate = this._generateAbbreviation(altValue);
222
+ break;
216
223
  }
217
- if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {
218
- this._showDefaultIcon();
224
+ continue;
225
+ }
226
+ if (option === ALTER_ICON_OPTIONS.BACKUP) {
227
+ if (this._backupImage && this._backupImage !== '') {
228
+ // Check if backupImage can be loaded successfully
229
+ // If not, set default user icon
230
+ this._verifyImageUrl(this._backupImage, () => {
231
+ this._assignBgImage(this._backupImage);
232
+ this._cdr.detectChanges();
233
+ }, () => {
234
+ this._showDefaultIcon();
235
+ this._cdr.detectChanges();
236
+ });
219
237
  break;
220
238
  }
239
+ continue;
240
+ }
241
+ if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {
221
242
  this._showDefaultIcon();
243
+ break;
222
244
  }
245
+ this._showDefaultIcon();
223
246
  }
224
247
  this._cdr.detectChanges();
225
248
  }
@@ -231,7 +254,7 @@ export class AvatarComponent {
231
254
  }
232
255
  }
233
256
  AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
234
- AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: AvatarComponent, selector: "fd-avatar", inputs: { class: "class", id: "id", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", label: "label", size: "size", glyph: "glyph", zoomGlyph: "zoomGlyph", circle: "circle", transparent: "transparent", contain: "contain", placeholder: "placeholder", tile: "tile", border: "border", colorAccent: "colorAccent", random: "random", backgroundImage: "backgroundImage", image: "image", alterIcon: "alterIcon", backupImage: "backupImage" }, host: { properties: { "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.aria-labelledby": "this.ariaLabelledby", "style.background-image": "this.bgImage", "attr.role": "this.role" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "{{ abbreviate }}\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n>\n</i>\n<i *ngIf=\"glyph\" class=\"fd-avatar__icon\" [class]=\"glyph ? ' sap-icon--' + glyph : ''\" role=\"presentation\"> </i>\n<i *ngIf=\"showDefault\" class=\"fd-avatar__icon sap-icon--person-placeholder\" role=\"presentation\"> </i>\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.21.0-rc.92\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-avatar+((--circle), (--thumbnail), (--xxs|--xs|--s|--m|--l|--xl|--xxl), (--accent-color-{1-10}))\n .fd-avatar__icon\n .fd-avatar__zoom-icon\n*/.fd-avatar{font-size:.875rem;font-size:var(--sapFontSize, .875rem);line-height:1.4;line-height:var(--sapContent_LineHeight, 1.4);color:#32363a;color:var(--sapTextColor, #32363a);font-family:\"72\",\"72full\",Arial,Helvetica,sans-serif;font-family:var(--sapFontFamily, \"72\", \"72full\", Arial, Helvetica, sans-serif);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;border:none;border:var(--fdAvatar_Border, none);color:#fff;color:var(--sapContent_ContrastTextColor, #fff);background-color:#286eb4;background-color:var(--fdAvatar_BackgroundColor, var(--sapAccentColor6, #286eb4));display:inline-block;position:relative;vertical-align:middle;text-align:center;background-repeat:no-repeat;background-size:cover;background-position:50%;border-radius:.25rem;border-radius:var(--sapElement_BorderCornerRadius, .25rem)}.fd-avatar:after,.fd-avatar:before{box-sizing:inherit;font-size:inherit}.fd-avatar.is-focus,.fd-avatar:focus{outline-width:.0625rem;outline-width:var(--sapContent_FocusWidth, .0625rem);outline-color:#000;outline-color:var(--sapContent_FocusColor, #000);outline-style:dotted;outline-style:var(--sapContent_FocusStyle, dotted)}.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;display:flex;justify-content:center;align-items:center;position:absolute;color:#fff;color:var(--sapButton_Emphasized_TextColor, #fff);background-color:#0a6ed1;background-color:var(--sapButton_Emphasized_Background, #0a6ed1);border-radius:50%;border:.0625rem solid #0a6ed1;border:.0625rem solid var(--sapButton_Emphasized_BorderColor, #0a6ed1)}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;display:flex;justify-content:center;align-items:center;align-content:center}.fd-avatar--circle{border-radius:50%}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{bottom:0;right:0}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:0}.fd-avatar--transparent{background-color:transparent;background-color:var(--fdAvatar-Transparent_BackgroundColor, transparent);color:#0854a0;color:var(--sapContent_IconColor, #0854a0)}.fd-avatar--background-contain{background-size:contain}.fd-avatar--placeholder{background-color:#ccc;background-color:var(--sapContent_ImagePlaceholderBackground, #ccc)}.fd-avatar--tile{background-color:#5a7da0;background-color:var(--fdAvatar_Tile_BackgroundColor, var(--sapTile_IconColor, #5a7da0))}.fd-avatar--border{border:.0625rem solid #d9d9d9;border:.0625rem solid var(--sapGroup_ContentBorderColor, #d9d9d9)}.fd-avatar--accent-color-1{background-color:#d08014;background-color:var(--sapAccentColor1, #d08014);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-2{background-color:#d04343;background-color:var(--sapAccentColor2, #d04343);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-3{background-color:#db1f77;background-color:var(--sapAccentColor3, #db1f77);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-4{background-color:#c0399f;background-color:var(--sapAccentColor4, #c0399f);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-5{background-color:#6367de;background-color:var(--sapAccentColor5, #6367de);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-6{background-color:#286eb4;background-color:var(--sapAccentColor6, #286eb4);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-7{background-color:#0f828f;background-color:var(--sapAccentColor7, #0f828f);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-8{background-color:#7ca10c;background-color:var(--sapAccentColor8, #7ca10c);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-9{background-color:#925ace;background-color:var(--sapAccentColor9, #925ace);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-10{background-color:#647987;background-color:var(--sapAccentColor10, #647987);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--xs{padding:0;margin:0;width:2rem;height:2rem;max-width:2rem;max-height:2rem;min-width:2rem;min-height:2rem;font-size:1rem;font-stretch:condensed;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--xs .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;width:1.125rem;height:1.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.125rem}.fd-avatar--s{padding:0;margin:0;width:3rem;height:3rem;max-width:3rem;max-height:3rem;min-width:3rem;min-height:3rem;font-size:1.125rem;font-stretch:condensed;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--s .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;width:1.125rem;height:1.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.125rem}.fd-avatar--m{padding:0;margin:0;width:4rem;height:4rem;max-width:4rem;max-height:4rem;min-width:4rem;min-height:4rem;font-size:1.5rem;font-stretch:normal;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--m .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;width:1.125rem;height:1.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.125rem}.fd-avatar--l{padding:0;margin:0;width:5rem;height:5rem;max-width:5rem;max-height:5rem;min-width:5rem;min-height:5rem;font-size:2.25rem;font-stretch:normal;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--l .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.875rem;width:1.25rem;height:1.25rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.1875rem;right:-.1875rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.1875rem}.fd-avatar--xl{padding:0;margin:0;width:7rem;height:7rem;max-width:7rem;max-height:7rem;min-width:7rem;min-height:7rem;font-size:3rem;font-stretch:normal;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--xl .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl .fd-avatar__zoom-icon[class*=sap-icon]{font-size:1rem;width:1.75rem;height:1.75rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.25rem;right:-.25rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.25rem}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
257
+ AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: AvatarComponent, selector: "fd-avatar", inputs: { class: "class", id: "id", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", label: "label", size: "size", glyph: "glyph", zoomGlyph: "zoomGlyph", circle: "circle", transparent: "transparent", contain: "contain", placeholder: "placeholder", tile: "tile", border: "border", colorAccent: "colorAccent", random: "random", clickable: "clickable", backgroundImage: "backgroundImage", image: "image", alterIcon: "alterIcon", backupImage: "backupImage" }, outputs: { avatarClicked: "avatarClicked", zoomGlyphClicked: "zoomGlyphClicked" }, host: { listeners: { "click": "_onClick()", "keyup.enter": "_onClick()", "keyup.space": "_onClick()" }, properties: { "attr.tabindex": "_tabindex", "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.aria-labelledby": "this.ariaLabelledby", "style.background-image": "this.bgImage", "attr.role": "this.role" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "{{ abbreviate }}\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n tabindex=\"0\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n (click)=\"zoomGlyphClicked.next()\"\n (keyup.space)=\"zoomGlyphClicked.next()\"\n (keyup.enter)=\"zoomGlyphClicked.next()\"\n>\n</i>\n\n<i\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [class]=\"glyph ? 'sap-icon--' + glyph : 'sap-icon--person-placeholder'\"\n>\n</i>\n\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.21.0-rc.92\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-avatar+((--circle), (--thumbnail), (--xxs|--xs|--s|--m|--l|--xl|--xxl), (--accent-color-{1-10}))\n .fd-avatar__icon\n .fd-avatar__zoom-icon\n*/.fd-avatar{font-size:.875rem;font-size:var(--sapFontSize, .875rem);line-height:1.4;line-height:var(--sapContent_LineHeight, 1.4);color:#32363a;color:var(--sapTextColor, #32363a);font-family:\"72\",\"72full\",Arial,Helvetica,sans-serif;font-family:var(--sapFontFamily, \"72\", \"72full\", Arial, Helvetica, sans-serif);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;border:none;border:var(--fdAvatar_Border, none);color:#fff;color:var(--sapContent_ContrastTextColor, #fff);background-color:#286eb4;background-color:var(--fdAvatar_BackgroundColor, var(--sapAccentColor6, #286eb4));display:inline-block;position:relative;vertical-align:middle;text-align:center;background-repeat:no-repeat;background-size:cover;background-position:50%;border-radius:.25rem;border-radius:var(--sapElement_BorderCornerRadius, .25rem)}.fd-avatar:after,.fd-avatar:before{box-sizing:inherit;font-size:inherit}.fd-avatar.is-focus,.fd-avatar:focus{outline-width:.0625rem;outline-width:var(--sapContent_FocusWidth, .0625rem);outline-color:#000;outline-color:var(--sapContent_FocusColor, #000);outline-style:dotted;outline-style:var(--sapContent_FocusStyle, dotted)}.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;display:flex;justify-content:center;align-items:center;position:absolute;color:#fff;color:var(--sapButton_Emphasized_TextColor, #fff);background-color:#0a6ed1;background-color:var(--sapButton_Emphasized_Background, #0a6ed1);border-radius:50%;border:.0625rem solid #0a6ed1;border:.0625rem solid var(--sapButton_Emphasized_BorderColor, #0a6ed1)}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;display:flex;justify-content:center;align-items:center;align-content:center}.fd-avatar--circle{border-radius:50%}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{bottom:0;right:0}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:0}.fd-avatar--transparent{background-color:transparent;background-color:var(--fdAvatar-Transparent_BackgroundColor, transparent);color:#0854a0;color:var(--sapContent_IconColor, #0854a0)}.fd-avatar--background-contain{background-size:contain}.fd-avatar--placeholder{background-color:#ccc;background-color:var(--sapContent_ImagePlaceholderBackground, #ccc)}.fd-avatar--tile{background-color:#5a7da0;background-color:var(--fdAvatar_Tile_BackgroundColor, var(--sapTile_IconColor, #5a7da0))}.fd-avatar--border{border:.0625rem solid #d9d9d9;border:.0625rem solid var(--sapGroup_ContentBorderColor, #d9d9d9)}.fd-avatar--accent-color-1{background-color:#d08014;background-color:var(--sapAccentColor1, #d08014);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-2{background-color:#d04343;background-color:var(--sapAccentColor2, #d04343);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-3{background-color:#db1f77;background-color:var(--sapAccentColor3, #db1f77);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-4{background-color:#c0399f;background-color:var(--sapAccentColor4, #c0399f);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-5{background-color:#6367de;background-color:var(--sapAccentColor5, #6367de);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-6{background-color:#286eb4;background-color:var(--sapAccentColor6, #286eb4);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-7{background-color:#0f828f;background-color:var(--sapAccentColor7, #0f828f);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-8{background-color:#7ca10c;background-color:var(--sapAccentColor8, #7ca10c);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-9{background-color:#925ace;background-color:var(--sapAccentColor9, #925ace);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-10{background-color:#647987;background-color:var(--sapAccentColor10, #647987);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--xs{padding:0;margin:0;width:2rem;height:2rem;max-width:2rem;max-height:2rem;min-width:2rem;min-height:2rem;font-size:1rem;font-stretch:condensed;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--xs .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;width:1.125rem;height:1.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.125rem}.fd-avatar--s{padding:0;margin:0;width:3rem;height:3rem;max-width:3rem;max-height:3rem;min-width:3rem;min-height:3rem;font-size:1.125rem;font-stretch:condensed;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--s .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;width:1.125rem;height:1.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.125rem}.fd-avatar--m{padding:0;margin:0;width:4rem;height:4rem;max-width:4rem;max-height:4rem;min-width:4rem;min-height:4rem;font-size:1.5rem;font-stretch:normal;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--m .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;width:1.125rem;height:1.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.125rem}.fd-avatar--l{padding:0;margin:0;width:5rem;height:5rem;max-width:5rem;max-height:5rem;min-width:5rem;min-height:5rem;font-size:2.25rem;font-stretch:normal;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--l .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.875rem;width:1.25rem;height:1.25rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.1875rem;right:-.1875rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.1875rem}.fd-avatar--xl{padding:0;margin:0;width:7rem;height:7rem;max-width:7rem;max-height:7rem;min-width:7rem;min-height:7rem;font-size:3rem;font-stretch:normal;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--xl .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl .fd-avatar__zoom-icon[class*=sap-icon]{font-size:1rem;width:1.75rem;height:1.75rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.25rem;right:-.25rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.25rem}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
235
258
  __decorate([
236
259
  applyCssClass,
237
260
  __metadata("design:type", Function),
@@ -240,7 +263,9 @@ __decorate([
240
263
  ], AvatarComponent.prototype, "buildComponentCssClass", null);
241
264
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: AvatarComponent, decorators: [{
242
265
  type: Component,
243
- args: [{ selector: 'fd-avatar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "{{ abbreviate }}\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n>\n</i>\n<i *ngIf=\"glyph\" class=\"fd-avatar__icon\" [class]=\"glyph ? ' sap-icon--' + glyph : ''\" role=\"presentation\"> </i>\n<i *ngIf=\"showDefault\" class=\"fd-avatar__icon sap-icon--person-placeholder\" role=\"presentation\"> </i>\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.21.0-rc.92\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-avatar+((--circle), (--thumbnail), (--xxs|--xs|--s|--m|--l|--xl|--xxl), (--accent-color-{1-10}))\n .fd-avatar__icon\n .fd-avatar__zoom-icon\n*/.fd-avatar{font-size:.875rem;font-size:var(--sapFontSize, .875rem);line-height:1.4;line-height:var(--sapContent_LineHeight, 1.4);color:#32363a;color:var(--sapTextColor, #32363a);font-family:\"72\",\"72full\",Arial,Helvetica,sans-serif;font-family:var(--sapFontFamily, \"72\", \"72full\", Arial, Helvetica, sans-serif);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;border:none;border:var(--fdAvatar_Border, none);color:#fff;color:var(--sapContent_ContrastTextColor, #fff);background-color:#286eb4;background-color:var(--fdAvatar_BackgroundColor, var(--sapAccentColor6, #286eb4));display:inline-block;position:relative;vertical-align:middle;text-align:center;background-repeat:no-repeat;background-size:cover;background-position:50%;border-radius:.25rem;border-radius:var(--sapElement_BorderCornerRadius, .25rem)}.fd-avatar:after,.fd-avatar:before{box-sizing:inherit;font-size:inherit}.fd-avatar.is-focus,.fd-avatar:focus{outline-width:.0625rem;outline-width:var(--sapContent_FocusWidth, .0625rem);outline-color:#000;outline-color:var(--sapContent_FocusColor, #000);outline-style:dotted;outline-style:var(--sapContent_FocusStyle, dotted)}.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;display:flex;justify-content:center;align-items:center;position:absolute;color:#fff;color:var(--sapButton_Emphasized_TextColor, #fff);background-color:#0a6ed1;background-color:var(--sapButton_Emphasized_Background, #0a6ed1);border-radius:50%;border:.0625rem solid #0a6ed1;border:.0625rem solid var(--sapButton_Emphasized_BorderColor, #0a6ed1)}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;display:flex;justify-content:center;align-items:center;align-content:center}.fd-avatar--circle{border-radius:50%}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{bottom:0;right:0}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:0}.fd-avatar--transparent{background-color:transparent;background-color:var(--fdAvatar-Transparent_BackgroundColor, transparent);color:#0854a0;color:var(--sapContent_IconColor, #0854a0)}.fd-avatar--background-contain{background-size:contain}.fd-avatar--placeholder{background-color:#ccc;background-color:var(--sapContent_ImagePlaceholderBackground, #ccc)}.fd-avatar--tile{background-color:#5a7da0;background-color:var(--fdAvatar_Tile_BackgroundColor, var(--sapTile_IconColor, #5a7da0))}.fd-avatar--border{border:.0625rem solid #d9d9d9;border:.0625rem solid var(--sapGroup_ContentBorderColor, #d9d9d9)}.fd-avatar--accent-color-1{background-color:#d08014;background-color:var(--sapAccentColor1, #d08014);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-2{background-color:#d04343;background-color:var(--sapAccentColor2, #d04343);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-3{background-color:#db1f77;background-color:var(--sapAccentColor3, #db1f77);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-4{background-color:#c0399f;background-color:var(--sapAccentColor4, #c0399f);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-5{background-color:#6367de;background-color:var(--sapAccentColor5, #6367de);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-6{background-color:#286eb4;background-color:var(--sapAccentColor6, #286eb4);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-7{background-color:#0f828f;background-color:var(--sapAccentColor7, #0f828f);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-8{background-color:#7ca10c;background-color:var(--sapAccentColor8, #7ca10c);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-9{background-color:#925ace;background-color:var(--sapAccentColor9, #925ace);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-10{background-color:#647987;background-color:var(--sapAccentColor10, #647987);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--xs{padding:0;margin:0;width:2rem;height:2rem;max-width:2rem;max-height:2rem;min-width:2rem;min-height:2rem;font-size:1rem;font-stretch:condensed;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--xs .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;width:1.125rem;height:1.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.125rem}.fd-avatar--s{padding:0;margin:0;width:3rem;height:3rem;max-width:3rem;max-height:3rem;min-width:3rem;min-height:3rem;font-size:1.125rem;font-stretch:condensed;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--s .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;width:1.125rem;height:1.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.125rem}.fd-avatar--m{padding:0;margin:0;width:4rem;height:4rem;max-width:4rem;max-height:4rem;min-width:4rem;min-height:4rem;font-size:1.5rem;font-stretch:normal;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--m .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;width:1.125rem;height:1.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.125rem}.fd-avatar--l{padding:0;margin:0;width:5rem;height:5rem;max-width:5rem;max-height:5rem;min-width:5rem;min-height:5rem;font-size:2.25rem;font-stretch:normal;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--l .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.875rem;width:1.25rem;height:1.25rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.1875rem;right:-.1875rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.1875rem}.fd-avatar--xl{padding:0;margin:0;width:7rem;height:7rem;max-width:7rem;max-height:7rem;min-width:7rem;min-height:7rem;font-size:3rem;font-stretch:normal;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--xl .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl .fd-avatar__zoom-icon[class*=sap-icon]{font-size:1rem;width:1.75rem;height:1.75rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.25rem;right:-.25rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.25rem}\n"] }]
266
+ args: [{ selector: 'fd-avatar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
267
+ '[attr.tabindex]': '_tabindex'
268
+ }, template: "{{ abbreviate }}\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n tabindex=\"0\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n (click)=\"zoomGlyphClicked.next()\"\n (keyup.space)=\"zoomGlyphClicked.next()\"\n (keyup.enter)=\"zoomGlyphClicked.next()\"\n>\n</i>\n\n<i\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [class]=\"glyph ? 'sap-icon--' + glyph : 'sap-icon--person-placeholder'\"\n>\n</i>\n\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.21.0-rc.92\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-avatar+((--circle), (--thumbnail), (--xxs|--xs|--s|--m|--l|--xl|--xxl), (--accent-color-{1-10}))\n .fd-avatar__icon\n .fd-avatar__zoom-icon\n*/.fd-avatar{font-size:.875rem;font-size:var(--sapFontSize, .875rem);line-height:1.4;line-height:var(--sapContent_LineHeight, 1.4);color:#32363a;color:var(--sapTextColor, #32363a);font-family:\"72\",\"72full\",Arial,Helvetica,sans-serif;font-family:var(--sapFontFamily, \"72\", \"72full\", Arial, Helvetica, sans-serif);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;border:none;border:var(--fdAvatar_Border, none);color:#fff;color:var(--sapContent_ContrastTextColor, #fff);background-color:#286eb4;background-color:var(--fdAvatar_BackgroundColor, var(--sapAccentColor6, #286eb4));display:inline-block;position:relative;vertical-align:middle;text-align:center;background-repeat:no-repeat;background-size:cover;background-position:50%;border-radius:.25rem;border-radius:var(--sapElement_BorderCornerRadius, .25rem)}.fd-avatar:after,.fd-avatar:before{box-sizing:inherit;font-size:inherit}.fd-avatar.is-focus,.fd-avatar:focus{outline-width:.0625rem;outline-width:var(--sapContent_FocusWidth, .0625rem);outline-color:#000;outline-color:var(--sapContent_FocusColor, #000);outline-style:dotted;outline-style:var(--sapContent_FocusStyle, dotted)}.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;display:flex;justify-content:center;align-items:center;position:absolute;color:#fff;color:var(--sapButton_Emphasized_TextColor, #fff);background-color:#0a6ed1;background-color:var(--sapButton_Emphasized_Background, #0a6ed1);border-radius:50%;border:.0625rem solid #0a6ed1;border:.0625rem solid var(--sapButton_Emphasized_BorderColor, #0a6ed1)}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon]{color:inherit;background:inherit;font-size:inherit;border-radius:inherit;line-height:1;display:flex;justify-content:center;align-items:center;align-content:center}.fd-avatar--circle{border-radius:50%}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{bottom:0;right:0}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:0}.fd-avatar--transparent{background-color:transparent;background-color:var(--fdAvatar-Transparent_BackgroundColor, transparent);color:#0854a0;color:var(--sapContent_IconColor, #0854a0)}.fd-avatar--background-contain{background-size:contain}.fd-avatar--placeholder{background-color:#ccc;background-color:var(--sapContent_ImagePlaceholderBackground, #ccc)}.fd-avatar--tile{background-color:#5a7da0;background-color:var(--fdAvatar_Tile_BackgroundColor, var(--sapTile_IconColor, #5a7da0))}.fd-avatar--border{border:.0625rem solid #d9d9d9;border:.0625rem solid var(--sapGroup_ContentBorderColor, #d9d9d9)}.fd-avatar--accent-color-1{background-color:#d08014;background-color:var(--sapAccentColor1, #d08014);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-2{background-color:#d04343;background-color:var(--sapAccentColor2, #d04343);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-3{background-color:#db1f77;background-color:var(--sapAccentColor3, #db1f77);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-4{background-color:#c0399f;background-color:var(--sapAccentColor4, #c0399f);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-5{background-color:#6367de;background-color:var(--sapAccentColor5, #6367de);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-6{background-color:#286eb4;background-color:var(--sapAccentColor6, #286eb4);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-7{background-color:#0f828f;background-color:var(--sapAccentColor7, #0f828f);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-8{background-color:#7ca10c;background-color:var(--sapAccentColor8, #7ca10c);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-9{background-color:#925ace;background-color:var(--sapAccentColor9, #925ace);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--accent-color-10{background-color:#647987;background-color:var(--sapAccentColor10, #647987);color:#fff;color:var(--fdAvatar_Accent_Color, var(--sapContent_ContrastTextColor, #fff))}.fd-avatar--xs{padding:0;margin:0;width:2rem;height:2rem;max-width:2rem;max-height:2rem;min-width:2rem;min-height:2rem;font-size:1rem;font-stretch:condensed;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--xs .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;width:1.125rem;height:1.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.125rem}.fd-avatar--s{padding:0;margin:0;width:3rem;height:3rem;max-width:3rem;max-height:3rem;min-width:3rem;min-height:3rem;font-size:1.125rem;font-stretch:condensed;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--s .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;width:1.125rem;height:1.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.125rem}.fd-avatar--m{padding:0;margin:0;width:4rem;height:4rem;max-width:4rem;max-height:4rem;min-width:4rem;min-height:4rem;font-size:1.5rem;font-stretch:normal;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--m .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;width:1.125rem;height:1.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.125rem}.fd-avatar--l{padding:0;margin:0;width:5rem;height:5rem;max-width:5rem;max-height:5rem;min-width:5rem;min-height:5rem;font-size:2.25rem;font-stretch:normal;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--l .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.875rem;width:1.25rem;height:1.25rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.1875rem;right:-.1875rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.1875rem}.fd-avatar--xl{padding:0;margin:0;width:7rem;height:7rem;max-width:7rem;max-height:7rem;min-width:7rem;min-height:7rem;font-size:3rem;font-stretch:normal;display:inline-flex;align-items:center;justify-content:center}.fd-avatar--xl .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl .fd-avatar__zoom-icon[class*=sap-icon]{font-size:1rem;width:1.75rem;height:1.75rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.25rem;right:-.25rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{right:auto;left:-.25rem}\n"] }]
244
269
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { class: [{
245
270
  type: Input
246
271
  }], id: [{
@@ -282,6 +307,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
282
307
  type: Input
283
308
  }], random: [{
284
309
  type: Input
310
+ }], clickable: [{
311
+ type: Input
285
312
  }], backgroundImage: [{
286
313
  type: Input
287
314
  }], image: [{
@@ -290,6 +317,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
290
317
  type: Input
291
318
  }], backupImage: [{
292
319
  type: Input
320
+ }], avatarClicked: [{
321
+ type: Output
322
+ }], zoomGlyphClicked: [{
323
+ type: Output
293
324
  }], bgImage: [{
294
325
  type: HostBinding,
295
326
  args: ['style.background-image']
@@ -304,5 +335,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
304
335
  * function must return single string
305
336
  * function is responsible for order which css classes are applied
306
337
  */
307
- buildComponentCssClass: [] } });
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUdMLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILDBCQUEwQixFQUcxQixhQUFhLEVBQ2Isb0JBQW9CLEVBRXZCLE1BQU0sNkJBQTZCLENBQUM7OztBQUVyQyxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFdkIsTUFBTSxrQkFBa0IsR0FBRztJQUN2QixPQUFPLEVBQUUsU0FBUztJQUNsQixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxjQUFjO0NBQy9CLENBQUM7QUFXRixNQUFNLE9BQU8sZUFBZTtJQXdJeEIsY0FBYztJQUNkLFlBQW9CLFdBQXVCLEVBQVUsSUFBdUI7UUFBeEQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXBJNUUsd0JBQXdCO1FBR3hCLE9BQUUsR0FBRyxhQUFhLGNBQWMsRUFBRSxFQUFFLENBQUM7UUFFckMsNkJBQTZCO1FBRzdCLGNBQVMsR0FBVyxJQUFJLENBQUM7UUFFekIscURBQXFEO1FBR3JELG1CQUFjLEdBQVcsSUFBSSxDQUFDO1FBUzlCLDZFQUE2RTtRQUNwRSxTQUFJLEdBQVMsR0FBRyxDQUFDO1FBRTFCLHNCQUFzQjtRQUNiLFVBQUssR0FBVyxJQUFJLENBQUM7UUFFOUIsb0NBQW9DO1FBQzNC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QkFHTixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO2lJQUsvQyxLQUFLO3NCQURKLEtBQUs7Z0JBTU4sRUFBRTtzQkFGRCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFNBQVM7Z0JBTXRCLFNBQVM7c0JBRlIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTlCLGNBQWM7c0JBRmIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSy9CLEtBQUs7c0JBRFIsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFRRixlQUFlO3NCQURsQixLQUFLO2dCQU9GLEtBQUs7c0JBRFIsS0FBSztnQkFTRixTQUFTO3NCQURaLEtBQUs7Z0JBU0YsV0FBVztzQkFEZCxLQUFLO2dCQVVGLE9BQU87c0JBRFYsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBT2pDLElBQUk7c0JBRFAsV0FBVzt1QkFBQyxXQUFXO2dCQU9wQixPQUFPO3NCQURWLFNBQVM7dUJBQUMsU0FBUzs7UUEwQ3BCOzs7V0FHRztRQUNILHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFOWV9MQU5HVUFHRV9MRVRURVJTX1JFR0VYLFxuICAgIENvbG9yQWNjZW50LFxuICAgIFNpemUsXG4gICAgYXBwbHlDc3NDbGFzcyxcbiAgICBnZXRSYW5kb21Db2xvckFjY2VudCxcbiAgICBDc3NDbGFzc0J1aWxkZXJcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3V0aWxzJztcblxubGV0IGF2YXRhclVuaXF1ZUlkID0gMDtcblxuY29uc3QgQUxURVJfSUNPTl9PUFRJT05TID0ge1xuICAgIENPTlRFTlQ6ICdjb250ZW50JyxcbiAgICBBTFQ6ICdhbHQnLFxuICAgIEJBQ0tVUDogJ2JhY2t1cCcsXG4gICAgREVGQVVMVF9JQ09OOiAnZGVmYXVsdC1pY29uJ1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgLy8gVE9ETyB0byBiZSBkaXNjdXNzZWRcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZmQtYXZhdGFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBDc3NDbGFzc0J1aWxkZXIge1xuICAgIC8qKiBVc2VyJ3MgY3VzdG9tIGNsYXNzZXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogSWQgb2YgdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgaWQgPSBgZmQtYXZhdGFyLSR7YXZhdGFyVW5pcXVlSWQrK31gO1xuXG4gICAgLyoqIEFyaWEtbGFiZWwgZm9yIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBhcmlhTGFiZWw6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKiogQXJpYS1MYWJlbGxlZGJ5IGZvciBlbGVtZW50IGRlc2NyaWJpbmcgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWxsZWRieScpXG4gICAgYXJpYUxhYmVsbGVkYnk6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKiogTG9jYWxpemVkIHRleHQgZm9yIGxhYmVsICovXG4gICAgQElucHV0KClcbiAgICBzZXQgbGFiZWwodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmFyaWFMYWJlbCA9IHZhbHVlIHx8IG51bGw7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IHRoaXMuX2dldEFiYnJldmlhdGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgc2l6ZSBvZiB0aGUgQXZhdGFyLiBPcHRpb25zIGluY2x1ZGU6ICp4cyosICpzKiwgKm0qLCAqbCogYW5kICp4bCouICovXG4gICAgQElucHV0KCkgc2l6ZTogU2l6ZSA9ICdsJztcblxuICAgIC8qKiBUaGUgZ2x5cGggbmFtZS4gKi9cbiAgICBASW5wdXQoKSBnbHlwaDogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBUaGUgZ2x5cGggbmFtZSBmb3Igem9vbSBpY29uLiAqL1xuICAgIEBJbnB1dCgpIHpvb21HbHlwaDogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0byBhcHBseSBhIGNpcmNsZSBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIGNpcmNsZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIGFwcGx5IGEgdHJhbnNwYXJlbnQgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSB0cmFuc3BhcmVudCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIGFwcGx5IGJhY2tncm91bmQgc2l6ZSBjb250YWluIHN0eWxlIHRvIHRoZSBBdmF0YXIgKi9cbiAgICBASW5wdXQoKSBjb250YWluID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdG8gYXBwbHkgYSBwbGFjZWhvbGRlciBiYWNrZ3JvdW5kIHN0eWxlIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0byBhcHBseSBhIHRpbGUgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHRpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0byBhcHBseSBhIGJvcmRlciB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIGJvcmRlciA9IGZhbHNlO1xuXG4gICAgLyoqIEEgbnVtYmVyIGZyb20gMSB0byAxMCByZXByZXNlbnRpbmcgdGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSBjb2xvckFjY2VudDogQ29sb3JBY2NlbnQgPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIGFwcGx5IHJhbmRvbSBiYWNrZ3JvdW5kIGNvbG9yIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgcmFuZG9tID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIERlcHJlY2F0ZWQgYWNjb3JkaW5nIHRvIFJlbmFtZSBgYmFja2dyb3VuZEltYWdlYCB0byBgaW1hZ2VgXG4gICAgICogKi9cbiAgICAvKiogQmFja2dyb3VuZCBpbWFnZSB1cmwuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgYmFja2dyb3VuZEltYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0SW1hZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBCYWNrZ3JvdW5kIGltYWdlIHJlc291cmNlOiB1cmwgb3IgYmFzZTY0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGltYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0SW1hZ2UodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgaW1hZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ltYWdlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGFsdGVySWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2FsdGVySWNvbiA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgYWx0ZXJJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hbHRlckljb247XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgYmFja3VwSW1hZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9iYWNrdXBJbWFnZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgYmFja3VwSW1hZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JhY2t1cEltYWdlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5iYWNrZ3JvdW5kLWltYWdlJylcbiAgICBnZXQgYmdJbWFnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fYmdJbWFnZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBnZXQgcm9sZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy56b29tR2x5cGggPyAnYnV0dG9uJyA6ICdpbWcnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnY29udGVudCcpXG4gICAgc2V0IGNvbnRlbnQodmFsdWU6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgdGhpcy5fY29udGVudCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYWJicmV2aWF0ZTogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW1hZ2U6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FsdGVySWNvbjogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29udGVudDogRWxlbWVudFJlZiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2JhY2t1cEltYWdlOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9iZ0ltYWdlOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIElmIGEgZGVmYXVsdCBwbGFjZWhvbGRlciBzaG91bGQgYmUgZGlzcGxheWVkICovXG4gICAgZ2V0IHNob3dEZWZhdWx0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuYWJicmV2aWF0ZSAmJiAhdGhpcy5faW1hZ2UgJiYgIXRoaXMuZ2x5cGg7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgQGFwcGx5Q3NzQ2xhc3NcbiAgICAvKiogQ3NzQ2xhc3NCdWlsZGVyIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxuICAgICAqIGZ1bmN0aW9uIG11c3QgcmV0dXJuIHNpbmdsZSBzdHJpbmdcbiAgICAgKiBmdW5jdGlvbiBpcyByZXNwb25zaWJsZSBmb3Igb3JkZXIgd2hpY2ggY3NzIGNsYXNzZXMgYXJlIGFwcGxpZWRcbiAgICAgKi9cbiAgICBidWlsZENvbXBvbmVudENzc0NsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdmZC1hdmF0YXInLFxuICAgICAgICAgICAgdGhpcy5zaXplID8gYGZkLWF2YXRhci0tJHt0aGlzLnNpemV9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jb2xvckFjY2VudCAmJiAhdGhpcy5yYW5kb20gPyBgZmQtYXZhdGFyLS1hY2NlbnQtY29sb3ItJHt0aGlzLmNvbG9yQWNjZW50fWAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMucmFuZG9tID8gYGZkLWF2YXRhci0tYWNjZW50LWNvbG9yLSR7Z2V0UmFuZG9tQ29sb3JBY2NlbnQoKX1gIDogJycsXG4gICAgICAgICAgICB0aGlzLmNpcmNsZSA/ICdmZC1hdmF0YXItLWNpcmNsZScgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuYm9yZGVyID8gJ2ZkLWF2YXRhci0tYm9yZGVyJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy50cmFuc3BhcmVudCA/ICdmZC1hdmF0YXItLXRyYW5zcGFyZW50JyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jb250YWluID8gJ2ZkLWF2YXRhci0tYmFja2dyb3VuZC1jb250YWluJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA/ICdmZC1hdmF0YXItLXBsYWNlaG9sZGVyJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy50aWxlID8gJ2ZkLWF2YXRhci0tdGlsZScgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY2xhc3NcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGVsZW1lbnRSZWYoKTogRWxlbWVudFJlZjxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWY7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gR2V0IGFuIGFiYnJldmlhdGUgZnJvbSB0aGUgbGFiZWwgb3IgcmV0dXJuIG51bGwgaWYgbm90IGZpdCByZXF1aXJlbWVudHMgKi9cbiAgICBwcml2YXRlIF9nZXRBYmJyZXZpYXRlKGxhYmVsOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKCFsYWJlbCB8fCB0aGlzLl9pbWFnZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fZ2VuZXJhdGVBYmJyZXZpYXRpb24obGFiZWwpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEdldCB0aGUgYWJicmV2YXRpb24gc3RyaW5nICovXG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVBYmJyZXZpYXRpb24obGFiZWw6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBtYXhMZXR0ZXJzQ291bnQgPSAzO1xuICAgICAgICBjb25zdCBmaXJzdExldHRlcnMgPSBsYWJlbC5zcGxpdCgnICcpLm1hcCgod29yZCkgPT4gd29yZC5jaGFyQXQoMCkpO1xuICAgICAgICBjb25zdCBhYmJyZXZpYXRlID0gZmlyc3RMZXR0ZXJzLmpvaW4oJycpO1xuXG4gICAgICAgIGlmIChmaXJzdExldHRlcnMubGVuZ3RoID4gbWF4TGV0dGVyc0NvdW50IHx8ICFhYmJyZXZpYXRlLm1hdGNoKEFOWV9MQU5HVUFHRV9MRVRURVJTX1JFR0VYKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWJicmV2aWF0ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEltYWdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW1hZ2UgPSB2YWx1ZTtcblxuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZlcmlmeUltYWdlVXJsKHZhbHVlLCAoKTogdm9pZCA9PiB7fSwgdGhpcy5fb25FcnJvckNhbGxiYWNrKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2JnSW1hZ2UgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92ZXJpZnlJbWFnZVVybChzcmNWYWx1ZTogc3RyaW5nLCBvbkxvYWRDYWxsYmFjazogKCkgPT4gdm9pZCwgb25FcnJvckNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xuICAgICAgICBpbWcub25sb2FkID0gb25Mb2FkQ2FsbGJhY2suYmluZCh0aGlzKTtcbiAgICAgICAgaW1nLm9uZXJyb3IgPSBvbkVycm9yQ2FsbGJhY2suYmluZCh0aGlzKTtcbiAgICAgICAgaW1nLnNyYyA9IHNyY1ZhbHVlO1xuICAgICAgICB0aGlzLl9hc3NpZ25CZ0ltYWdlKHNyY1ZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Fzc2lnbkJnSW1hZ2Uoc3JjVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9iZ0ltYWdlID0gYHVybCgke3NyY1ZhbHVlfSlgO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb25FcnJvckNhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2FsdGVySWNvbikge1xuICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fYWx0ZXJJY29uLnNwbGl0KCd8Jyk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zW2ldO1xuXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gQUxURVJfSUNPTl9PUFRJT05TLkNPTlRFTlQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudFZhbHVlID0gdGhpcy5fY29udGVudC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRlbnRWYWx1ZSAmJiBjb250ZW50VmFsdWUgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFiYnJldmlhdGUgPSB0aGlzLl9nZW5lcmF0ZUFiYnJldmlhdGlvbihjb250ZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuQUxUKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFsdFZhbHVlID0gdGhpcy5lbGVtZW50UmVmKCkubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FsdCcpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYWx0VmFsdWUgJiYgYWx0VmFsdWUgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFiYnJldmlhdGUgPSB0aGlzLl9nZW5lcmF0ZUFiYnJldmlhdGlvbihhbHRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvcHRpb24gPT09IEFMVEVSX0lDT05fT1BUSU9OUy5CQUNLVVApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2JhY2t1cEltYWdlICYmIHRoaXMuX2JhY2t1cEltYWdlICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgYmFja3VwSW1hZ2UgY2FuIGJlIGxvYWRlZCBzdWNjZXNzZnVsbHlcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIG5vdCwgc2V0IGRlZmF1bHQgdXNlciBpY29uXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl92ZXJpZnlJbWFnZVVybChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9iYWNrdXBJbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2Fzc2lnbkJnSW1hZ2UodGhpcy5fYmFja3VwSW1hZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuREVGQVVMVF9JQ09OKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dEZWZhdWx0SWNvbigpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaG93RGVmYXVsdEljb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuX2ltYWdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5nbHlwaCA9IG51bGw7XG4gICAgfVxufVxuIiwie3sgYWJicmV2aWF0ZSB9fVxuXG48aVxuICAgICpuZ0lmPVwiem9vbUdseXBoXCJcbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICBjbGFzcz1cImZkLWF2YXRhcl9fem9vbS1pY29uXCJcbiAgICBbY2xhc3NdPVwiem9vbUdseXBoID8gJ3NhcC1pY29uLS0nICsgem9vbUdseXBoIDogJydcIlxuPlxuPC9pPlxuPGkgKm5nSWY9XCJnbHlwaFwiIGNsYXNzPVwiZmQtYXZhdGFyX19pY29uXCIgW2NsYXNzXT1cImdseXBoID8gJyBzYXAtaWNvbi0tJyArIGdseXBoIDogJydcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+IDwvaT5cbjxpICpuZ0lmPVwic2hvd0RlZmF1bHRcIiBjbGFzcz1cImZkLWF2YXRhcl9faWNvbiBzYXAtaWNvbi0tcGVyc29uLXBsYWNlaG9sZGVyXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPiA8L2k+XG48ZGl2ICNjb250ZW50IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
338
+ buildComponentCssClass: [], _onClick: [{
339
+ type: HostListener,
340
+ args: ['click']
341
+ }, {
342
+ type: HostListener,
343
+ args: ['keyup.enter']
344
+ }, {
345
+ type: HostListener,
346
+ args: ['keyup.space']
347
+ }] } });
348
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILDBCQUEwQixFQUcxQixhQUFhLEVBQ2Isb0JBQW9CLEVBRXZCLE1BQU0sNkJBQTZCLENBQUM7OztBQUVyQyxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFdkIsTUFBTSxrQkFBa0IsR0FBRztJQUN2QixPQUFPLEVBQUUsU0FBUztJQUNsQixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxjQUFjO0NBQy9CLENBQUM7QUFZRixNQUFNLE9BQU8sZUFBZTtJQTZKeEIsY0FBYztJQUNkLFlBQW9CLFdBQXVCLEVBQVUsSUFBdUI7UUFBeEQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXpKNUUsd0JBQXdCO1FBR3hCLE9BQUUsR0FBRyxhQUFhLGNBQWMsRUFBRSxFQUFFLENBQUM7UUFFckMsNkJBQTZCO1FBRzdCLGNBQVMsR0FBVyxJQUFJLENBQUM7UUFFekIscURBQXFEO1FBR3JELG1CQUFjLEdBQVcsSUFBSSxDQUFDO1FBUzlCLDZFQUE2RTtRQUNwRSxTQUFJLEdBQVMsR0FBRyxDQUFDO1FBRTFCLHNCQUFzQjtRQUNiLFVBQUssR0FB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O3NCQUFkLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFRRixlQUFlO3NCQURsQixLQUFLO2dCQU9GLEtBQUs7c0JBRFIsS0FBSztnQkFhRixTQUFTO3NCQURaLEtBQUs7Z0JBWUYsV0FBVztzQkFEZCxLQUFLO2dCQVNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBR0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUlILE9BQU87c0JBRFYsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBT2pDLElBQUk7c0JBRFAsV0FBVzt1QkFBQyxXQUFXO2dCQU9wQixPQUFPO3NCQURWLFNBQVM7dUJBQUMsU0FBUzs7UUErQ3BCOzs7V0FHRztRQUNILHNCQUFzQixNQXlCdEIsUUFBUTtzQkFIUCxZQUFZO3VCQUFDLE9BQU87O3NCQUNwQixZQUFZO3VCQUFDLGFBQWE7O3NCQUMxQixZQUFZO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTllfTEFOR1VBR0VfTEVUVEVSU19SRUdFWCxcbiAgICBDb2xvckFjY2VudCxcbiAgICBTaXplLFxuICAgIGFwcGx5Q3NzQ2xhc3MsXG4gICAgZ2V0UmFuZG9tQ29sb3JBY2NlbnQsXG4gICAgQ3NzQ2xhc3NCdWlsZGVyXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5cbmxldCBhdmF0YXJVbmlxdWVJZCA9IDA7XG5cbmNvbnN0IEFMVEVSX0lDT05fT1BUSU9OUyA9IHtcbiAgICBDT05URU5UOiAnY29udGVudCcsXG4gICAgQUxUOiAnYWx0JyxcbiAgICBCQUNLVVA6ICdiYWNrdXAnLFxuICAgIERFRkFVTFRfSUNPTjogJ2RlZmF1bHQtaWNvbidcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtYXZhdGFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICdfdGFiaW5kZXgnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQ3NzQ2xhc3NCdWlsZGVyIHtcbiAgICAvKiogVXNlcidzIGN1c3RvbSBjbGFzc2VzICovXG4gICAgQElucHV0KClcbiAgICBjbGFzczogc3RyaW5nO1xuXG4gICAgLyoqIElkIG9mIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIGlkID0gYGZkLWF2YXRhci0ke2F2YXRhclVuaXF1ZUlkKyt9YDtcblxuICAgIC8qKiBBcmlhLWxhYmVsIGZvciBBdmF0YXIuICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gICAgYXJpYUxhYmVsOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIEFyaWEtTGFiZWxsZWRieSBmb3IgZWxlbWVudCBkZXNjcmliaW5nIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsbGVkYnknKVxuICAgIGFyaWFMYWJlbGxlZGJ5OiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIExvY2FsaXplZCB0ZXh0IGZvciBsYWJlbCAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGxhYmVsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5hcmlhTGFiZWwgPSB2YWx1ZSB8fCBudWxsO1xuICAgICAgICB0aGlzLmFiYnJldmlhdGUgPSB0aGlzLl9nZXRBYmJyZXZpYXRlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogVGhlIHNpemUgb2YgdGhlIEF2YXRhci4gT3B0aW9ucyBpbmNsdWRlOiAqeHMqLCAqcyosICptKiwgKmwqIGFuZCAqeGwqLiAqL1xuICAgIEBJbnB1dCgpIHNpemU6IFNpemUgPSAnbCc7XG5cbiAgICAvKiogVGhlIGdseXBoIG5hbWUuICovXG4gICAgQElucHV0KCkgZ2x5cGg6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKiogVGhlIGdseXBoIG5hbWUgZm9yIHpvb20gaWNvbi4gKi9cbiAgICBASW5wdXQoKSB6b29tR2x5cGg6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKiogV2hldGhlciB0byBhcHBseSBhIGNpcmNsZSBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIGNpcmNsZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYSB0cmFuc3BhcmVudCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHRyYW5zcGFyZW50ID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0byBhcHBseSBiYWNrZ3JvdW5kIHNpemUgY29udGFpbiBzdHlsZSB0byB0aGUgQXZhdGFyICovXG4gICAgQElucHV0KCkgY29udGFpbiA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYSBwbGFjZWhvbGRlciBiYWNrZ3JvdW5kIHN0eWxlIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgdGlsZSBiYWNrZ3JvdW5kIHN0eWxlIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgdGlsZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYSBib3JkZXIgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSBib3JkZXIgPSBmYWxzZTtcblxuICAgIC8qKiBBIG51bWJlciBmcm9tIDEgdG8gMTAgcmVwcmVzZW50aW5nIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgY29sb3JBY2NlbnQ6IENvbG9yQWNjZW50ID0gbnVsbDtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IHJhbmRvbSBiYWNrZ3JvdW5kIGNvbG9yIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgcmFuZG9tID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBjb21wb25lbnQgc2hvdWxkIGJlIGZvY3VzYWJsZSAmIGNsaWNhYmxlICovXG4gICAgQElucHV0KCkgY2xpY2thYmxlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIERlcHJlY2F0ZWQgYWNjb3JkaW5nIHRvIFJlbmFtZSBgYmFja2dyb3VuZEltYWdlYCB0byBgaW1hZ2VgXG4gICAgICogKi9cbiAgICAvKiogQmFja2dyb3VuZCBpbWFnZSB1cmwuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgYmFja2dyb3VuZEltYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0SW1hZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBCYWNrZ3JvdW5kIGltYWdlIHJlc291cmNlOiB1cmwgb3IgYmFzZTY0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGltYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0SW1hZ2UodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgaW1hZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ltYWdlO1xuICAgIH1cblxuICAgIC8qKiBCYWNrdXAgb3B0aW9ucyB0byB1c2Ugd2hlbiBpbWFnZSBoYXNuJ3QgYmVlbiBsb2FkZWQgc3VjY2Vzc2Z1bGx5LlxuICAgICAqIE9wdGlvbnMgc2VwYXJhdGVkIHdpdGggXCJ8XCIgc3ltYm9sLlxuICAgICAqIFBvc3NpYmxlIG9wdGlvbnM6IGNvbnRlbnQsIGFsdCwgYmFja3VwLCBkZWZhdWx0LWljb25cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBhbHRlckljb24odmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9hbHRlckljb24gPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGFsdGVySWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWx0ZXJJY29uO1xuICAgIH1cblxuICAgIC8qKiBCYWNrdXAgaW1hZ2UgdG8gbG9hZCB3aGVuIGltYWdlIGhhc24ndCBiZWVuIGxvYWRlZCBzdWNjZXNzZnVsbHkuXG4gICAgICogT25seSBhcHBsaWNhYmxlIHdoZW4gdXNpbmcgYWx0ZXJJY29uIGlucHV0IHByb3BlcnR5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGJhY2t1cEltYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fYmFja3VwSW1hZ2UgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGJhY2t1cEltYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9iYWNrdXBJbWFnZTtcbiAgICB9XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGF2YXRhciBjbGlja2VkLiBPbmx5IGZpcmVzIGlmIGNsaWNrYWJsZSBpbnB1dCBwcm9wZXJ0eSBzZXQgdG8gdHJ1ZS4gKi9cbiAgICBAT3V0cHV0KCkgYXZhdGFyQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gem9vbSBpY29uIGNsaWNrZWQuIE9ubHkgZmlyZXMgaWYgem9vbUdseXBoIGlucHV0IHByb3BlcnR5IGlzIHNldC4gKi9cbiAgICBAT3V0cHV0KCkgem9vbUdseXBoQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5iYWNrZ3JvdW5kLWltYWdlJylcbiAgICBnZXQgYmdJbWFnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fYmdJbWFnZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBnZXQgcm9sZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy56b29tR2x5cGggPyAnYnV0dG9uJyA6ICdpbWcnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnY29udGVudCcpXG4gICAgc2V0IGNvbnRlbnQodmFsdWU6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgdGhpcy5fY29udGVudCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYWJicmV2aWF0ZTogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW1hZ2U6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FsdGVySWNvbjogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29udGVudDogRWxlbWVudFJlZiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2JhY2t1cEltYWdlOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9iZ0ltYWdlOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX3RhYmluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNsaWNrYWJsZSA/IDAgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKiBJZiBhIGRlZmF1bHQgcGxhY2Vob2xkZXIgc2hvdWxkIGJlIGRpc3BsYXllZCAqL1xuICAgIGdldCBzaG93RGVmYXVsdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmFiYnJldmlhdGUgJiYgIXRoaXMuX2ltYWdlICYmICF0aGlzLmdseXBoO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgIH1cblxuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgLyoqIENzc0NsYXNzQnVpbGRlciBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cbiAgICAgKiBmdW5jdGlvbiBtdXN0IHJldHVybiBzaW5nbGUgc3RyaW5nXG4gICAgICogZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIG9yZGVyIHdoaWNoIGNzcyBjbGFzc2VzIGFyZSBhcHBsaWVkXG4gICAgICovXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZmQtYXZhdGFyJyxcbiAgICAgICAgICAgIHRoaXMuc2l6ZSA/IGBmZC1hdmF0YXItLSR7dGhpcy5zaXplfWAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29sb3JBY2NlbnQgJiYgIXRoaXMucmFuZG9tID8gYGZkLWF2YXRhci0tYWNjZW50LWNvbG9yLSR7dGhpcy5jb2xvckFjY2VudH1gIDogJycsXG4gICAgICAgICAgICB0aGlzLnJhbmRvbSA/IGBmZC1hdmF0YXItLWFjY2VudC1jb2xvci0ke2dldFJhbmRvbUNvbG9yQWNjZW50KCl9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jaXJjbGUgPyAnZmQtYXZhdGFyLS1jaXJjbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmJvcmRlciA/ICdmZC1hdmF0YXItLWJvcmRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudHJhbnNwYXJlbnQgPyAnZmQtYXZhdGFyLS10cmFuc3BhcmVudCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29udGFpbiA/ICdmZC1hdmF0YXItLWJhY2tncm91bmQtY29udGFpbicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPyAnZmQtYXZhdGFyLS1wbGFjZWhvbGRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudGlsZSA/ICdmZC1hdmF0YXItLXRpbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmNsYXNzXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBlbGVtZW50UmVmKCk6IEVsZW1lbnRSZWY8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleXVwLmVudGVyJylcbiAgICBASG9zdExpc3RlbmVyKCdrZXl1cC5zcGFjZScpXG4gICAgX29uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNsaWNrYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5hdmF0YXJDbGlja2VkLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEdldCBhbiBhYmJyZXZpYXRlIGZyb20gdGhlIGxhYmVsIG9yIHJldHVybiBudWxsIGlmIG5vdCBmaXQgcmVxdWlyZW1lbnRzICovXG4gICAgcHJpdmF0ZSBfZ2V0QWJicmV2aWF0ZShsYWJlbDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICghbGFiZWwgfHwgdGhpcy5faW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2dlbmVyYXRlQWJicmV2aWF0aW9uKGxhYmVsKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBHZXQgdGhlIGFiYnJldmlhdGlvbiBzdHJpbmcgKi9cbiAgICBwcml2YXRlIF9nZW5lcmF0ZUFiYnJldmlhdGlvbihsYWJlbDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IG1heExldHRlcnNDb3VudCA9IDM7XG4gICAgICAgIGNvbnN0IGZpcnN0TGV0dGVycyA9IGxhYmVsLnNwbGl0KCcgJykubWFwKCh3b3JkKSA9PiB3b3JkLmNoYXJBdCgwKSk7XG4gICAgICAgIGNvbnN0IGFiYnJldmlhdGUgPSBmaXJzdExldHRlcnMuam9pbignJyk7XG5cbiAgICAgICAgaWYgKGZpcnN0TGV0dGVycy5sZW5ndGggPiBtYXhMZXR0ZXJzQ291bnQgfHwgIWFiYnJldmlhdGUubWF0Y2goQU5ZX0xBTkdVQUdFX0xFVFRFUlNfUkVHRVgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhYmJyZXZpYXRlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0SW1hZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbWFnZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmVyaWZ5SW1hZ2VVcmwodmFsdWUsICgpOiB2b2lkID0+IHt9LCB0aGlzLl9vbkVycm9yQ2FsbGJhY2spO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fYmdJbWFnZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ZlcmlmeUltYWdlVXJsKHNyY1ZhbHVlOiBzdHJpbmcsIG9uTG9hZENhbGxiYWNrOiAoKSA9PiB2b2lkLCBvbkVycm9yQ2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICAgIGltZy5vbmxvYWQgPSBvbkxvYWRDYWxsYmFjay5iaW5kKHRoaXMpO1xuICAgICAgICBpbWcub25lcnJvciA9IG9uRXJyb3JDYWxsYmFjay5iaW5kKHRoaXMpO1xuICAgICAgICBpbWcuc3JjID0gc3JjVmFsdWU7XG4gICAgICAgIHRoaXMuX2Fzc2lnbkJnSW1hZ2Uoc3JjVmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXNzaWduQmdJbWFnZShzcmNWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2JnSW1hZ2UgPSBgdXJsKCR7c3JjVmFsdWV9KWA7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9vbkVycm9yQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fYWx0ZXJJY29uKSB7XG4gICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fYWx0ZXJJY29uLnNwbGl0KCd8Jyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3B0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc1tpXTtcblxuICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gQUxURVJfSUNPTl9PUFRJT05TLkNPTlRFTlQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50VmFsdWUgPSB0aGlzLl9jb250ZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0O1xuICAgICAgICAgICAgICAgIGlmIChjb250ZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hYmJyZXZpYXRlID0gdGhpcy5fZ2VuZXJhdGVBYmJyZXZpYXRpb24oY29udGVudFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb24gPT09IEFMVEVSX0lDT05fT1BUSU9OUy5BTFQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhbHRWYWx1ZSA9IHRoaXMuZWxlbWVudFJlZigpLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhbHQnKTtcbiAgICAgICAgICAgICAgICBpZiAoYWx0VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hYmJyZXZpYXRlID0gdGhpcy5fZ2VuZXJhdGVBYmJyZXZpYXRpb24oYWx0VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gQUxURVJfSUNPTl9PUFRJT05TLkJBQ0tVUCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9iYWNrdXBJbWFnZSAmJiB0aGlzLl9iYWNrdXBJbWFnZSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgYmFja3VwSW1hZ2UgY2FuIGJlIGxvYWRlZCBzdWNjZXNzZnVsbHlcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgbm90LCBzZXQgZGVmYXVsdCB1c2VyIGljb25cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmVyaWZ5SW1hZ2VVcmwoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9iYWNrdXBJbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hc3NpZ25CZ0ltYWdlKHRoaXMuX2JhY2t1cEltYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gQUxURVJfSUNPTl9PUFRJT05TLkRFRkFVTFRfSUNPTikge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dEZWZhdWx0SWNvbigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaG93RGVmYXVsdEljb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuX2ltYWdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5nbHlwaCA9IG51bGw7XG4gICAgfVxufVxuIiwie3sgYWJicmV2aWF0ZSB9fVxuXG48aVxuICAgICpuZ0lmPVwiem9vbUdseXBoXCJcbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICBjbGFzcz1cImZkLWF2YXRhcl9fem9vbS1pY29uXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIFtjbGFzc109XCJ6b29tR2x5cGggPyAnc2FwLWljb24tLScgKyB6b29tR2x5cGggOiAnJ1wiXG4gICAgKGNsaWNrKT1cInpvb21HbHlwaENsaWNrZWQubmV4dCgpXCJcbiAgICAoa2V5dXAuc3BhY2UpPVwiem9vbUdseXBoQ2xpY2tlZC5uZXh0KClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJ6b29tR2x5cGhDbGlja2VkLm5leHQoKVwiXG4+XG48L2k+XG5cbjxpXG4gICAgKm5nSWY9XCJnbHlwaCB8fCBzaG93RGVmYXVsdFwiXG4gICAgY2xhc3M9XCJmZC1hdmF0YXJfX2ljb25cIlxuICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgIFtjbGFzc109XCJnbHlwaCA/ICdzYXAtaWNvbi0tJyArIGdseXBoIDogJ3NhcC1pY29uLS1wZXJzb24tcGxhY2Vob2xkZXInXCJcbj5cbjwvaT5cblxuPGRpdiAjY29udGVudCBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==