@net7/boilerplate-arianna 4.4.1 → 4.5.0

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 (37) hide show
  1. package/esm2020/lib/components/gallery-breadcrumbs-tooltip/gallery-breadcrumbs-tooltip.mjs +19 -0
  2. package/esm2020/lib/components/index.mjs +2 -1
  3. package/esm2020/lib/config-types/arianna/layouts.mjs +1 -1
  4. package/esm2020/lib/data-sources/linked-objects.ds.mjs +5 -5
  5. package/esm2020/lib/helpers/title.helper.mjs +12 -0
  6. package/esm2020/lib/layouts/collection-layout/collection-layout.ds.mjs +14 -2
  7. package/esm2020/lib/layouts/collection-layout/collection-layout.mjs +7 -5
  8. package/esm2020/lib/layouts/entita-layout/entita-layout.ds.mjs +18 -8
  9. package/esm2020/lib/layouts/gallery-layout/gallery-layout.ds.mjs +35 -2
  10. package/esm2020/lib/layouts/gallery-layout/gallery-layout.mjs +4 -3
  11. package/esm2020/lib/layouts/home-layout/home-layout.ds.mjs +19 -11
  12. package/esm2020/lib/layouts/map-layout/map-layout.ds.mjs +12 -2
  13. package/esm2020/lib/layouts/scheda-layout/scheda-layout.ds.mjs +20 -10
  14. package/esm2020/lib/layouts/search-layout/search-layout.ds.mjs +12 -3
  15. package/esm2020/lib/layouts/timeline-layout/timeline-layout.ds.mjs +13 -3
  16. package/esm2020/lib/n7-boilerplate-arianna.module.mjs +7 -3
  17. package/fesm2015/net7-boilerplate-arianna.mjs +189 -64
  18. package/fesm2015/net7-boilerplate-arianna.mjs.map +1 -1
  19. package/fesm2020/net7-boilerplate-arianna.mjs +189 -64
  20. package/fesm2020/net7-boilerplate-arianna.mjs.map +1 -1
  21. package/lib/components/gallery-breadcrumbs-tooltip/gallery-breadcrumbs-tooltip.d.ts +14 -0
  22. package/lib/components/index.d.ts +1 -0
  23. package/lib/config-types/arianna/layouts.d.ts +16 -7
  24. package/lib/helpers/title.helper.d.ts +7 -0
  25. package/lib/layouts/collection-layout/collection-layout.d.ts +4 -2
  26. package/lib/layouts/collection-layout/collection-layout.ds.d.ts +3 -0
  27. package/lib/layouts/entita-layout/entita-layout.ds.d.ts +2 -0
  28. package/lib/layouts/gallery-layout/gallery-layout.ds.d.ts +4 -1
  29. package/lib/layouts/home-layout/home-layout.ds.d.ts +4 -2
  30. package/lib/layouts/map-layout/map-layout.ds.d.ts +2 -0
  31. package/lib/layouts/scheda-layout/scheda-layout.ds.d.ts +2 -0
  32. package/lib/layouts/search-layout/search-layout.ds.d.ts +13 -10
  33. package/lib/layouts/timeline-layout/timeline-layout.ds.d.ts +2 -0
  34. package/lib/n7-boilerplate-arianna.module.d.ts +7 -6
  35. package/package.json +1 -1
  36. package/src/lib/styles/arianna/components/_gallery-breadcrumbs-tooltip.scss +58 -0
  37. package/src/lib/styles/arianna/layouts/_gallery-layout.scss +34 -0
@@ -3,9 +3,11 @@ import { of } from 'rxjs';
3
3
  import { catchError, filter, first, tap } from 'rxjs/operators';
4
4
  import { get as _get } from 'lodash';
5
5
  import metadataHelper from '../../helpers/metadata.helper';
6
+ import { getHeadTitle } from '../../helpers/title.helper';
6
7
  export class AwEntitaLayoutDS extends LayoutDataSource {
7
8
  constructor() {
8
9
  super(...arguments);
10
+ this.configId = 'entita-layout';
9
11
  this.hasMetadataFields = false;
10
12
  this.navHeader = {}; // nav-header (custom) data
11
13
  this.currentPage = 1; // pagination value (url param)
@@ -120,7 +122,7 @@ export class AwEntitaLayoutDS extends LayoutDataSource {
120
122
  // navigation update
121
123
  this.mainState.updateCustom('currentNav', 'entita');
122
124
  // update head title
123
- this.mainState.update('headTitle', 'Arianna4View - Entità');
125
+ this.setHeadTitle();
124
126
  // check if there is only one tab
125
127
  this.singleTabCheck();
126
128
  }
@@ -179,7 +181,7 @@ export class AwEntitaLayoutDS extends LayoutDataSource {
179
181
  fields,
180
182
  paths: this.configuration.get('paths'),
181
183
  labels: this.configuration.get('labels'),
182
- metadataToShow: _get(this.configuration.get('entita-layout'), 'metadata-to-show', []),
184
+ metadataToShow: _get(this.configuration.get(this.configId), 'metadata-to-show', []),
183
185
  type: typeOfEntity
184
186
  }).length;
185
187
  }));
@@ -209,7 +211,7 @@ export class AwEntitaLayoutDS extends LayoutDataSource {
209
211
  };
210
212
  this.one('aw-entita-nav').updateOptions({
211
213
  bubblesEnabled: this.bubblesEnabled,
212
- config: this.configuration.get('entita-layout'),
214
+ config: this.configuration.get(this.configId),
213
215
  hasMetadataFields: this.hasMetadataFields,
214
216
  labels: this.configuration.get('labels')
215
217
  });
@@ -239,10 +241,10 @@ export class AwEntitaLayoutDS extends LayoutDataSource {
239
241
  this.one('aw-related-entities').update(res.relatedEntities);
240
242
  // fallback text
241
243
  if (!this.hasMetadataFields) {
242
- this.fallbackText = this.configuration.get('entita-layout').fallback;
244
+ this.fallbackText = this.configuration.get(this.configId).fallback;
243
245
  }
244
246
  // update head title
245
- this.mainState.update('headTitle', `Arianna4View - Entità - ${this.myResponse.label}`);
247
+ this.setHeadTitle(this.myResponse.label);
246
248
  }
247
249
  _getPaginationURL() {
248
250
  return {
@@ -279,9 +281,9 @@ export class AwEntitaLayoutDS extends LayoutDataSource {
279
281
  const { fields, typeOfEntity } = response;
280
282
  const paths = this.configuration.get('paths');
281
283
  const labels = this.configuration.get('labels');
282
- let metadataToShow = _get(this.configuration.get('entita-layout'), 'metadata-to-show', []);
284
+ let metadataToShow = _get(this.configuration.get(this.configId), 'metadata-to-show', []);
283
285
  if (this.selectedTab === 'overview') {
284
- metadataToShow = _get(this.configuration.get('entita-layout'), 'overview.informazioni', []);
286
+ metadataToShow = _get(this.configuration.get(this.configId), 'overview.informazioni', []);
285
287
  }
286
288
  return metadataHelper.normalize({
287
289
  fields,
@@ -306,5 +308,13 @@ export class AwEntitaLayoutDS extends LayoutDataSource {
306
308
  getPageCount(items, size) {
307
309
  return Math.floor(items / size);
308
310
  }
311
+ setHeadTitle(label) {
312
+ this.mainState.update('headTitle', getHeadTitle({
313
+ label,
314
+ name: this.configuration.get('customer'),
315
+ pageName: this.configuration.get(this.configId)?.pageName,
316
+ pageDefault: 'Entità',
317
+ }));
318
+ }
309
319
  }
310
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRhLWxheW91dC5kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWFyaWFubmEvc3JjL2xpYi9sYXlvdXRzL2VudGl0YS1sYXlvdXQvZW50aXRhLWxheW91dC5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDOUMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQ0wsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUMvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXJDLE9BQU8sY0FBYyxNQUFNLCtCQUErQixDQUFDO0FBRzNELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxnQkFBZ0I7SUFBdEQ7O1FBZVMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBTTFCLGNBQVMsR0FBUSxFQUFFLENBQUMsQ0FBQywyQkFBMkI7UUFNaEQsZ0JBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFFaEQsYUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDLDJCQUEyQjtRQUVqRCwyQkFBMkI7UUFDcEIsZ0JBQVcsR0FBRyxFQUFFLENBQUMsQ0FBQyx1Q0FBdUM7UUFPekQsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFFbEIsWUFBTyxHQUFHLElBQUksQ0FBQztRQTRDZixvQkFBZSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFRLEVBQUUsRUFBRTtZQUM5QyxJQUFJLE9BQU8sRUFBRTtnQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNyQztZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQTtRQUVEOztXQUVHO1FBQ0gsbUJBQWMsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUFFLE9BQU87WUFDekMsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsYUFBYSxDQUFDO2dCQUM1QyxJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJO2dCQUNKLFdBQVc7YUFDWixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsTUFBTSxDQUFDO2dCQUNyQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDO2dCQUNuRCxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUM7Z0JBQ25DLFNBQVMsRUFBRSxDQUFDO2dCQUNaLEtBQUssRUFBRTtvQkFDTCxLQUFLLEVBQUUscUJBQXFCO29CQUM1QixJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztvQkFDbEIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVE7aUJBQ3ZCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFBO1FBRUQ7O1dBRUc7UUFDSCx5QkFBb0IsR0FBRyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU87YUFDUjtZQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2lCQUM3RSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2IsU0FBUyxDQUFDO2dCQUNULDZCQUE2QjtnQkFDN0IsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7b0JBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBQ3ZELHNCQUFzQjtvQkFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7b0JBQ3BDLG9CQUFvQjtvQkFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUN4RCxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsYUFBYSxDQUFDO3dCQUMxQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7d0JBQ3ZDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVzt3QkFDekIsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhO3dCQUMxQixpQkFBaUIsRUFBRTs0QkFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7eUJBQzNCO3dCQUNELElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTt3QkFDdEIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO3dCQUN0QixVQUFVLEVBQUUsSUFBSTtxQkFDakIsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMvRSxDQUFDO2dCQUNELEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzthQUM1QixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUE7UUFFRCxvQkFBZSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLGFBQWEsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQzFCLGlCQUFpQixFQUFFO29CQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTtpQkFDM0I7Z0JBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUN0QixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ25CLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7YUFDM0MsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0UsZ0RBQWdEO1lBQ2hELE1BQU0sV0FBVyxHQUFXO2dCQUMxQixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDNUMsQ0FBQztZQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUNsQixFQUFFLEVBQUU7Z0JBQ0YsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUN0QixXQUFXO2dCQUNYLG1CQUFtQixFQUFFLE9BQU87YUFDN0IsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFBO0lBb0xILENBQUM7SUExVEMsTUFBTSxDQUFDLEVBQ0wsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxHQUM5RTtRQUNDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsYUFBYSxDQUFDO1lBQzVDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYTtTQUMzQixDQUFDLENBQUM7UUFFSCxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXBELG9CQUFvQjtRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUU1RCxpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hELEtBQUssQ0FBQyxJQUFJO2FBQ1AsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUM3QjthQUNBLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUN2QiwyQkFBMkI7WUFDM0IsZ0NBQWdDO1lBQ2hDLHVCQUF1QjtZQUN2QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7YUFDcEU7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFnR0QsYUFBYSxDQUFDLElBQUk7UUFDaEI7O1VBRUU7UUFDRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDOUIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7YUFBRTtRQUN6RSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQy9CLElBQUk7WUFDSixRQUFRO1lBQ1IsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUU7U0FDaEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsVUFBa0IsRUFBRSxRQUFnQjtRQUMzRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFO1lBQ3JELE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDeEMsTUFBTSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxFQUFFO2dCQUNaLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pGLGdCQUFnQixFQUFFLElBQUksQ0FBQyxXQUFXO2FBQ25DO1NBQ0YsQ0FBQyxDQUFDLElBQUk7UUFDTCw4QkFBOEI7UUFDOUIsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7Z0JBQ2xELE1BQU07Z0JBQ04sS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztnQkFDdEMsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztnQkFDeEMsY0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxFQUFFLENBQUM7Z0JBQ3JGLElBQUksRUFBRSxZQUFZO2FBQ25CLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRztRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQUU7WUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDLCtCQUErQjtZQUNwRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLCtCQUErQjtZQUN4RCxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDLDhCQUE4QjtZQUN0RCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdkU7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztRQUMvQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQUc7UUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztZQUMzQixLQUFLLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUM1QixDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDdEMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDL0MsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QyxNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1NBQ3pDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDMUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3pCLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYTtZQUMxQixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDdEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsaUJBQWlCLEVBQUU7Z0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFO2FBQzNCO1lBQ0QsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTtTQUNwQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRTtZQUM5QyxFQUFFLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUU7Z0JBQ3JDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTTtnQkFDbEMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFO1lBQ3RDLEVBQUUsQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRTtnQkFDckMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNO2dCQUNsQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzVELGdCQUFnQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQ3RFO1FBQ0Qsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSwyQkFBMkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsT0FBTztZQUNMLElBQUksRUFBRTtnQkFDSixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFjO2dCQUM5QyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUc7Z0JBQ3BCLElBQUksQ0FBQyxXQUFXO2dCQUNoQixJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUc7YUFDeEIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ1YsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUM7Z0JBQzNCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTthQUNwQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPO1lBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYztZQUM5QyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDcEIsSUFBSSxDQUFDLFdBQVc7U0FDakIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDYixDQUFDO0lBRU0sWUFBWTtRQUNqQixRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDeEIsS0FBSyxpQkFBaUI7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQztZQUM3QyxLQUFLLG1CQUFtQjtnQkFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDO1lBQ2hEO2dCQUNFLE9BQU8sQ0FBQyxDQUFDO1NBQ1o7SUFDSCxDQUFDO0lBRU0sU0FBUyxDQUFDLFFBQVE7UUFDdkIsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxRQUFRLENBQUM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNGLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUU7WUFDbkMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSx1QkFBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM3RjtRQUVELE9BQU8sY0FBYyxDQUFDLFNBQVMsQ0FBQztZQUM5QixNQUFNO1lBQ04sS0FBSztZQUNMLE1BQU07WUFDTixjQUFjO1lBQ2QsSUFBSSxFQUFFLFlBQVk7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssaUJBQWlCO1lBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVM7WUFDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxZQUFZLENBQUMsS0FBYSxFQUFFLElBQVk7UUFDOUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXREYXRhU291cmNlIH0gZnJvbSAnQG5ldDcvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvciwgZmlsdGVyLCBmaXJzdCwgdGFwXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGdldCBhcyBfZ2V0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgbWV0YWRhdGFIZWxwZXIgZnJvbSAnLi4vLi4vaGVscGVycy9tZXRhZGF0YS5oZWxwZXInO1xuaW1wb3J0IHsgRW50aXRhTGF5b3V0UmVzcG9uc2UgfSBmcm9tICcuL2VudGl0YS1sYXlvdXQudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQXdFbnRpdGFMYXlvdXREUyBleHRlbmRzIExheW91dERhdGFTb3VyY2Uge1xuICBwcm90ZWN0ZWQgY29uZmlndXJhdGlvbjogYW55O1xuXG4gIHByb3RlY3RlZCBtYWluU3RhdGU6IGFueTtcblxuICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXI7XG5cbiAgcHJvdGVjdGVkIHRpdGxlU2VydmljZTogYW55O1xuXG4gIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGU7XG5cbiAgcHVibGljIG9wdGlvbnM6IGFueTtcblxuICBwdWJsaWMgcGFnZVRpdGxlOiBzdHJpbmc7XG5cbiAgcHVibGljIGhhc01ldGFkYXRhRmllbGRzID0gZmFsc2U7XG5cbiAgcHVibGljIG15UmVzcG9uc2U6IEVudGl0YUxheW91dFJlc3BvbnNlOyAvLyBiYWNrZW5kIHJlc3BvbnNlIG9iamVjdFxuXG4gIHB1YmxpYyBzZWxlY3RlZFRhYjogc3RyaW5nOyAvLyBzZWxlY3RlZCBuYXYgaXRlbVxuXG4gIHB1YmxpYyBuYXZIZWFkZXI6IGFueSA9IHt9OyAvLyBuYXYtaGVhZGVyIChjdXN0b20pIGRhdGFcblxuICBwdWJsaWMgY3VycmVudElkOiBzdHJpbmc7IC8vIHNlbGVjdGVkIGVudGl0eSAodXJsIHBhcmFtKVxuXG4gIHB1YmxpYyBjdXJyZW50U2x1Zzogc3RyaW5nOyAvLyBzZWxlY3RlZCBlbnRpdHkgKHVybCBwYXJhbSlcblxuICBwdWJsaWMgY3VycmVudFBhZ2UgPSAxOyAvLyBwYWdpbmF0aW9uIHZhbHVlICh1cmwgcGFyYW0pXG5cbiAgcHVibGljIHBhZ2VTaXplID0gMTA7IC8vIGxpbmtlZCBvYmplY3RzIHBhZ2Ugc2l6ZVxuXG4gIC8vID09PT09IEJVQkJMRSBDSEFSVCA9PT09PVxuICBwdWJsaWMgYnViYmxlc1NpemUgPSAxMDsgLy8gcmVsYXRlZCBlbnRpdGllcyAoYnViYmxlcykgcGFnZSBzaXplXG5cbiAgcHVibGljIGJ1YmJsZXNFbmFibGVkOiBib29sZWFuO1xuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PVxuICBwcml2YXRlIGNvbW11bmljYXRpb246IGFueTtcblxuICBwdWJsaWMgZmFsbGJhY2tUZXh0ID0gJyc7XG5cbiAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuXG4gIG9uSW5pdCh7XG4gICAgY29uZmlndXJhdGlvbiwgbWFpblN0YXRlLCByb3V0ZXIsIHJvdXRlLCBvcHRpb25zLCB0aXRsZVNlcnZpY2UsIGNvbW11bmljYXRpb24sXG4gIH0pIHtcbiAgICB0aGlzLnJvdXRlID0gcm91dGU7XG4gICAgdGhpcy5jb21tdW5pY2F0aW9uID0gY29tbXVuaWNhdGlvbjtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICAgIHRoaXMubWFpblN0YXRlID0gbWFpblN0YXRlO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy5yb3V0ZXIgPSByb3V0ZXI7XG4gICAgdGhpcy50aXRsZVNlcnZpY2UgPSB0aXRsZVNlcnZpY2U7XG4gICAgdGhpcy5jdXJyZW50SWQgPSAnJztcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gK3RoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMucGFnZSA/PyAxO1xuICAgIHRoaXMub25lKCdhdy1yZWxhdGVkLWVudGl0aWVzJykudXBkYXRlT3B0aW9ucyh7XG4gICAgICBjb25maWc6IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICB9KTtcblxuICAgIC8vIG5hdmlnYXRpb24gdXBkYXRlXG4gICAgdGhpcy5tYWluU3RhdGUudXBkYXRlQ3VzdG9tKCdjdXJyZW50TmF2JywgJ2VudGl0YScpO1xuXG4gICAgLy8gdXBkYXRlIGhlYWQgdGl0bGVcbiAgICB0aGlzLm1haW5TdGF0ZS51cGRhdGUoJ2hlYWRUaXRsZScsICdBcmlhbm5hNFZpZXcgLSBFbnRpdMOgJyk7XG5cbiAgICAvLyBjaGVjayBpZiB0aGVyZSBpcyBvbmx5IG9uZSB0YWJcbiAgICB0aGlzLnNpbmdsZVRhYkNoZWNrKCk7XG4gIH1cblxuICBzaW5nbGVUYWJDaGVjaygpIHtcbiAgICBjb25zdCBuYXZEUyA9IHRoaXMuZ2V0V2lkZ2V0RGF0YVNvdXJjZSgnYXctZW50aXRhLW5hdicpO1xuICAgIG5hdkRTLm91dCRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKG91dHB1dCkgPT4gISFvdXRwdXQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh7IGl0ZW1zIH0pID0+IHtcbiAgICAgICAgLy8gaWYgdGhlcmUgaXMgb25seSBvbmUgdGFiXG4gICAgICAgIC8vIGFuZCB0aGVyZSBhcmUgbm8gcXVlcnkgcGFyYW1zXG4gICAgICAgIC8vIG5hdmlnYXRlIHRvIHRoZSB0YWIuXG4gICAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDEgJiYgIXRoaXMuY3VycmVudFBhZ2UpIHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbaXRlbXNbMF0uYW5jaG9yLmhyZWZdLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUNvbXBvbmVudCA9IChpZCwgZGF0YSwgb3B0aW9ucz8pID0+IHtcbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgdGhpcy5vbmUoaWQpLnVwZGF0ZU9wdGlvbnMob3B0aW9ucyk7XG4gICAgfVxuICAgIHRoaXMub25lKGlkKS51cGRhdGUoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgcGFnaW5hdGlvbiBjb21wb25lbnRcbiAgICovXG4gIGRyYXdQYWdpbmF0aW9uID0gKHRvdGFsSXRlbXMsIHBhZ2VTaXplKSA9PiB7XG4gICAgaWYgKCF0aGlzLmdldExpbmtlZE9iamVjdEl0ZW1zKCkpIHJldHVybjtcbiAgICBjb25zdCB7IGhyZWYsIHF1ZXJ5UGFyYW1zIH0gPSB0aGlzLl9nZXRQYWdpbmF0aW9uVVJMKCk7XG4gICAgdGhpcy5vbmUoJ243LXNtYXJ0LXBhZ2luYXRpb24nKS51cGRhdGVPcHRpb25zKHtcbiAgICAgIG1vZGU6ICdocmVmJyxcbiAgICAgIGhyZWYsXG4gICAgICBxdWVyeVBhcmFtcyxcbiAgICB9KTtcbiAgICB0aGlzLm9uZSgnbjctc21hcnQtcGFnaW5hdGlvbicpLnVwZGF0ZSh7XG4gICAgICB0b3RhbFBhZ2VzOiB0aGlzLmdldFBhZ2VDb3VudCh0b3RhbEl0ZW1zLCBwYWdlU2l6ZSksXG4gICAgICBjdXJyZW50UGFnZTogK3RoaXMuY3VycmVudFBhZ2UgfHwgMSxcbiAgICAgIHBhZ2VMaW1pdDogNSxcbiAgICAgIHNpemVzOiB7XG4gICAgICAgIGxhYmVsOiAnTnVtZXJvIGRpIHJpc3VsdGF0aScsXG4gICAgICAgIGxpc3Q6IFsxMCwgMjUsIDUwXSxcbiAgICAgICAgYWN0aXZlOiArdGhpcy5wYWdlU2l6ZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgc2VsZWN0ZWQgdGFiIG9uIHRhYiBjaGFuZ2VcbiAgICovXG4gIGhhbmRsZVBhZ2VOYXZpZ2F0aW9uID0gKCkgPT4ge1xuICAgIGlmICghdGhpcy5teVJlc3BvbnNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZ2V0RW50aXR5RGV0YWlsc1BhZ2UodGhpcy5teVJlc3BvbnNlLmlkLCArdGhpcy5jdXJyZW50UGFnZSwgK3RoaXMucGFnZVNpemUpXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIC8vIEF3YWl0IGZvciBuZXR3b3JrIHJlc3BvbnNlXG4gICAgICAgIG5leHQ6IChkYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy5teVJlc3BvbnNlID0gZGF0YTtcbiAgICAgICAgICBjb25zdCB7IGhyZWYsIHF1ZXJ5UGFyYW1zIH0gPSB0aGlzLl9nZXRQYWdpbmF0aW9uVVJMKCk7XG4gICAgICAgICAgLy8gdXBkYXRlIGxheW91dCBzdGF0ZVxuICAgICAgICAgIHRoaXMucGFnZVNpemUgPSBxdWVyeVBhcmFtcy5zaXplO1xuICAgICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSBxdWVyeVBhcmFtcy5wYWdlO1xuICAgICAgICAgIC8vIHVwZGF0ZSBjb21wb25lbnRzXG4gICAgICAgICAgdGhpcy5kcmF3UGFnaW5hdGlvbih0aGlzLmdldEl0ZW1Db3VudCgpLCB0aGlzLnBhZ2VTaXplKTtcbiAgICAgICAgICB0aGlzLm9uZSgnYXctbGlua2VkLW9iamVjdHMnKS51cGRhdGVPcHRpb25zKHtcbiAgICAgICAgICAgIHBhZ2luYXRpb25QYXJhbXM6IHsgaHJlZiwgcXVlcnlQYXJhbXMgfSxcbiAgICAgICAgICAgIGNvbnRleHQ6IHRoaXMuc2VsZWN0ZWRUYWIsXG4gICAgICAgICAgICBjb25maWc6IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgICAgICAgIGR5bmFtaWNQYWdpbmF0aW9uOiB7XG4gICAgICAgICAgICAgIHRvdGFsOiB0aGlzLmdldEl0ZW1Db3VudCgpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhZ2U6IHF1ZXJ5UGFyYW1zLnBhZ2UsXG4gICAgICAgICAgICBzaXplOiBxdWVyeVBhcmFtcy5zaXplLFxuICAgICAgICAgICAgcGFnaW5hdGlvbjogdHJ1ZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLm9uZSgnYXctbGlua2VkLW9iamVjdHMnKS51cGRhdGUoeyBpdGVtczogdGhpcy5nZXRMaW5rZWRPYmplY3RJdGVtcygpIH0pO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGUpID0+IGNhdGNoRXJyb3IoZSksXG4gICAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZU5hdlVwZGF0ZSA9ICh0YWIpID0+IHtcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gdGFiO1xuICAgIHRoaXMudXBkYXRlV2lkZ2V0cyh0aGlzLm15UmVzcG9uc2UpO1xuICAgIHRoaXMub25lKCdhdy1saW5rZWQtb2JqZWN0cycpLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgY29udGV4dDogdGhpcy5zZWxlY3RlZFRhYixcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWd1cmF0aW9uLFxuICAgICAgZHluYW1pY1BhZ2luYXRpb246IHtcbiAgICAgICAgdG90YWw6IHRoaXMuZ2V0SXRlbUNvdW50KCksXG4gICAgICB9LFxuICAgICAgcGFnZTogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgIHNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgICBwYWdpbmF0aW9uOiB0cnVlLFxuICAgICAgcGFnaW5hdGlvblBhcmFtczogdGhpcy5fZ2V0UGFnaW5hdGlvblVSTCgpLFxuICAgIH0pO1xuICAgIHRoaXMub25lKCdhdy1saW5rZWQtb2JqZWN0cycpLnVwZGF0ZSh7IGl0ZW1zOiB0aGlzLmdldExpbmtlZE9iamVjdEl0ZW1zKCkgfSk7XG4gICAgLy8gdXBkYXRlIHRoZSB1cmwgd2l0aCB0aGUgY29ycmVjdCBwYWdlIGFuZCBzaXplXG4gICAgY29uc3QgcXVlcnlQYXJhbXM6IFBhcmFtcyA9IHtcbiAgICAgIHBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsIHNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgfTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShcbiAgICAgIFtdLCB7XG4gICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVdpZGdldHMoZGF0YSkge1xuICAgIC8qXG4gICAgICBVcGRhdGVzIHRoZSB3aWRnZXRzIG9uIHRoaXMgbGF5b3V0LCBiYXNlZCBvbiByb3V0ZVxuICAgICovXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkVGFiO1xuICAgIE9iamVjdC5rZXlzKGRhdGEpLmZvckVhY2goKGspID0+IHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGFba10pICYmIGRhdGFba10ubGVuZ3RoID09PSAwKSB7IGRhdGFba10gPSBudWxsOyB9XG4gICAgfSk7XG4gICAgdGhpcy5vbmUoJ2F3LWVudGl0YS1uYXYnKS51cGRhdGUoe1xuICAgICAgZGF0YSxcbiAgICAgIHNlbGVjdGVkLFxuICAgICAgYmFzZVBhdGg6IHRoaXMuZ2V0TmF2QmFzZVBhdGgoKSxcbiAgICB9KTtcbiAgICB0aGlzLnVwZGF0ZUNvbXBvbmVudCgnYXctZW50aXRhLW1ldGFkYXRhLXZpZXdlcicsIHRoaXMuZ2V0RmllbGRzKHRoaXMubXlSZXNwb25zZSkpO1xuICAgIHRoaXMub25lKCdhdy1yZWxhdGVkLWVudGl0aWVzJykudXBkYXRlKHRoaXMubXlSZXNwb25zZS5yZWxhdGVkRW50aXRpZXMpO1xuICAgIHRoaXMuZHJhd1BhZ2luYXRpb24odGhpcy5nZXRJdGVtQ291bnQoKSwgdGhpcy5wYWdlU2l6ZSk7XG4gIH1cblxuICAvKipcbiAgICogR2l2ZW4gYSBwYWdlIG51bWJlciBhbmQgYSBsaXN0IHNpemUsIHJldHVybnMgdGhlIGRhdGFcbiAgICogZm9yIGEgc2luZ2xlIHBhZ2Ugb2YgY29udGVudC5cbiAgICpcbiAgICogQHBhcmFtIGlkIEVudGl0eSBJRFxuICAgKiBAcGFyYW0gcGFnZU51bWJlciBQYWdlIG51bWJlciB0byBsb2FkXG4gICAqIEBwYXJhbSBwYWdlU2l6ZSBIb3cgbWFueSBpdGVtcyBuZWVkIHRvIGJlIGxvYWRlZFxuICAgKi9cbiAgZ2V0RW50aXR5RGV0YWlsc1BhZ2UoaWQsIHBhZ2VOdW1iZXI6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY29tbXVuaWNhdGlvbi5yZXF1ZXN0JCgnZ2V0RW50aXR5RGV0YWlscycsIHtcbiAgICAgIG9uRXJyb3I6IChlcnJvcikgPT4gY29uc29sZS5lcnJvcihlcnJvciksXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgZW50aXR5SWQ6IGlkLFxuICAgICAgICBpdGVtc1BhZ2luYXRpb246IHsgb2Zmc2V0OiAoKHBhZ2VOdW1iZXIgfHwgMSkgLSAxKSAqIHBhZ2VTaXplLCBsaW1pdDogK3BhZ2VTaXplIH0sXG4gICAgICAgIGVudGl0aWVzTGlzdFNpemU6IHRoaXMuYnViYmxlc1NpemVcbiAgICAgIH0sXG4gICAgfSkucGlwZShcbiAgICAgIC8vIGdsb2JhbCBtZXRhZGF0YSB0YWIgY29udHJvbFxuICAgICAgdGFwKCh7IGZpZWxkcywgdHlwZU9mRW50aXR5IH0pID0+IHtcbiAgICAgICAgdGhpcy5oYXNNZXRhZGF0YUZpZWxkcyA9ICEhbWV0YWRhdGFIZWxwZXIubm9ybWFsaXplKHtcbiAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgcGF0aHM6IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ3BhdGhzJyksXG4gICAgICAgICAgbGFiZWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdsYWJlbHMnKSxcbiAgICAgICAgICBtZXRhZGF0YVRvU2hvdzogX2dldCh0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdlbnRpdGEtbGF5b3V0JyksICdtZXRhZGF0YS10by1zaG93JywgW10pLFxuICAgICAgICAgIHR5cGU6IHR5cGVPZkVudGl0eVxuICAgICAgICB9KS5sZW5ndGg7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKlxuICAgKiBMb2FkcyB0aGUgZGF0YSBmb3IgdGhlIHNlbGVjdGVkIG5hdiBpdGVtLCBpbnRvIHRoZSBhZGphY2VudCB0ZXh0IGJsb2NrLlxuICAgKi9cbiAgbG9hZEl0ZW0oaWQsIHNsdWcsIHRhYik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICBpZiAoaWQgJiYgdGFiKSB7XG4gICAgICB0aGlzLmN1cnJlbnRJZCA9IGlkOyAvLyBzdG9yZSBzZWxlY3RlZCBpdGVtIGZyb20gdXJsXG4gICAgICB0aGlzLmN1cnJlbnRTbHVnID0gc2x1ZzsgLy8gc3RvcmUgc2VsZWN0ZWQgaXRlbSBmcm9tIHVybFxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IHRhYjsgLy8gc3RvcmUgc2VsZWN0ZWQgdGFiIGZyb20gdXJsXG4gICAgICByZXR1cm4gdGhpcy5nZXRFbnRpdHlEZXRhaWxzUGFnZShpZCwgdGhpcy5jdXJyZW50UGFnZSwgdGhpcy5wYWdlU2l6ZSk7XG4gICAgfVxuICAgIHRoaXMucGFnZVRpdGxlID0gJ0VudGl0w6AgVGVzdCc7XG4gICAgcmV0dXJuIG9mKG51bGwpO1xuICB9XG5cbiAgbG9hZENvbnRlbnQocmVzKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCgnY29uZmlnLWtleXMnKVtyZXMudHlwZU9mRW50aXR5XTtcbiAgICB0aGlzLm15UmVzcG9uc2UgPSByZXM7XG4gICAgdGhpcy5uYXZIZWFkZXIgPSB7IC8vIGFsd2F5cyByZW5kZXIgbmF2IGhlYWRlclxuICAgICAgaWNvbjogY29uZmlnID8gY29uZmlnLmljb24gOiAnJyxcbiAgICAgIHRleHQ6IHRoaXMubXlSZXNwb25zZS5sYWJlbCxcbiAgICAgIGNvbG9yOiBjb25maWdbJ2NsYXNzLW5hbWUnXSxcbiAgICB9O1xuICAgIHRoaXMub25lKCdhdy1lbnRpdGEtbmF2JykudXBkYXRlT3B0aW9ucyh7XG4gICAgICBidWJibGVzRW5hYmxlZDogdGhpcy5idWJibGVzRW5hYmxlZCxcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWd1cmF0aW9uLmdldCgnZW50aXRhLWxheW91dCcpLFxuICAgICAgaGFzTWV0YWRhdGFGaWVsZHM6IHRoaXMuaGFzTWV0YWRhdGFGaWVsZHMsXG4gICAgICBsYWJlbHM6IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2xhYmVscycpXG4gICAgfSk7XG4gICAgdGhpcy5vbmUoJ2F3LWVudGl0YS1tZXRhZGF0YS12aWV3ZXInKS51cGRhdGUodGhpcy5nZXRGaWVsZHMocmVzKSk7XG4gICAgdGhpcy5vbmUoJ2F3LWxpbmtlZC1vYmplY3RzJykudXBkYXRlT3B0aW9ucyh7XG4gICAgICBjb250ZXh0OiB0aGlzLnNlbGVjdGVkVGFiLFxuICAgICAgY29uZmlnOiB0aGlzLmNvbmZpZ3VyYXRpb24sXG4gICAgICBwYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgICAgcGFnaW5hdGlvbjogdHJ1ZSxcbiAgICAgIGR5bmFtaWNQYWdpbmF0aW9uOiB7XG4gICAgICAgIHRvdGFsOiB0aGlzLmdldEl0ZW1Db3VudCgpLFxuICAgICAgfSxcbiAgICAgIHBhZ2luYXRpb25QYXJhbXM6IHRoaXMuX2dldFBhZ2luYXRpb25VUkwoKSxcbiAgICAgIHNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgfSk7XG4gICAgdGhpcy5nZXRMaW5rZWRPYmplY3RJdGVtcygpLmZvckVhY2goKGVsOiBhbnkpID0+IHtcbiAgICAgIGVsLnJlbGF0aW9uTmFtZSA9IHJlcy5sYWJlbC5sZW5ndGggPiAzMFxuICAgICAgICA/IGAke3Jlcy5sYWJlbC5zdWJzdHIoMCwgMzApfS4uLiBgXG4gICAgICAgIDogcmVzLmxhYmVsO1xuICAgIH0pO1xuICAgIHJlcy5yZWxhdGVkRW50aXRpZXMuZm9yRWFjaCgoZWw6IGFueSkgPT4ge1xuICAgICAgZWwucmVsYXRpb25OYW1lID0gcmVzLmxhYmVsLmxlbmd0aCA+IDMwXG4gICAgICAgID8gYCR7cmVzLmxhYmVsLnN1YnN0cigwLCAzMCl9Li4uIGBcbiAgICAgICAgOiByZXMubGFiZWw7XG4gICAgfSk7XG4gICAgdGhpcy5vbmUoJ2F3LWxpbmtlZC1vYmplY3RzJykudXBkYXRlKHsgaXRlbXM6IHRoaXMuZ2V0TGlua2VkT2JqZWN0SXRlbXMoKSB9KTtcbiAgICB0aGlzLm9uZSgnYXctcmVsYXRlZC1lbnRpdGllcycpLnVwZGF0ZShyZXMucmVsYXRlZEVudGl0aWVzKTtcbiAgICAvLyBmYWxsYmFjayB0ZXh0XG4gICAgaWYgKCF0aGlzLmhhc01ldGFkYXRhRmllbGRzKSB7XG4gICAgICB0aGlzLmZhbGxiYWNrVGV4dCA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2VudGl0YS1sYXlvdXQnKS5mYWxsYmFjaztcbiAgICB9XG4gICAgLy8gdXBkYXRlIGhlYWQgdGl0bGVcbiAgICB0aGlzLm1haW5TdGF0ZS51cGRhdGUoJ2hlYWRUaXRsZScsIGBBcmlhbm5hNFZpZXcgLSBFbnRpdMOgIC0gJHt0aGlzLm15UmVzcG9uc2UubGFiZWx9YCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRQYWdpbmF0aW9uVVJMKCkge1xuICAgIHJldHVybiB7XG4gICAgICBocmVmOiBbXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ3BhdGhzJykuZW50aXRhQmFzZVBhdGgsXG4gICAgICAgIGAke3RoaXMuY3VycmVudElkfS9gLFxuICAgICAgICB0aGlzLmN1cnJlbnRTbHVnLFxuICAgICAgICBgLyR7dGhpcy5zZWxlY3RlZFRhYn0vYCxcbiAgICAgIF0uam9pbignJyksXG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBwYWdlOiB0aGlzLmN1cnJlbnRQYWdlIHx8IDEsXG4gICAgICAgIHNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0TmF2QmFzZVBhdGgoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ3BhdGhzJykuZW50aXRhQmFzZVBhdGgsXG4gICAgICBgJHt0aGlzLmN1cnJlbnRJZH0vYCxcbiAgICAgIHRoaXMuY3VycmVudFNsdWcsXG4gICAgXS5qb2luKCcnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJdGVtQ291bnQoKTogbnVtYmVyIHtcbiAgICBzd2l0Y2ggKHRoaXMuc2VsZWN0ZWRUYWIpIHtcbiAgICAgIGNhc2UgJ2ZvbmRpLWNvbGxlZ2F0aSc6XG4gICAgICAgIHJldHVybiB0aGlzLm15UmVzcG9uc2UucmVsYXRlZExhVG90YWxDb3VudDtcbiAgICAgIGNhc2UgJ29nZ2V0dGktY29sbGVnYXRpJzpcbiAgICAgICAgcmV0dXJuIHRoaXMubXlSZXNwb25zZS5yZWxhdGVkSXRlbXNUb3RhbENvdW50O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEZpZWxkcyhyZXNwb25zZSkge1xuICAgIGNvbnN0IHsgZmllbGRzLCB0eXBlT2ZFbnRpdHkgfSA9IHJlc3BvbnNlO1xuICAgIGNvbnN0IHBhdGhzID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCgncGF0aHMnKTtcbiAgICBjb25zdCBsYWJlbHMgPSB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdsYWJlbHMnKTtcbiAgICBsZXQgbWV0YWRhdGFUb1Nob3cgPSBfZ2V0KHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2VudGl0YS1sYXlvdXQnKSwgJ21ldGFkYXRhLXRvLXNob3cnLCBbXSk7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRUYWIgPT09ICdvdmVydmlldycpIHtcbiAgICAgIG1ldGFkYXRhVG9TaG93ID0gX2dldCh0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdlbnRpdGEtbGF5b3V0JyksICdvdmVydmlldy5pbmZvcm1hemlvbmknLCBbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFkYXRhSGVscGVyLm5vcm1hbGl6ZSh7XG4gICAgICBmaWVsZHMsXG4gICAgICBwYXRocyxcbiAgICAgIGxhYmVscyxcbiAgICAgIG1ldGFkYXRhVG9TaG93LFxuICAgICAgdHlwZTogdHlwZU9mRW50aXR5XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldExpbmtlZE9iamVjdEl0ZW1zKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVGFiID09PSAnZm9uZGktY29sbGVnYXRpJ1xuICAgICAgPyB0aGlzLm15UmVzcG9uc2UucmVsYXRlZExhXG4gICAgICA6IHRoaXMubXlSZXNwb25zZS5yZWxhdGVkSXRlbXM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgdG90YWwgYW1vdW50IG9mIHBhZ2VzXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtcyB0aGUgbnVtYmVyIG9mIHJlY29yZHMgaW4gdGhlIGRhdGFiYXNlXG4gICAqIEBwYXJhbSBzaXplIHRoZSBudW1iZXIgb2YgaXRlbXMgc2hvd24gb24gYSBwYWdlXG4gICAqIEByZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFnZXNcbiAgICovXG4gIHByaXZhdGUgZ2V0UGFnZUNvdW50KGl0ZW1zOiBudW1iZXIsIHNpemU6IG51bWJlcikge1xuICAgIHJldHVybiBNYXRoLmZsb29yKGl0ZW1zIC8gc2l6ZSk7XG4gIH1cbn1cbiJdfQ==
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRhLWxheW91dC5kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWFyaWFubmEvc3JjL2xpYi9sYXlvdXRzL2VudGl0YS1sYXlvdXQvZW50aXRhLWxheW91dC5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDOUMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQ0wsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUMvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXJDLE9BQU8sY0FBYyxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUxRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZ0JBQWdCO0lBQXREOztRQVdTLGFBQVEsR0FBRyxlQUFlLENBQUM7UUFNM0Isc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBTTFCLGNBQVMsR0FBUSxFQUFFLENBQUMsQ0FBQywyQkFBMkI7UUFNaEQsZ0JBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFFaEQsYUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDLDJCQUEyQjtRQUVqRCwyQkFBMkI7UUFDcEIsZ0JBQVcsR0FBRyxFQUFFLENBQUMsQ0FBQyx1Q0FBdUM7UUFPekQsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFFbEIsWUFBTyxHQUFHLElBQUksQ0FBQztRQTRDZixvQkFBZSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFRLEVBQUUsRUFBRTtZQUM5QyxJQUFJLE9BQU8sRUFBRTtnQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEVB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RSxDQUFDLENBQUM7U0FDM0Y7UUFFRCxPQUFPLGNBQWMsQ0FBQyxTQUFTLENBQUM7WUFDOUIsTUFBTTtZQUNOLEtBQUs7WUFDTCxNQUFNO1lBQ04sY0FBYztZQUNkLElBQUksRUFBRSxZQUFZO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLGlCQUFpQjtZQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTO1lBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssWUFBWSxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQzlDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFjO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUM7WUFDOUMsS0FBSztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDeEMsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRO1lBQ3pELFdBQVcsRUFBRSxRQUFRO1NBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGF5b3V0RGF0YVNvdXJjZSB9IGZyb20gJ0BuZXQ3L2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsIGZpbHRlciwgZmlyc3QsIHRhcFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBnZXQgYXMgX2dldCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IG1ldGFkYXRhSGVscGVyIGZyb20gJy4uLy4uL2hlbHBlcnMvbWV0YWRhdGEuaGVscGVyJztcbmltcG9ydCB7IEVudGl0YUxheW91dFJlc3BvbnNlIH0gZnJvbSAnLi9lbnRpdGEtbGF5b3V0LnR5cGVzJztcbmltcG9ydCB7IGdldEhlYWRUaXRsZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvdGl0bGUuaGVscGVyJztcblxuZXhwb3J0IGNsYXNzIEF3RW50aXRhTGF5b3V0RFMgZXh0ZW5kcyBMYXlvdXREYXRhU291cmNlIHtcbiAgcHJvdGVjdGVkIGNvbmZpZ3VyYXRpb246IGFueTtcblxuICBwcm90ZWN0ZWQgbWFpblN0YXRlOiBhbnk7XG5cbiAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyO1xuXG4gIHByb3RlY3RlZCB0aXRsZVNlcnZpY2U6IGFueTtcblxuICBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlO1xuXG4gIHB1YmxpYyBjb25maWdJZCA9ICdlbnRpdGEtbGF5b3V0JztcblxuICBwdWJsaWMgb3B0aW9uczogYW55O1xuXG4gIHB1YmxpYyBwYWdlVGl0bGU6IHN0cmluZztcblxuICBwdWJsaWMgaGFzTWV0YWRhdGFGaWVsZHMgPSBmYWxzZTtcblxuICBwdWJsaWMgbXlSZXNwb25zZTogRW50aXRhTGF5b3V0UmVzcG9uc2U7IC8vIGJhY2tlbmQgcmVzcG9uc2Ugb2JqZWN0XG5cbiAgcHVibGljIHNlbGVjdGVkVGFiOiBzdHJpbmc7IC8vIHNlbGVjdGVkIG5hdiBpdGVtXG5cbiAgcHVibGljIG5hdkhlYWRlcjogYW55ID0ge307IC8vIG5hdi1oZWFkZXIgKGN1c3RvbSkgZGF0YVxuXG4gIHB1YmxpYyBjdXJyZW50SWQ6IHN0cmluZzsgLy8gc2VsZWN0ZWQgZW50aXR5ICh1cmwgcGFyYW0pXG5cbiAgcHVibGljIGN1cnJlbnRTbHVnOiBzdHJpbmc7IC8vIHNlbGVjdGVkIGVudGl0eSAodXJsIHBhcmFtKVxuXG4gIHB1YmxpYyBjdXJyZW50UGFnZSA9IDE7IC8vIHBhZ2luYXRpb24gdmFsdWUgKHVybCBwYXJhbSlcblxuICBwdWJsaWMgcGFnZVNpemUgPSAxMDsgLy8gbGlua2VkIG9iamVjdHMgcGFnZSBzaXplXG5cbiAgLy8gPT09PT0gQlVCQkxFIENIQVJUID09PT09XG4gIHB1YmxpYyBidWJibGVzU2l6ZSA9IDEwOyAvLyByZWxhdGVkIGVudGl0aWVzIChidWJibGVzKSBwYWdlIHNpemVcblxuICBwdWJsaWMgYnViYmxlc0VuYWJsZWQ6IGJvb2xlYW47XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09XG4gIHByaXZhdGUgY29tbXVuaWNhdGlvbjogYW55O1xuXG4gIHB1YmxpYyBmYWxsYmFja1RleHQgPSAnJztcblxuICBwdWJsaWMgbG9hZGluZyA9IHRydWU7XG5cbiAgb25Jbml0KHtcbiAgICBjb25maWd1cmF0aW9uLCBtYWluU3RhdGUsIHJvdXRlciwgcm91dGUsIG9wdGlvbnMsIHRpdGxlU2VydmljZSwgY29tbXVuaWNhdGlvbixcbiAgfSkge1xuICAgIHRoaXMucm91dGUgPSByb3V0ZTtcbiAgICB0aGlzLmNvbW11bmljYXRpb24gPSBjb21tdW5pY2F0aW9uO1xuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5tYWluU3RhdGUgPSBtYWluU3RhdGU7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLnJvdXRlciA9IHJvdXRlcjtcbiAgICB0aGlzLnRpdGxlU2VydmljZSA9IHRpdGxlU2VydmljZTtcbiAgICB0aGlzLmN1cnJlbnRJZCA9ICcnO1xuICAgIHRoaXMuY3VycmVudFBhZ2UgPSArdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5wYWdlID8/IDE7XG4gICAgdGhpcy5vbmUoJ2F3LXJlbGF0ZWQtZW50aXRpZXMnKS51cGRhdGVPcHRpb25zKHtcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWd1cmF0aW9uLFxuICAgIH0pO1xuXG4gICAgLy8gbmF2aWdhdGlvbiB1cGRhdGVcbiAgICB0aGlzLm1haW5TdGF0ZS51cGRhdGVDdXN0b20oJ2N1cnJlbnROYXYnLCAnZW50aXRhJyk7XG5cbiAgICAvLyB1cGRhdGUgaGVhZCB0aXRsZVxuICAgIHRoaXMuc2V0SGVhZFRpdGxlKCk7XG5cbiAgICAvLyBjaGVjayBpZiB0aGVyZSBpcyBvbmx5IG9uZSB0YWJcbiAgICB0aGlzLnNpbmdsZVRhYkNoZWNrKCk7XG4gIH1cblxuICBzaW5nbGVUYWJDaGVjaygpIHtcbiAgICBjb25zdCBuYXZEUyA9IHRoaXMuZ2V0V2lkZ2V0RGF0YVNvdXJjZSgnYXctZW50aXRhLW5hdicpO1xuICAgIG5hdkRTLm91dCRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKG91dHB1dCkgPT4gISFvdXRwdXQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh7IGl0ZW1zIH0pID0+IHtcbiAgICAgICAgLy8gaWYgdGhlcmUgaXMgb25seSBvbmUgdGFiXG4gICAgICAgIC8vIGFuZCB0aGVyZSBhcmUgbm8gcXVlcnkgcGFyYW1zXG4gICAgICAgIC8vIG5hdmlnYXRlIHRvIHRoZSB0YWIuXG4gICAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDEgJiYgIXRoaXMuY3VycmVudFBhZ2UpIHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbaXRlbXNbMF0uYW5jaG9yLmhyZWZdLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUNvbXBvbmVudCA9IChpZCwgZGF0YSwgb3B0aW9ucz8pID0+IHtcbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgdGhpcy5vbmUoaWQpLnVwZGF0ZU9wdGlvbnMob3B0aW9ucyk7XG4gICAgfVxuICAgIHRoaXMub25lKGlkKS51cGRhdGUoZGF0YSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHBhZ2luYXRpb24gY29tcG9uZW50XG4gICAqL1xuICBkcmF3UGFnaW5hdGlvbiA9ICh0b3RhbEl0ZW1zLCBwYWdlU2l6ZSkgPT4ge1xuICAgIGlmICghdGhpcy5nZXRMaW5rZWRPYmplY3RJdGVtcygpKSByZXR1cm47XG4gICAgY29uc3QgeyBocmVmLCBxdWVyeVBhcmFtcyB9ID0gdGhpcy5fZ2V0UGFnaW5hdGlvblVSTCgpO1xuICAgIHRoaXMub25lKCduNy1zbWFydC1wYWdpbmF0aW9uJykudXBkYXRlT3B0aW9ucyh7XG4gICAgICBtb2RlOiAnaHJlZicsXG4gICAgICBocmVmLFxuICAgICAgcXVlcnlQYXJhbXMsXG4gICAgfSk7XG4gICAgdGhpcy5vbmUoJ243LXNtYXJ0LXBhZ2luYXRpb24nKS51cGRhdGUoe1xuICAgICAgdG90YWxQYWdlczogdGhpcy5nZXRQYWdlQ291bnQodG90YWxJdGVtcywgcGFnZVNpemUpLFxuICAgICAgY3VycmVudFBhZ2U6ICt0aGlzLmN1cnJlbnRQYWdlIHx8IDEsXG4gICAgICBwYWdlTGltaXQ6IDUsXG4gICAgICBzaXplczoge1xuICAgICAgICBsYWJlbDogJ051bWVybyBkaSByaXN1bHRhdGknLFxuICAgICAgICBsaXN0OiBbMTAsIDI1LCA1MF0sXG4gICAgICAgIGFjdGl2ZTogK3RoaXMucGFnZVNpemUsXG4gICAgICB9LFxuICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBzZWxlY3RlZCB0YWIgb24gdGFiIGNoYW5nZVxuICAgKi9cbiAgaGFuZGxlUGFnZU5hdmlnYXRpb24gPSAoKSA9PiB7XG4gICAgaWYgKCF0aGlzLm15UmVzcG9uc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5nZXRFbnRpdHlEZXRhaWxzUGFnZSh0aGlzLm15UmVzcG9uc2UuaWQsICt0aGlzLmN1cnJlbnRQYWdlLCArdGhpcy5wYWdlU2l6ZSlcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgLy8gQXdhaXQgZm9yIG5ldHdvcmsgcmVzcG9uc2VcbiAgICAgICAgbmV4dDogKGRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLm15UmVzcG9uc2UgPSBkYXRhO1xuICAgICAgICAgIGNvbnN0IHsgaHJlZiwgcXVlcnlQYXJhbXMgfSA9IHRoaXMuX2dldFBhZ2luYXRpb25VUkwoKTtcbiAgICAgICAgICAvLyB1cGRhdGUgbGF5b3V0IHN0YXRlXG4gICAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHF1ZXJ5UGFyYW1zLnNpemU7XG4gICAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHF1ZXJ5UGFyYW1zLnBhZ2U7XG4gICAgICAgICAgLy8gdXBkYXRlIGNvbXBvbmVudHNcbiAgICAgICAgICB0aGlzLmRyYXdQYWdpbmF0aW9uKHRoaXMuZ2V0SXRlbUNvdW50KCksIHRoaXMucGFnZVNpemUpO1xuICAgICAgICAgIHRoaXMub25lKCdhdy1saW5rZWQtb2JqZWN0cycpLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgICAgICAgcGFnaW5hdGlvblBhcmFtczogeyBocmVmLCBxdWVyeVBhcmFtcyB9LFxuICAgICAgICAgICAgY29udGV4dDogdGhpcy5zZWxlY3RlZFRhYixcbiAgICAgICAgICAgIGNvbmZpZzogdGhpcy5jb25maWd1cmF0aW9uLFxuICAgICAgICAgICAgZHluYW1pY1BhZ2luYXRpb246IHtcbiAgICAgICAgICAgICAgdG90YWw6IHRoaXMuZ2V0SXRlbUNvdW50KCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGFnZTogcXVlcnlQYXJhbXMucGFnZSxcbiAgICAgICAgICAgIHNpemU6IHF1ZXJ5UGFyYW1zLnNpemUsXG4gICAgICAgICAgICBwYWdpbmF0aW9uOiB0cnVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMub25lKCdhdy1saW5rZWQtb2JqZWN0cycpLnVwZGF0ZSh7IGl0ZW1zOiB0aGlzLmdldExpbmtlZE9iamVjdEl0ZW1zKCkgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZSkgPT4gY2F0Y2hFcnJvcihlKSxcbiAgICAgIH0pO1xuICB9O1xuXG4gIGhhbmRsZU5hdlVwZGF0ZSA9ICh0YWIpID0+IHtcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gdGFiO1xuICAgIHRoaXMudXBkYXRlV2lkZ2V0cyh0aGlzLm15UmVzcG9uc2UpO1xuICAgIHRoaXMub25lKCdhdy1saW5rZWQtb2JqZWN0cycpLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgY29udGV4dDogdGhpcy5zZWxlY3RlZFRhYixcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWd1cmF0aW9uLFxuICAgICAgZHluYW1pY1BhZ2luYXRpb246IHtcbiAgICAgICAgdG90YWw6IHRoaXMuZ2V0SXRlbUNvdW50KCksXG4gICAgICB9LFxuICAgICAgcGFnZTogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgIHNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgICBwYWdpbmF0aW9uOiB0cnVlLFxuICAgICAgcGFnaW5hdGlvblBhcmFtczogdGhpcy5fZ2V0UGFnaW5hdGlvblVSTCgpLFxuICAgIH0pO1xuICAgIHRoaXMub25lKCdhdy1saW5rZWQtb2JqZWN0cycpLnVwZGF0ZSh7IGl0ZW1zOiB0aGlzLmdldExpbmtlZE9iamVjdEl0ZW1zKCkgfSk7XG4gICAgLy8gdXBkYXRlIHRoZSB1cmwgd2l0aCB0aGUgY29ycmVjdCBwYWdlIGFuZCBzaXplXG4gICAgY29uc3QgcXVlcnlQYXJhbXM6IFBhcmFtcyA9IHtcbiAgICAgIHBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsIHNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgfTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJ1xuICAgIH0pO1xuICB9O1xuXG4gIHVwZGF0ZVdpZGdldHMoZGF0YSkge1xuICAgIC8qXG4gICAgICBVcGRhdGVzIHRoZSB3aWRnZXRzIG9uIHRoaXMgbGF5b3V0LCBiYXNlZCBvbiByb3V0ZVxuICAgICovXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkVGFiO1xuICAgIE9iamVjdC5rZXlzKGRhdGEpLmZvckVhY2goKGspID0+IHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGFba10pICYmIGRhdGFba10ubGVuZ3RoID09PSAwKSB7IGRhdGFba10gPSBudWxsOyB9XG4gICAgfSk7XG4gICAgdGhpcy5vbmUoJ2F3LWVudGl0YS1uYXYnKS51cGRhdGUoe1xuICAgICAgZGF0YSxcbiAgICAgIHNlbGVjdGVkLFxuICAgICAgYmFzZVBhdGg6IHRoaXMuZ2V0TmF2QmFzZVBhdGgoKSxcbiAgICB9KTtcbiAgICB0aGlzLnVwZGF0ZUNvbXBvbmVudCgnYXctZW50aXRhLW1ldGFkYXRhLXZpZXdlcicsIHRoaXMuZ2V0RmllbGRzKHRoaXMubXlSZXNwb25zZSkpO1xuICAgIHRoaXMub25lKCdhdy1yZWxhdGVkLWVudGl0aWVzJykudXBkYXRlKHRoaXMubXlSZXNwb25zZS5yZWxhdGVkRW50aXRpZXMpO1xuICAgIHRoaXMuZHJhd1BhZ2luYXRpb24odGhpcy5nZXRJdGVtQ291bnQoKSwgdGhpcy5wYWdlU2l6ZSk7XG4gIH1cblxuICAvKipcbiAgICogR2l2ZW4gYSBwYWdlIG51bWJlciBhbmQgYSBsaXN0IHNpemUsIHJldHVybnMgdGhlIGRhdGFcbiAgICogZm9yIGEgc2luZ2xlIHBhZ2Ugb2YgY29udGVudC5cbiAgICpcbiAgICogQHBhcmFtIGlkIEVudGl0eSBJRFxuICAgKiBAcGFyYW0gcGFnZU51bWJlciBQYWdlIG51bWJlciB0byBsb2FkXG4gICAqIEBwYXJhbSBwYWdlU2l6ZSBIb3cgbWFueSBpdGVtcyBuZWVkIHRvIGJlIGxvYWRlZFxuICAgKi9cbiAgZ2V0RW50aXR5RGV0YWlsc1BhZ2UoaWQsIHBhZ2VOdW1iZXI6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY29tbXVuaWNhdGlvbi5yZXF1ZXN0JCgnZ2V0RW50aXR5RGV0YWlscycsIHtcbiAgICAgIG9uRXJyb3I6IChlcnJvcikgPT4gY29uc29sZS5lcnJvcihlcnJvciksXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgZW50aXR5SWQ6IGlkLFxuICAgICAgICBpdGVtc1BhZ2luYXRpb246IHsgb2Zmc2V0OiAoKHBhZ2VOdW1iZXIgfHwgMSkgLSAxKSAqIHBhZ2VTaXplLCBsaW1pdDogK3BhZ2VTaXplIH0sXG4gICAgICAgIGVudGl0aWVzTGlzdFNpemU6IHRoaXMuYnViYmxlc1NpemVcbiAgICAgIH0sXG4gICAgfSkucGlwZShcbiAgICAgIC8vIGdsb2JhbCBtZXRhZGF0YSB0YWIgY29udHJvbFxuICAgICAgdGFwKCh7IGZpZWxkcywgdHlwZU9mRW50aXR5IH0pID0+IHtcbiAgICAgICAgdGhpcy5oYXNNZXRhZGF0YUZpZWxkcyA9ICEhbWV0YWRhdGFIZWxwZXIubm9ybWFsaXplKHtcbiAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgcGF0aHM6IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ3BhdGhzJyksXG4gICAgICAgICAgbGFiZWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdsYWJlbHMnKSxcbiAgICAgICAgICBtZXRhZGF0YVRvU2hvdzogX2dldCh0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KHRoaXMuY29uZmlnSWQpLCAnbWV0YWRhdGEtdG8tc2hvdycsIFtdKSxcbiAgICAgICAgICB0eXBlOiB0eXBlT2ZFbnRpdHlcbiAgICAgICAgfSkubGVuZ3RoO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLypcbiAgICogTG9hZHMgdGhlIGRhdGEgZm9yIHRoZSBzZWxlY3RlZCBuYXYgaXRlbSwgaW50byB0aGUgYWRqYWNlbnQgdGV4dCBibG9jay5cbiAgICovXG4gIGxvYWRJdGVtKGlkLCBzbHVnLCB0YWIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgaWYgKGlkICYmIHRhYikge1xuICAgICAgdGhpcy5jdXJyZW50SWQgPSBpZDsgLy8gc3RvcmUgc2VsZWN0ZWQgaXRlbSBmcm9tIHVybFxuICAgICAgdGhpcy5jdXJyZW50U2x1ZyA9IHNsdWc7IC8vIHN0b3JlIHNlbGVjdGVkIGl0ZW0gZnJvbSB1cmxcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSB0YWI7IC8vIHN0b3JlIHNlbGVjdGVkIHRhYiBmcm9tIHVybFxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RW50aXR5RGV0YWlsc1BhZ2UoaWQsIHRoaXMuY3VycmVudFBhZ2UsIHRoaXMucGFnZVNpemUpO1xuICAgIH1cbiAgICB0aGlzLnBhZ2VUaXRsZSA9ICdFbnRpdMOgIFRlc3QnO1xuICAgIHJldHVybiBvZihudWxsKTtcbiAgfVxuXG4gIGxvYWRDb250ZW50KHJlcykge1xuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ2NvbmZpZy1rZXlzJylbcmVzLnR5cGVPZkVudGl0eV07XG4gICAgdGhpcy5teVJlc3BvbnNlID0gcmVzO1xuICAgIHRoaXMubmF2SGVhZGVyID0geyAvLyBhbHdheXMgcmVuZGVyIG5hdiBoZWFkZXJcbiAgICAgIGljb246IGNvbmZpZyA/IGNvbmZpZy5pY29uIDogJycsXG4gICAgICB0ZXh0OiB0aGlzLm15UmVzcG9uc2UubGFiZWwsXG4gICAgICBjb2xvcjogY29uZmlnWydjbGFzcy1uYW1lJ10sXG4gICAgfTtcbiAgICB0aGlzLm9uZSgnYXctZW50aXRhLW5hdicpLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgYnViYmxlc0VuYWJsZWQ6IHRoaXMuYnViYmxlc0VuYWJsZWQsXG4gICAgICBjb25maWc6IHRoaXMuY29uZmlndXJhdGlvbi5nZXQodGhpcy5jb25maWdJZCksXG4gICAgICBoYXNNZXRhZGF0YUZpZWxkczogdGhpcy5oYXNNZXRhZGF0YUZpZWxkcyxcbiAgICAgIGxhYmVsczogdGhpcy5jb25maWd1cmF0aW9uLmdldCgnbGFiZWxzJylcbiAgICB9KTtcbiAgICB0aGlzLm9uZSgnYXctZW50aXRhLW1ldGFkYXRhLXZpZXdlcicpLnVwZGF0ZSh0aGlzLmdldEZpZWxkcyhyZXMpKTtcbiAgICB0aGlzLm9uZSgnYXctbGlua2VkLW9iamVjdHMnKS51cGRhdGVPcHRpb25zKHtcbiAgICAgIGNvbnRleHQ6IHRoaXMuc2VsZWN0ZWRUYWIsXG4gICAgICBjb25maWc6IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgIHBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICBwYWdpbmF0aW9uOiB0cnVlLFxuICAgICAgZHluYW1pY1BhZ2luYXRpb246IHtcbiAgICAgICAgdG90YWw6IHRoaXMuZ2V0SXRlbUNvdW50KCksXG4gICAgICB9LFxuICAgICAgcGFnaW5hdGlvblBhcmFtczogdGhpcy5fZ2V0UGFnaW5hdGlvblVSTCgpLFxuICAgICAgc2l6ZTogdGhpcy5wYWdlU2l6ZSxcbiAgICB9KTtcbiAgICB0aGlzLmdldExpbmtlZE9iamVjdEl0ZW1zKCkuZm9yRWFjaCgoZWw6IGFueSkgPT4ge1xuICAgICAgZWwucmVsYXRpb25OYW1lID0gcmVzLmxhYmVsLmxlbmd0aCA+IDMwXG4gICAgICAgID8gYCR7cmVzLmxhYmVsLnN1YnN0cigwLCAzMCl9Li4uIGBcbiAgICAgICAgOiByZXMubGFiZWw7XG4gICAgfSk7XG4gICAgcmVzLnJlbGF0ZWRFbnRpdGllcy5mb3JFYWNoKChlbDogYW55KSA9PiB7XG4gICAgICBlbC5yZWxhdGlvbk5hbWUgPSByZXMubGFiZWwubGVuZ3RoID4gMzBcbiAgICAgICAgPyBgJHtyZXMubGFiZWwuc3Vic3RyKDAsIDMwKX0uLi4gYFxuICAgICAgICA6IHJlcy5sYWJlbDtcbiAgICB9KTtcbiAgICB0aGlzLm9uZSgnYXctbGlua2VkLW9iamVjdHMnKS51cGRhdGUoeyBpdGVtczogdGhpcy5nZXRMaW5rZWRPYmplY3RJdGVtcygpIH0pO1xuICAgIHRoaXMub25lKCdhdy1yZWxhdGVkLWVudGl0aWVzJykudXBkYXRlKHJlcy5yZWxhdGVkRW50aXRpZXMpO1xuICAgIC8vIGZhbGxiYWNrIHRleHRcbiAgICBpZiAoIXRoaXMuaGFzTWV0YWRhdGFGaWVsZHMpIHtcbiAgICAgIHRoaXMuZmFsbGJhY2tUZXh0ID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCh0aGlzLmNvbmZpZ0lkKS5mYWxsYmFjaztcbiAgICB9XG4gICAgLy8gdXBkYXRlIGhlYWQgdGl0bGVcbiAgICB0aGlzLnNldEhlYWRUaXRsZSh0aGlzLm15UmVzcG9uc2UubGFiZWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UGFnaW5hdGlvblVSTCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaHJlZjogW1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdwYXRocycpLmVudGl0YUJhc2VQYXRoLFxuICAgICAgICBgJHt0aGlzLmN1cnJlbnRJZH0vYCxcbiAgICAgICAgdGhpcy5jdXJyZW50U2x1ZyxcbiAgICAgICAgYC8ke3RoaXMuc2VsZWN0ZWRUYWJ9L2AsXG4gICAgICBdLmpvaW4oJycpLFxuICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgcGFnZTogdGhpcy5jdXJyZW50UGFnZSB8fCAxLFxuICAgICAgICBzaXplOiB0aGlzLnBhZ2VTaXplLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldE5hdkJhc2VQYXRoKCkge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KCdwYXRocycpLmVudGl0YUJhc2VQYXRoLFxuICAgICAgYCR7dGhpcy5jdXJyZW50SWR9L2AsXG4gICAgICB0aGlzLmN1cnJlbnRTbHVnLFxuICAgIF0uam9pbignJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SXRlbUNvdW50KCk6IG51bWJlciB7XG4gICAgc3dpdGNoICh0aGlzLnNlbGVjdGVkVGFiKSB7XG4gICAgICBjYXNlICdmb25kaS1jb2xsZWdhdGknOlxuICAgICAgICByZXR1cm4gdGhpcy5teVJlc3BvbnNlLnJlbGF0ZWRMYVRvdGFsQ291bnQ7XG4gICAgICBjYXNlICdvZ2dldHRpLWNvbGxlZ2F0aSc6XG4gICAgICAgIHJldHVybiB0aGlzLm15UmVzcG9uc2UucmVsYXRlZEl0ZW1zVG90YWxDb3VudDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRGaWVsZHMocmVzcG9uc2UpIHtcbiAgICBjb25zdCB7IGZpZWxkcywgdHlwZU9mRW50aXR5IH0gPSByZXNwb25zZTtcbiAgICBjb25zdCBwYXRocyA9IHRoaXMuY29uZmlndXJhdGlvbi5nZXQoJ3BhdGhzJyk7XG4gICAgY29uc3QgbGFiZWxzID0gdGhpcy5jb25maWd1cmF0aW9uLmdldCgnbGFiZWxzJyk7XG4gICAgbGV0IG1ldGFkYXRhVG9TaG93ID0gX2dldCh0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KHRoaXMuY29uZmlnSWQpLCAnbWV0YWRhdGEtdG8tc2hvdycsIFtdKTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZFRhYiA9PT0gJ292ZXJ2aWV3Jykge1xuICAgICAgbWV0YWRhdGFUb1Nob3cgPSBfZ2V0KHRoaXMuY29uZmlndXJhdGlvbi5nZXQodGhpcy5jb25maWdJZCksICdvdmVydmlldy5pbmZvcm1hemlvbmknLCBbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFkYXRhSGVscGVyLm5vcm1hbGl6ZSh7XG4gICAgICBmaWVsZHMsXG4gICAgICBwYXRocyxcbiAgICAgIGxhYmVscyxcbiAgICAgIG1ldGFkYXRhVG9TaG93LFxuICAgICAgdHlwZTogdHlwZU9mRW50aXR5XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldExpbmtlZE9iamVjdEl0ZW1zKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVGFiID09PSAnZm9uZGktY29sbGVnYXRpJ1xuICAgICAgPyB0aGlzLm15UmVzcG9uc2UucmVsYXRlZExhXG4gICAgICA6IHRoaXMubXlSZXNwb25zZS5yZWxhdGVkSXRlbXM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgdG90YWwgYW1vdW50IG9mIHBhZ2VzXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtcyB0aGUgbnVtYmVyIG9mIHJlY29yZHMgaW4gdGhlIGRhdGFiYXNlXG4gICAqIEBwYXJhbSBzaXplIHRoZSBudW1iZXIgb2YgaXRlbXMgc2hvd24gb24gYSBwYWdlXG4gICAqIEByZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFnZXNcbiAgICovXG4gIHByaXZhdGUgZ2V0UGFnZUNvdW50KGl0ZW1zOiBudW1iZXIsIHNpemU6IG51bWJlcikge1xuICAgIHJldHVybiBNYXRoLmZsb29yKGl0ZW1zIC8gc2l6ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldEhlYWRUaXRsZShsYWJlbD86IHN0cmluZykge1xuICAgIHRoaXMubWFpblN0YXRlLnVwZGF0ZSgnaGVhZFRpdGxlJywgZ2V0SGVhZFRpdGxlKHtcbiAgICAgIGxhYmVsLFxuICAgICAgbmFtZTogdGhpcy5jb25maWd1cmF0aW9uLmdldCgnY3VzdG9tZXInKSxcbiAgICAgIHBhZ2VOYW1lOiB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KHRoaXMuY29uZmlnSWQpPy5wYWdlTmFtZSxcbiAgICAgIHBhZ2VEZWZhdWx0OiAnRW50aXTDoCcsXG4gICAgfSkpO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,5 @@
1
+ import { delay, filter } from 'rxjs/operators';
2
+ import tippy, { hideAll } from 'tippy.js';
1
3
  import { AwSearchLayoutDS } from '../search-layout/search-layout.ds';
2
4
  import facetsConfig from './gallery-facets.config';
3
5
  export class AwGalleryLayoutDS extends AwSearchLayoutDS {
@@ -6,10 +8,41 @@ export class AwGalleryLayoutDS extends AwSearchLayoutDS {
6
8
  this.layoutId = 'aw-gallery-layout';
7
9
  this.configId = 'gallery-layout';
8
10
  this.currentNav = 'galleria';
9
- this.headTitle = 'Arianna4View - Galleria';
11
+ this.pageNameDefault = 'Galleria';
10
12
  this.facetsConfig = facetsConfig;
11
13
  this.paginationList = [12, 24, 48];
12
14
  this.pageSize = 12; // linked objects page size
13
15
  }
16
+ onInit(payload) {
17
+ super.onInit(payload);
18
+ this.breadcrumbsTooltip = (this.configuration.get(this.configId)?.breadcrumbsTooltip) || {};
19
+ // load breadcrumbs tooltips
20
+ if (!this.breadcrumbsTooltip?.disable) {
21
+ this.loadTooltips();
22
+ }
23
+ }
24
+ loadTooltips() {
25
+ const linkedObjectsDS = this.getWidgetDataSource('aw-linked-objects');
26
+ linkedObjectsDS.out$.pipe(filter((data) => !!data), delay(1000) // symbolic timeout
27
+ ).subscribe(() => {
28
+ // clear first
29
+ hideAll();
30
+ // load
31
+ tippy('.tooltip-trigger', {
32
+ allowHTML: true,
33
+ interactive: true,
34
+ trigger: 'click',
35
+ theme: 'light-border no-padding',
36
+ placement: 'bottom-start',
37
+ hideOnClick: 'toggle',
38
+ content(reference) {
39
+ const id = reference.getAttribute('data-template');
40
+ const template = document.getElementById(id);
41
+ return template.innerHTML;
42
+ },
43
+ ...(this.breadcrumbsTooltip?.libOptions || {})
44
+ });
45
+ });
46
+ }
14
47
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1sYXlvdXQuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvbGF5b3V0cy9nYWxsZXJ5LWxheW91dC9nYWxsZXJ5LWxheW91dC5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLFlBQVksTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZ0JBQWdCO0lBQXZEOztRQUNTLGFBQVEsR0FBRyxtQkFBbUIsQ0FBQztRQUUvQixhQUFRLEdBQUcsZ0JBQWdCLENBQUM7UUFFNUIsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUV4QixjQUFTLEdBQUcseUJBQXlCLENBQUM7UUFFdEMsaUJBQVksR0FBRyxZQUFZLENBQUM7UUFFNUIsbUJBQWMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFOUIsYUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDLDJCQUEyQjtJQUNuRCxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd1NlYXJjaExheW91dERTIH0gZnJvbSAnLi4vc2VhcmNoLWxheW91dC9zZWFyY2gtbGF5b3V0LmRzJztcbmltcG9ydCBmYWNldHNDb25maWcgZnJvbSAnLi9nYWxsZXJ5LWZhY2V0cy5jb25maWcnO1xuXG5leHBvcnQgY2xhc3MgQXdHYWxsZXJ5TGF5b3V0RFMgZXh0ZW5kcyBBd1NlYXJjaExheW91dERTIHtcbiAgcHVibGljIGxheW91dElkID0gJ2F3LWdhbGxlcnktbGF5b3V0JztcblxuICBwdWJsaWMgY29uZmlnSWQgPSAnZ2FsbGVyeS1sYXlvdXQnO1xuXG4gIHB1YmxpYyBjdXJyZW50TmF2ID0gJ2dhbGxlcmlhJztcblxuICBwdWJsaWMgaGVhZFRpdGxlID0gJ0FyaWFubmE0VmlldyAtIEdhbGxlcmlhJztcblxuICBwdWJsaWMgZmFjZXRzQ29uZmlnID0gZmFjZXRzQ29uZmlnO1xuXG4gIHB1YmxpYyBwYWdpbmF0aW9uTGlzdCA9IFsxMiwgMjQsIDQ4XTtcblxuICBwdWJsaWMgcGFnZVNpemUgPSAxMjsgLy8gbGlua2VkIG9iamVjdHMgcGFnZSBzaXplXG59XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1sYXlvdXQuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvbGF5b3V0cy9nYWxsZXJ5LWxheW91dC9nYWxsZXJ5LWxheW91dC5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sWUFBWSxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxnQkFBZ0I7SUFBdkQ7O1FBQ1MsYUFBUSxHQUFHLG1CQUFtQixDQUFDO1FBRS9CLGFBQVEsR0FBRyxnQkFBZ0IsQ0FBQztRQUU1QixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBRXhCLG9CQUFlLEdBQUcsVUFBVSxDQUFDO1FBRTdCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBRTVCLG1CQUFjLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTlCLGFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQywyQkFBMkI7SUEyQ25ELENBQUM7SUF2Q0MsTUFBTSxDQUFDLE9BQU87UUFDWixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsa0JBQWtCLENBQzFELElBQUksRUFBRSxDQUFDO1FBRVIsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxlQUFlLEdBQXNCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3pGLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN2QixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLG1CQUFtQjtTQUNoQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZixjQUFjO1lBQ2QsT0FBTyxFQUFFLENBQUM7WUFFVixPQUFPO1lBQ1AsS0FBSyxDQUFDLGtCQUFrQixFQUFFO2dCQUN4QixTQUFTLEVBQUUsSUFBSTtnQkFDZixXQUFXLEVBQUUsSUFBSTtnQkFDakIsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLEtBQUssRUFBRSx5QkFBeUI7Z0JBQ2hDLFNBQVMsRUFBRSxjQUFjO2dCQUN6QixXQUFXLEVBQUUsUUFBUTtnQkFDckIsT0FBTyxDQUFDLFNBQVM7b0JBQ2YsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztvQkFDbkQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDN0MsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDO2dCQUM1QixDQUFDO2dCQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQzthQUMvQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlbGF5LCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgdGlwcHksIHsgaGlkZUFsbCB9IGZyb20gJ3RpcHB5LmpzJztcbmltcG9ydCB7IEF3TGlua2VkT2JqZWN0c0RTIH0gZnJvbSAnLi4vLi4vZGF0YS1zb3VyY2VzL2xpbmtlZC1vYmplY3RzLmRzJztcbmltcG9ydCB7IEF3U2VhcmNoTGF5b3V0RFMgfSBmcm9tICcuLi9zZWFyY2gtbGF5b3V0L3NlYXJjaC1sYXlvdXQuZHMnO1xuaW1wb3J0IGZhY2V0c0NvbmZpZyBmcm9tICcuL2dhbGxlcnktZmFjZXRzLmNvbmZpZyc7XG5cbmV4cG9ydCBjbGFzcyBBd0dhbGxlcnlMYXlvdXREUyBleHRlbmRzIEF3U2VhcmNoTGF5b3V0RFMge1xuICBwdWJsaWMgbGF5b3V0SWQgPSAnYXctZ2FsbGVyeS1sYXlvdXQnO1xuXG4gIHB1YmxpYyBjb25maWdJZCA9ICdnYWxsZXJ5LWxheW91dCc7XG5cbiAgcHVibGljIGN1cnJlbnROYXYgPSAnZ2FsbGVyaWEnO1xuXG4gIHB1YmxpYyBwYWdlTmFtZURlZmF1bHQgPSAnR2FsbGVyaWEnO1xuXG4gIHB1YmxpYyBmYWNldHNDb25maWcgPSBmYWNldHNDb25maWc7XG5cbiAgcHVibGljIHBhZ2luYXRpb25MaXN0ID0gWzEyLCAyNCwgNDhdO1xuXG4gIHB1YmxpYyBwYWdlU2l6ZSA9IDEyOyAvLyBsaW5rZWQgb2JqZWN0cyBwYWdlIHNpemVcblxuICBwdWJsaWMgYnJlYWRjcnVtYnNUb29sdGlwO1xuXG4gIG9uSW5pdChwYXlsb2FkKSB7XG4gICAgc3VwZXIub25Jbml0KHBheWxvYWQpO1xuXG4gICAgdGhpcy5icmVhZGNydW1ic1Rvb2x0aXAgPSAoXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uZ2V0KHRoaXMuY29uZmlnSWQpPy5icmVhZGNydW1ic1Rvb2x0aXBcbiAgICApIHx8IHt9O1xuXG4gICAgLy8gbG9hZCBicmVhZGNydW1icyB0b29sdGlwc1xuICAgIGlmICghdGhpcy5icmVhZGNydW1ic1Rvb2x0aXA/LmRpc2FibGUpIHtcbiAgICAgIHRoaXMubG9hZFRvb2x0aXBzKCk7XG4gICAgfVxuICB9XG5cbiAgbG9hZFRvb2x0aXBzKCkge1xuICAgIGNvbnN0IGxpbmtlZE9iamVjdHNEUzogQXdMaW5rZWRPYmplY3RzRFMgPSB0aGlzLmdldFdpZGdldERhdGFTb3VyY2UoJ2F3LWxpbmtlZC1vYmplY3RzJyk7XG4gICAgbGlua2VkT2JqZWN0c0RTLm91dCQucGlwZShcbiAgICAgIGZpbHRlcigoZGF0YSkgPT4gISFkYXRhKSxcbiAgICAgIGRlbGF5KDEwMDApIC8vIHN5bWJvbGljIHRpbWVvdXRcbiAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvLyBjbGVhciBmaXJzdFxuICAgICAgaGlkZUFsbCgpO1xuXG4gICAgICAvLyBsb2FkXG4gICAgICB0aXBweSgnLnRvb2x0aXAtdHJpZ2dlcicsIHtcbiAgICAgICAgYWxsb3dIVE1MOiB0cnVlLFxuICAgICAgICBpbnRlcmFjdGl2ZTogdHJ1ZSxcbiAgICAgICAgdHJpZ2dlcjogJ2NsaWNrJyxcbiAgICAgICAgdGhlbWU6ICdsaWdodC1ib3JkZXIgbm8tcGFkZGluZycsXG4gICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbS1zdGFydCcsXG4gICAgICAgIGhpZGVPbkNsaWNrOiAndG9nZ2xlJyxcbiAgICAgICAgY29udGVudChyZWZlcmVuY2UpIHtcbiAgICAgICAgICBjb25zdCBpZCA9IHJlZmVyZW5jZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGVtcGxhdGUnKTtcbiAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgICAgICAgICByZXR1cm4gdGVtcGxhdGUuaW5uZXJIVE1MO1xuICAgICAgICB9LFxuICAgICAgICAuLi4odGhpcy5icmVhZGNydW1ic1Rvb2x0aXA/LmxpYk9wdGlvbnMgfHwge30pXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -9,6 +9,7 @@ import * as i4 from "@angular/common";
9
9
  import * as i5 from "@net7/components";
10
10
  import * as i6 from "../../components/aw-facets-wrapper/aw-facets-wrapper";
11
11
  import * as i7 from "../../components/smart-breadcrumbs/smart-breadcrumbs";
12
+ import * as i8 from "../../components/gallery-breadcrumbs-tooltip/gallery-breadcrumbs-tooltip";
12
13
  export class AwGalleryLayoutComponent extends AbstractLayout {
13
14
  constructor(configuration, layoutsConfiguration, mainState, communication, search, route) {
14
15
  super(layoutsConfiguration.get('AwGalleryLayoutConfig') || config);
@@ -37,9 +38,9 @@ export class AwGalleryLayoutComponent extends AbstractLayout {
37
38
  }
38
39
  }
39
40
  AwGalleryLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AwGalleryLayoutComponent, deps: [{ token: i1.ConfigurationService }, { token: i1.LayoutsConfigurationService }, { token: i1.MainStateService }, { token: i1.CommunicationService }, { token: i2.AwSearchService }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
40
- AwGalleryLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AwGalleryLayoutComponent, selector: "aw-gallery-layout", usesInheritance: true, ngImport: i0, template: "<div class=\"aw-search aw-gallery n7-side-auto-padding\"\n id=\"gallery-layout\">\n <div class=\"aw-search__header\">\n <div class=\"aw-search__header-left\">\n <h1 class=\"aw-search__header-title\">{{ lb.dataSource.pageTitle }}</h1>\n </div>\n </div>\n <div class=\"aw-search__content-wrapper sticky-parent\">\n <!-- Left sidebar: facets -->\n <div *ngIf=\"!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar-loading sticky-target\">\n <div class=\"aw-search__facets-loading\">\n <n7-content-placeholder [data]=\"{\n blocks: [{\n classes: 'search-placeholder-facet-input'\n }, {\n classes: 'search-placeholder-facet-check'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }]\n }\">\n </n7-content-placeholder>\n </div>\n </div>\n <div *ngIf=\"!!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar sticky-target\"\n [ngClass]=\"{ 'is-sticky': lb.dataSource.sidebarIsSticky }\">\n <div class=\"aw-search__facets\">\n <aw-facets-wrapper [data]=\"lb.widgets['facets-wrapper'].ds.out$ | async\"\n [emit]=\"lb.widgets['facets-wrapper'].emit\">\n </aw-facets-wrapper>\n </div>\n </div>\n <div class=\"scroll-ref\">&nbsp;</div>\n <div class=\"aw-search__content\">\n <div class=\"aw-search__results-header\">\n <div class=\"aw-search__results-header-left\">\n <h3 *ngIf=\"!lb.dataSource.resultsLoading\"\n class=\"aw-search__total\">\n <span class=\"aw-search__total-number\">{{ lb.dataSource.totalCount }}</span>&nbsp;\n <span class=\"aw-search__total-title\">{{ lb.dataSource.resultsTitle }}</span>\n </h3>\n </div>\n <div class=\"aw-search__results-header-right\">\n <label class=\"aw-search__results-select-orderby-label\"\n for=\"aw-search__results-select-orderby\">{{ lb.dataSource.orderByLabel }}</label>\n <select (change)=\"lb.eventHandler.emitInner('orderbychange', $event.target.value)\"\n id=\"aw-search__results-select-orderby\">\n <option *ngFor=\"let option of lb.dataSource.orderByOptions\"\n [value]=\"option.value\"\n [selected]=\"option.selected\"\n [hidden]=\"option.type === 'score' && lb.dataSource.isSearchingText.value === false\">\n {{ option.label }}</option>\n </select>\n </div>\n </div>\n <!-- Search details -->\n <div *ngIf=\"lb.dataSource.resultsLoading\"\n class=\"aw-search__results-wrapper-loading\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\"\n [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n <div *ngIf=\"!lb.dataSource.resultsLoading\"\n class=\"aw-search__results-wrapper\">\n <div class=\"n7-grid-3\">\n <div *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.previews\">\n <n7-smart-breadcrumbs [data]=\"preview.breadcrumbs\">\n </n7-smart-breadcrumbs>\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </div>\n </div>\n <ng-container *ngIf=\"lb.dataSource.totalCount == 0\">\n <div class=\"aw-search__fallback\">\n <p class=\"aw-search__fallback-string\">\n {{ lb.dataSource.fallback }}\n </p>\n <button [disabled]=\"!lb.dataSource.resetButtonEnabled\"\n class=\"n7-btn aw-search__fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset', {})\">\n Resetta la ricerca\n </button>\n </div>\n </ng-container>\n <n7-smart-pagination *ngIf=\"lb.dataSource.totalCount > 10\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ContentPlaceholderComponent, selector: "n7-content-placeholder", inputs: ["data"] }, { kind: "component", type: i5.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i1.SmartPaginationComponent, selector: "n7-smart-pagination", inputs: ["data", "emit"] }, { kind: "component", type: i6.AwFacetsWrapperComponent, selector: "aw-facets-wrapper", inputs: ["data", "emit"] }, { kind: "component", type: i7.SmartBreadcrumbsComponent, selector: "n7-smart-breadcrumbs", inputs: ["data", "emit"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
41
+ AwGalleryLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AwGalleryLayoutComponent, selector: "aw-gallery-layout", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"lb.dataSource as ds\" class=\"aw-search aw-gallery n7-side-auto-padding\"\n id=\"gallery-layout\">\n <div class=\"aw-search__header\">\n <div class=\"aw-search__header-left\">\n <h1 class=\"aw-search__header-title\">{{ ds.pageTitle }}</h1>\n </div>\n </div>\n <div class=\"aw-search__content-wrapper sticky-parent\">\n <!-- Left sidebar: facets -->\n <div *ngIf=\"!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar-loading sticky-target\">\n <div class=\"aw-search__facets-loading\">\n <n7-content-placeholder [data]=\"{\n blocks: [{\n classes: 'search-placeholder-facet-input'\n }, {\n classes: 'search-placeholder-facet-check'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }]\n }\">\n </n7-content-placeholder>\n </div>\n </div>\n <div *ngIf=\"!!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar sticky-target\"\n [ngClass]=\"{ 'is-sticky': ds.sidebarIsSticky }\">\n <div class=\"aw-search__facets\">\n <aw-facets-wrapper [data]=\"lb.widgets['facets-wrapper'].ds.out$ | async\"\n [emit]=\"lb.widgets['facets-wrapper'].emit\">\n </aw-facets-wrapper>\n </div>\n </div>\n <div class=\"scroll-ref\">&nbsp;</div>\n <div class=\"aw-search__content\">\n <div class=\"aw-search__results-header\">\n <div class=\"aw-search__results-header-left\">\n <h3 *ngIf=\"!ds.resultsLoading\"\n class=\"aw-search__total\">\n <span class=\"aw-search__total-number\">{{ ds.totalCount }}</span>&nbsp;\n <span class=\"aw-search__total-title\">{{ ds.resultsTitle }}</span>\n </h3>\n </div>\n <div class=\"aw-search__results-header-right\">\n <label class=\"aw-search__results-select-orderby-label\"\n for=\"aw-search__results-select-orderby\">{{ ds.orderByLabel }}</label>\n <select (change)=\"lb.eventHandler.emitInner('orderbychange', $event.target.value)\"\n id=\"aw-search__results-select-orderby\">\n <option *ngFor=\"let option of ds.orderByOptions\"\n [value]=\"option.value\"\n [selected]=\"option.selected\"\n [hidden]=\"option.type === 'score' && ds.isSearchingText.value === false\">\n {{ option.label }}</option>\n </select>\n </div>\n </div>\n <!-- Search details -->\n <div *ngIf=\"ds.resultsLoading\"\n class=\"aw-search__results-wrapper-loading\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\"\n [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n <div *ngIf=\"!ds.resultsLoading\"\n class=\"aw-search__results-wrapper\">\n <div class=\"n7-grid-3\">\n <div *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.previews; let $i = index\">\n \n <!-- BREADCRUMBS WITH TOOLTIP -->\n <div *ngIf=\"!ds.breadcrumbsTooltip?.disable\" class=\"aw-gallery__breadcrumbs\">\n <a class=\"aw-gallery__breadcrumbs-icon tooltip-trigger\" [attr.data-template]=\"'breadcrumbs-tooltip-' + $i\">\n <span class=\"n7-icon n7-icon-tree-icon\"></span>\n </a>\n <div class=\"aw-gallery__breadcrumbs-separator\">\n <span class=\"n7-icon n7-icon-angle-right\"></span>\n </div>\n <n7-smart-breadcrumbs [data]=\"preview.breadcrumbs\">\n </n7-smart-breadcrumbs>\n </div>\n\n <!-- NORMAL BREADCRUMBS -->\n <n7-smart-breadcrumbs *ngIf=\"ds.breadcrumbsTooltip?.disable\" [data]=\"preview.breadcrumbs\">\n </n7-smart-breadcrumbs>\n \n <!-- ITEMPREVIEW -->\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n <div [attr.id]=\"'breadcrumbs-tooltip-' + $i\" [ngStyle]=\"{ display: 'none' }\">\n <aw-gallery-breadcrumbs-tooltip\n [data]=\"preview.breadcrumbs\"\n ></aw-gallery-breadcrumbs-tooltip>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"ds.totalCount == 0\">\n <div class=\"aw-search__fallback\">\n <p class=\"aw-search__fallback-string\">\n {{ ds.fallback }}\n </p>\n <button [disabled]=\"!ds.resetButtonEnabled\"\n class=\"n7-btn aw-search__fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset', {})\">\n Resetta la ricerca\n </button>\n </div>\n </ng-container>\n <n7-smart-pagination *ngIf=\"ds.totalCount > 10\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.ContentPlaceholderComponent, selector: "n7-content-placeholder", inputs: ["data"] }, { kind: "component", type: i5.ItemPreviewComponent, selector: "n7-item-preview", inputs: ["data", "emit"] }, { kind: "component", type: i1.SmartPaginationComponent, selector: "n7-smart-pagination", inputs: ["data", "emit"] }, { kind: "component", type: i6.AwFacetsWrapperComponent, selector: "aw-facets-wrapper", inputs: ["data", "emit"] }, { kind: "component", type: i7.SmartBreadcrumbsComponent, selector: "n7-smart-breadcrumbs", inputs: ["data", "emit"] }, { kind: "component", type: i8.GalleryBreadcrumbsTooltipComponent, selector: "aw-gallery-breadcrumbs-tooltip", inputs: ["data"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
41
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AwGalleryLayoutComponent, decorators: [{
42
43
  type: Component,
43
- args: [{ selector: 'aw-gallery-layout', template: "<div class=\"aw-search aw-gallery n7-side-auto-padding\"\n id=\"gallery-layout\">\n <div class=\"aw-search__header\">\n <div class=\"aw-search__header-left\">\n <h1 class=\"aw-search__header-title\">{{ lb.dataSource.pageTitle }}</h1>\n </div>\n </div>\n <div class=\"aw-search__content-wrapper sticky-parent\">\n <!-- Left sidebar: facets -->\n <div *ngIf=\"!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar-loading sticky-target\">\n <div class=\"aw-search__facets-loading\">\n <n7-content-placeholder [data]=\"{\n blocks: [{\n classes: 'search-placeholder-facet-input'\n }, {\n classes: 'search-placeholder-facet-check'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }]\n }\">\n </n7-content-placeholder>\n </div>\n </div>\n <div *ngIf=\"!!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar sticky-target\"\n [ngClass]=\"{ 'is-sticky': lb.dataSource.sidebarIsSticky }\">\n <div class=\"aw-search__facets\">\n <aw-facets-wrapper [data]=\"lb.widgets['facets-wrapper'].ds.out$ | async\"\n [emit]=\"lb.widgets['facets-wrapper'].emit\">\n </aw-facets-wrapper>\n </div>\n </div>\n <div class=\"scroll-ref\">&nbsp;</div>\n <div class=\"aw-search__content\">\n <div class=\"aw-search__results-header\">\n <div class=\"aw-search__results-header-left\">\n <h3 *ngIf=\"!lb.dataSource.resultsLoading\"\n class=\"aw-search__total\">\n <span class=\"aw-search__total-number\">{{ lb.dataSource.totalCount }}</span>&nbsp;\n <span class=\"aw-search__total-title\">{{ lb.dataSource.resultsTitle }}</span>\n </h3>\n </div>\n <div class=\"aw-search__results-header-right\">\n <label class=\"aw-search__results-select-orderby-label\"\n for=\"aw-search__results-select-orderby\">{{ lb.dataSource.orderByLabel }}</label>\n <select (change)=\"lb.eventHandler.emitInner('orderbychange', $event.target.value)\"\n id=\"aw-search__results-select-orderby\">\n <option *ngFor=\"let option of lb.dataSource.orderByOptions\"\n [value]=\"option.value\"\n [selected]=\"option.selected\"\n [hidden]=\"option.type === 'score' && lb.dataSource.isSearchingText.value === false\">\n {{ option.label }}</option>\n </select>\n </div>\n </div>\n <!-- Search details -->\n <div *ngIf=\"lb.dataSource.resultsLoading\"\n class=\"aw-search__results-wrapper-loading\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\"\n [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n <div *ngIf=\"!lb.dataSource.resultsLoading\"\n class=\"aw-search__results-wrapper\">\n <div class=\"n7-grid-3\">\n <div *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.previews\">\n <n7-smart-breadcrumbs [data]=\"preview.breadcrumbs\">\n </n7-smart-breadcrumbs>\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n </div>\n </div>\n <ng-container *ngIf=\"lb.dataSource.totalCount == 0\">\n <div class=\"aw-search__fallback\">\n <p class=\"aw-search__fallback-string\">\n {{ lb.dataSource.fallback }}\n </p>\n <button [disabled]=\"!lb.dataSource.resetButtonEnabled\"\n class=\"n7-btn aw-search__fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset', {})\">\n Resetta la ricerca\n </button>\n </div>\n </ng-container>\n <n7-smart-pagination *ngIf=\"lb.dataSource.totalCount > 10\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n </div>\n</div>\n" }]
44
+ args: [{ selector: 'aw-gallery-layout', template: "<div *ngIf=\"lb.dataSource as ds\" class=\"aw-search aw-gallery n7-side-auto-padding\"\n id=\"gallery-layout\">\n <div class=\"aw-search__header\">\n <div class=\"aw-search__header-left\">\n <h1 class=\"aw-search__header-title\">{{ ds.pageTitle }}</h1>\n </div>\n </div>\n <div class=\"aw-search__content-wrapper sticky-parent\">\n <!-- Left sidebar: facets -->\n <div *ngIf=\"!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar-loading sticky-target\">\n <div class=\"aw-search__facets-loading\">\n <n7-content-placeholder [data]=\"{\n blocks: [{\n classes: 'search-placeholder-facet-input'\n }, {\n classes: 'search-placeholder-facet-check'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }, {\n classes: 'search-placeholder-facet-item'\n }]\n }\">\n </n7-content-placeholder>\n </div>\n </div>\n <div *ngIf=\"!!(lb.widgets['facets-wrapper'].ds.out$ | async)\"\n class=\"aw-search__sidebar sticky-target\"\n [ngClass]=\"{ 'is-sticky': ds.sidebarIsSticky }\">\n <div class=\"aw-search__facets\">\n <aw-facets-wrapper [data]=\"lb.widgets['facets-wrapper'].ds.out$ | async\"\n [emit]=\"lb.widgets['facets-wrapper'].emit\">\n </aw-facets-wrapper>\n </div>\n </div>\n <div class=\"scroll-ref\">&nbsp;</div>\n <div class=\"aw-search__content\">\n <div class=\"aw-search__results-header\">\n <div class=\"aw-search__results-header-left\">\n <h3 *ngIf=\"!ds.resultsLoading\"\n class=\"aw-search__total\">\n <span class=\"aw-search__total-number\">{{ ds.totalCount }}</span>&nbsp;\n <span class=\"aw-search__total-title\">{{ ds.resultsTitle }}</span>\n </h3>\n </div>\n <div class=\"aw-search__results-header-right\">\n <label class=\"aw-search__results-select-orderby-label\"\n for=\"aw-search__results-select-orderby\">{{ ds.orderByLabel }}</label>\n <select (change)=\"lb.eventHandler.emitInner('orderbychange', $event.target.value)\"\n id=\"aw-search__results-select-orderby\">\n <option *ngFor=\"let option of ds.orderByOptions\"\n [value]=\"option.value\"\n [selected]=\"option.selected\"\n [hidden]=\"option.type === 'score' && ds.isSearchingText.value === false\">\n {{ option.label }}</option>\n </select>\n </div>\n </div>\n <!-- Search details -->\n <div *ngIf=\"ds.resultsLoading\"\n class=\"aw-search__results-wrapper-loading\">\n <n7-content-placeholder *ngFor=\"let n of [0,1,2,3,4,5,6,7,8,9]\"\n [data]=\"{\n blocks: [\n { classes: 'search-result-placeholder-title' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' },\n { classes: 'search-result-placeholder-metadata' }\n ]\n }\"></n7-content-placeholder>\n </div>\n <div *ngIf=\"!ds.resultsLoading\"\n class=\"aw-search__results-wrapper\">\n <div class=\"n7-grid-3\">\n <div *ngFor=\"let preview of (lb.widgets['aw-linked-objects'].ds.out$ | async)?.previews; let $i = index\">\n \n <!-- BREADCRUMBS WITH TOOLTIP -->\n <div *ngIf=\"!ds.breadcrumbsTooltip?.disable\" class=\"aw-gallery__breadcrumbs\">\n <a class=\"aw-gallery__breadcrumbs-icon tooltip-trigger\" [attr.data-template]=\"'breadcrumbs-tooltip-' + $i\">\n <span class=\"n7-icon n7-icon-tree-icon\"></span>\n </a>\n <div class=\"aw-gallery__breadcrumbs-separator\">\n <span class=\"n7-icon n7-icon-angle-right\"></span>\n </div>\n <n7-smart-breadcrumbs [data]=\"preview.breadcrumbs\">\n </n7-smart-breadcrumbs>\n </div>\n\n <!-- NORMAL BREADCRUMBS -->\n <n7-smart-breadcrumbs *ngIf=\"ds.breadcrumbsTooltip?.disable\" [data]=\"preview.breadcrumbs\">\n </n7-smart-breadcrumbs>\n \n <!-- ITEMPREVIEW -->\n <n7-item-preview [data]=\"preview\"\n [emit]=\"lb.widgets['aw-linked-objects'].emit\">\n </n7-item-preview>\n <div [attr.id]=\"'breadcrumbs-tooltip-' + $i\" [ngStyle]=\"{ display: 'none' }\">\n <aw-gallery-breadcrumbs-tooltip\n [data]=\"preview.breadcrumbs\"\n ></aw-gallery-breadcrumbs-tooltip>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"ds.totalCount == 0\">\n <div class=\"aw-search__fallback\">\n <p class=\"aw-search__fallback-string\">\n {{ ds.fallback }}\n </p>\n <button [disabled]=\"!ds.resetButtonEnabled\"\n class=\"n7-btn aw-search__fallback-button\"\n (click)=\"lb.eventHandler.emitInner('searchreset', {})\">\n Resetta la ricerca\n </button>\n </div>\n </ng-container>\n <n7-smart-pagination *ngIf=\"ds.totalCount > 10\"\n [data]=\"lb.widgets['n7-smart-pagination'].ds.out$ | async\"\n [emit]=\"lb.widgets['n7-smart-pagination'].emit\">\n </n7-smart-pagination>\n </div>\n </div>\n </div>\n</div>\n" }]
44
45
  }], ctorParameters: function () { return [{ type: i1.ConfigurationService }, { type: i1.LayoutsConfigurationService }, { type: i1.MainStateService }, { type: i1.CommunicationService }, { type: i2.AwSearchService }, { type: i3.ActivatedRoute }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1sYXlvdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvbGF5b3V0cy9nYWxsZXJ5LWxheW91dC9nYWxsZXJ5LWxheW91dC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWFyaWFubmEvc3JjL2xpYi9sYXlvdXRzL2dhbGxlcnktbGF5b3V0L2dhbGxlcnktbGF5b3V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUNMLGNBQWMsRUFLZixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxxQkFBcUIsSUFBSSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7O0FBTTFFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxjQUFjO0lBQzFELFlBQ1UsYUFBbUMsRUFDbkMsb0JBQWlELEVBQ2pELFNBQTJCLEVBQzNCLGFBQW1DLEVBQ25DLE1BQXVCLEVBQ3ZCLEtBQXFCO1FBRTdCLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQztRQVAzRCxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE2QjtRQUNqRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFHL0IsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTztZQUNMLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUU7U0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7O3NIQTdCVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixnRkNoQnJDLHNxTEE0R0E7NEZENUZhLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBBYnN0cmFjdExheW91dCxcbiAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gIExheW91dHNDb25maWd1cmF0aW9uU2VydmljZSxcbiAgTWFpblN0YXRlU2VydmljZSxcbiAgQ29tbXVuaWNhdGlvblNlcnZpY2Vcbn0gZnJvbSAnQG5ldDcvYm9pbGVycGxhdGUtY29tbW9uJztcbmltcG9ydCB7IEF3U2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlYXJjaC9hdy1zZWFyY2guc2VydmljZSc7XG5pbXBvcnQgeyBBd0dhbGxlcnlMYXlvdXRDb25maWcgYXMgY29uZmlnIH0gZnJvbSAnLi9nYWxsZXJ5LWxheW91dC5jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdy1nYWxsZXJ5LWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9nYWxsZXJ5LWxheW91dC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBd0dhbGxlcnlMYXlvdXRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdExheW91dCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGxheW91dHNDb25maWd1cmF0aW9uOiBMYXlvdXRzQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYWluU3RhdGU6IE1haW5TdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb21tdW5pY2F0aW9uOiBDb21tdW5pY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNlYXJjaDogQXdTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICApIHtcbiAgICBzdXBlcihsYXlvdXRzQ29uZmlndXJhdGlvbi5nZXQoJ0F3R2FsbGVyeUxheW91dENvbmZpZycpIHx8IGNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdFBheWxvYWQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuY29uZmlndXJhdGlvbixcbiAgICAgIG1haW5TdGF0ZTogdGhpcy5tYWluU3RhdGUsXG4gICAgICBjb21tdW5pY2F0aW9uOiB0aGlzLmNvbW11bmljYXRpb24sXG4gICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoLFxuICAgICAgcm91dGU6IHRoaXMucm91dGUsXG4gICAgICBvcHRpb25zOiB0aGlzLmNvbmZpZy5vcHRpb25zIHx8IHt9LFxuICAgIH07XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm9uSW5pdCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vbkRlc3Ryb3koKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF3LXNlYXJjaCBhdy1nYWxsZXJ5IG43LXNpZGUtYXV0by1wYWRkaW5nXCJcbiAgICAgaWQ9XCJnYWxsZXJ5LWxheW91dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX2hlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXctc2VhcmNoX19oZWFkZXItbGVmdFwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzPVwiYXctc2VhcmNoX19oZWFkZXItdGl0bGVcIj57eyBsYi5kYXRhU291cmNlLnBhZ2VUaXRsZSB9fTwvaDE+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX2NvbnRlbnQtd3JhcHBlciBzdGlja3ktcGFyZW50XCI+XG4gICAgICAgIDwhLS0gTGVmdCBzaWRlYmFyOiBmYWNldHMgLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhKGxiLndpZGdldHNbJ2ZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJhdy1zZWFyY2hfX3NpZGViYXItbG9hZGluZyBzdGlja3ktdGFyZ2V0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXctc2VhcmNoX19mYWNldHMtbG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxuNy1jb250ZW50LXBsYWNlaG9sZGVyIFtkYXRhXT1cIntcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tzOiBbe1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1wbGFjZWhvbGRlci1mYWNldC1pbnB1dCdcbiAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1wbGFjZWhvbGRlci1mYWNldC1jaGVjaydcbiAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1wbGFjZWhvbGRlci1mYWNldC1pdGVtJ1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnc2VhcmNoLXBsYWNlaG9sZGVyLWZhY2V0LWl0ZW0nXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXM6ICdzZWFyY2gtcGxhY2Vob2xkZXItZmFjZXQtaXRlbSdcbiAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1wbGFjZWhvbGRlci1mYWNldC1pdGVtJ1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnc2VhcmNoLXBsYWNlaG9sZGVyLWZhY2V0LWl0ZW0nXG4gICAgICAgICAgICAgICAgICAgIH1dXG4gICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgIDwvbjctY29udGVudC1wbGFjZWhvbGRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiEhKGxiLndpZGdldHNbJ2ZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJhdy1zZWFyY2hfX3NpZGViYXIgc3RpY2t5LXRhcmdldFwiXG4gICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtc3RpY2t5JzogbGIuZGF0YVNvdXJjZS5zaWRlYmFySXNTdGlja3kgfVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fZmFjZXRzXCI+XG4gICAgICAgICAgICAgICAgPGF3LWZhY2V0cy13cmFwcGVyIFtkYXRhXT1cImxiLndpZGdldHNbJ2ZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snZmFjZXRzLXdyYXBwZXInXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgPC9hdy1mYWNldHMtd3JhcHBlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1yZWZcIj4mbmJzcDs8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fcmVzdWx0cy1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXctc2VhcmNoX19yZXN1bHRzLWhlYWRlci1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMyAqbmdJZj1cIiFsYi5kYXRhU291cmNlLnJlc3VsdHNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXctc2VhcmNoX190b3RhbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhdy1zZWFyY2hfX3RvdGFsLW51bWJlclwiPnt7IGxiLmRhdGFTb3VyY2UudG90YWxDb3VudCB9fTwvc3Bhbj4mbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXctc2VhcmNoX190b3RhbC10aXRsZVwiPnt7IGxiLmRhdGFTb3VyY2UucmVzdWx0c1RpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX3Jlc3VsdHMtaGVhZGVyLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImF3LXNlYXJjaF9fcmVzdWx0cy1zZWxlY3Qtb3JkZXJieS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJhdy1zZWFyY2hfX3Jlc3VsdHMtc2VsZWN0LW9yZGVyYnlcIj57eyBsYi5kYXRhU291cmNlLm9yZGVyQnlMYWJlbCB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgKGNoYW5nZSk9XCJsYi5ldmVudEhhbmRsZXIuZW1pdElubmVyKCdvcmRlcmJ5Y2hhbmdlJywgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYXctc2VhcmNoX19yZXN1bHRzLXNlbGVjdC1vcmRlcmJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgbGIuZGF0YVNvdXJjZS5vcmRlckJ5T3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwib3B0aW9uLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJvcHRpb24udHlwZSA9PT0gJ3Njb3JlJyAmJiBsYi5kYXRhU291cmNlLmlzU2VhcmNoaW5nVGV4dC52YWx1ZSA9PT0gZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gU2VhcmNoIGRldGFpbHMgLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGIuZGF0YVNvdXJjZS5yZXN1bHRzTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiYXctc2VhcmNoX19yZXN1bHRzLXdyYXBwZXItbG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxuNy1jb250ZW50LXBsYWNlaG9sZGVyICpuZ0Zvcj1cImxldCBuIG9mIFswLDEsMiwzLDQsNSw2LDcsOCw5XVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwie1xuICAgICAgICAgICAgICAgICAgICBibG9ja3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgY2xhc3NlczogJ3NlYXJjaC1yZXN1bHQtcGxhY2Vob2xkZXItdGl0bGUnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGNsYXNzZXM6ICdzZWFyY2gtcmVzdWx0LXBsYWNlaG9sZGVyLW1ldGFkYXRhJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBjbGFzc2VzOiAnc2VhcmNoLXJlc3VsdC1wbGFjZWhvbGRlci1tZXRhZGF0YScgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgY2xhc3NlczogJ3NlYXJjaC1yZXN1bHQtcGxhY2Vob2xkZXItbWV0YWRhdGEnIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cIj48L243LWNvbnRlbnQtcGxhY2Vob2xkZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbGIuZGF0YVNvdXJjZS5yZXN1bHRzTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiYXctc2VhcmNoX19yZXN1bHRzLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctZ3JpZC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByZXZpZXcgb2YgKGxiLndpZGdldHNbJ2F3LWxpbmtlZC1vYmplY3RzJ10uZHMub3V0JCB8IGFzeW5jKT8ucHJldmlld3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1zbWFydC1icmVhZGNydW1icyBbZGF0YV09XCJwcmV2aWV3LmJyZWFkY3J1bWJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L243LXNtYXJ0LWJyZWFkY3J1bWJzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG43LWl0ZW0tcHJldmlldyBbZGF0YV09XCJwcmV2aWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snYXctbGlua2VkLW9iamVjdHMnXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L243LWl0ZW0tcHJldmlldz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxiLmRhdGFTb3VyY2UudG90YWxDb3VudCA9PSAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX2ZhbGxiYWNrXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImF3LXNlYXJjaF9fZmFsbGJhY2stc3RyaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGIuZGF0YVNvdXJjZS5mYWxsYmFjayB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiIWxiLmRhdGFTb3VyY2UucmVzZXRCdXR0b25FbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuNy1idG4gYXctc2VhcmNoX19mYWxsYmFjay1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibGIuZXZlbnRIYW5kbGVyLmVtaXRJbm5lcignc2VhcmNocmVzZXQnLCB7fSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNldHRhIGxhIHJpY2VyY2FcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bjctc21hcnQtcGFnaW5hdGlvbiAqbmdJZj1cImxiLmRhdGFTb3VyY2UudG90YWxDb3VudCA+IDEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsYi53aWRnZXRzWyduNy1zbWFydC1wYWdpbmF0aW9uJ10uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1pdF09XCJsYi53aWRnZXRzWyduNy1zbWFydC1wYWdpbmF0aW9uJ10uZW1pdFwiPlxuICAgICAgICAgICAgICAgIDwvbjctc21hcnQtcGFnaW5hdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1sYXlvdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uNy1ib2lsZXJwbGF0ZS1hcmlhbm5hL3NyYy9saWIvbGF5b3V0cy9nYWxsZXJ5LWxheW91dC9nYWxsZXJ5LWxheW91dC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL243LWJvaWxlcnBsYXRlLWFyaWFubmEvc3JjL2xpYi9sYXlvdXRzL2dhbGxlcnktbGF5b3V0L2dhbGxlcnktbGF5b3V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUNMLGNBQWMsRUFLZixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxxQkFBcUIsSUFBSSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7OztBQU0xRSxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsY0FBYztJQUMxRCxZQUNVLGFBQW1DLEVBQ25DLG9CQUFpRCxFQUNqRCxTQUEyQixFQUMzQixhQUFtQyxFQUNuQyxNQUF1QixFQUN2QixLQUFxQjtRQUU3QixLQUFLLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLElBQUksTUFBTSxDQUFDLENBQUM7UUFQM0Qsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBNkI7UUFDakQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Isa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQ3ZCLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBRy9CLENBQUM7SUFFUyxXQUFXO1FBQ25CLE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFO1NBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDOztzSEE3QlUsd0JBQXdCOzBHQUF4Qix3QkFBd0IsZ0ZDaEJyQyw2MU5BaUlBOzRGRGpIYSx3QkFBd0I7a0JBSnBDLFNBQVM7K0JBQ0UsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RMYXlvdXQsXG4gIENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICBMYXlvdXRzQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gIE1haW5TdGF0ZVNlcnZpY2UsXG4gIENvbW11bmljYXRpb25TZXJ2aWNlXG59IGZyb20gJ0BuZXQ3L2JvaWxlcnBsYXRlLWNvbW1vbic7XG5pbXBvcnQgeyBBd1NlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZWFyY2gvYXctc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXdHYWxsZXJ5TGF5b3V0Q29uZmlnIGFzIGNvbmZpZyB9IGZyb20gJy4vZ2FsbGVyeS1sYXlvdXQuY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXctZ2FsbGVyeS1sYXlvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2FsbGVyeS1sYXlvdXQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQXdHYWxsZXJ5TGF5b3V0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RMYXlvdXQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsYXlvdXRzQ29uZmlndXJhdGlvbjogTGF5b3V0c0NvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbWFpblN0YXRlOiBNYWluU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29tbXVuaWNhdGlvbjogQ29tbXVuaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWFyY2g6IEF3U2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgKSB7XG4gICAgc3VwZXIobGF5b3V0c0NvbmZpZ3VyYXRpb24uZ2V0KCdBd0dhbGxlcnlMYXlvdXRDb25maWcnKSB8fCBjb25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGluaXRQYXlsb2FkKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjb25maWd1cmF0aW9uOiB0aGlzLmNvbmZpZ3VyYXRpb24sXG4gICAgICBtYWluU3RhdGU6IHRoaXMubWFpblN0YXRlLFxuICAgICAgY29tbXVuaWNhdGlvbjogdGhpcy5jb21tdW5pY2F0aW9uLFxuICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaCxcbiAgICAgIHJvdXRlOiB0aGlzLnJvdXRlLFxuICAgICAgb3B0aW9uczogdGhpcy5jb25maWcub3B0aW9ucyB8fCB7fSxcbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vbkluaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95KCk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJsYi5kYXRhU291cmNlIGFzIGRzXCIgY2xhc3M9XCJhdy1zZWFyY2ggYXctZ2FsbGVyeSBuNy1zaWRlLWF1dG8tcGFkZGluZ1wiXG4gICAgIGlkPVwiZ2FsbGVyeS1sYXlvdXRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXctc2VhcmNoX19oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9faGVhZGVyLWxlZnRcIj5cbiAgICAgICAgICAgIDxoMSBjbGFzcz1cImF3LXNlYXJjaF9faGVhZGVyLXRpdGxlXCI+e3sgZHMucGFnZVRpdGxlIH19PC9oMT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fY29udGVudC13cmFwcGVyIHN0aWNreS1wYXJlbnRcIj5cbiAgICAgICAgPCEtLSBMZWZ0IHNpZGViYXI6IGZhY2V0cyAtLT5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiEobGIud2lkZ2V0c1snZmFjZXRzLXdyYXBwZXInXS5kcy5vdXQkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICBjbGFzcz1cImF3LXNlYXJjaF9fc2lkZWJhci1sb2FkaW5nIHN0aWNreS10YXJnZXRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX2ZhY2V0cy1sb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAgPG43LWNvbnRlbnQtcGxhY2Vob2xkZXIgW2RhdGFdPVwie1xuICAgICAgICAgICAgICAgICAgICBibG9ja3M6IFt7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnc2VhcmNoLXBsYWNlaG9sZGVyLWZhY2V0LWlucHV0J1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnc2VhcmNoLXBsYWNlaG9sZGVyLWZhY2V0LWNoZWNrJ1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnc2VhcmNoLXBsYWNlaG9sZGVyLWZhY2V0LWl0ZW0nXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXM6ICdzZWFyY2gtcGxhY2Vob2xkZXItZmFjZXQtaXRlbSdcbiAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlczogJ3NlYXJjaC1wbGFjZWhvbGRlci1mYWNldC1pdGVtJ1xuICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnc2VhcmNoLXBsYWNlaG9sZGVyLWZhY2V0LWl0ZW0nXG4gICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXM6ICdzZWFyY2gtcGxhY2Vob2xkZXItZmFjZXQtaXRlbSdcbiAgICAgICAgICAgICAgICAgICAgfV1cbiAgICAgICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICAgICAgPC9uNy1jb250ZW50LXBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiISEobGIud2lkZ2V0c1snZmFjZXRzLXdyYXBwZXInXS5kcy5vdXQkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICBjbGFzcz1cImF3LXNlYXJjaF9fc2lkZWJhciBzdGlja3ktdGFyZ2V0XCJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1zdGlja3knOiBkcy5zaWRlYmFySXNTdGlja3kgfVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fZmFjZXRzXCI+XG4gICAgICAgICAgICAgICAgPGF3LWZhY2V0cy13cmFwcGVyIFtkYXRhXT1cImxiLndpZGdldHNbJ2ZhY2V0cy13cmFwcGVyJ10uZHMub3V0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snZmFjZXRzLXdyYXBwZXInXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgPC9hdy1mYWNldHMtd3JhcHBlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1yZWZcIj4mbmJzcDs8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fcmVzdWx0cy1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXctc2VhcmNoX19yZXN1bHRzLWhlYWRlci1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMyAqbmdJZj1cIiFkcy5yZXN1bHRzTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF3LXNlYXJjaF9fdG90YWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXctc2VhcmNoX190b3RhbC1udW1iZXJcIj57eyBkcy50b3RhbENvdW50IH19PC9zcGFuPiZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhdy1zZWFyY2hfX3RvdGFsLXRpdGxlXCI+e3sgZHMucmVzdWx0c1RpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdy1zZWFyY2hfX3Jlc3VsdHMtaGVhZGVyLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImF3LXNlYXJjaF9fcmVzdWx0cy1zZWxlY3Qtb3JkZXJieS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJhdy1zZWFyY2hfX3Jlc3VsdHMtc2VsZWN0LW9yZGVyYnlcIj57eyBkcy5vcmRlckJ5TGFiZWwgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IChjaGFuZ2UpPVwibGIuZXZlbnRIYW5kbGVyLmVtaXRJbm5lcignb3JkZXJieWNoYW5nZScsICRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImF3LXNlYXJjaF9fcmVzdWx0cy1zZWxlY3Qtb3JkZXJieVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRzLm9yZGVyQnlPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJvcHRpb24uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIm9wdGlvbi50eXBlID09PSAnc2NvcmUnICYmIGRzLmlzU2VhcmNoaW5nVGV4dC52YWx1ZSA9PT0gZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gU2VhcmNoIGRldGFpbHMgLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZHMucmVzdWx0c0xvYWRpbmdcIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cImF3LXNlYXJjaF9fcmVzdWx0cy13cmFwcGVyLWxvYWRpbmdcIj5cbiAgICAgICAgICAgICAgICA8bjctY29udGVudC1wbGFjZWhvbGRlciAqbmdGb3I9XCJsZXQgbiBvZiBbMCwxLDIsMyw0LDUsNiw3LDgsOV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cIntcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGNsYXNzZXM6ICdzZWFyY2gtcmVzdWx0LXBsYWNlaG9sZGVyLXRpdGxlJyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBjbGFzc2VzOiAnc2VhcmNoLXJlc3VsdC1wbGFjZWhvbGRlci1tZXRhZGF0YScgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgY2xhc3NlczogJ3NlYXJjaC1yZXN1bHQtcGxhY2Vob2xkZXItbWV0YWRhdGEnIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGNsYXNzZXM6ICdzZWFyY2gtcmVzdWx0LXBsYWNlaG9sZGVyLW1ldGFkYXRhJyB9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XCI+PC9uNy1jb250ZW50LXBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWRzLnJlc3VsdHNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJhdy1zZWFyY2hfX3Jlc3VsdHMtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1ncmlkLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcHJldmlldyBvZiAobGIud2lkZ2V0c1snYXctbGlua2VkLW9iamVjdHMnXS5kcy5vdXQkIHwgYXN5bmMpPy5wcmV2aWV3czsgbGV0ICRpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBCUkVBRENSVU1CUyBXSVRIIFRPT0xUSVAgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWRzLmJyZWFkY3J1bWJzVG9vbHRpcD8uZGlzYWJsZVwiIGNsYXNzPVwiYXctZ2FsbGVyeV9fYnJlYWRjcnVtYnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImF3LWdhbGxlcnlfX2JyZWFkY3J1bWJzLWljb24gdG9vbHRpcC10cmlnZ2VyXCIgW2F0dHIuZGF0YS10ZW1wbGF0ZV09XCInYnJlYWRjcnVtYnMtdG9vbHRpcC0nICsgJGlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuNy1pY29uIG43LWljb24tdHJlZS1pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXctZ2FsbGVyeV9fYnJlYWRjcnVtYnMtc2VwYXJhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaWNvbiBuNy1pY29uLWFuZ2xlLXJpZ2h0XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1zbWFydC1icmVhZGNydW1icyBbZGF0YV09XCJwcmV2aWV3LmJyZWFkY3J1bWJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uNy1zbWFydC1icmVhZGNydW1icz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE5PUk1BTCBCUkVBRENSVU1CUyAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuNy1zbWFydC1icmVhZGNydW1icyAgKm5nSWY9XCJkcy5icmVhZGNydW1ic1Rvb2x0aXA/LmRpc2FibGVcIiBbZGF0YV09XCJwcmV2aWV3LmJyZWFkY3J1bWJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L243LXNtYXJ0LWJyZWFkY3J1bWJzPlxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIElURU1QUkVWSUVXIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG43LWl0ZW0tcHJldmlldyBbZGF0YV09XCJwcmV2aWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwibGIud2lkZ2V0c1snYXctbGlua2VkLW9iamVjdHMnXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L243LWl0ZW0tcHJldmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2F0dHIuaWRdPVwiJ2JyZWFkY3J1bWJzLXRvb2x0aXAtJyArICRpXCIgW25nU3R5bGVdPVwieyBkaXNwbGF5OiAnbm9uZScgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhdy1nYWxsZXJ5LWJyZWFkY3J1bWJzLXRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwicHJldmlldy5icmVhZGNydW1ic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYXctZ2FsbGVyeS1icmVhZGNydW1icy10b29sdGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkcy50b3RhbENvdW50ID09IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF3LXNlYXJjaF9fZmFsbGJhY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYXctc2VhcmNoX19mYWxsYmFjay1zdHJpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBkcy5mYWxsYmFjayB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiIWRzLnJlc2V0QnV0dG9uRW5hYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctYnRuIGF3LXNlYXJjaF9fZmFsbGJhY2stYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImxiLmV2ZW50SGFuZGxlci5lbWl0SW5uZXIoJ3NlYXJjaHJlc2V0Jywge30pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXR0YSBsYSByaWNlcmNhXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG43LXNtYXJ0LXBhZ2luYXRpb24gKm5nSWY9XCJkcy50b3RhbENvdW50ID4gMTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImxiLndpZGdldHNbJ243LXNtYXJ0LXBhZ2luYXRpb24nXS5kcy5vdXQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbWl0XT1cImxiLndpZGdldHNbJ243LXNtYXJ0LXBhZ2luYXRpb24nXS5lbWl0XCI+XG4gICAgICAgICAgICAgICAgPC9uNy1zbWFydC1wYWdpbmF0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=