ngx-edu-sharing-ui 10.0.8 → 10.0.10

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 (33) hide show
  1. package/assets/scss/branding.scss +3 -8
  2. package/assets/scss/material-theme.scss +36 -36
  3. package/assets/scss/variables-scss.scss +2 -1
  4. package/assets/scss/variables.scss +5 -0
  5. package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +20 -4
  6. package/esm2022/lib/directives/icon.directive.mjs +37 -16
  7. package/esm2022/lib/index.mjs +7 -1
  8. package/esm2022/lib/mds-viewer/mds-viewer.component.mjs +156 -0
  9. package/esm2022/lib/mds-viewer/mds-viewer.service.mjs +18 -0
  10. package/esm2022/lib/mds-viewer/replace-element-with-div.mjs +47 -0
  11. package/esm2022/lib/mds-viewer/view-instance.service.mjs +27 -0
  12. package/esm2022/lib/mds-viewer/widget/mds-widget.component.mjs +349 -0
  13. package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +2 -2
  14. package/esm2022/lib/pipes/mds-duration.pipe.mjs +25 -0
  15. package/esm2022/lib/services/node-helper.service.mjs +21 -18
  16. package/esm2022/lib/services/options-helper-data.service.mjs +2 -2
  17. package/esm2022/lib/services/ui.service.mjs +147 -3
  18. package/esm2022/lib/util/rest-helper.mjs +11 -4
  19. package/fesm2022/ngx-edu-sharing-ui.mjs +2971 -2203
  20. package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
  21. package/lib/common/edu-sharing-ui-common.module.d.ts +33 -30
  22. package/lib/directives/icon.directive.d.ts +4 -2
  23. package/lib/index.d.ts +6 -0
  24. package/lib/mds-viewer/mds-viewer.component.d.ts +52 -0
  25. package/lib/mds-viewer/mds-viewer.service.d.ts +12 -0
  26. package/lib/mds-viewer/replace-element-with-div.d.ts +8 -0
  27. package/lib/mds-viewer/view-instance.service.d.ts +20 -0
  28. package/lib/mds-viewer/widget/mds-widget.component.d.ts +111 -0
  29. package/lib/pipes/mds-duration.pipe.d.ts +7 -0
  30. package/lib/services/node-helper.service.d.ts +3 -0
  31. package/lib/services/ui.service.d.ts +32 -1
  32. package/lib/util/rest-helper.d.ts +1 -0
  33. package/package.json +1 -1
@@ -1,10 +1,5 @@
1
- $primary: var(--primary);
2
- $primaryMediumLight: var(--palette-primary-200);
3
- $primaryLight: var(--palette-primary-100);
4
- $primaryComplementary: var(--accent);
5
- $primaryDark: var(--palette-primary-900);
6
- $textOnPrimary: var(--light-primary-text);
7
- $textOnPrimaryLight: rgba(var(--light-primary-text), 0.75);
8
- $textPrimary: var(--palette-foreground-text);
1
+ /**
2
+ branding is deprecated. Use the "themeColors" in the client.config
3
+ */
9
4
  $workspaceTopBarBackground: #383838;
10
5
  $workspaceTopBarFontColor: #fff;
@@ -58,7 +58,7 @@ $dark-secondary-text: rgba(black, 0.54);
58
58
  /** custom project specifics */
59
59
  [matripplecolor='primary'] {
60
60
  > .mat-ripple-element {
61
- background-color: $primary;
61
+ background-color: var(--primary);
62
62
  opacity: 0.1;
63
63
  }
64
64
  }
@@ -67,11 +67,11 @@ $dark-secondary-text: rgba(black, 0.54);
67
67
  */
68
68
  mat-button-toggle-group {
69
69
  .mat-button-toggle-checked.mat-button-toggle-appearance-standard {
70
- color: $textOnPrimary;
71
- background-color: $primary;
70
+ color: var(--light-primary-text);
71
+ background-color: var(--primary);
72
72
  }
73
73
  .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
74
- background-color: $primary;
74
+ background-color: var(--primary);
75
75
  }
76
76
  /*
77
77
  bugfix: overlay is not big enough
@@ -122,7 +122,7 @@ mat-tab-group {
122
122
  }
123
123
  }
124
124
  .mat-ink-bar {
125
- background-color: $primaryLight;
125
+ background-color: var(--palette-primary-100);
126
126
  }
127
127
  }
128
128
  // a mat table with clickable columns
@@ -138,7 +138,7 @@ mat-tab-group {
138
138
  .mat-mdc-fab.mat-white,
139
139
  .mat-mini-fab.mat-white {
140
140
  // white background, primary as content color
141
- color: $primary;
141
+ color: var(--primary);
142
142
  }
143
143
  .mat-mdc-unelevated-button:not(:disabled),
144
144
  .mat-mdc-raised-button:not(:disabled),
@@ -195,7 +195,7 @@ mat-tab-group {
195
195
  .mat-form-field-dark {
196
196
  input,
197
197
  textarea {
198
- caret-color: $primaryDark;
198
+ caret-color: var(--palette-primary-900);
199
199
  }
200
200
  .mat-form-field-outline,
201
201
  .mat-form-field-label {
@@ -211,7 +211,7 @@ mat-tab-group {
211
211
  .mat-mdc-form-field.mat-form-field-bright {
212
212
  input,
213
213
  textarea {
214
- --mdc-outlined-text-field-caret-color: #{$primaryLight};
214
+ --mdc-outlined-text-field-caret-color: var(--primaryLight);
215
215
  }
216
216
  --mdc-outlined-text-field-label-text-color: rgba(255, 255, 255, 0.87);
217
217
  --mdc-outlined-text-field-outline-color: rgba(255, 255, 255, 0.6);
@@ -224,15 +224,15 @@ mat-tab-group {
224
224
  }
225
225
  mat-slide-toggle.mat-mdc-slide-toggle.mat-primary-bright {
226
226
  --mdc-switch-unselected-handle-color: #fff;
227
- --mdc-switch-unselected-hover-handle-color: #{$primaryVeryLight};
228
- --mdc-switch-unselected-focus-handle-color: #{$primaryVeryLight};
229
- --mdc-switch-unselected-pressed-handle-color: #{$primaryVeryLight};
230
- --mdc-switch-unselected-icon-color: #{$textLight};
227
+ --mdc-switch-unselected-hover-handle-color: var(--palette-primary-50);
228
+ --mdc-switch-unselected-focus-handle-color: var(--palette-primary-50);
229
+ --mdc-switch-unselected-pressed-handle-color: var(--palette-primary-50);
230
+ --mdc-switch-unselected-icon-color: var(--textLight);
231
231
  --mdc-switch-selected-handle-color: #fff;
232
- --mdc-switch-selected-hover-handle-color: #{$primaryVeryLight};
233
- --mdc-switch-selected-focus-handle-color: #{$primaryVeryLight};
234
- --mdc-switch-selected-pressed-handle-color: #{$primaryVeryLight};
235
- --mdc-switch-selected-icon-color: #{$primary};
232
+ --mdc-switch-selected-hover-handle-color: var(--palette-primary-50);
233
+ --mdc-switch-selected-focus-handle-color: var(--palette-primary-50);
234
+ --mdc-switch-selected-pressed-handle-color: var(--palette-primary-50);
235
+ --mdc-switch-selected-icon-color: var(--primary);
236
236
  .mdc-form-field label {
237
237
  color: #fff;
238
238
  }
@@ -279,9 +279,9 @@ mat-label,
279
279
  .mat-flat-button {
280
280
  padding: 0 15px !important;
281
281
  .mdc-button__label {
282
- color: $textOnPrimary !important;
282
+ color: var(--palette-primary-900) !important;
283
283
  }
284
- background-color: $primary !important;
284
+ background-color: var(--primary) !important;
285
285
  }
286
286
  body {
287
287
  // Background for raised button
@@ -296,7 +296,7 @@ body {
296
296
  }
297
297
  .mat-mdc-checkbox {
298
298
  .mdc-checkbox__background {
299
- border-color: $primary !important;
299
+ border-color: var(--primary) !important;
300
300
 
301
301
  background-color: #fff !important;
302
302
 
@@ -306,19 +306,19 @@ body {
306
306
  }
307
307
  &.mdc-checkbox--disabled {
308
308
  .mdc-checkbox__background {
309
- border-color: $primaryLight !important;
309
+ border-color: var(--palette-primary-100) !important;
310
310
  }
311
311
  &.mat-mdc-checkbox-checked,
312
312
  &.mat-mdc-checkbox-indeterminate {
313
313
  .mdc-checkbox__background {
314
- background-color: $primaryLight !important;
314
+ background-color: var(--palette-primary-100) !important;
315
315
  }
316
316
  }
317
317
  }
318
318
  &.mat-mdc-checkbox-checked,
319
319
  &.mat-mdc-checkbox-indeterminate {
320
320
  .mdc-checkbox__background {
321
- background-color: $primary !important;
321
+ background-color: var(--primary) !important;
322
322
  .mdc-checkbox__checkmark,
323
323
  .mdc-checkbox__mixedmark {
324
324
  color: #fff !important;
@@ -329,7 +329,7 @@ body {
329
329
  }
330
330
  .mat-radio-container {
331
331
  .mat-radio-outer-circle {
332
- border-color: $primary;
332
+ border-color: var(--primary);
333
333
  }
334
334
  }
335
335
  .mat-mdc-checkbox-label {
@@ -359,19 +359,19 @@ body {
359
359
  }
360
360
  .mat-mdc-raised-button {
361
361
  &:not(.mat-primary) {
362
- color: $primary !important;
362
+ color: var(--primary) !important;
363
363
  }
364
364
  &.mat-primary {
365
- color: $textOnPrimary !important;
365
+ color: var(--light-primary-text) !important;
366
366
  }
367
367
  &.mat-warn {
368
- color: $textOnPrimary !important;
368
+ color: var(--light-primary-text) !important;
369
369
  }
370
370
  }
371
371
  .mat-mdc-button.mat-cancel {
372
372
  color: $textMediumLight;
373
373
  &:hover {
374
- color: $primary;
374
+ color: var(--primary);
375
375
  }
376
376
  }
377
377
  // Undo default style of mat-icon.
@@ -386,8 +386,8 @@ i.mat-icon {
386
386
  height: 1em;
387
387
  width: 1em;
388
388
  > .svg-icons {
389
- width: 20px;
390
- height: 20px;
389
+ width: 1em;
390
+ height: 1em;
391
391
  }
392
392
  }
393
393
  button {
@@ -447,7 +447,7 @@ label .label-secondary {
447
447
  position: absolute;
448
448
  right: -3px;
449
449
  top: -3px;
450
- color: $textOnPrimary;
450
+ color: var(--light-primary-text);
451
451
  background-color: $colorStatusNegative;
452
452
  border-radius: 50%;
453
453
  width: 16px;
@@ -527,7 +527,7 @@ mat-select.mat-select-icon {
527
527
  .mat-select-panel,
528
528
  .mat-autocomplete-panel {
529
529
  .mat-option:not(.mat-option-disabled) {
530
- color: $primary;
530
+ color: var(--primary);
531
531
  }
532
532
  .mat-option.mat-selected:not(.mat-option-multiple) {
533
533
  background-color: $cardLightBackground;
@@ -537,20 +537,20 @@ mat-select.mat-select-icon {
537
537
  .mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) {
538
538
  background-color: var(--palette-primary-100) !important;
539
539
  .mat-mdc-chip-remove {
540
- color: $primary !important;
540
+ color: var(--primary) !important;
541
541
  opacity: 1 !important;
542
542
  }
543
543
  }
544
544
  .mat-chip-list {
545
545
  .mat-chip.mat-standard-chip {
546
546
  height: unset; // Override height: 1px
547
- background-color: $primaryLight;
547
+ background-color: var(--palette-primary-100);
548
548
  overflow: hidden;
549
549
  &.indeterminate {
550
550
  background: repeating-linear-gradient(
551
551
  -45deg,
552
- $primaryLight,
553
- $primaryLight 5px,
552
+ var(--palette-primary-100),
553
+ var(--palette-primary-100) 5px,
554
554
  rgba(0, 0, 0, 0.04) 5px,
555
555
  rgba(0, 0, 0, 0.04) 10px
556
556
  );
@@ -562,7 +562,7 @@ mat-select.mat-select-icon {
562
562
  .mat-chip-remove {
563
563
  // align somewhat townwards for better centering
564
564
  line-height: 1.05;
565
- color: $primary;
565
+ color: var(--primary);
566
566
  opacity: 1;
567
567
  }
568
568
  }
@@ -15,7 +15,7 @@ $primaryMediumDark: var(--palette-primary-700) !default;
15
15
 
16
16
  $tabColor: var(--primary) !default;
17
17
  $tabColorDark: var(--primary) !default;
18
- $tabColorLight: $primaryMediumLight !default;
18
+ $tabColorLight: var(--palette-primary-200) !default;
19
19
  $warning: #cd2457 !default;
20
20
  $warningMedium: #e98c1b !default;
21
21
  $toastLeftError: #c15d5d !default;
@@ -71,6 +71,7 @@ $cardLightBackground: #f9f9f9 !default;
71
71
  $searchInputBorderColor: #ccc !default;
72
72
  $cardSeparatorLineColor: #ccc !default;
73
73
  $genericSeperatorLineColor: #ececec !default;
74
+ $chipsSeperatorLineColor: #e2e2e2 !default;
74
75
  $inputBorderColor: #9e9e9e !default;
75
76
  $commentsActionsSeperatorLineColor: $backgroundColor !default;
76
77
  $noResultsColor: rgba(black, 0.54) !default;
@@ -8,11 +8,16 @@
8
8
  --warning: #cd2457;
9
9
  --aiColor: #6d176e;
10
10
  --aiColorText: #fff;
11
+ --aiColorChip: #fff;
12
+ --aiColorChipRemove: #555;
13
+ --aiColorChipBorder: #ddd;
14
+ --aiColorChipText: var(--aiColor);
11
15
  --tableIconSize: 38px;
12
16
  --textLight: #585858;
13
17
  --textMediumLight: #888;
14
18
  --textMain: #383838;
15
19
  --cardWidth: 240px;
20
+ --chipsSeperatorLineColor: #e2e2e2;
16
21
  --colorStatusPositive: #40bf8e;
17
22
  --colorStatusNegative: var(--warning);
18
23
  --colorStarActive: #ba7c00;
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
2
+ import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
3
3
  import { MatButtonModule } from '@angular/material/button';
4
4
  import { MatRippleModule } from '@angular/material/core';
5
5
  import { MatMenuModule } from '@angular/material/menu';
@@ -28,10 +28,15 @@ import { SortDropdownComponent } from '../sort-dropdown/sort-dropdown.component'
28
28
  import { SpinnerComponent } from '../spinner/spinner.component';
29
29
  import { PropertySlugPipe } from '../pipes/property-slug.pipe';
30
30
  import { NodeLicensePipe } from '../pipes/node-license.pipe';
31
+ import { MdsWidgetComponent } from '../mds-viewer/widget/mds-widget.component';
32
+ import { MdsDurationPipe } from '../pipes/mds-duration.pipe';
33
+ import { MdsViewerComponent } from '../mds-viewer/mds-viewer.component';
31
34
  import * as i0 from "@angular/core";
32
35
  export class EduSharingUiCommonModule {
33
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EduSharingUiCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
34
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: EduSharingUiCommonModule, declarations: [ActionbarComponent,
37
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: EduSharingUiCommonModule, declarations: [MdsViewerComponent,
38
+ MdsWidgetComponent,
39
+ ActionbarComponent,
35
40
  BorderBoxObserverDirective,
36
41
  CheckTextOverflowDirective,
37
42
  DropdownComponent,
@@ -39,6 +44,7 @@ export class EduSharingUiCommonModule {
39
44
  FormatDatePipe,
40
45
  FormatSizePipe,
41
46
  IconDirective,
47
+ MdsDurationPipe,
42
48
  InfiniteScrollDirective,
43
49
  PropertySlugPipe,
44
50
  NodeIconPipe,
@@ -58,13 +64,16 @@ export class EduSharingUiCommonModule {
58
64
  MatTooltipModule,
59
65
  MatRippleModule,
60
66
  TranslateModule,
61
- RouterModule], exports: [ActionbarComponent,
67
+ RouterModule], exports: [MdsViewerComponent,
68
+ MdsWidgetComponent,
69
+ ActionbarComponent,
62
70
  BorderBoxObserverDirective,
63
71
  CheckTextOverflowDirective,
64
72
  DropdownComponent,
65
73
  FocusStateDirective,
66
74
  FormatDatePipe,
67
75
  FormatSizePipe,
76
+ MdsDurationPipe,
68
77
  IconDirective,
69
78
  InfiniteScrollDirective,
70
79
  PropertySlugPipe,
@@ -89,7 +98,10 @@ export class EduSharingUiCommonModule {
89
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EduSharingUiCommonModule, decorators: [{
90
99
  type: NgModule,
91
100
  args: [{
101
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
92
102
  declarations: [
103
+ MdsViewerComponent,
104
+ MdsWidgetComponent,
93
105
  ActionbarComponent,
94
106
  BorderBoxObserverDirective,
95
107
  CheckTextOverflowDirective,
@@ -98,6 +110,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
98
110
  FormatDatePipe,
99
111
  FormatSizePipe,
100
112
  IconDirective,
113
+ MdsDurationPipe,
101
114
  InfiniteScrollDirective,
102
115
  PropertySlugPipe,
103
116
  NodeIconPipe,
@@ -123,6 +136,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
123
136
  RouterModule,
124
137
  ],
125
138
  exports: [
139
+ MdsViewerComponent,
140
+ MdsWidgetComponent,
126
141
  ActionbarComponent,
127
142
  BorderBoxObserverDirective,
128
143
  CheckTextOverflowDirective,
@@ -130,6 +145,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
130
145
  FocusStateDirective,
131
146
  FormatDatePipe,
132
147
  FormatSizePipe,
148
+ MdsDurationPipe,
133
149
  IconDirective,
134
150
  InfiniteScrollDirective,
135
151
  PropertySlugPipe,
@@ -145,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
145
161
  ],
146
162
  }]
147
163
  }] });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWR1LXNoYXJpbmctdWktY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvY29tbW9uL2VkdS1zaGFyaW5nLXVpLWNvbW1vbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUs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d0JBQ2xCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixhQUFhO3FCQUNoQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdFJpcHBsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uYmFyL2FjdGlvbmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm9yZGVyQm94T2JzZXJ2ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2JvcmRlci1ib3gtb2JzZXJ2ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IENoZWNrVGV4dE92ZXJmbG93RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9jaGVjay10ZXh0LW92ZXJmbG93LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb2N1c1N0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9mb2N1cy1zdGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWNvbkRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2luZmluaXRlLXNjcm9sbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZVVybENvbXBvbmVudCB9IGZyb20gJy4uL25vZGUtdXJsL25vZGUtdXJsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtYXRTaXplUGlwZSB9IGZyb20gJy4uL3BpcGVzL2ZpbGUtc2l6ZS5waXBlJztcbmltcG9ydCB7IEZvcm1hdERhdGVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvZm9ybWF0LWRhdGUucGlwZSc7XG5pbXBvcnQgeyBOb2RlSWNvblBpcGUgfSBmcm9tICcuLi9waXBlcy9ub2RlLWljb24ucGlwZSc7XG5pbXBvcnQgeyBOb2RlSW1hZ2VTaXplUGlwZSB9IGZyb20gJy4uL3BpcGVzL25vZGUtaW1hZ2Utc2l6ZS5waXBlJztcbmltcG9ydCB7IE5vZGVJbWFnZVBpcGUgfSBmcm9tICcuLi9waXBlcy9ub2RlLWltYWdlLnBpcGUnO1xuaW1wb3J0IHsgTm9kZVBlcnNvbk5hbWVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvbm9kZS1wZXJzb24tbmFtZS5waXBlJztcbmltcG9ydCB7IE5vZGVUaXRsZVBpcGUgfSBmcm9tICcuLi9waXBlcy9ub2RlLXRpdGxlLnBpcGUnO1xuaW1wb3J0IHsgT3B0aW9uVG9vbHRpcFBpcGUgfSBmcm9tICcuLi9waXBlcy9vcHRpb24tdG9vbHRpcC5waXBlJztcbmltcG9ydCB7IFJlcGxhY2VDaGFyc1BpcGUgfSBmcm9tICcuLi9waXBlcy9yZXBsYWNlLWNoYXJzLnBpcGUnO1xuaW1wb3J0IHsgVkNhcmROYW1lUGlwZSB9IGZyb20gJy4uL3BpcGVzL3ZjYXJkLW5hbWUucGlwZSc7XG5pbXBvcnQgeyBTb3J0RHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9zb3J0LWRyb3Bkb3duL3NvcnQtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuLi9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFByb3BlcnR5U2x1Z1BpcGUgfSBmcm9tICcuLi9waXBlcy9wcm9wZXJ0eS1zbHVnLnBpcGUnO1xuaW1wb3J0IHsgTm9kZUxpY2Vuc2VQaXBlIH0gZnJvbSAnLi4vcGlwZXMvbm9kZS1saWNlbnNlLnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBBY3Rpb25iYXJDb21wb25lbnQsXG4gICAgICAgIEJvcmRlckJveE9ic2VydmVyRGlyZWN0aXZlLFxuICAgICAgICBDaGVja1RleHRPdmVyZmxvd0RpcmVjdGl2ZSxcbiAgICAgICAgRHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIEZvY3VzU3RhdGVEaXJlY3RpdmUsXG4gICAgICAgIEZvcm1hdERhdGVQaXBlLFxuICAgICAgICBGb3JtYXRTaXplUGlwZSxcbiAgICAgICAgSWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUsXG4gICAgICAgIFByb3BlcnR5U2x1Z1BpcGUsXG4gICAgICAgIE5vZGVJY29uUGlwZSxcbiAgICAgICAgTm9kZUltYWdlUGlwZSxcbiAgICAgICAgTm9kZUltYWdlU2l6ZVBpcGUsXG4gICAgICAgIE5vZGVMaWNlbnNlUGlwZSxcbiAgICAgICAgTm9kZVBlcnNvbk5hbWVQaXBlLFxuICAgICAgICBOb2RlVGl0bGVQaXBlLFxuICAgICAgICBOb2RlVXJsQ29tcG9uZW50LFxuICAgICAgICBPcHRpb25Ub29sdGlwUGlwZSxcbiAgICAgICAgUmVwbGFjZUNoYXJzUGlwZSxcbiAgICAgICAgU29ydERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBWQ2FyZE5hbWVQaXBlLFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIFNwaW5uZXJDb21wb25lbnQsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICAgICAgTWF0UmlwcGxlTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgQWN0aW9uYmFyQ29tcG9uZW50LFxuICAgICAgICBCb3JkZXJCb3hPYnNlcnZlckRpcmVjdGl2ZSxcbiAgICAgICAgQ2hlY2tUZXh0T3ZlcmZsb3dEaXJlY3RpdmUsXG4gICAgICAgIERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBGb2N1c1N0YXRlRGlyZWN0aXZlLFxuICAgICAgICBGb3JtYXREYXRlUGlwZSxcbiAgICAgICAgRm9ybWF0U2l6ZVBpcGUsXG4gICAgICAgIEljb25EaXJlY3RpdmUsXG4gICAgICAgIEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLFxuICAgICAgICBQcm9wZXJ0eVNsdWdQaXBlLFxuICAgICAgICBOb2RlSWNvblBpcGUsXG4gICAgICAgIE5vZGVJbWFnZVBpcGUsXG4gICAgICAgIE5vZGVJbWFnZVNpemVQaXBlLFxuICAgICAgICBOb2RlUGVyc29uTmFtZVBpcGUsXG4gICAgICAgIE5vZGVUaXRsZVBpcGUsXG4gICAgICAgIE5vZGVVcmxDb21wb25lbnQsXG4gICAgICAgIFNvcnREcm9wZG93bkNvbXBvbmVudCxcbiAgICAgICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICAgICAgVkNhcmROYW1lUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFZHVTaGFyaW5nVWlDb21tb25Nb2R1bGUge31cbiJdfQ==
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWR1LXNoYXJpbmctdWktY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvY29tbW9uL2VkdS1zaGFyaW5nLXVpLWNvbW1vbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdD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QUNoQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLGFBQWE7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLFlBQVk7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGFBQWE7cUJBQ2hCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25iYXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCb3JkZXJCb3hPYnNlcnZlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvYm9yZGVyLWJveC1vYnNlcnZlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2hlY2tUZXh0T3ZlcmZsb3dEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2NoZWNrLXRleHQtb3ZlcmZsb3cuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvY3VzU3RhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2ZvY3VzLXN0YXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJY29uRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9pY29uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb2RlVXJsQ29tcG9uZW50IH0gZnJvbSAnLi4vbm9kZS11cmwvbm9kZS11cmwuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1hdFNpemVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgRm9ybWF0RGF0ZVBpcGUgfSBmcm9tICcuLi9waXBlcy9mb3JtYXQtZGF0ZS5waXBlJztcbmltcG9ydCB7IE5vZGVJY29uUGlwZSB9IGZyb20gJy4uL3BpcGVzL25vZGUtaWNvbi5waXBlJztcbmltcG9ydCB7IE5vZGVJbWFnZVNpemVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvbm9kZS1pbWFnZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgTm9kZUltYWdlUGlwZSB9IGZyb20gJy4uL3BpcGVzL25vZGUtaW1hZ2UucGlwZSc7XG5pbXBvcnQgeyBOb2RlUGVyc29uTmFtZVBpcGUgfSBmcm9tICcuLi9waXBlcy9ub2RlLXBlcnNvbi1uYW1lLnBpcGUnO1xuaW1wb3J0IHsgTm9kZVRpdGxlUGlwZSB9IGZyb20gJy4uL3BpcGVzL25vZGUtdGl0bGUucGlwZSc7XG5pbXBvcnQgeyBPcHRpb25Ub29sdGlwUGlwZSB9IGZyb20gJy4uL3BpcGVzL29wdGlvbi10b29sdGlwLnBpcGUnO1xuaW1wb3J0IHsgUmVwbGFjZUNoYXJzUGlwZSB9IGZyb20gJy4uL3BpcGVzL3JlcGxhY2UtY2hhcnMucGlwZSc7XG5pbXBvcnQgeyBWQ2FyZE5hbWVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvdmNhcmQtbmFtZS5waXBlJztcbmltcG9ydCB7IFNvcnREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvcGVydHlTbHVnUGlwZSB9IGZyb20gJy4uL3BpcGVzL3Byb3BlcnR5LXNsdWcucGlwZSc7XG5pbXBvcnQgeyBOb2RlTGljZW5zZVBpcGUgfSBmcm9tICcuLi9waXBlcy9ub2RlLWxpY2Vuc2UucGlwZSc7XG5pbXBvcnQgeyBNZHNXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuLi9tZHMtdmlld2VyL3dpZGdldC9tZHMtd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZHNEdXJhdGlvblBpcGUgfSBmcm9tICcuLi9waXBlcy9tZHMtZHVyYXRpb24ucGlwZSc7XG5pbXBvcnQgeyBNZHNWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuLi9tZHMtdmlld2VyL21kcy12aWV3ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE1kc1ZpZXdlckNvbXBvbmVudCxcbiAgICAgICAgTWRzV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBBY3Rpb25iYXJDb21wb25lbnQsXG4gICAgICAgIEJvcmRlckJveE9ic2VydmVyRGlyZWN0aXZlLFxuICAgICAgICBDaGVja1RleHRPdmVyZmxvd0RpcmVjdGl2ZSxcbiAgICAgICAgRHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIEZvY3VzU3RhdGVEaXJlY3RpdmUsXG4gICAgICAgIEZvcm1hdERhdGVQaXBlLFxuICAgICAgICBGb3JtYXRTaXplUGlwZSxcbiAgICAgICAgSWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgTWRzRHVyYXRpb25QaXBlLFxuICAgICAgICBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSxcbiAgICAgICAgUHJvcGVydHlTbHVnUGlwZSxcbiAgICAgICAgTm9kZUljb25QaXBlLFxuICAgICAgICBOb2RlSW1hZ2VQaXBlLFxuICAgICAgICBOb2RlSW1hZ2VTaXplUGlwZSxcbiAgICAgICAgTm9kZUxpY2Vuc2VQaXBlLFxuICAgICAgICBOb2RlUGVyc29uTmFtZVBpcGUsXG4gICAgICAgIE5vZGVUaXRsZVBpcGUsXG4gICAgICAgIE5vZGVVcmxDb21wb25lbnQsXG4gICAgICAgIE9wdGlvblRvb2x0aXBQaXBlLFxuICAgICAgICBSZXBsYWNlQ2hhcnNQaXBlLFxuICAgICAgICBTb3J0RHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIFZDYXJkTmFtZVBpcGUsXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0TWVudU1vZHVsZSxcbiAgICAgICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgICAgICBNYXRSaXBwbGVNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBNZHNWaWV3ZXJDb21wb25lbnQsXG4gICAgICAgIE1kc1dpZGdldENvbXBvbmVudCxcbiAgICAgICAgQWN0aW9uYmFyQ29tcG9uZW50LFxuICAgICAgICBCb3JkZXJCb3hPYnNlcnZlckRpcmVjdGl2ZSxcbiAgICAgICAgQ2hlY2tUZXh0T3ZlcmZsb3dEaXJlY3RpdmUsXG4gICAgICAgIERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBGb2N1c1N0YXRlRGlyZWN0aXZlLFxuICAgICAgICBGb3JtYXREYXRlUGlwZSxcbiAgICAgICAgRm9ybWF0U2l6ZVBpcGUsXG4gICAgICAgIE1kc0R1cmF0aW9uUGlwZSxcbiAgICAgICAgSWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUsXG4gICAgICAgIFByb3BlcnR5U2x1Z1BpcGUsXG4gICAgICAgIE5vZGVJY29uUGlwZSxcbiAgICAgICAgTm9kZUltYWdlUGlwZSxcbiAgICAgICAgTm9kZUltYWdlU2l6ZVBpcGUsXG4gICAgICAgIE5vZGVQZXJzb25OYW1lUGlwZSxcbiAgICAgICAgTm9kZVRpdGxlUGlwZSxcbiAgICAgICAgTm9kZVVybENvbXBvbmVudCxcbiAgICAgICAgU29ydERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBTcGlubmVyQ29tcG9uZW50LFxuICAgICAgICBWQ2FyZE5hbWVQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVkdVNoYXJpbmdVaUNvbW1vbk1vZHVsZSB7fVxuIl19
@@ -4,12 +4,13 @@
4
4
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
5
5
  import { Directive, Input, Optional, } from '@angular/core';
6
6
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
- import { BehaviorSubject, combineLatest } from 'rxjs';
7
+ import { BehaviorSubject, combineLatest, firstValueFrom } from 'rxjs';
8
8
  import { filter } from 'rxjs/operators';
9
9
  import { notNull } from '../util/functions';
10
10
  import * as i0 from "@angular/core";
11
- import * as i1 from "@ngx-translate/core";
12
- import * as i2 from "ngx-edu-sharing-api";
11
+ import * as i1 from "@angular/common/http";
12
+ import * as i2 from "@ngx-translate/core";
13
+ import * as i3 from "ngx-edu-sharing-api";
13
14
  /**
14
15
  * Replaces the element's content with an icon.
15
16
  *
@@ -46,8 +47,9 @@ export class IconDirective {
46
47
  set esIcon(id) {
47
48
  this.originalId$.next(id);
48
49
  }
49
- constructor(element, translate, renderer, config) {
50
+ constructor(element, http, translate, renderer, config) {
50
51
  this.element = element;
52
+ this.http = http;
51
53
  this.translate = translate;
52
54
  this.renderer = renderer;
53
55
  this.config = config;
@@ -70,7 +72,7 @@ export class IconDirective {
70
72
  this.altTextSpan.remove();
71
73
  }
72
74
  }
73
- setIcon(id, iconsConfig) {
75
+ async setIcon(id, iconsConfig) {
74
76
  if (this._id) {
75
77
  this.element.nativeElement.classList.remove('edu-icons', 'custom-icons', 'material-icons');
76
78
  if (this.svg) {
@@ -78,14 +80,32 @@ export class IconDirective {
78
80
  }
79
81
  }
80
82
  if (id.startsWith('svg-')) {
81
- this.svg = document.createElement('img');
82
- this.svg.classList.add('svg-icons');
83
- this.svg.src = 'assets/images/icons/' + id.substring(4);
84
- this.renderer.appendChild(this.element.nativeElement, this.svg);
85
- if (this._aria) {
86
- this.updateAria();
83
+ try {
84
+ const iconName = id.slice(4);
85
+ const fileName = iconName.endsWith('.svg') ? iconName : `${iconName}.svg`;
86
+ const path = `assets/images/icons/${fileName}`;
87
+ const svgText = await firstValueFrom(this.http.get(path, { responseType: 'text' }));
88
+ if (!svgText)
89
+ return;
90
+ const parser = new DOMParser();
91
+ const doc = parser.parseFromString(svgText, 'image/svg+xml');
92
+ const svgElement = doc.querySelector('svg');
93
+ if (!svgElement) {
94
+ console.error('No SVG element found in the file');
95
+ return;
96
+ }
97
+ svgElement.classList.add('svg-icons');
98
+ this.svg = svgElement;
99
+ this.renderer.appendChild(this.element.nativeElement, this.svg);
100
+ if (this._aria) {
101
+ this.updateAria();
102
+ }
103
+ return;
104
+ }
105
+ catch (error) {
106
+ console.error('Error loading SVG:', error);
107
+ return;
87
108
  }
88
- return;
89
109
  }
90
110
  let customClass = null;
91
111
  const mapping = iconsConfig?.filter((i) => i.original === id);
@@ -129,7 +149,8 @@ export class IconDirective {
129
149
  }
130
150
  setAltText(altText) {
131
151
  if (this.svg) {
132
- this.svg.alt = altText;
152
+ // for SVG elements, add aria-label instead
153
+ this.svg.setAttribute('aria-label', altText);
133
154
  }
134
155
  if (altText && !this.altTextSpan) {
135
156
  this.insertAltTextSpan();
@@ -143,7 +164,7 @@ export class IconDirective {
143
164
  this.altTextSpan.classList.add('cdk-visually-hidden');
144
165
  this.element.nativeElement.insertAdjacentElement('afterend', this.altTextSpan);
145
166
  }
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: IconDirective, deps: [{ token: i0.ElementRef }, { token: i1.TranslateService }, { token: i0.Renderer2 }, { token: i2.ConfigService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
167
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: IconDirective, deps: [{ token: i0.ElementRef }, { token: i1.HttpClient }, { token: i2.TranslateService }, { token: i0.Renderer2 }, { token: i3.ConfigService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
147
168
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: IconDirective, selector: "i[esIcon], i.material-icons", inputs: { altText: "altText", aria: "aria", esIcon: "esIcon" }, ngImport: i0 }); }
148
169
  }
149
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: IconDirective, decorators: [{
@@ -151,7 +172,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
151
172
  args: [{
152
173
  selector: 'i[esIcon], i.material-icons',
153
174
  }]
154
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.TranslateService }, { type: i0.Renderer2 }, { type: i2.ConfigService, decorators: [{
175
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.HttpClient }, { type: i2.TranslateService }, { type: i0.Renderer2 }, { type: i3.ConfigService, decorators: [{
155
176
  type: Optional
156
177
  }] }], propDecorators: { altText: [{
157
178
  type: Input
@@ -160,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
160
181
  }], esIcon: [{
161
182
  type: Input
162
183
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFHTCxRQUFRLEdBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQUk1Qzs7Ozs7Ozs7Ozs7R0FXRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBUXRCOzs7Ozs7T0FNRztJQUNILElBQWEsT0FBTyxDQUFDLE9BQWU7UUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsc0VBQXNFO0lBQ3RFLElBQWEsSUFBSSxDQUFDLElBQWE7UUFDM0IsSUFBSSxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBYSxNQUFNLENBQUMsRUFBVTtRQUMxQixJQUFJ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SUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25GLENBQUM7K0dBeElRLGFBQWE7bUdBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFIekIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNkJBQTZCO2lCQUMxQzs7MEJBdUNRLFFBQVE7eUNBdkJBLE9BQU87c0JBQW5CLEtBQUs7Z0JBS08sSUFBSTtzQkFBaEIsS0FBSztnQkFVTyxNQUFNO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVhdGVkIGJ5IFRvcnN0ZW4gb24gMTMuMDEuMjAxNy5cbiAqL1xuXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG5vdE51bGwgfSBmcm9tICcuLi91dGlsL2Z1bmN0aW9ucyc7XG5cbnR5cGUgSWNvbnNDb25maWcgPSBBcnJheTx7IG9yaWdpbmFsOiBzdHJpbmc7IHJlcGxhY2U/OiBzdHJpbmc7IGNzc0NsYXNzPzogc3RyaW5nIH0+O1xuXG4vKipcbiAqIFJlcGxhY2VzIHRoZSBlbGVtZW50J3MgY29udGVudCB3aXRoIGFuIGljb24uXG4gKlxuICogRXhhbXBsZTogYDxpIGVzSWNvbj1cInNhdmVcIj48L2k+YFxuICpcbiAqIE9wdGlvbmFsbHksIGEgdHJhbnNsYXRlZCBgYXJpYS1sYWJlbGAgY2FuIGJlIGF0dGFjaGVkIGJ5IHNldHRpbmcgYGFyaWFgIHRvIGEgdHJ1dGh5IHZhbHVlOiBgPGlcbiAqIGVzSWNvbj1cInNhdmVcIiBhcmlhPVwidHJ1ZVwiPjwvaT5gLiBPdGhlcndpc2UsIGBhcmlhLWhpZGRlbmAgd2lsbCBiZSBzZXQuXG4gKlxuICogRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB0aGUgZGlyZWN0aXZlIGlzIGFsc28gYWN0aXZhdGVkIG9uIGVsZW1lbnRzIHRoYXQgc2V0XG4gKiBgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiYC4gVGhpcyBpcyBtYWlubHkgdG8gc2V0IHRoZSBgYXJpYS1oaWRkZW5gIGF0dHJpYnV0ZS4gT2NjdXJyZW5jZXMgc2hvdWxkXG4gKiBiZSB1cGRhdGVkIHRvIHRoZSBzeW50YXggYWJvdmUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnaVtlc0ljb25dLCBpLm1hdGVyaWFsLWljb25zJyxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIG9yaWdpbmFsSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuICAgIHByaXZhdGUgX2lkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfYXJpYTogYm9vbGVhbjtcbiAgICBwcml2YXRlIGFsdFRleHRTcGFuOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGlzUmVhZHkgPSBmYWxzZTtcbiAgICBwcml2YXRlIHN2ZzogSFRNTEltYWdlRWxlbWVudDtcblxuICAgIC8qKlxuICAgICAqIEFuIGFsdCB0ZXh0IHRvIHNob3cgdG8gc2NyZWVuIHJlYWRlcnMuXG4gICAgICpcbiAgICAgKiBJZiBvbWl0dGVkLCB0aGUgaWNvbiB3aWxsIGJlIGludmlzaWJsZSB0byBzY3JlZW4gcmVhZGVycy5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2NvbXBvbmVudHMvaWNvbi9vdmVydmlldyNpbmRpY2F0b3ItaWNvbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgYWx0VGV4dChhbHRUZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXRBbHRUZXh0KGFsdFRleHQpO1xuICAgIH1cblxuICAgIC8qKiBJZiB0cnVlLCBhbiBhbHQgdGV4dCAoc2VlIGFib3ZlKSB3aWxsIGJlIHNldCBiYXNlZCBvbiB0aGUgaWNvbi4gKi9cbiAgICBASW5wdXQoKSBzZXQgYXJpYShhcmlhOiBib29sZWFuKSB7XG4gICAgICAgIGFyaWEgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoYXJpYSk7XG4gICAgICAgIGlmIChhcmlhICE9PSB0aGlzLl9hcmlhKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhID0gYXJpYTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUmVhZHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBlc0ljb24oaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLm9yaWdpbmFsSWQkLm5leHQoaWQpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5vcmlnaW5hbElkJC5waXBlKGZpbHRlcihub3ROdWxsKSksIHRoaXMuY29uZmlnLmdldCgnaWNvbnMnLCBudWxsKV0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKFtvcmlnaW5hbElkLCBpY29uc0NvbmZpZ10pID0+IHRoaXMuc2V0SWNvbihvcmlnaW5hbElkLCBpY29uc0NvbmZpZykpO1xuICAgIH1cblxuICAgIGFzeW5jIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmlzUmVhZHkgPSB0cnVlO1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICAgICAgLy8gTWF0ZXJpYWwgc3R5bGVzIGV4cGVjdCBpY29ucyB0byBoYXZlIHRoZSBjbGFzcyBgbWF0LWljb25gLCBlLmcuLFxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2Jsb2IvYWUwYjllMWMxYmFlNWU5MzdkMDM5ZWE1MzY1MmZlMTY1NmJjNDYyMy9zcmMvbWF0ZXJpYWwvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnNjc3MjTDE1NlxuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdtYXQtaWNvbicpO1xuICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWx0VGV4dFNwYW4pIHtcbiAgICAgICAgICAgIHRoaXMuYWx0VGV4dFNwYW4ucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEljb24oaWQ6IHN0cmluZywgaWNvbnNDb25maWc6IEljb25zQ29uZmlnKSB7XG4gICAgICAgIGlmICh0aGlzLl9pZCkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcbiAgICAgICAgICAgICAgICAnZWR1LWljb25zJyxcbiAgICAgICAgICAgICAgICAnY3VzdG9tLWljb25zJyxcbiAgICAgICAgICAgICAgICAnbWF0ZXJpYWwtaWNvbnMnLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmICh0aGlzLnN2Zykge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuc3ZnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaWQuc3RhcnRzV2l0aCgnc3ZnLScpKSB7XG4gICAgICAgICAgICB0aGlzLnN2ZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuICAgICAgICAgICAgdGhpcy5zdmcuY2xhc3NMaXN0LmFkZCgnc3ZnLWljb25zJyk7XG4gICAgICAgICAgICB0aGlzLnN2Zy5zcmMgPSAnYXNzZXRzL2ltYWdlcy9pY29ucy8nICsgaWQuc3Vic3RyaW5nKDQpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5zdmcpO1xuICAgICAgICAgICAgaWYgKHRoaXMuX2FyaWEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY3VzdG9tQ2xhc3M6IHN0cmluZyA9IG51bGw7XG4gICAgICAgIGNvbnN0IG1hcHBpbmcgPSBpY29uc0NvbmZpZz8uZmlsdGVyKChpKSA9PiBpLm9yaWdpbmFsID09PSBpZCk7XG4gICAgICAgIGlmIChtYXBwaW5nPy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGlkID0gbWFwcGluZ1swXS5yZXBsYWNlIHx8ICcnO1xuICAgICAgICAgICAgY3VzdG9tQ2xhc3MgPSBtYXBwaW5nWzBdLmNzc0NsYXNzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lkID0gaWQ7XG4gICAgICAgIGlmICh0aGlzLl9hcmlhKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY3NzQ2xhc3M6IHN0cmluZztcbiAgICAgICAgaWYgKGlkPy5zdGFydHNXaXRoKCdlZHUtJykgJiYgIWN1c3RvbUNsYXNzKSB7XG4gICAgICAgICAgICBjc3NDbGFzcyA9ICdlZHUtaWNvbnMnO1xuICAgICAgICAgICAgaWQgPSBpZC5zdWJzdHJpbmcoNCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaWQ/LnN0YXJ0c1dpdGgoJ2N1c3RvbS0nKSB8fCBjdXN0b21DbGFzcykge1xuICAgICAgICAgICAgY3NzQ2xhc3MgPSAnY3VzdG9tLWljb25zJztcbiAgICAgICAgICAgIGlkID0gaWQuc3Vic3RyaW5nKDcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3NzQ2xhc3MgPSAnbWF0ZXJpYWwtaWNvbnMnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3NzQ2xhc3MpO1xuICAgICAgICBpZiAoY3VzdG9tQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3VzdG9tQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA9IGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQXJpYSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2FyaWEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2FyaWEgJiYgdGhpcy5faWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0lDT05fTEFCRUxTLicgKyB0aGlzLl9pZCkuc3Vic2NyaWJlKChsYW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QWx0VGV4dChsYW5nKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRBbHRUZXh0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRBbHRUZXh0KGFsdFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdmcpIHtcbiAgICAgICAgICAgIHRoaXMuc3ZnLmFsdCA9IGFsdFRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFsdFRleHQgJiYgIXRoaXMuYWx0VGV4dFNwYW4pIHtcbiAgICAgICAgICAgIHRoaXMuaW5zZXJ0QWx0VGV4dFNwYW4oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hbHRUZXh0U3Bhbikge1xuICAgICAgICAgICAgdGhpcy5hbHRUZXh0U3Bhbi5pbm5lclRleHQgPSBhbHRUZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbnNlcnRBbHRUZXh0U3BhbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hbHRUZXh0U3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgdGhpcy5hbHRUZXh0U3Bhbi5jbGFzc0xpc3QuYWRkKCdjZGstdmlzdWFsbHktaGlkZGVuJyk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lmluc2VydEFkamFjZW50RWxlbWVudCgnYWZ0ZXJlbmQnLCB0aGlzLmFsdFRleHRTcGFuKTtcbiAgICB9XG59XG4iXX0=
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU5RCxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFHTCxRQUFRLEdBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBSTVDOzs7Ozs7Ozs7OztHQVdHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFRdEI7Ozs7OztPQU1HO0lBQ0gsSUFBYSxPQUFPLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxzRUFBc0U7SUFDdEUsSUFBYSxJQUFJLENBQUMsSUFBYTtRQUMzQixJQUFJLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFhLE1BQU0sQ0FBQyxFQUFV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Z0JBVU8sTUFBTTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlYXRlZCBieSBUb3JzdGVuIG9uIDEzLjAxLjIwMTcuXG4gKi9cblxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG5vdE51bGwgfSBmcm9tICcuLi91dGlsL2Z1bmN0aW9ucyc7XG5cbnR5cGUgSWNvbnNDb25maWcgPSBBcnJheTx7IG9yaWdpbmFsOiBzdHJpbmc7IHJlcGxhY2U/OiBzdHJpbmc7IGNzc0NsYXNzPzogc3RyaW5nIH0+O1xuXG4vKipcbiAqIFJlcGxhY2VzIHRoZSBlbGVtZW50J3MgY29udGVudCB3aXRoIGFuIGljb24uXG4gKlxuICogRXhhbXBsZTogYDxpIGVzSWNvbj1cInNhdmVcIj48L2k+YFxuICpcbiAqIE9wdGlvbmFsbHksIGEgdHJhbnNsYXRlZCBgYXJpYS1sYWJlbGAgY2FuIGJlIGF0dGFjaGVkIGJ5IHNldHRpbmcgYGFyaWFgIHRvIGEgdHJ1dGh5IHZhbHVlOiBgPGlcbiAqIGVzSWNvbj1cInNhdmVcIiBhcmlhPVwidHJ1ZVwiPjwvaT5gLiBPdGhlcndpc2UsIGBhcmlhLWhpZGRlbmAgd2lsbCBiZSBzZXQuXG4gKlxuICogRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB0aGUgZGlyZWN0aXZlIGlzIGFsc28gYWN0aXZhdGVkIG9uIGVsZW1lbnRzIHRoYXQgc2V0XG4gKiBgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiYC4gVGhpcyBpcyBtYWlubHkgdG8gc2V0IHRoZSBgYXJpYS1oaWRkZW5gIGF0dHJpYnV0ZS4gT2NjdXJyZW5jZXMgc2hvdWxkXG4gKiBiZSB1cGRhdGVkIHRvIHRoZSBzeW50YXggYWJvdmUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnaVtlc0ljb25dLCBpLm1hdGVyaWFsLWljb25zJyxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIG9yaWdpbmFsSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuICAgIHByaXZhdGUgX2lkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfYXJpYTogYm9vbGVhbjtcbiAgICBwcml2YXRlIGFsdFRleHRTcGFuOiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIGlzUmVhZHkgPSBmYWxzZTtcbiAgICBwcml2YXRlIHN2ZzogU1ZHU1ZHRWxlbWVudDtcblxuICAgIC8qKlxuICAgICAqIEFuIGFsdCB0ZXh0IHRvIHNob3cgdG8gc2NyZWVuIHJlYWRlcnMuXG4gICAgICpcbiAgICAgKiBJZiBvbWl0dGVkLCB0aGUgaWNvbiB3aWxsIGJlIGludmlzaWJsZSB0byBzY3JlZW4gcmVhZGVycy5cbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2NvbXBvbmVudHMvaWNvbi9vdmVydmlldyNpbmRpY2F0b3ItaWNvbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgYWx0VGV4dChhbHRUZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zZXRBbHRUZXh0KGFsdFRleHQpO1xuICAgIH1cblxuICAgIC8qKiBJZiB0cnVlLCBhbiBhbHQgdGV4dCAoc2VlIGFib3ZlKSB3aWxsIGJlIHNldCBiYXNlZCBvbiB0aGUgaWNvbi4gKi9cbiAgICBASW5wdXQoKSBzZXQgYXJpYShhcmlhOiBib29sZWFuKSB7XG4gICAgICAgIGFyaWEgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoYXJpYSk7XG4gICAgICAgIGlmIChhcmlhICE9PSB0aGlzLl9hcmlhKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhID0gYXJpYTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUmVhZHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBlc0ljb24oaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLm9yaWdpbmFsSWQkLm5leHQoaWQpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLm9yaWdpbmFsSWQkLnBpcGUoZmlsdGVyKG5vdE51bGwpKSwgdGhpcy5jb25maWcuZ2V0KCdpY29ucycsIG51bGwpXSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW29yaWdpbmFsSWQsIGljb25zQ29uZmlnXSkgPT4gdGhpcy5zZXRJY29uKG9yaWdpbmFsSWQsIGljb25zQ29uZmlnKSk7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaXNSZWFkeSA9IHRydWU7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICAgICAgICAvLyBNYXRlcmlhbCBzdHlsZXMgZXhwZWN0IGljb25zIHRvIGhhdmUgdGhlIGNsYXNzIGBtYXQtaWNvbmAsIGUuZy4sXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9hZTBiOWUxYzFiYWU1ZTkzN2QwMzllYTUzNjUyZmUxNjU2YmM0NjIzL3NyYy9tYXRlcmlhbC9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuc2NzcyNMMTU2XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ21hdC1pY29uJyk7XG4gICAgICAgIHRoaXMudXBkYXRlQXJpYSgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hbHRUZXh0U3Bhbikge1xuICAgICAgICAgICAgdGhpcy5hbHRUZXh0U3Bhbi5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgc2V0SWNvbihpZDogc3RyaW5nLCBpY29uc0NvbmZpZzogSWNvbnNDb25maWcpIHtcbiAgICAgICAgaWYgKHRoaXMuX2lkKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFxuICAgICAgICAgICAgICAgICdlZHUtaWNvbnMnLFxuICAgICAgICAgICAgICAgICdjdXN0b20taWNvbnMnLFxuICAgICAgICAgICAgICAgICdtYXRlcmlhbC1pY29ucycsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHRoaXMuc3ZnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5zdmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpZC5zdGFydHNXaXRoKCdzdmctJykpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaWNvbk5hbWUgPSBpZC5zbGljZSg0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGljb25OYW1lLmVuZHNXaXRoKCcuc3ZnJykgPyBpY29uTmFtZSA6IGAke2ljb25OYW1lfS5zdmdgO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBgYXNzZXRzL2ltYWdlcy9pY29ucy8ke2ZpbGVOYW1lfWA7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBzdmdUZXh0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldChwYXRoLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pKTtcblxuICAgICAgICAgICAgICAgIGlmICghc3ZnVGV4dCkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRvYyA9IHBhcnNlci5wYXJzZUZyb21TdHJpbmcoc3ZnVGV4dCwgJ2ltYWdlL3N2Zyt4bWwnKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdmdFbGVtZW50ID0gZG9jLnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFzdmdFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ05vIFNWRyBlbGVtZW50IGZvdW5kIGluIHRoZSBmaWxlJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdmdFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3N2Zy1pY29ucycpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3ZnID0gc3ZnRWxlbWVudDtcblxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuc3ZnKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9hcmlhKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQXJpYSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBTVkc6JywgZXJyb3IpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZXQgY3VzdG9tQ2xhc3M6IHN0cmluZyA9IG51bGw7XG4gICAgICAgIGNvbnN0IG1hcHBpbmcgPSBpY29uc0NvbmZpZz8uZmlsdGVyKChpKSA9PiBpLm9yaWdpbmFsID09PSBpZCk7XG4gICAgICAgIGlmIChtYXBwaW5nPy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGlkID0gbWFwcGluZ1swXS5yZXBsYWNlIHx8ICcnO1xuICAgICAgICAgICAgY3VzdG9tQ2xhc3MgPSBtYXBwaW5nWzBdLmNzc0NsYXNzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lkID0gaWQ7XG4gICAgICAgIGlmICh0aGlzLl9hcmlhKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY3NzQ2xhc3M6IHN0cmluZztcbiAgICAgICAgaWYgKGlkPy5zdGFydHNXaXRoKCdlZHUtJykgJiYgIWN1c3RvbUNsYXNzKSB7XG4gICAgICAgICAgICBjc3NDbGFzcyA9ICdlZHUtaWNvbnMnO1xuICAgICAgICAgICAgaWQgPSBpZC5zdWJzdHJpbmcoNCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaWQ/LnN0YXJ0c1dpdGgoJ2N1c3RvbS0nKSB8fCBjdXN0b21DbGFzcykge1xuICAgICAgICAgICAgY3NzQ2xhc3MgPSAnY3VzdG9tLWljb25zJztcbiAgICAgICAgICAgIGlkID0gaWQuc3Vic3RyaW5nKDcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3NzQ2xhc3MgPSAnbWF0ZXJpYWwtaWNvbnMnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3NzQ2xhc3MpO1xuICAgICAgICBpZiAoY3VzdG9tQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3VzdG9tQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA9IGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQXJpYSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2FyaWEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2FyaWEgJiYgdGhpcy5faWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0lDT05fTEFCRUxTLicgKyB0aGlzLl9pZCkuc3Vic2NyaWJlKChsYW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QWx0VGV4dChsYW5nKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRBbHRUZXh0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRBbHRUZXh0KGFsdFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdmcpIHtcbiAgICAgICAgICAgIC8vIGZvciBTVkcgZWxlbWVudHMsIGFkZCBhcmlhLWxhYmVsIGluc3RlYWRcbiAgICAgICAgICAgIHRoaXMuc3ZnLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIGFsdFRleHQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhbHRUZXh0ICYmICF0aGlzLmFsdFRleHRTcGFuKSB7XG4gICAgICAgICAgICB0aGlzLmluc2VydEFsdFRleHRTcGFuKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYWx0VGV4dFNwYW4pIHtcbiAgICAgICAgICAgIHRoaXMuYWx0VGV4dFNwYW4uaW5uZXJUZXh0ID0gYWx0VGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5zZXJ0QWx0VGV4dFNwYW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWx0VGV4dFNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIHRoaXMuYWx0VGV4dFNwYW4uY2xhc3NMaXN0LmFkZCgnY2RrLXZpc3VhbGx5LWhpZGRlbicpO1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5pbnNlcnRBZGphY2VudEVsZW1lbnQoJ2FmdGVyZW5kJywgdGhpcy5hbHRUZXh0U3Bhbik7XG4gICAgfVxufVxuIl19
@@ -1,9 +1,12 @@
1
1
  /*
2
2
  * Public API Surface of edu-sharing-ui
3
3
  */
4
+ export * from './mds-viewer/mds-viewer.component';
5
+ export * from './mds-viewer/widget/mds-widget.component';
4
6
  export * from './actionbar/actionbar.component';
5
7
  export * from './common/edu-sharing-ui-common.module';
6
8
  export * from './mds/mds.module';
9
+ export * from './mds-viewer/view-instance.service';
7
10
  export * from './directives/border-box-observer.directive';
8
11
  export * from './directives/check-text-overflow.directive';
9
12
  export * from './directives/drag-nodes/drag-nodes';
@@ -33,10 +36,13 @@ export * from './node-entries/node-data-source-remote';
33
36
  export * from './node-entries/node-entries-global.service';
34
37
  export * from './node-entries/node-entries-wrapper.component';
35
38
  export * from './node-entries/node-entries.module';
39
+ export * from './mds-viewer/mds-viewer.component';
40
+ export * from './mds-viewer/replace-element-with-div';
36
41
  export * from './node-url/node-url.component';
37
42
  export * from './pipes/property-slug.pipe';
38
43
  export * from './pipes/file-size.pipe';
39
44
  export * from './pipes/format-date.pipe';
45
+ export * from './pipes/mds-duration.pipe';
40
46
  export * from './pipes/node-icon.pipe';
41
47
  export * from './pipes/node-image-size.pipe';
42
48
  export * from './pipes/node-image.pipe';
@@ -85,4 +91,4 @@ export * from './util/ui-animation';
85
91
  export * from './util/ui-constants';
86
92
  export * from './mds/mds-helper.service';
87
93
  export * from './services/search-helper.service';
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZWR1LXNoYXJpbmctdWlcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbmJhci9hY3Rpb25iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uL2VkdS1zaGFyaW5nLXVpLWNvbW1vbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tZHMvbWRzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvYm9yZGVyLWJveC1vYnNlcnZlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2NoZWNrLXRleHQtb3ZlcmZsb3cuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kcmFnLW5vZGVzL2RyYWctbm9kZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RyYWctbm9kZXMvbm9kZXMtZHJhZy1zb3VyY2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kcmFnLW5vZGVzL25vZGVzLWRyYWcuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kcmFnLW5vZGVzL25vZGVzLWRyb3AtdGFyZ2V0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZm9jdXMtc3RhdGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9pY29uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkdS1zaGFyaW5nLXVpLWNvbmZpZ3VyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9lZHUtc2hhcmluZy11aS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LWl0ZW1zL2Zvcm1hdC1kdXJhdGlvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC1pdGVtcy9saXN0LWJhc2UvbGlzdC1iYXNlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QtaXRlbXMvbGlzdC1jb3VudHMvbGlzdC1jb3VudHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC1pdGVtcy9saXN0LWl0ZW1zLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QtaXRlbXMvbGlzdC10ZXh0L2xpc3QtdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LWl0ZW1zL25vZGUtcm93L25vZGUtcm93LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9jb21iaW5lZC1kYXRhLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9jdXN0b20tdGVtcGxhdGVzLWRhdGEtc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL2VudHJpZXMtbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvaXRlbXMtY2FwJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL2xpc3QtaXRlbS1sYWJlbC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL25vZGUtY2FjaGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvbm9kZS1kYXRhLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9ub2RlLWRhdGEtc291cmNlLXJlbW90ZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9ub2RlLWVudHJpZXMtZ2xvYmFsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvbm9kZS1lbnRyaWVzLXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL25vZGUtZW50cmllcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLXVybC9ub2RlLXVybC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9wcm9wZXJ0eS1zbHVnLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9maWxlLXNpemUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2Zvcm1hdC1kYXRlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9ub2RlLWljb24ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL25vZGUtaW1hZ2Utc2l6ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvbm9kZS1pbWFnZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvbm9kZS1saWNlbnNlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9ub2RlLXBlcnNvbi1uYW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9ub2RlLXRpdGxlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy92Y2FyZC1uYW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hYnN0cmFjdC9hcHAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2Fic3RyYWN0L2tleWJvYXJkLXNob3J0Y3V0cy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYWJzdHJhY3Qvb3B0aW9ucy1oZWxwZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2Fic3RyYWN0L3RvYXN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hY2Nlc3NpYmlsaXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hcHAtY29udGFpbmVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9sb2NhbC1ldmVudHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL25vZGUtaGVscGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9ub2RlLWVudHJpZXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL25vZGVzLWRyYWctZHJvcC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb3B0aW9ucy1oZWxwZXItZGF0YS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcmVwby11cmwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3RlbXBvcmFyeS1zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy91aS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcmVuZGVyLWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1kcm9wZG93bi9zb3J0LWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2xhdGlvbnMvZmFsbGJhY2stdHJhbnNsYXRpb24taGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbi1sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb25zLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2FwaS1tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9hY2Nlc3NpYmlsbGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2RyYWctZHJvcCc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2luamVjdGlvbi10b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9rZXlib2FyZC1zaG9ydGN1dHMnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9saXN0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9vcHRpb24taXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL3dvcmtmbG93JztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9EYXRlSGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9WQ2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvY29sb3ItaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9kdXJhdGlvbi1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL2Z1bmN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9pc051bWVyaWMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL3Jlc3QtaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC91aS1hbmltYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL3VpLWNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL21kcy9tZHMtaGVscGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9zZWFyY2gtaGVscGVyLnNlcnZpY2UnO1xuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZWR1LXNoYXJpbmctdWlcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL21kcy12aWV3ZXIvbWRzLXZpZXdlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tZHMtdmlld2VyL3dpZGdldC9tZHMtd2lkZ2V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbmJhci9hY3Rpb25iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uL2VkdS1zaGFyaW5nLXVpLWNvbW1vbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tZHMvbWRzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL21kcy12aWV3ZXIvdmlldy1pbnN0YW5jZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9ib3JkZXItYm94LW9ic2VydmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvY2hlY2stdGV4dC1vdmVyZmxvdy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RyYWctbm9kZXMvZHJhZy1ub2Rlcyc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZHJhZy1ub2Rlcy9ub2Rlcy1kcmFnLXNvdXJjZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RyYWctbm9kZXMvbm9kZXMtZHJhZy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RyYWctbm9kZXMvbm9kZXMtZHJvcC10YXJnZXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9mb2N1cy1zdGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2ljb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZWR1LXNoYXJpbmctdWktY29uZmlndXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2VkdS1zaGFyaW5nLXVpLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QtaXRlbXMvZm9ybWF0LWR1cmF0aW9uLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LWl0ZW1zL2xpc3QtYmFzZS9saXN0LWJhc2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC1pdGVtcy9saXN0LWNvdW50cy9saXN0LWNvdW50cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LWl0ZW1zL2xpc3QtaXRlbXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QtaXRlbXMvbm9kZS1yb3cvbm9kZS1yb3cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL2NvbWJpbmVkLWRhdGEtc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL2N1c3RvbS10ZW1wbGF0ZXMtZGF0YS1zb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvZW50cmllcy1tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9pdGVtcy1jYXAnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvbGlzdC1pdGVtLWxhYmVsLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvbm9kZS1jYWNoZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9ub2RlLWRhdGEtc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL25vZGUtZGF0YS1zb3VyY2UtcmVtb3RlJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL25vZGUtZW50cmllcy1nbG9iYWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9ub2RlLWVudHJpZXMtd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvbm9kZS1lbnRyaWVzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL21kcy12aWV3ZXIvbWRzLXZpZXdlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tZHMtdmlld2VyL3JlcGxhY2UtZWxlbWVudC13aXRoLWRpdic7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtdXJsL25vZGUtdXJsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3Byb3BlcnR5LXNsdWcucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2ZpbGUtc2l6ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZm9ybWF0LWRhdGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL21kcy1kdXJhdGlvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvbm9kZS1pY29uLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9ub2RlLWltYWdlLXNpemUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL25vZGUtaW1hZ2UucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL25vZGUtbGljZW5zZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvbm9kZS1wZXJzb24tbmFtZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvbm9kZS10aXRsZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvdmNhcmQtbmFtZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYWJzdHJhY3QvYXBwLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hYnN0cmFjdC9rZXlib2FyZC1zaG9ydGN1dHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2Fic3RyYWN0L29wdGlvbnMtaGVscGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hYnN0cmFjdC90b2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYWNjZXNzaWJpbGl0eS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYXBwLWNvbnRhaW5lci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvbG9jYWwtZXZlbnRzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9ub2RlLWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvbm9kZS1lbnRyaWVzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9ub2Rlcy1kcmFnLWRyb3Auc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL29wdGlvbnMtaGVscGVyLWRhdGEuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3JlcG8tdXJsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy90ZW1wb3Jhcnktc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvdWkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3JlbmRlci1oZWxwZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRpb25zL2ZhbGxiYWNrLXRyYW5zbGF0aW9uLWhhbmRsZXInO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb24tbG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9ucy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb25zLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9hcGktbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvYWNjZXNzaWJpbGxpdHknO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9kcmFnLWRyb3AnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9pbmplY3Rpb24tdG9rZW5zJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMva2V5Ym9hcmQtc2hvcnRjdXRzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvbGlzdC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvb3B0aW9uLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy93b3JrZmxvdyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvRGF0ZUhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvVkNhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL2NvbG9yLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvZHVyYXRpb24taGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9mdW5jdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL2hlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvaXNOdW1lcmljJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9yZXN0LWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvdWktYW5pbWF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC91aS1jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZHMvbWRzLWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvc2VhcmNoLWhlbHBlci5zZXJ2aWNlJztcbiJdfQ==