@sbb-esta/lyne-elements-experimental 4.5.1 → 4.7.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 (77) hide show
  1. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +6 -6
  2. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +12 -12
  3. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +11 -11
  4. package/core/styles/core.scss +13 -0
  5. package/core/styles/lean-theme.scss +3 -0
  6. package/core/styles/off-brand-theme.scss +3 -0
  7. package/core/styles/safety-theme.scss +3 -0
  8. package/core/styles/standard-theme.scss +3 -0
  9. package/core/styles/theme.scss +5 -0
  10. package/core.css +13 -0
  11. package/custom-elements.json +470 -209
  12. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +3 -2
  13. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +2 -15
  14. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -14
  15. package/development/pearl-chain/pearl-chain.component.js +9 -8
  16. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +9 -8
  17. package/development/seat-reservation/common/mapper/icon-mapper.d.ts.map +1 -1
  18. package/development/seat-reservation/common/mapper/icon-mapper.js +2 -1
  19. package/development/seat-reservation/common/mapper/mapper.js +6 -4
  20. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.d.ts +69 -0
  21. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.d.ts.map +1 -0
  22. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +559 -0
  23. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.d.ts +123 -0
  24. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.d.ts.map +1 -0
  25. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +972 -0
  26. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.d.ts +114 -0
  27. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.d.ts.map +1 -0
  28. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20368 -0
  29. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.d.ts +85 -0
  30. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.d.ts.map +1 -0
  31. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1739 -0
  32. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.d.ts +69 -0
  33. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.d.ts.map +1 -0
  34. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9783 -0
  35. package/development/seat-reservation/common/svgs.js +7 -7
  36. package/development/seat-reservation/common/translations/i18n.d.ts.map +1 -1
  37. package/development/seat-reservation/common/translations/i18n.js +32 -1
  38. package/development/seat-reservation/common/types.d.ts +8 -3
  39. package/development/seat-reservation/common/types.d.ts.map +1 -1
  40. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +20 -3
  41. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  42. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +97 -31
  43. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +1 -0
  44. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  45. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +65 -30
  46. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +4 -15
  47. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
  48. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +75 -155
  49. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts +2 -0
  50. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -1
  51. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +21 -5
  52. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +7 -1
  53. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
  54. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +154 -9
  55. package/off-brand-theme.css +13 -0
  56. package/package.json +18 -2
  57. package/pearl-chain/pearl-chain.component.js +1 -1
  58. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +15 -15
  59. package/safety-theme.css +13 -0
  60. package/seat-reservation/common/mapper/icon-mapper.js +1 -0
  61. package/seat-reservation/common/mapper/mapper.js +25 -23
  62. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +558 -0
  63. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +970 -0
  64. package/seat-reservation/common/mapper/{seat-reservation-sample-data.js → sample-data/seat-reservation-sample-data-giruno.js} +3 -11304
  65. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1738 -0
  66. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9782 -0
  67. package/seat-reservation/common/svgs.js +51 -51
  68. package/seat-reservation/common/translations/i18n.js +31 -0
  69. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +157 -103
  70. package/seat-reservation/seat-reservation/seat-reservation.component.js +138 -126
  71. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +141 -186
  72. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +54 -44
  73. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +106 -71
  74. package/standard-theme.css +13 -0
  75. package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts +0 -372
  76. package/development/seat-reservation/common/mapper/seat-reservation-sample-data.d.ts.map +0 -1
  77. package/development/seat-reservation/common/mapper/seat-reservation-sample-data.js +0 -31673
@@ -324,11 +324,6 @@ const style = css`:host {
324
324
  color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));
325
325
  }
326
326
  }
327
- @media (forced-colors: active) and (forced-colors: active) {
328
- .sbb-sr-navigation__item-coach-number {
329
- color: inherit;
330
- }
331
- }
332
327
  .sbb-sr-navigation__item-coach-number .sbb-sr-navigation__item-coach-travelclass {
333
328
  background-color: var(--sbb-background-color-2-inverted);
334
329
  }
@@ -357,6 +352,11 @@ const style = css`:host {
357
352
  color: var(--sbb-color-white);
358
353
  color: light-dark(var(--sbb-color-white), var(--sbb-color-black));
359
354
  }
355
+ @media (forced-colors: active) {
356
+ .sbb-sr-navigation__item-coach-travelclass {
357
+ border: var(--sbb-border-width-1x) solid;
358
+ }
359
+ }
360
360
 
361
361
  :host([vertical]) .sbb-sr-navigation__item-coach {
362
362
  flex-direction: row;
@@ -417,18 +417,12 @@ const style = css`:host {
417
417
  min-width: calc(36 * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
418
418
  }`;
419
419
  let SbbSeatReservationNavigationCoachElement = (() => {
420
- var _coachId_accessor_storage, _propertyIds_accessor_storage, _selected_accessor_storage, _focused_accessor_storage, _hovered_accessor_storage, _nativeFocusActive_accessor_storage, _index_accessor_storage, _freePlacesByType_accessor_storage, _travelClass_accessor_storage, _driverArea_accessor_storage, _first_accessor_storage, _last_accessor_storage, _disable_accessor_storage, _vertical_accessor_storage, _a;
420
+ var _selected_accessor_storage, _focused_accessor_storage, _hovered_accessor_storage, _nativeFocusActive_accessor_storage, _index_accessor_storage, _coachItemDetails_accessor_storage, _disable_accessor_storage, _vertical_accessor_storage, _showTitleInfo_accessor_storage, _a;
421
421
  let _classDecorators = [customElement("sbb-seat-reservation-navigation-coach")];
422
422
  let _classDescriptor;
423
423
  let _classExtraInitializers = [];
424
424
  let _classThis;
425
425
  let _classSuper = LitElement;
426
- let _coachId_decorators;
427
- let _coachId_initializers = [];
428
- let _coachId_extraInitializers = [];
429
- let _propertyIds_decorators;
430
- let _propertyIds_initializers = [];
431
- let _propertyIds_extraInitializers = [];
432
426
  let _selected_decorators;
433
427
  let _selected_initializers = [];
434
428
  let _selected_extraInitializers = [];
@@ -444,73 +438,40 @@ let SbbSeatReservationNavigationCoachElement = (() => {
444
438
  let _index_decorators;
445
439
  let _index_initializers = [];
446
440
  let _index_extraInitializers = [];
447
- let _freePlacesByType_decorators;
448
- let _freePlacesByType_initializers = [];
449
- let _freePlacesByType_extraInitializers = [];
450
- let _travelClass_decorators;
451
- let _travelClass_initializers = [];
452
- let _travelClass_extraInitializers = [];
453
- let _driverArea_decorators;
454
- let _driverArea_initializers = [];
455
- let _driverArea_extraInitializers = [];
456
- let _first_decorators;
457
- let _first_initializers = [];
458
- let _first_extraInitializers = [];
459
- let _last_decorators;
460
- let _last_initializers = [];
461
- let _last_extraInitializers = [];
441
+ let _coachItemDetails_decorators;
442
+ let _coachItemDetails_initializers = [];
443
+ let _coachItemDetails_extraInitializers = [];
462
444
  let _disable_decorators;
463
445
  let _disable_initializers = [];
464
446
  let _disable_extraInitializers = [];
465
447
  let _vertical_decorators;
466
448
  let _vertical_initializers = [];
467
449
  let _vertical_extraInitializers = [];
450
+ let _showTitleInfo_decorators;
451
+ let _showTitleInfo_initializers = [];
452
+ let _showTitleInfo_extraInitializers = [];
468
453
  _a = class extends _classSuper {
469
454
  constructor() {
470
455
  super(...arguments);
471
- __privateAdd(this, _coachId_accessor_storage);
472
- __privateAdd(this, _propertyIds_accessor_storage);
473
456
  __privateAdd(this, _selected_accessor_storage);
474
457
  __privateAdd(this, _focused_accessor_storage);
475
458
  __privateAdd(this, _hovered_accessor_storage);
476
459
  __privateAdd(this, _nativeFocusActive_accessor_storage);
477
460
  __privateAdd(this, _index_accessor_storage);
478
- __privateAdd(this, _freePlacesByType_accessor_storage);
479
- __privateAdd(this, _travelClass_accessor_storage);
480
- __privateAdd(this, _driverArea_accessor_storage);
481
- __privateAdd(this, _first_accessor_storage);
482
- __privateAdd(this, _last_accessor_storage);
461
+ __privateAdd(this, _coachItemDetails_accessor_storage);
483
462
  __privateAdd(this, _disable_accessor_storage);
484
463
  __privateAdd(this, _vertical_accessor_storage);
485
- __privateSet(this, _coachId_accessor_storage, __runInitializers(this, _coachId_initializers, ""));
486
- __privateSet(this, _propertyIds_accessor_storage, (__runInitializers(this, _coachId_extraInitializers), __runInitializers(this, _propertyIds_initializers, [])));
487
- __privateSet(this, _selected_accessor_storage, (__runInitializers(this, _propertyIds_extraInitializers), __runInitializers(this, _selected_initializers, false)));
464
+ __privateAdd(this, _showTitleInfo_accessor_storage);
465
+ __privateSet(this, _selected_accessor_storage, __runInitializers(this, _selected_initializers, false));
488
466
  __privateSet(this, _focused_accessor_storage, (__runInitializers(this, _selected_extraInitializers), __runInitializers(this, _focused_initializers, false)));
489
467
  __privateSet(this, _hovered_accessor_storage, (__runInitializers(this, _focused_extraInitializers), __runInitializers(this, _hovered_initializers, false)));
490
468
  __privateSet(this, _nativeFocusActive_accessor_storage, (__runInitializers(this, _hovered_extraInitializers), __runInitializers(this, _nativeFocusActive_initializers, true)));
491
469
  __privateSet(this, _index_accessor_storage, (__runInitializers(this, _nativeFocusActive_extraInitializers), __runInitializers(this, _index_initializers, 0)));
492
- __privateSet(this, _freePlacesByType_accessor_storage, (__runInitializers(this, _index_extraInitializers), __runInitializers(this, _freePlacesByType_initializers, { seats: 0, bicycles: 0 })));
493
- __privateSet(this, _travelClass_accessor_storage, (__runInitializers(this, _freePlacesByType_extraInitializers), __runInitializers(this, _travelClass_initializers, ["ANY_CLASS"])));
494
- __privateSet(this, _driverArea_accessor_storage, (__runInitializers(this, _travelClass_extraInitializers), __runInitializers(this, _driverArea_initializers, false)));
495
- __privateSet(this, _first_accessor_storage, (__runInitializers(this, _driverArea_extraInitializers), __runInitializers(this, _first_initializers, false)));
496
- __privateSet(this, _last_accessor_storage, (__runInitializers(this, _first_extraInitializers), __runInitializers(this, _last_initializers, false)));
497
- __privateSet(this, _disable_accessor_storage, (__runInitializers(this, _last_extraInitializers), __runInitializers(this, _disable_initializers, false)));
470
+ __privateSet(this, _coachItemDetails_accessor_storage, (__runInitializers(this, _index_extraInitializers), __runInitializers(this, _coachItemDetails_initializers, {})));
471
+ __privateSet(this, _disable_accessor_storage, (__runInitializers(this, _coachItemDetails_extraInitializers), __runInitializers(this, _disable_initializers, false)));
498
472
  __privateSet(this, _vertical_accessor_storage, (__runInitializers(this, _disable_extraInitializers), __runInitializers(this, _vertical_initializers, false)));
499
- this._language = (__runInitializers(this, _vertical_extraInitializers), new SbbLanguageController(this));
500
- }
501
- /** Coach ID, which is used to identify the coach in the navigation */
502
- get coachId() {
503
- return __privateGet(this, _coachId_accessor_storage);
504
- }
505
- set coachId(value) {
506
- __privateSet(this, _coachId_accessor_storage, value);
507
- }
508
- /** Coach service property ids, which are used to display the services in the navigation */
509
- get propertyIds() {
510
- return __privateGet(this, _propertyIds_accessor_storage);
511
- }
512
- set propertyIds(value) {
513
- __privateSet(this, _propertyIds_accessor_storage, value);
473
+ __privateSet(this, _showTitleInfo_accessor_storage, (__runInitializers(this, _vertical_extraInitializers), __runInitializers(this, _showTitleInfo_initializers, false)));
474
+ this._language = (__runInitializers(this, _showTitleInfo_extraInitializers), new SbbLanguageController(this));
514
475
  }
515
476
  /** Select coach property */
516
477
  get selected() {
@@ -546,40 +507,11 @@ let SbbSeatReservationNavigationCoachElement = (() => {
546
507
  set index(value) {
547
508
  __privateSet(this, _index_accessor_storage, value);
548
509
  }
549
- /** Representation of places available for selecting, counting seat places and bicycle places separately */
550
- get freePlacesByType() {
551
- return __privateGet(this, _freePlacesByType_accessor_storage);
552
- }
553
- set freePlacesByType(value) {
554
- __privateSet(this, _freePlacesByType_accessor_storage, value);
555
- }
556
- /** Travel class of the coach */
557
- get travelClass() {
558
- return __privateGet(this, _travelClass_accessor_storage);
559
- }
560
- set travelClass(value) {
561
- __privateSet(this, _travelClass_accessor_storage, value);
510
+ get coachItemDetails() {
511
+ return __privateGet(this, _coachItemDetails_accessor_storage);
562
512
  }
563
- /** If the coach is a driver/restricted area */
564
- get driverArea() {
565
- return __privateGet(this, _driverArea_accessor_storage);
566
- }
567
- set driverArea(value) {
568
- __privateSet(this, _driverArea_accessor_storage, value);
569
- }
570
- /** If the coach is the first in the navigation */
571
- get first() {
572
- return __privateGet(this, _first_accessor_storage);
573
- }
574
- set first(value) {
575
- __privateSet(this, _first_accessor_storage, value);
576
- }
577
- /** If the coach is the last in the navigation */
578
- get last() {
579
- return __privateGet(this, _last_accessor_storage);
580
- }
581
- set last(value) {
582
- __privateSet(this, _last_accessor_storage, value);
513
+ set coachItemDetails(value) {
514
+ __privateSet(this, _coachItemDetails_accessor_storage, value);
583
515
  }
584
516
  /** Disable the coach navigation */
585
517
  get disable() {
@@ -595,6 +527,13 @@ let SbbSeatReservationNavigationCoachElement = (() => {
595
527
  set vertical(value) {
596
528
  __privateSet(this, _vertical_accessor_storage, value);
597
529
  }
530
+ /** Disable the mouse over title information */
531
+ get showTitleInfo() {
532
+ return __privateGet(this, _showTitleInfo_accessor_storage);
533
+ }
534
+ set showTitleInfo(value) {
535
+ __privateSet(this, _showTitleInfo_accessor_storage, value);
536
+ }
598
537
  willUpdate(changedProperties) {
599
538
  super.willUpdate(changedProperties);
600
539
  if (changedProperties.has("selected")) {
@@ -623,17 +562,18 @@ let SbbSeatReservationNavigationCoachElement = (() => {
623
562
  <div
624
563
  class="${classMap({
625
564
  "sbb-sr-navigation__item-coach": true,
626
- "last-coach": this.last,
627
- "first-coach": this.first,
565
+ "last-coach": this.coachItemDetails.driverAreaSide?.right || false,
566
+ "first-coach": this.coachItemDetails.driverAreaSide?.left || false,
628
567
  "sbb-sr-navigation__item-coach--selected": this.selected,
629
568
  "sbb-sr-navigation__item-coach--focused": this.focused,
630
569
  "sbb-sr-navigation__item-coach--hovered": this.hovered
631
570
  })}"
632
571
  >
633
572
  ${this._getNavigationButton()}
634
- ${this.propertyIds?.length ? html`<sbb-seat-reservation-navigation-services
573
+ ${this.coachItemDetails.propertyIds?.length ? html`<sbb-seat-reservation-navigation-services
635
574
  ?vertical="${this.vertical}"
636
- .propertyIds="${this.propertyIds}"
575
+ .propertyIds="${this.coachItemDetails.propertyIds}"
576
+ ?showTitleInfo="${this.showTitleInfo}"
637
577
  ></sbb-seat-reservation-navigation-services>` : nothing}
638
578
  </div>
639
579
  `;
@@ -643,31 +583,32 @@ let SbbSeatReservationNavigationCoachElement = (() => {
643
583
  const titleDescriptionNavCoachButton = this._getTitleDescriptionNavCoachButton(currServiceClassNumber);
644
584
  const ariaDescriptionCoachServices = this._getAriaDescriptionCoachServices();
645
585
  return html` <button
646
- @click=${() => this._selectNavCoach(this.index)}
647
- class="${classMap({
586
+ @click=${() => this._selectNavCoach(this.index)}
587
+ class="${classMap({
648
588
  "sbb-sr-navigation__ctrl-button": true,
649
- "sbb-sr-navigation-driver-area": this.driverArea
589
+ "sbb-sr-navigation-driver-area": this.coachItemDetails.isDriverArea
650
590
  })}"
651
- ?disabled="${this.disable}"
652
- title="${titleDescriptionNavCoachButton}"
653
- type="button"
654
- aria-describedby="nav-coach-service-descriptions-${this.index}"
655
- >
656
- ${this._getBtnInformation(currServiceClassNumber)}
657
- </button>
658
- <sbb-screen-reader-only id="nav-coach-service-descriptions-${this.index}"
659
- >${ariaDescriptionCoachServices}</sbb-screen-reader-only
660
- >`;
591
+ ?disabled="${this.disable}"
592
+ title="${this.showTitleInfo ? titleDescriptionNavCoachButton : nothing}"
593
+ type="button"
594
+ aria-describedby="nav-coach-service-descriptions-${this.index}"
595
+ >
596
+ ${this._getBtnInformation(currServiceClassNumber)}
597
+ <sbb-screen-reader-only id="nav-coach-service-descriptions-${this.index}">
598
+ ${!this.showTitleInfo ? html`<div>${titleDescriptionNavCoachButton}</div>` : nothing}
599
+ ${ariaDescriptionCoachServices ? html`<div>${ariaDescriptionCoachServices}</div>` : nothing}
600
+ </sbb-screen-reader-only>
601
+ </button>`;
661
602
  }
662
603
  _getBtnInformation(serviceClassNumber) {
663
- if (this.driverArea) {
604
+ if (this.coachItemDetails.isDriverArea) {
664
605
  return null;
665
606
  }
666
607
  return html`
667
608
  ${serviceClassNumber === 1 ? html`<span class="sbb-sr-navigation--first-class"></span>` : nothing}
668
- ${this.travelClass?.length > 0 || this.coachId ? html`<div class="sbb-sr-navigation__additional-information">
669
- ${this.coachId ? html`<div class="sbb-sr-navigation__item-coach-number" aria-hidden="true">
670
- ${this.coachId}
609
+ ${this.coachItemDetails.travelClass?.length > 0 || this.coachItemDetails.id ? html`<div class="sbb-sr-navigation__additional-information">
610
+ ${this.coachItemDetails.id ? html`<div class="sbb-sr-navigation__item-coach-number" aria-hidden="true">
611
+ ${this.coachItemDetails.id}
671
612
  </div>` : nothing}
672
613
  <div
673
614
  ${serviceClassNumber ?? nothing}
@@ -680,27 +621,32 @@ let SbbSeatReservationNavigationCoachElement = (() => {
680
621
  `;
681
622
  }
682
623
  _getTitleDescriptionNavCoachButton(serviceClassNumber) {
683
- if (this.driverArea) {
624
+ if (this.coachItemDetails.isDriverArea && !this.coachItemDetails.driverAreaElements?.driverAreaNoVerticalWall) {
684
625
  return getI18nSeatReservation("NAVIGATE_COACH_BLOCKED", this._language.current, [
685
- this.coachId
626
+ this.coachItemDetails.id
686
627
  ]);
687
628
  }
688
- let label = getI18nSeatReservation("NAVIGATE_TO_COACH", this._language.current, [this.coachId]);
629
+ if (this.coachItemDetails.driverAreaElements?.driverAreaNoVerticalWall) {
630
+ return getI18nSeatReservation("COACH_LOCOMOTIVE", this._language.current);
631
+ }
632
+ let label = getI18nSeatReservation("NAVIGATE_TO_COACH", this._language.current, [
633
+ this.coachItemDetails.id
634
+ ]);
689
635
  if (serviceClassNumber) {
690
636
  const serviceClassTranslationKey = serviceClassNumber === 1 ? "SERVICE_CLASS_FIRST" : "SERVICE_CLASS_SECOND";
691
637
  const serviceClassTranslation = getI18nSeatReservation(serviceClassTranslationKey, this._language.current);
692
638
  const serviceClassLabel = getI18nSeatReservation("NAVIGATE_TO_COACH_SERVICE_CLASS_SUB", this._language.current, [serviceClassTranslation]);
693
639
  label = label.concat(serviceClassLabel);
694
640
  }
695
- const freePlacesTxt = getI18nSeatReservation("COACH_AVAILABLE_NUMBER_OF_PLACES", this._language.current, [this.freePlacesByType.seats, this.freePlacesByType.bicycles]);
641
+ const freePlacesTxt = getI18nSeatReservation("COACH_AVAILABLE_NUMBER_OF_PLACES", this._language.current, [this.coachItemDetails.freePlaces?.seats, this.coachItemDetails.freePlaces?.bicycles]);
696
642
  label = label.concat(". ").concat(freePlacesTxt);
697
643
  return label;
698
644
  }
699
645
  _getAriaDescriptionCoachServices() {
700
646
  let ariaDescription = null;
701
- if (this.propertyIds.length) {
647
+ if (this.coachItemDetails.propertyIds?.length) {
702
648
  ariaDescription = getI18nSeatReservation("COACH_AVAILABLE_SERVICES", this._language.current) + ": ";
703
- ariaDescription += this.propertyIds.map((propertyId) => getI18nSeatReservation(propertyId, this._language.current)).join();
649
+ ariaDescription += this.coachItemDetails.propertyIds.map((propertyId) => getI18nSeatReservation(propertyId, this._language.current)).join() + ".";
704
650
  }
705
651
  return ariaDescription;
706
652
  }
@@ -717,36 +663,19 @@ let SbbSeatReservationNavigationCoachElement = (() => {
717
663
  }));
718
664
  }
719
665
  _getCoachServiceClassNumber() {
720
- if (this.travelClass?.includes("FIRST")) {
721
- return 1;
722
- } else if (this.travelClass?.includes("SECOND")) {
723
- return 2;
724
- } else {
725
- return null;
726
- }
666
+ return this.coachItemDetails.travelClass?.includes("FIRST") ? 1 : this.coachItemDetails.travelClass?.includes("SECOND") ? 2 : null;
727
667
  }
728
- }, _coachId_accessor_storage = new WeakMap(), _propertyIds_accessor_storage = new WeakMap(), _selected_accessor_storage = new WeakMap(), _focused_accessor_storage = new WeakMap(), _hovered_accessor_storage = new WeakMap(), _nativeFocusActive_accessor_storage = new WeakMap(), _index_accessor_storage = new WeakMap(), _freePlacesByType_accessor_storage = new WeakMap(), _travelClass_accessor_storage = new WeakMap(), _driverArea_accessor_storage = new WeakMap(), _first_accessor_storage = new WeakMap(), _last_accessor_storage = new WeakMap(), _disable_accessor_storage = new WeakMap(), _vertical_accessor_storage = new WeakMap(), _classThis = _a, (() => {
668
+ }, _selected_accessor_storage = new WeakMap(), _focused_accessor_storage = new WeakMap(), _hovered_accessor_storage = new WeakMap(), _nativeFocusActive_accessor_storage = new WeakMap(), _index_accessor_storage = new WeakMap(), _coachItemDetails_accessor_storage = new WeakMap(), _disable_accessor_storage = new WeakMap(), _vertical_accessor_storage = new WeakMap(), _showTitleInfo_accessor_storage = new WeakMap(), _classThis = _a, (() => {
729
669
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
730
- _coachId_decorators = [forceType(), property({ attribute: "coach-id" })];
731
- _propertyIds_decorators = [property({ attribute: "property-ids", type: Array })];
732
670
  _selected_decorators = [forceType(), property({ type: Boolean })];
733
671
  _focused_decorators = [forceType(), property({ type: Boolean })];
734
672
  _hovered_decorators = [forceType(), property({ type: Boolean })];
735
673
  _nativeFocusActive_decorators = [forceType(), property({ type: Boolean })];
736
674
  _index_decorators = [forceType(), property({ type: Number })];
737
- _freePlacesByType_decorators = [property({ attribute: "free-places-by-type", type: Object })];
738
- _travelClass_decorators = [property({ attribute: "travel-class", type: Array })];
739
- _driverArea_decorators = [forceType(), property({ attribute: "driver-area", type: Boolean })];
740
- _first_decorators = [forceType(), property({ type: Boolean })];
741
- _last_decorators = [forceType(), property({ type: Boolean })];
675
+ _coachItemDetails_decorators = [property({ attribute: "coach-item-details", type: Object })];
742
676
  _disable_decorators = [forceType(), property({ attribute: "disable", type: Boolean })];
743
677
  _vertical_decorators = [forceType(), property({ type: Boolean, reflect: true, useDefault: true })];
744
- __esDecorate(_a, null, _coachId_decorators, { kind: "accessor", name: "coachId", static: false, private: false, access: { has: (obj) => "coachId" in obj, get: (obj) => obj.coachId, set: (obj, value) => {
745
- obj.coachId = value;
746
- } }, metadata: _metadata }, _coachId_initializers, _coachId_extraInitializers);
747
- __esDecorate(_a, null, _propertyIds_decorators, { kind: "accessor", name: "propertyIds", static: false, private: false, access: { has: (obj) => "propertyIds" in obj, get: (obj) => obj.propertyIds, set: (obj, value) => {
748
- obj.propertyIds = value;
749
- } }, metadata: _metadata }, _propertyIds_initializers, _propertyIds_extraInitializers);
678
+ _showTitleInfo_decorators = [forceType(), property({ type: Boolean })];
750
679
  __esDecorate(_a, null, _selected_decorators, { kind: "accessor", name: "selected", static: false, private: false, access: { has: (obj) => "selected" in obj, get: (obj) => obj.selected, set: (obj, value) => {
751
680
  obj.selected = value;
752
681
  } }, metadata: _metadata }, _selected_initializers, _selected_extraInitializers);
@@ -762,27 +691,18 @@ let SbbSeatReservationNavigationCoachElement = (() => {
762
691
  __esDecorate(_a, null, _index_decorators, { kind: "accessor", name: "index", static: false, private: false, access: { has: (obj) => "index" in obj, get: (obj) => obj.index, set: (obj, value) => {
763
692
  obj.index = value;
764
693
  } }, metadata: _metadata }, _index_initializers, _index_extraInitializers);
765
- __esDecorate(_a, null, _freePlacesByType_decorators, { kind: "accessor", name: "freePlacesByType", static: false, private: false, access: { has: (obj) => "freePlacesByType" in obj, get: (obj) => obj.freePlacesByType, set: (obj, value) => {
766
- obj.freePlacesByType = value;
767
- } }, metadata: _metadata }, _freePlacesByType_initializers, _freePlacesByType_extraInitializers);
768
- __esDecorate(_a, null, _travelClass_decorators, { kind: "accessor", name: "travelClass", static: false, private: false, access: { has: (obj) => "travelClass" in obj, get: (obj) => obj.travelClass, set: (obj, value) => {
769
- obj.travelClass = value;
770
- } }, metadata: _metadata }, _travelClass_initializers, _travelClass_extraInitializers);
771
- __esDecorate(_a, null, _driverArea_decorators, { kind: "accessor", name: "driverArea", static: false, private: false, access: { has: (obj) => "driverArea" in obj, get: (obj) => obj.driverArea, set: (obj, value) => {
772
- obj.driverArea = value;
773
- } }, metadata: _metadata }, _driverArea_initializers, _driverArea_extraInitializers);
774
- __esDecorate(_a, null, _first_decorators, { kind: "accessor", name: "first", static: false, private: false, access: { has: (obj) => "first" in obj, get: (obj) => obj.first, set: (obj, value) => {
775
- obj.first = value;
776
- } }, metadata: _metadata }, _first_initializers, _first_extraInitializers);
777
- __esDecorate(_a, null, _last_decorators, { kind: "accessor", name: "last", static: false, private: false, access: { has: (obj) => "last" in obj, get: (obj) => obj.last, set: (obj, value) => {
778
- obj.last = value;
779
- } }, metadata: _metadata }, _last_initializers, _last_extraInitializers);
694
+ __esDecorate(_a, null, _coachItemDetails_decorators, { kind: "accessor", name: "coachItemDetails", static: false, private: false, access: { has: (obj) => "coachItemDetails" in obj, get: (obj) => obj.coachItemDetails, set: (obj, value) => {
695
+ obj.coachItemDetails = value;
696
+ } }, metadata: _metadata }, _coachItemDetails_initializers, _coachItemDetails_extraInitializers);
780
697
  __esDecorate(_a, null, _disable_decorators, { kind: "accessor", name: "disable", static: false, private: false, access: { has: (obj) => "disable" in obj, get: (obj) => obj.disable, set: (obj, value) => {
781
698
  obj.disable = value;
782
699
  } }, metadata: _metadata }, _disable_initializers, _disable_extraInitializers);
783
700
  __esDecorate(_a, null, _vertical_decorators, { kind: "accessor", name: "vertical", static: false, private: false, access: { has: (obj) => "vertical" in obj, get: (obj) => obj.vertical, set: (obj, value) => {
784
701
  obj.vertical = value;
785
702
  } }, metadata: _metadata }, _vertical_initializers, _vertical_extraInitializers);
703
+ __esDecorate(_a, null, _showTitleInfo_decorators, { kind: "accessor", name: "showTitleInfo", static: false, private: false, access: { has: (obj) => "showTitleInfo" in obj, get: (obj) => obj.showTitleInfo, set: (obj, value) => {
704
+ obj.showTitleInfo = value;
705
+ } }, metadata: _metadata }, _showTitleInfo_initializers, _showTitleInfo_extraInitializers);
786
706
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
787
707
  _classThis = _classDescriptor.value;
788
708
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -795,4 +715,4 @@ let SbbSeatReservationNavigationCoachElement = (() => {
795
715
  export {
796
716
  SbbSeatReservationNavigationCoachElement
797
717
  };
798
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9zZWF0LXJlc2VydmF0aW9uL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1jb2FjaC9zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tY29hY2guY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIG5vdGhpbmcsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwLmpzJztcblxuaW1wb3J0IHsgZ2V0STE4blNlYXRSZXNlcnZhdGlvbiB9IGZyb20gJy4uL2NvbW1vbi90cmFuc2xhdGlvbnMudHMnO1xuaW1wb3J0IHR5cGUgeyBDb2FjaE51bWJlck9mRnJlZVBsYWNlcywgUGxhY2VUcmF2ZWxDbGFzcyB9IGZyb20gJy4uL2NvbW1vbi50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1jb2FjaC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL3NjcmVlbi1yZWFkZXItb25seS5qcyc7XG5pbXBvcnQgJy4uL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1zZXJ2aWNlcy50cyc7XG5cbmV4cG9ydCB0eXBlIFNlbGVjdENvYWNoRXZlbnREZXRhaWxzID0gbnVtYmVyO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IHdpbGwgZGlzcGxheSB0aGUgbmF2aWdhdGlvbiBjb2FjaCBpdGVtIGZvciBTZWF0IHJlc2VydmF0aW9uLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoJylcbmNsYXNzIFNiYlNlYXRSZXNlcnZhdGlvbk5hdmlnYXRpb25Db2FjaEVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgc3R5bGVdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBzZWxlY3Rjb2FjaDogJ3NlbGVjdGNvYWNoJyxcbiAgICBmb2N1c2NvYWNoOiAnZm9jdXNjb2FjaCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIENvYWNoIElELCB3aGljaCBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBjb2FjaCBpbiB0aGUgbmF2aWdhdGlvbiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnY29hY2gtaWQnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBjb2FjaElkOiBzdHJpbmcgPSAnJztcblxuICAvKiogQ29hY2ggc2VydmljZSBwcm9wZXJ0eSBpZHMsIHdoaWNoIGFyZSB1c2VkIHRvIGRpc3BsYXkgdGhlIHNlcnZpY2VzIGluIHRoZSBuYXZpZ2F0aW9uICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3Byb3BlcnR5LWlkcycsIHR5cGU6IEFycmF5IH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBwcm9wZXJ0eUlkczogc3RyaW5nW10gPSBbXTtcblxuICAvKiogU2VsZWN0IGNvYWNoIHByb3BlcnR5ICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBGb2N1cyBjb2FjaCBwcm9wZXJ0eSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBIb3ZlciBjb2FjaCBwcm9wZXJ0eSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaG92ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBOYXRpdmUgZm9jdXMgZm9yIHRoaXMgbmF2aWdhdGlvbiBjb2FjaCBpcyBhbHNvIHNldCB3aGVuIHRoZSBmb2N1c2VkIHByb3BlcnR5IGlzIGNoYW5nZWQgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIG5hdGl2ZUZvY3VzQWN0aXZlOiBib29sZWFuID0gdHJ1ZTtcblxuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBpbmRleDogbnVtYmVyID0gMDtcblxuICAvKiogUmVwcmVzZW50YXRpb24gb2YgcGxhY2VzIGF2YWlsYWJsZSBmb3Igc2VsZWN0aW5nLCBjb3VudGluZyBzZWF0IHBsYWNlcyBhbmQgYmljeWNsZSBwbGFjZXMgc2VwYXJhdGVseSAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdmcmVlLXBsYWNlcy1ieS10eXBlJywgdHlwZTogT2JqZWN0IH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBmcmVlUGxhY2VzQnlUeXBlOiBDb2FjaE51bWJlck9mRnJlZVBsYWNlcyA9IHsgc2VhdHM6IDAsIGJpY3ljbGVzOiAwIH07XG5cbiAgLyoqIFRyYXZlbCBjbGFzcyBvZiB0aGUgY29hY2ggKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndHJhdmVsLWNsYXNzJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRyYXZlbENsYXNzOiBQbGFjZVRyYXZlbENsYXNzW10gPSBbJ0FOWV9DTEFTUyddO1xuXG4gIC8qKiBJZiB0aGUgY29hY2ggaXMgYSBkcml2ZXIvcmVzdHJpY3RlZCBhcmVhICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdkcml2ZXItYXJlYScsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGRyaXZlckFyZWE6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogSWYgdGhlIGNvYWNoIGlzIHRoZSBmaXJzdCBpbiB0aGUgbmF2aWdhdGlvbiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZmlyc3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogSWYgdGhlIGNvYWNoIGlzIHRoZSBsYXN0IGluIHRoZSBuYXZpZ2F0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBsYXN0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIERpc2FibGUgdGhlIGNvYWNoIG5hdmlnYXRpb24gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Rpc2FibGUnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIElmIHRoZSBjb2FjaCBuYXZpZ2F0aW9uIHNob3VsZCBiZSBkaXNwbGF5ZWQgdmVydGljYWxseSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSwgdXNlRGVmYXVsdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgdmVydGljYWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdzZWxlY3RlZCcpKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZE5hdkJ1dHRvbkVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICcuc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uJyxcbiAgICAgICkgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiBzZWxlY3RlZE5hdkJ1dHRvbkVsZW1lbnQpIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNBY3RpdmUpIHtcbiAgICAgICAgICBzZWxlY3RlZE5hdkJ1dHRvbkVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICAvKiogRW1pdHMgd2hlbiBhIG5hdiBjb2FjaCBoYXMgdGhlIGZvY3VzICovXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2ZvY3VzY29hY2gnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdmb2N1c2VkJykgJiYgdGhpcy5mb2N1c2VkKSB7XG4gICAgICBjb25zdCBmb2N1c2VkTmF2QnV0dG9uRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJy5zYmItc3ItbmF2aWdhdGlvbl9fY3RybC1idXR0b24nLFxuICAgICAgKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcblxuICAgICAgaWYgKGZvY3VzZWROYXZCdXR0b25FbGVtZW50ICYmIHRoaXMubmF0aXZlRm9jdXNBY3RpdmUpIHtcbiAgICAgICAgZm9jdXNlZE5hdkJ1dHRvbkVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIGEgbGlzdCBvZiBzZXJ2aWNlIGljb25zIHByb3ZpZGVkIGJ5IGEgY2FsbGVyXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIiR7Y2xhc3NNYXAoe1xuICAgICAgICAgICdzYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaCc6IHRydWUsXG4gICAgICAgICAgJ2xhc3QtY29hY2gnOiB0aGlzLmxhc3QsXG4gICAgICAgICAgJ2ZpcnN0LWNvYWNoJzogdGhpcy5maXJzdCxcbiAgICAgICAgICAnc2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtLXNlbGVjdGVkJzogdGhpcy5zZWxlY3RlZCxcbiAgICAgICAgICAnc2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtLWZvY3VzZWQnOiB0aGlzLmZvY3VzZWQsXG4gICAgICAgICAgJ3NiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLS1ob3ZlcmVkJzogdGhpcy5ob3ZlcmVkLFxuICAgICAgICB9KX1cIlxuICAgICAgPlxuICAgICAgICAke3RoaXMuX2dldE5hdmlnYXRpb25CdXR0b24oKX1cbiAgICAgICAgJHt0aGlzLnByb3BlcnR5SWRzPy5sZW5ndGhcbiAgICAgICAgICA/IGh0bWxgPHNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tc2VydmljZXNcbiAgICAgICAgICAgICAgP3ZlcnRpY2FsPVwiJHt0aGlzLnZlcnRpY2FsfVwiXG4gICAgICAgICAgICAgIC5wcm9wZXJ0eUlkcz1cIiR7dGhpcy5wcm9wZXJ0eUlkc31cIlxuICAgICAgICAgICAgPjwvc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1zZXJ2aWNlcz5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5hdmlnYXRpb25CdXR0b24oKTogVGVtcGxhdGVSZXN1bHQgfCBudWxsIHtcbiAgICBjb25zdCBjdXJyU2VydmljZUNsYXNzTnVtYmVyID0gdGhpcy5fZ2V0Q29hY2hTZXJ2aWNlQ2xhc3NOdW1iZXIoKTtcbiAgICBjb25zdCB0aXRsZURlc2NyaXB0aW9uTmF2Q29hY2hCdXR0b24gPVxuICAgICAgdGhpcy5fZ2V0VGl0bGVEZXNjcmlwdGlvbk5hdkNvYWNoQnV0dG9uKGN1cnJTZXJ2aWNlQ2xhc3NOdW1iZXIpO1xuICAgIGNvbnN0IGFyaWFEZXNjcmlwdGlvbkNvYWNoU2VydmljZXMgPSB0aGlzLl9nZXRBcmlhRGVzY3JpcHRpb25Db2FjaFNlcnZpY2VzKCk7XG5cbiAgICByZXR1cm4gaHRtbGAgPGJ1dHRvblxuICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLl9zZWxlY3ROYXZDb2FjaCh0aGlzLmluZGV4KX1cbiAgICAgICAgY2xhc3M9XCIke2NsYXNzTWFwKHtcbiAgICAgICAgICAnc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uJzogdHJ1ZSxcbiAgICAgICAgICAnc2JiLXNyLW5hdmlnYXRpb24tZHJpdmVyLWFyZWEnOiB0aGlzLmRyaXZlckFyZWEsXG4gICAgICAgIH0pfVwiXG4gICAgICAgID9kaXNhYmxlZD1cIiR7dGhpcy5kaXNhYmxlfVwiXG4gICAgICAgIHRpdGxlPVwiJHt0aXRsZURlc2NyaXB0aW9uTmF2Q29hY2hCdXR0b259XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJuYXYtY29hY2gtc2VydmljZS1kZXNjcmlwdGlvbnMtJHt0aGlzLmluZGV4fVwiXG4gICAgICA+XG4gICAgICAgICR7dGhpcy5fZ2V0QnRuSW5mb3JtYXRpb24oY3VyclNlcnZpY2VDbGFzc051bWJlcil9XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxzYmItc2NyZWVuLXJlYWRlci1vbmx5IGlkPVwibmF2LWNvYWNoLXNlcnZpY2UtZGVzY3JpcHRpb25zLSR7dGhpcy5pbmRleH1cIlxuICAgICAgICA+JHthcmlhRGVzY3JpcHRpb25Db2FjaFNlcnZpY2VzfTwvc2JiLXNjcmVlbi1yZWFkZXItb25seVxuICAgICAgPmA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRCdG5JbmZvcm1hdGlvbihzZXJ2aWNlQ2xhc3NOdW1iZXI6IG51bWJlciB8IG51bGwpOiBUZW1wbGF0ZVJlc3VsdCB8IG51bGwge1xuICAgIGlmICh0aGlzLmRyaXZlckFyZWEpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYFxuICAgICAgJHtzZXJ2aWNlQ2xhc3NOdW1iZXIgPT09IDFcbiAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLXNyLW5hdmlnYXRpb24tLWZpcnN0LWNsYXNzXCI+PC9zcGFuPmBcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgJHt0aGlzLnRyYXZlbENsYXNzPy5sZW5ndGggPiAwIHx8IHRoaXMuY29hY2hJZFxuICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cInNiYi1zci1uYXZpZ2F0aW9uX19hZGRpdGlvbmFsLWluZm9ybWF0aW9uXCI+XG4gICAgICAgICAgICAke3RoaXMuY29hY2hJZFxuICAgICAgICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cInNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLW51bWJlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgJHt0aGlzLmNvYWNoSWR9XG4gICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICR7c2VydmljZUNsYXNzTnVtYmVyID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtdHJhdmVsY2xhc3NcIlxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAke3NlcnZpY2VDbGFzc051bWJlcn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgOiBub3RoaW5nfVxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUaXRsZURlc2NyaXB0aW9uTmF2Q29hY2hCdXR0b24oc2VydmljZUNsYXNzTnVtYmVyOiBudW1iZXIgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5kcml2ZXJBcmVhKSB7XG4gICAgICByZXR1cm4gZ2V0STE4blNlYXRSZXNlcnZhdGlvbignTkFWSUdBVEVfQ09BQ0hfQkxPQ0tFRCcsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQsIFtcbiAgICAgICAgdGhpcy5jb2FjaElkLFxuICAgICAgXSk7XG4gICAgfVxuXG4gICAgbGV0IGxhYmVsID0gZ2V0STE4blNlYXRSZXNlcnZhdGlvbignTkFWSUdBVEVfVE9fQ09BQ0gnLCB0aGlzLl9sYW5ndWFnZS5jdXJyZW50LCBbdGhpcy5jb2FjaElkXSk7XG5cbiAgICAvL0lmIHNlcnZpY2UgY2xhc3MgZXhpc3QsIHRoZW4gZXhwYW5kIGxhYmVsIHdpdGggc2VydmljZSBjbGFzcyB0cmFuc2xhdGlvblxuICAgIGlmIChzZXJ2aWNlQ2xhc3NOdW1iZXIpIHtcbiAgICAgIGNvbnN0IHNlcnZpY2VDbGFzc1RyYW5zbGF0aW9uS2V5ID1cbiAgICAgICAgc2VydmljZUNsYXNzTnVtYmVyID09PSAxID8gJ1NFUlZJQ0VfQ0xBU1NfRklSU1QnIDogJ1NFUlZJQ0VfQ0xBU1NfU0VDT05EJztcbiAgICAgIGNvbnN0IHNlcnZpY2VDbGFzc1RyYW5zbGF0aW9uID0gZ2V0STE4blNlYXRSZXNlcnZhdGlvbihcbiAgICAgICAgc2VydmljZUNsYXNzVHJhbnNsYXRpb25LZXksXG4gICAgICAgIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQsXG4gICAgICApO1xuICAgICAgY29uc3Qgc2VydmljZUNsYXNzTGFiZWwgPSBnZXRJMThuU2VhdFJlc2VydmF0aW9uKFxuICAgICAgICAnTkFWSUdBVEVfVE9fQ09BQ0hfU0VSVklDRV9DTEFTU19TVUInLFxuICAgICAgICB0aGlzLl9sYW5ndWFnZS5jdXJyZW50LFxuICAgICAgICBbc2VydmljZUNsYXNzVHJhbnNsYXRpb25dLFxuICAgICAgKTtcbiAgICAgIGxhYmVsID0gbGFiZWwuY29uY2F0KHNlcnZpY2VDbGFzc0xhYmVsKTtcbiAgICB9XG5cbiAgICAvLyBFeHBhbmRzIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIHNlYXRzIGFuZCBiaWN5Y2xlIHNwYWNlcyBhcyBpbmZvXG4gICAgY29uc3QgZnJlZVBsYWNlc1R4dCA9IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oXG4gICAgICAnQ09BQ0hfQVZBSUxBQkxFX05VTUJFUl9PRl9QTEFDRVMnLFxuICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCxcbiAgICAgIFt0aGlzLmZyZWVQbGFjZXNCeVR5cGUuc2VhdHMsIHRoaXMuZnJlZVBsYWNlc0J5VHlwZS5iaWN5Y2xlc10sXG4gICAgKTtcbiAgICBsYWJlbCA9IGxhYmVsLmNvbmNhdCgnLiAnKS5jb25jYXQoZnJlZVBsYWNlc1R4dCk7XG4gICAgcmV0dXJuIGxhYmVsO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QXJpYURlc2NyaXB0aW9uQ29hY2hTZXJ2aWNlcygpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBsZXQgYXJpYURlc2NyaXB0aW9uID0gbnVsbDtcbiAgICBpZiAodGhpcy5wcm9wZXJ0eUlkcy5sZW5ndGgpIHtcbiAgICAgIGFyaWFEZXNjcmlwdGlvbiA9XG4gICAgICAgIGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oJ0NPQUNIX0FWQUlMQUJMRV9TRVJWSUNFUycsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpICsgJzogJztcbiAgICAgIGFyaWFEZXNjcmlwdGlvbiArPSB0aGlzLnByb3BlcnR5SWRzXG4gICAgICAgIC5tYXAoKHByb3BlcnR5SWQpID0+IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24ocHJvcGVydHlJZCwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkpXG4gICAgICAgIC5qb2luKCk7XG4gICAgfVxuICAgIHJldHVybiBhcmlhRGVzY3JpcHRpb247XG4gIH1cblxuICAvKipcbiAgICogZW1pdHMgdGhlIGluZGV4IG9mIHRoZSBjb2FjaCBhcnJheSBmb3IgdGhlIG1haW4gbmF2aWdhdGlvbi5cbiAgICogQHBhcmFtIGNvYWNoSW5kZXhcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgX3NlbGVjdE5hdkNvYWNoKGNvYWNoSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDxTZWxlY3RDb2FjaEV2ZW50RGV0YWlscz59XG4gICAgICogRW1pdHMgd2hlbiBhIGNvYWNoIHdpdGhpbiB0aGUgbmF2aWdhdGlvbiB3YXMgc2VsZWN0ZWQgYW5kIHJldHVybnMgdGhlIGNsaWNrZWQgY29hY2ggbmF2IGluZGV4LlxuICAgICAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudDxTZWxlY3RDb2FjaEV2ZW50RGV0YWlscz4oJ3NlbGVjdGNvYWNoJywge1xuICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgZGV0YWlsOiBjb2FjaEluZGV4LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENvYWNoU2VydmljZUNsYXNzTnVtYmVyKCk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICh0aGlzLnRyYXZlbENsYXNzPy5pbmNsdWRlcygnRklSU1QnKSkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyYXZlbENsYXNzPy5pbmNsdWRlcygnU0VDT05EJykpIHtcbiAgICAgIHJldHVybiAyO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tY29hY2gnOiBTYmJTZWF0UmVzZXJ2YXRpb25OYXZpZ2F0aW9uQ29hY2hFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
718
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9zZWF0LXJlc2VydmF0aW9uL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1jb2FjaC9zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tY29hY2guY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIG5vdGhpbmcsIHR5cGUgUHJvcGVydHlWYWx1ZXMsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwLmpzJztcblxuaW1wb3J0IHsgZ2V0STE4blNlYXRSZXNlcnZhdGlvbiB9IGZyb20gJy4uL2NvbW1vbi90cmFuc2xhdGlvbnMudHMnO1xuaW1wb3J0IHR5cGUgeyBDb2FjaEl0ZW1EZXRhaWxzIH0gZnJvbSAnLi4vY29tbW9uLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcbmltcG9ydCAnLi4vc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXNlcnZpY2VzLnRzJztcblxuZXhwb3J0IHR5cGUgU2VsZWN0Q29hY2hFdmVudERldGFpbHMgPSBudW1iZXI7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgd2lsbCBkaXNwbGF5IHRoZSBuYXZpZ2F0aW9uIGNvYWNoIGl0ZW0gZm9yIFNlYXQgcmVzZXJ2YXRpb24uXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tY29hY2gnKVxuY2xhc3MgU2JiU2VhdFJlc2VydmF0aW9uTmF2aWdhdGlvbkNvYWNoRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHNlbGVjdGNvYWNoOiAnc2VsZWN0Y29hY2gnLFxuICAgIGZvY3VzY29hY2g6ICdmb2N1c2NvYWNoJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogU2VsZWN0IGNvYWNoIHByb3BlcnR5ICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBGb2N1cyBjb2FjaCBwcm9wZXJ0eSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBIb3ZlciBjb2FjaCBwcm9wZXJ0eSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaG92ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBOYXRpdmUgZm9jdXMgZm9yIHRoaXMgbmF2aWdhdGlvbiBjb2FjaCBpcyBhbHNvIHNldCB3aGVuIHRoZSBmb2N1c2VkIHByb3BlcnR5IGlzIGNoYW5nZWQgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIG5hdGl2ZUZvY3VzQWN0aXZlOiBib29sZWFuID0gdHJ1ZTtcblxuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBpbmRleDogbnVtYmVyID0gMDtcblxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjb2FjaC1pdGVtLWRldGFpbHMnLCB0eXBlOiBPYmplY3QgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvYWNoSXRlbURldGFpbHM6IENvYWNoSXRlbURldGFpbHMgPSA8Q29hY2hJdGVtRGV0YWlscz57fTtcblxuICAvKiogRGlzYWJsZSB0aGUgY29hY2ggbmF2aWdhdGlvbiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGlzYWJsZScsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogSWYgdGhlIGNvYWNoIG5hdmlnYXRpb24gc2hvdWxkIGJlIGRpc3BsYXllZCB2ZXJ0aWNhbGx5ICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlLCB1c2VEZWZhdWx0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB2ZXJ0aWNhbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBEaXNhYmxlIHRoZSBtb3VzZSBvdmVyIHRpdGxlIGluZm9ybWF0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaG93VGl0bGVJbmZvOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2VsZWN0ZWQnKSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWROYXZCdXR0b25FbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnLnNiYi1zci1uYXZpZ2F0aW9uX19jdHJsLWJ1dHRvbicsXG4gICAgICApIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQgJiYgc2VsZWN0ZWROYXZCdXR0b25FbGVtZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUZvY3VzQWN0aXZlKSB7XG4gICAgICAgICAgc2VsZWN0ZWROYXZCdXR0b25FbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgLyoqIEVtaXRzIHdoZW4gYSBuYXYgY29hY2ggaGFzIHRoZSBmb2N1cyAqL1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdmb2N1c2NvYWNoJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZm9jdXNlZCcpICYmIHRoaXMuZm9jdXNlZCkge1xuICAgICAgY29uc3QgZm9jdXNlZE5hdkJ1dHRvbkVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICcuc2JiLXNyLW5hdmlnYXRpb25fX2N0cmwtYnV0dG9uJyxcbiAgICAgICkgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG5cbiAgICAgIGlmIChmb2N1c2VkTmF2QnV0dG9uRWxlbWVudCAmJiB0aGlzLm5hdGl2ZUZvY3VzQWN0aXZlKSB7XG4gICAgICAgIGZvY3VzZWROYXZCdXR0b25FbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlciBhIGxpc3Qgb2Ygc2VydmljZSBpY29ucyBwcm92aWRlZCBieSBhIGNhbGxlclxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCIke2NsYXNzTWFwKHtcbiAgICAgICAgICAnc2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gnOiB0cnVlLFxuICAgICAgICAgICdsYXN0LWNvYWNoJzogdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLmRyaXZlckFyZWFTaWRlPy5yaWdodCB8fCBmYWxzZSxcbiAgICAgICAgICAnZmlyc3QtY29hY2gnOiB0aGlzLmNvYWNoSXRlbURldGFpbHMuZHJpdmVyQXJlYVNpZGU/LmxlZnQgfHwgZmFsc2UsXG4gICAgICAgICAgJ3NiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLS1zZWxlY3RlZCc6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICAgICAgJ3NiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLS1mb2N1c2VkJzogdGhpcy5mb2N1c2VkLFxuICAgICAgICAgICdzYmItc3ItbmF2aWdhdGlvbl9faXRlbS1jb2FjaC0taG92ZXJlZCc6IHRoaXMuaG92ZXJlZCxcbiAgICAgICAgfSl9XCJcbiAgICAgID5cbiAgICAgICAgJHt0aGlzLl9nZXROYXZpZ2F0aW9uQnV0dG9uKCl9XG4gICAgICAgICR7dGhpcy5jb2FjaEl0ZW1EZXRhaWxzLnByb3BlcnR5SWRzPy5sZW5ndGhcbiAgICAgICAgICA/IGh0bWxgPHNiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tc2VydmljZXNcbiAgICAgICAgICAgICAgP3ZlcnRpY2FsPVwiJHt0aGlzLnZlcnRpY2FsfVwiXG4gICAgICAgICAgICAgIC5wcm9wZXJ0eUlkcz1cIiR7dGhpcy5jb2FjaEl0ZW1EZXRhaWxzLnByb3BlcnR5SWRzfVwiXG4gICAgICAgICAgICAgID9zaG93VGl0bGVJbmZvPVwiJHt0aGlzLnNob3dUaXRsZUluZm99XCJcbiAgICAgICAgICAgID48L3NiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tc2VydmljZXM+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9nZXROYXZpZ2F0aW9uQnV0dG9uKCk6IFRlbXBsYXRlUmVzdWx0IHwgbnVsbCB7XG4gICAgY29uc3QgY3VyclNlcnZpY2VDbGFzc051bWJlciA9IHRoaXMuX2dldENvYWNoU2VydmljZUNsYXNzTnVtYmVyKCk7XG4gICAgY29uc3QgdGl0bGVEZXNjcmlwdGlvbk5hdkNvYWNoQnV0dG9uID1cbiAgICAgIHRoaXMuX2dldFRpdGxlRGVzY3JpcHRpb25OYXZDb2FjaEJ1dHRvbihjdXJyU2VydmljZUNsYXNzTnVtYmVyKTtcbiAgICBjb25zdCBhcmlhRGVzY3JpcHRpb25Db2FjaFNlcnZpY2VzID0gdGhpcy5fZ2V0QXJpYURlc2NyaXB0aW9uQ29hY2hTZXJ2aWNlcygpO1xuXG4gICAgcmV0dXJuIGh0bWxgIDxidXR0b25cbiAgICAgIEBjbGljaz0keygpID0+IHRoaXMuX3NlbGVjdE5hdkNvYWNoKHRoaXMuaW5kZXgpfVxuICAgICAgY2xhc3M9XCIke2NsYXNzTWFwKHtcbiAgICAgICAgJ3NiYi1zci1uYXZpZ2F0aW9uX19jdHJsLWJ1dHRvbic6IHRydWUsXG4gICAgICAgICdzYmItc3ItbmF2aWdhdGlvbi1kcml2ZXItYXJlYSc6IHRoaXMuY29hY2hJdGVtRGV0YWlscy5pc0RyaXZlckFyZWEsXG4gICAgICB9KX1cIlxuICAgICAgP2Rpc2FibGVkPVwiJHt0aGlzLmRpc2FibGV9XCJcbiAgICAgIHRpdGxlPVwiJHt0aGlzLnNob3dUaXRsZUluZm8gPyB0aXRsZURlc2NyaXB0aW9uTmF2Q29hY2hCdXR0b24gOiBub3RoaW5nfVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJuYXYtY29hY2gtc2VydmljZS1kZXNjcmlwdGlvbnMtJHt0aGlzLmluZGV4fVwiXG4gICAgPlxuICAgICAgJHt0aGlzLl9nZXRCdG5JbmZvcm1hdGlvbihjdXJyU2VydmljZUNsYXNzTnVtYmVyKX1cbiAgICAgIDxzYmItc2NyZWVuLXJlYWRlci1vbmx5IGlkPVwibmF2LWNvYWNoLXNlcnZpY2UtZGVzY3JpcHRpb25zLSR7dGhpcy5pbmRleH1cIj5cbiAgICAgICAgJHshdGhpcy5zaG93VGl0bGVJbmZvID8gaHRtbGA8ZGl2PiR7dGl0bGVEZXNjcmlwdGlvbk5hdkNvYWNoQnV0dG9ufTwvZGl2PmAgOiBub3RoaW5nfVxuICAgICAgICAke2FyaWFEZXNjcmlwdGlvbkNvYWNoU2VydmljZXMgPyBodG1sYDxkaXY+JHthcmlhRGVzY3JpcHRpb25Db2FjaFNlcnZpY2VzfTwvZGl2PmAgOiBub3RoaW5nfVxuICAgICAgPC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIDwvYnV0dG9uPmA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRCdG5JbmZvcm1hdGlvbihzZXJ2aWNlQ2xhc3NOdW1iZXI6IG51bWJlciB8IG51bGwpOiBUZW1wbGF0ZVJlc3VsdCB8IG51bGwge1xuICAgIGlmICh0aGlzLmNvYWNoSXRlbURldGFpbHMuaXNEcml2ZXJBcmVhKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7c2VydmljZUNsYXNzTnVtYmVyID09PSAxXG4gICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1zci1uYXZpZ2F0aW9uLS1maXJzdC1jbGFzc1wiPjwvc3Bhbj5gXG4gICAgICAgIDogbm90aGluZ31cbiAgICAgICR7dGhpcy5jb2FjaEl0ZW1EZXRhaWxzLnRyYXZlbENsYXNzPy5sZW5ndGggPiAwIHx8IHRoaXMuY29hY2hJdGVtRGV0YWlscy5pZFxuICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cInNiYi1zci1uYXZpZ2F0aW9uX19hZGRpdGlvbmFsLWluZm9ybWF0aW9uXCI+XG4gICAgICAgICAgICAke3RoaXMuY29hY2hJdGVtRGV0YWlscy5pZFxuICAgICAgICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cInNiYi1zci1uYXZpZ2F0aW9uX19pdGVtLWNvYWNoLW51bWJlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgJHt0aGlzLmNvYWNoSXRlbURldGFpbHMuaWR9XG4gICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICR7c2VydmljZUNsYXNzTnVtYmVyID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLXNyLW5hdmlnYXRpb25fX2l0ZW0tY29hY2gtdHJhdmVsY2xhc3NcIlxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAke3NlcnZpY2VDbGFzc051bWJlcn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgOiBub3RoaW5nfVxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUaXRsZURlc2NyaXB0aW9uTmF2Q29hY2hCdXR0b24oc2VydmljZUNsYXNzTnVtYmVyOiBudW1iZXIgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvYWNoSXRlbURldGFpbHMuaXNEcml2ZXJBcmVhICYmXG4gICAgICAhdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLmRyaXZlckFyZWFFbGVtZW50cz8uZHJpdmVyQXJlYU5vVmVydGljYWxXYWxsXG4gICAgKSB7XG4gICAgICByZXR1cm4gZ2V0STE4blNlYXRSZXNlcnZhdGlvbignTkFWSUdBVEVfQ09BQ0hfQkxPQ0tFRCcsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQsIFtcbiAgICAgICAgdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLmlkLFxuICAgICAgXSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29hY2hJdGVtRGV0YWlscy5kcml2ZXJBcmVhRWxlbWVudHM/LmRyaXZlckFyZWFOb1ZlcnRpY2FsV2FsbCkge1xuICAgICAgcmV0dXJuIGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oJ0NPQUNIX0xPQ09NT1RJVkUnLCB0aGlzLl9sYW5ndWFnZS5jdXJyZW50KTtcbiAgICB9XG5cbiAgICBsZXQgbGFiZWwgPSBnZXRJMThuU2VhdFJlc2VydmF0aW9uKCdOQVZJR0FURV9UT19DT0FDSCcsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQsIFtcbiAgICAgIHRoaXMuY29hY2hJdGVtRGV0YWlscy5pZCxcbiAgICBdKTtcblxuICAgIC8vSWYgc2VydmljZSBjbGFzcyBleGlzdCwgdGhlbiBleHBhbmQgbGFiZWwgd2l0aCBzZXJ2aWNlIGNsYXNzIHRyYW5zbGF0aW9uXG4gICAgaWYgKHNlcnZpY2VDbGFzc051bWJlcikge1xuICAgICAgY29uc3Qgc2VydmljZUNsYXNzVHJhbnNsYXRpb25LZXkgPVxuICAgICAgICBzZXJ2aWNlQ2xhc3NOdW1iZXIgPT09IDEgPyAnU0VSVklDRV9DTEFTU19GSVJTVCcgOiAnU0VSVklDRV9DTEFTU19TRUNPTkQnO1xuICAgICAgY29uc3Qgc2VydmljZUNsYXNzVHJhbnNsYXRpb24gPSBnZXRJMThuU2VhdFJlc2VydmF0aW9uKFxuICAgICAgICBzZXJ2aWNlQ2xhc3NUcmFuc2xhdGlvbktleSxcbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCxcbiAgICAgICk7XG4gICAgICBjb25zdCBzZXJ2aWNlQ2xhc3NMYWJlbCA9IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oXG4gICAgICAgICdOQVZJR0FURV9UT19DT0FDSF9TRVJWSUNFX0NMQVNTX1NVQicsXG4gICAgICAgIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQsXG4gICAgICAgIFtzZXJ2aWNlQ2xhc3NUcmFuc2xhdGlvbl0sXG4gICAgICApO1xuICAgICAgbGFiZWwgPSBsYWJlbC5jb25jYXQoc2VydmljZUNsYXNzTGFiZWwpO1xuICAgIH1cblxuICAgIC8vIEV4cGFuZHMgdGhlIG51bWJlciBvZiBhdmFpbGFibGUgc2VhdHMgYW5kIGJpY3ljbGUgc3BhY2VzIGFzIGluZm9cbiAgICBjb25zdCBmcmVlUGxhY2VzVHh0ID0gZ2V0STE4blNlYXRSZXNlcnZhdGlvbihcbiAgICAgICdDT0FDSF9BVkFJTEFCTEVfTlVNQkVSX09GX1BMQUNFUycsXG4gICAgICB0aGlzLl9sYW5ndWFnZS5jdXJyZW50LFxuICAgICAgW3RoaXMuY29hY2hJdGVtRGV0YWlscy5mcmVlUGxhY2VzPy5zZWF0cywgdGhpcy5jb2FjaEl0ZW1EZXRhaWxzLmZyZWVQbGFjZXM/LmJpY3ljbGVzXSxcbiAgICApO1xuICAgIGxhYmVsID0gbGFiZWwuY29uY2F0KCcuICcpLmNvbmNhdChmcmVlUGxhY2VzVHh0KTtcbiAgICByZXR1cm4gbGFiZWw7XG4gIH1cblxuICBwcml2YXRlIF9nZXRBcmlhRGVzY3JpcHRpb25Db2FjaFNlcnZpY2VzKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGxldCBhcmlhRGVzY3JpcHRpb24gPSBudWxsO1xuICAgIGlmICh0aGlzLmNvYWNoSXRlbURldGFpbHMucHJvcGVydHlJZHM/Lmxlbmd0aCkge1xuICAgICAgYXJpYURlc2NyaXB0aW9uID1cbiAgICAgICAgZ2V0STE4blNlYXRSZXNlcnZhdGlvbignQ09BQ0hfQVZBSUxBQkxFX1NFUlZJQ0VTJywgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkgKyAnOiAnO1xuICAgICAgYXJpYURlc2NyaXB0aW9uICs9XG4gICAgICAgIHRoaXMuY29hY2hJdGVtRGV0YWlscy5wcm9wZXJ0eUlkc1xuICAgICAgICAgIC5tYXAoKHByb3BlcnR5SWQpID0+IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24ocHJvcGVydHlJZCwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkpXG4gICAgICAgICAgLmpvaW4oKSArICcuJztcbiAgICB9XG4gICAgcmV0dXJuIGFyaWFEZXNjcmlwdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBlbWl0cyB0aGUgaW5kZXggb2YgdGhlIGNvYWNoIGFycmF5IGZvciB0aGUgbWFpbiBuYXZpZ2F0aW9uLlxuICAgKiBAcGFyYW0gY29hY2hJbmRleFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfc2VsZWN0TmF2Q29hY2goY29hY2hJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgLyoqXG4gICAgICogQHR5cGUge0N1c3RvbUV2ZW50PFNlbGVjdENvYWNoRXZlbnREZXRhaWxzPn1cbiAgICAgKiBFbWl0cyB3aGVuIGEgY29hY2ggd2l0aGluIHRoZSBuYXZpZ2F0aW9uIHdhcyBzZWxlY3RlZCBhbmQgcmV0dXJucyB0aGUgY2xpY2tlZCBjb2FjaCBuYXYgaW5kZXguXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50PFNlbGVjdENvYWNoRXZlbnREZXRhaWxzPignc2VsZWN0Y29hY2gnLCB7XG4gICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICBkZXRhaWw6IGNvYWNoSW5kZXgsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29hY2hTZXJ2aWNlQ2xhc3NOdW1iZXIoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29hY2hJdGVtRGV0YWlscy50cmF2ZWxDbGFzcz8uaW5jbHVkZXMoJ0ZJUlNUJylcbiAgICAgID8gMVxuICAgICAgOiB0aGlzLmNvYWNoSXRlbURldGFpbHMudHJhdmVsQ2xhc3M/LmluY2x1ZGVzKCdTRUNPTkQnKVxuICAgICAgICA/IDJcbiAgICAgICAgOiBudWxsO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLWNvYWNoJzogU2JiU2VhdFJlc2VydmF0aW9uTmF2aWdhdGlvbkNvYWNoRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF1Qk0sNENBQXdDLE1BQUE7OzBCQUQ3QyxjQUFjLHVDQUF1QyxDQUFDOzs7O29CQUNBOzs7Ozs7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
@@ -9,6 +9,8 @@ export declare class SbbSeatReservationNavigationServicesElement extends LitElem
9
9
  accessor propertyIds: string[];
10
10
  /** If true, the service icons are displayed vertically */
11
11
  accessor vertical: boolean;
12
+ /** Disable the mouse over title information */
13
+ accessor showTitleInfo: boolean;
12
14
  private _language;
13
15
  protected render(): TemplateResult;
14
16
  private _getServiceLabelDescription;
@@ -1 +1 @@
1
- {"version":3,"file":"seat-reservation-navigation-services.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAW,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACxE,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAKvC,OAAO,+CAA+C,CAAC;AACvD,OAAO,gCAAgC,CAAC;AAIxC;;;GAGG;AACH,qBAEM,2CAA4C,SAAQ,UAAU;IAClE,OAAuB,MAAM,EAAE,cAAc,CAA4B;IAEzE,2FAA2F;IAC3F,SACgB,WAAW,EAAE,MAAM,EAAE,CAAM;IAE3C,0DAA0D;IAC1D,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,OAAO,CAAC,SAAS,CAAmC;cAEjC,MAAM,IAAI,cAAc;IAsB3C,OAAO,CAAC,2BAA2B;CAcpC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,0CAA0C,EAAE,2CAA2C,CAAC;KACzF;CACF"}
1
+ {"version":3,"file":"seat-reservation-navigation-services.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements-experimental/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAW,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACxE,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAKvC,OAAO,+CAA+C,CAAC;AACvD,OAAO,gCAAgC,CAAC;AAIxC;;;GAGG;AACH,qBAEM,2CAA4C,SAAQ,UAAU;IAClE,OAAuB,MAAM,EAAE,cAAc,CAA4B;IAEzE,2FAA2F;IAC3F,SACgB,WAAW,EAAE,MAAM,EAAE,CAAM;IAE3C,0DAA0D;IAC1D,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,+CAA+C;IAC/C,SAEgB,aAAa,EAAE,OAAO,CAAS;IAE/C,OAAO,CAAC,SAAS,CAAmC;cAEjC,MAAM,IAAI,cAAc;IAwB3C,OAAO,CAAC,2BAA2B;CAcpC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,0CAA0C,EAAE,2CAA2C,CAAC;KACzF;CACF"}