@flower-city-online/itinerary-lib 0.0.52 → 0.0.54

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 (69) hide show
  1. package/esm2022/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.mjs +5 -4
  2. package/esm2022/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.mjs +6 -5
  3. package/esm2022/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.mjs +6 -5
  4. package/esm2022/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.mjs +5 -4
  5. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.mjs +4 -5
  6. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.mjs +5 -4
  7. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.mjs +7 -6
  8. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.mjs +7 -6
  9. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.mjs +3 -3
  10. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.mjs +8 -7
  11. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.mjs +7 -6
  12. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.mjs +6 -5
  13. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.mjs +4 -3
  14. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.mjs +7 -6
  15. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.mjs +6 -5
  16. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.mjs +5 -4
  17. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.mjs +7 -6
  18. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.mjs +6 -5
  19. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.mjs +5 -4
  20. package/esm2022/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.mjs +5 -4
  21. package/esm2022/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.mjs +8 -7
  22. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.mjs +4 -3
  23. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.mjs +4 -3
  24. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.mjs +5 -4
  25. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/send-friend-request/send-friend-request.component.mjs +5 -4
  26. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.mjs +5 -4
  27. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.mjs +4 -3
  28. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/send-invite/send-invite.component.mjs +5 -4
  29. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.mjs +4 -3
  30. package/esm2022/lib/itinerary-app/modules/search/pages/main-search/main-search.component.mjs +4 -4
  31. package/esm2022/lib/itinerary-app/shared/bottom-modal/bottom-modal.component.mjs +65 -0
  32. package/esm2022/lib/itinerary-app/shared/card-component/card-component.component.mjs +5 -4
  33. package/esm2022/lib/itinerary-app/shared/comment/comment.component.mjs +5 -4
  34. package/esm2022/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.mjs +4 -4
  35. package/esm2022/lib/itinerary-app/shared/cutom-card/cutom-card.component.mjs +6 -5
  36. package/esm2022/lib/itinerary-app/shared/footer/footer.component.mjs +6 -6
  37. package/esm2022/lib/itinerary-app/shared/header/header.component.mjs +2 -2
  38. package/esm2022/lib/itinerary-app/shared/icon-button/icon-button.component.mjs +37 -10
  39. package/esm2022/lib/itinerary-app/shared/input-field-select/input-field-select.component.mjs +109 -0
  40. package/esm2022/lib/itinerary-app/shared/notification-tile/notification-tile.component.mjs +4 -4
  41. package/esm2022/lib/itinerary-app/shared/popup-modal/popup-modal.component.mjs +85 -0
  42. package/esm2022/lib/itinerary-app/shared/search-bar/search-bar.component.mjs +30 -0
  43. package/esm2022/lib/itinerary-app/shared/search-popup/search-popup.component.mjs +4 -4
  44. package/esm2022/lib/itinerary-app/shared/shared.module.mjs +29 -6
  45. package/fesm2022/flower-city-online-itinerary-lib.mjs +459 -141
  46. package/fesm2022/flower-city-online-itinerary-lib.mjs.map +1 -1
  47. package/lib/itinerary-app/shared/bottom-modal/bottom-modal.component.d.ts +20 -0
  48. package/lib/itinerary-app/shared/icon-button/icon-button.component.d.ts +13 -4
  49. package/lib/itinerary-app/shared/input-field-select/input-field-select.component.d.ts +35 -0
  50. package/lib/itinerary-app/shared/popup-modal/popup-modal.component.d.ts +30 -0
  51. package/lib/itinerary-app/shared/search-bar/search-bar.component.d.ts +12 -0
  52. package/lib/itinerary-app/shared/shared.module.d.ts +11 -7
  53. package/package.json +1 -1
  54. package/src/lib/itinerary-app/_styles/modal.scss +2 -2
  55. package/src/lib/itinerary-app/_styles/styles.scss +327 -327
  56. package/src/lib/itinerary-app/styles.scss +237 -289
  57. package/styles.css +1 -1
  58. package/src/lib/itinerary-app/_styles/component-global-styles/bottom-navigation.scss +0 -19
  59. package/src/lib/itinerary-app/_styles/component-global-styles/create-itinerary.scss +0 -16
  60. package/src/lib/itinerary-app/_styles/component-global-styles/custom-button.scss +0 -32
  61. package/src/lib/itinerary-app/_styles/component-global-styles/custom-menu.scss +0 -38
  62. package/src/lib/itinerary-app/_styles/component-global-styles/dashboard.scss +0 -5
  63. package/src/lib/itinerary-app/_styles/component-global-styles/delete-itineraries.scss +0 -7
  64. package/src/lib/itinerary-app/_styles/component-global-styles/filter-menu.scss +0 -36
  65. package/src/lib/itinerary-app/_styles/component-global-styles/header.scss +0 -22
  66. package/src/lib/itinerary-app/_styles/component-global-styles/navbar.scss +0 -47
  67. package/src/lib/itinerary-app/_styles/component-global-styles/search-bar.scss +0 -17
  68. package/src/lib/itinerary-app/_styles/component-global-styles/side-bar.scss +0 -28
  69. package/src/lib/itinerary-app/_styles/component-global-styles/tab-bar.scss +0 -21
@@ -4,7 +4,8 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@ngx-translate/core";
5
5
  import * as i2 from "@angular/common";
6
6
  import * as i3 from "../../../../shared/footer/components/bottom-navigation-items/bottom-navigation-items.component";
7
- import * as i4 from "@naniteninja/ionic-lib";
7
+ import * as i4 from "../../../../shared/search-bar/search-bar.component";
8
+ import * as i5 from "@naniteninja/ionic-lib";
8
9
  export class NavbarComponent {
9
10
  translate;
10
11
  ICONS = ICONS;
@@ -52,10 +53,10 @@ export class NavbarComponent {
52
53
  handleSearchStringChange(_$event) { }
53
54
  clear() { }
54
55
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavbarComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
55
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NavbarComponent, selector: "app-navbar", ngImport: i0, template: "<nav class=\"nav-bar text-white fixed top-0 left-0 w-full z-50\">\r\n <div class=\"nav-main-bar\">\r\n <div class=\"flex ml-2\">\r\n <img class=\"navbar-logo\" [ngSrc]=\"ICONS['logo']\" alt=\"logo\" />\r\n </div>\r\n <div class=\"sub-nav mx-auto\">\r\n <div *ngFor=\"let item of navigationItems\">\r\n <app-bottom-navigation-items\r\n [label]=\"item.label | translate\"\r\n [iconPath]=\"item.iconPath\"\r\n ></app-bottom-navigation-items>\r\n </div>\r\n <div>\r\n <lib-search-bar\r\n class=\"search-field\"\r\n [placeholderText]=\"'NAVBAR.SEARCH' | translate\"\r\n (searchStringChange)=\"handleSearchStringChange($event)\"\r\n (cleared)=\"clear()\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\"\r\n >\r\n </lib-search-bar>\r\n </div>\r\n </div>\r\n <div class=\"profile-icon ml-auto mt-1\">\r\n <lib-menu-btn\r\n menuDirection=\"rtl\"\r\n [menuBtnImgUrl]=\"\r\n 'https://semantic-ui.com/images/avatar2/large/matthew.png'\r\n \"\r\n [hasNotification]=\"true\"\r\n [menuBtnNotificationIconUrl]=\"ICONS['notBlip']\"\r\n [menuItems]=\"menuItems\"\r\n class=\"dashboard-menu\"\r\n >\r\n </lib-menu-btn>\r\n </div>\r\n </div>\r\n</nav>\r\n", styles: [".nav-bar{background:#27242c;box-shadow:0 -4px 4px #00000040 inset,0 4px 4px #00000040}.navbra-logo{height:10px;width:50px}.nav-main-bar{min-width:100%!important;padding-right:20px!important;display:flex;justify-content:space-between;flex-direction:row}.sub-nav{display:flex;justify-content:flex-start;align-items:center;flex-direction:row;gap:130px}.profile-icon{position:absolute;right:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.BottomNavigationItemsComponent, selector: "app-bottom-navigation-items", inputs: ["label", "iconPath", "routerLink", "cssClass", "selected"] }, { kind: "directive", type: i2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "component", type: i4.MenuBtnComponent, selector: "lib-menu-btn", inputs: ["menuBtnIcon", "menuBtnTooltip", "menuBtnTooltipPosition", "menuBtnIconName", "menuBtnImgUrl", "menuBtnNotificationIconUrl", "menuDirection", "hasNotification", "menuItems", "disableTranslation", "listItem", "listItemIndex", "selectable", "overlayClass", "isUserMenu", "onlyCloseOnClickOutside", "hoverOutline", "disabled", "type", "form", "label", "showArrowIcon", "disableTextShadow", "loading$"] }, { kind: "component", type: i4.SearchBarComponent, selector: "lib-search-bar", inputs: ["placeholderText", "inputText", "order", "clearIcon", "searchIcon"], outputs: ["searchStringChange", "cleared", "focused", "unfocused"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NavbarComponent, selector: "app-navbar", ngImport: i0, template: "<nav class=\"nav-bar text-white fixed top-0 left-0 w-full z-50\">\r\n <div class=\"nav-main-bar\">\r\n <div class=\"flex ml-2\">\r\n <img class=\"navbar-logo\" [ngSrc]=\"ICONS['logo']\" alt=\"logo\" />\r\n </div>\r\n <div class=\"sub-nav mx-auto\">\r\n <div *ngFor=\"let item of navigationItems\">\r\n <app-bottom-navigation-items\r\n [label]=\"item.label | translate\"\r\n [iconPath]=\"item.iconPath\"\r\n ></app-bottom-navigation-items>\r\n </div>\r\n <div>\r\n <app-search-bar\r\n class=\"search-field\"\r\n [placeholderText]=\"'NAVBAR.SEARCH' | translate\"\r\n (searchStringChange)=\"handleSearchStringChange($event)\"\r\n (cleared)=\"clear()\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\"\r\n >\r\n </app-search-bar>\r\n </div>\r\n </div>\r\n <div class=\"profile-icon ml-auto mt-1\">\r\n <lib-menu-btn\r\n menuDirection=\"rtl\"\r\n [menuBtnImgUrl]=\"\r\n 'https://semantic-ui.com/images/avatar2/large/matthew.png'\r\n \"\r\n [hasNotification]=\"true\"\r\n [menuBtnNotificationIconUrl]=\"ICONS['notBlip']\"\r\n [menuItems]=\"menuItems\"\r\n class=\"dashboard-menu\"\r\n >\r\n </lib-menu-btn>\r\n </div>\r\n </div>\r\n</nav>\r\n", styles: [".nav-bar{background:#27242c;box-shadow:0 -4px 4px #00000040 inset,0 4px 4px #00000040}.navbra-logo{height:10px;width:50px}.nav-main-bar{min-width:100%!important;padding-right:20px!important;display:flex;justify-content:space-between;flex-direction:row}.sub-nav{display:flex;justify-content:flex-start;align-items:center;flex-direction:row;gap:130px}.profile-icon{position:absolute;right:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.BottomNavigationItemsComponent, selector: "app-bottom-navigation-items", inputs: ["label", "iconPath", "routerLink", "cssClass", "selected"] }, { kind: "component", type: i4.SearchBarComponent, selector: "app-search-bar", inputs: ["searchIcon", "placeholderText"], outputs: ["searchStringChange", "cleared"] }, { kind: "directive", type: i2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "component", type: i5.MenuBtnComponent, selector: "lib-menu-btn", inputs: ["menuBtnIcon", "menuBtnTooltip", "menuBtnTooltipPosition", "menuBtnIconName", "menuBtnImgUrl", "menuBtnNotificationIconUrl", "menuDirection", "hasNotification", "menuItems", "disableTranslation", "listItem", "listItemIndex", "selectable", "overlayClass", "isUserMenu", "onlyCloseOnClickOutside", "hoverOutline", "disabled", "type", "form", "label", "showArrowIcon", "disableTextShadow", "loading$"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
57
  }
57
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NavbarComponent, decorators: [{
58
59
  type: Component,
59
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-navbar', standalone: false, template: "<nav class=\"nav-bar text-white fixed top-0 left-0 w-full z-50\">\r\n <div class=\"nav-main-bar\">\r\n <div class=\"flex ml-2\">\r\n <img class=\"navbar-logo\" [ngSrc]=\"ICONS['logo']\" alt=\"logo\" />\r\n </div>\r\n <div class=\"sub-nav mx-auto\">\r\n <div *ngFor=\"let item of navigationItems\">\r\n <app-bottom-navigation-items\r\n [label]=\"item.label | translate\"\r\n [iconPath]=\"item.iconPath\"\r\n ></app-bottom-navigation-items>\r\n </div>\r\n <div>\r\n <lib-search-bar\r\n class=\"search-field\"\r\n [placeholderText]=\"'NAVBAR.SEARCH' | translate\"\r\n (searchStringChange)=\"handleSearchStringChange($event)\"\r\n (cleared)=\"clear()\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\"\r\n >\r\n </lib-search-bar>\r\n </div>\r\n </div>\r\n <div class=\"profile-icon ml-auto mt-1\">\r\n <lib-menu-btn\r\n menuDirection=\"rtl\"\r\n [menuBtnImgUrl]=\"\r\n 'https://semantic-ui.com/images/avatar2/large/matthew.png'\r\n \"\r\n [hasNotification]=\"true\"\r\n [menuBtnNotificationIconUrl]=\"ICONS['notBlip']\"\r\n [menuItems]=\"menuItems\"\r\n class=\"dashboard-menu\"\r\n >\r\n </lib-menu-btn>\r\n </div>\r\n </div>\r\n</nav>\r\n", styles: [".nav-bar{background:#27242c;box-shadow:0 -4px 4px #00000040 inset,0 4px 4px #00000040}.navbra-logo{height:10px;width:50px}.nav-main-bar{min-width:100%!important;padding-right:20px!important;display:flex;justify-content:space-between;flex-direction:row}.sub-nav{display:flex;justify-content:flex-start;align-items:center;flex-direction:row;gap:130px}.profile-icon{position:absolute;right:10px}\n"] }]
60
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-navbar', standalone: false, template: "<nav class=\"nav-bar text-white fixed top-0 left-0 w-full z-50\">\r\n <div class=\"nav-main-bar\">\r\n <div class=\"flex ml-2\">\r\n <img class=\"navbar-logo\" [ngSrc]=\"ICONS['logo']\" alt=\"logo\" />\r\n </div>\r\n <div class=\"sub-nav mx-auto\">\r\n <div *ngFor=\"let item of navigationItems\">\r\n <app-bottom-navigation-items\r\n [label]=\"item.label | translate\"\r\n [iconPath]=\"item.iconPath\"\r\n ></app-bottom-navigation-items>\r\n </div>\r\n <div>\r\n <app-search-bar\r\n class=\"search-field\"\r\n [placeholderText]=\"'NAVBAR.SEARCH' | translate\"\r\n (searchStringChange)=\"handleSearchStringChange($event)\"\r\n (cleared)=\"clear()\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\"\r\n >\r\n </app-search-bar>\r\n </div>\r\n </div>\r\n <div class=\"profile-icon ml-auto mt-1\">\r\n <lib-menu-btn\r\n menuDirection=\"rtl\"\r\n [menuBtnImgUrl]=\"\r\n 'https://semantic-ui.com/images/avatar2/large/matthew.png'\r\n \"\r\n [hasNotification]=\"true\"\r\n [menuBtnNotificationIconUrl]=\"ICONS['notBlip']\"\r\n [menuItems]=\"menuItems\"\r\n class=\"dashboard-menu\"\r\n >\r\n </lib-menu-btn>\r\n </div>\r\n </div>\r\n</nav>\r\n", styles: [".nav-bar{background:#27242c;box-shadow:0 -4px 4px #00000040 inset,0 4px 4px #00000040}.navbra-logo{height:10px;width:50px}.nav-main-bar{min-width:100%!important;padding-right:20px!important;display:flex;justify-content:space-between;flex-direction:row}.sub-nav{display:flex;justify-content:flex-start;align-items:center;flex-direction:row;gap:130px}.profile-icon{position:absolute;right:10px}\n"] }]
60
61
  }], ctorParameters: () => [{ type: i1.TranslateService }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvZGFzaGJvYXJkL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2Rhc2hib2FyZC9jb21wb25lbnRzL25hdmJhci9uYXZiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQVN6RCxNQUFNLE9BQU8sZUFBZTtJQVVOO0lBVHBCLEtBQUssR0FBVSxLQUFLLENBQUM7SUFDckIsU0FBUyxHQUFrQixFQUFFLENBQUM7SUFDOUIsZUFBZSxHQUFHO1FBQ2hCLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1FBQzlELEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzdELEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1FBQ2hFLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN0RCxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUU7S0FDNUQsQ0FBQztJQUNGLFlBQW9CLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzdDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmO2dCQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7Z0JBQzlDLFdBQVcsRUFBRSxFQUFFO2dCQUNmLE9BQU8sRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDO2FBQ3pCO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztnQkFDNUMsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7YUFDdkI7WUFDRDtnQkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELFdBQVcsRUFBRSxFQUFFO2dCQUNmLE9BQU8sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDO2FBQzNCO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxXQUFXLEVBQUUsSUFBSTtnQkFDakIsT0FBTyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQzthQUNsQztZQUNEO2dCQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztnQkFDckQsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUM7YUFDaEM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELHdCQUF3QixDQUFDLE9BQWUsSUFBRyxDQUFDO0lBRTVDLEtBQUssS0FBVSxDQUFDO3dHQTlDTCxlQUFlOzRGQUFmLGVBQWUsa0RDYjVCLHUwQ0FzQ0E7OzRGRHpCYSxlQUFlO2tCQVAzQixTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsWUFBWSxjQUdWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTGliTWVudUl0ZW0gfSBmcm9tICdAbmFuaXRlbmluamEvaW9uaWMtbGliJzsgXHJcbmltcG9ydCB7IElpY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vX2ludGVyZmFjZS9pY29uJztcclxuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi9fY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbiBcclxuQENvbXBvbmVudCh7XHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHNlbGVjdG9yOiAnYXBwLW5hdmJhcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL25hdmJhci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdmJhckNvbXBvbmVudCB7XHJcbiAgSUNPTlM6IElpY29uID0gSUNPTlM7XHJcbiAgbWVudUl0ZW1zOiBMaWJNZW51SXRlbVtdID0gW107XHJcbiAgbmF2aWdhdGlvbkl0ZW1zID0gW1xyXG4gICAgeyBsYWJlbDogJ01FTlUuSE9NRScsIGljb25QYXRoOiB0aGlzLklDT05TWydkYXNoSG9tZUFjdGl2ZSddIH0sXHJcbiAgICB7IGxhYmVsOiAnTUVOVS5DT05TVElUVUVOVFMnLCBpY29uUGF0aDogdGhpcy5JQ09OU1sndXNlcnMnXSB9LFxyXG4gICAgeyBsYWJlbDogJ01FTlUuSVRJTkVSQVJZJywgaWNvblBhdGg6IHRoaXMuSUNPTlNbJ2l0aW5lcmFyaWVzJ10gfSxcclxuICAgIHsgbGFiZWw6ICdNRU5VLlNUQVRTJywgaWNvblBhdGg6IHRoaXMuSUNPTlNbJ3N0YXRzJ10gfSxcclxuICAgIHsgbGFiZWw6ICdNRU5VLlNFVFRJTkdTJywgaWNvblBhdGg6IHRoaXMuSUNPTlNbJ3NldHRpbmcnXSB9LFxyXG4gIF07XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZU1lbnVJdGVtcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplTWVudUl0ZW1zKCkge1xyXG4gICAgdGhpcy5tZW51SXRlbXMgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnTkFWQkFSLkxPR09VVCcpLFxyXG4gICAgICAgIHRpdGxlUHJlZml4OiAnJyxcclxuICAgICAgICBpY29uVXJsOiBJQ09OU1snbG9nb3V0J10sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnTkFWQkFSLklORk8nKSxcclxuICAgICAgICB0aXRsZVByZWZpeDogJycsXHJcbiAgICAgICAgaWNvblVybDogSUNPTlNbJ2luZm8nXSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdOQVZCQVIuRkVFREJBQ0snKSxcclxuICAgICAgICB0aXRsZVByZWZpeDogJycsXHJcbiAgICAgICAgaWNvblVybDogSUNPTlNbJ2ZlZWRiYWNrJ10sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnTkFWQkFSLlNFQVJDSF8yJyksXHJcbiAgICAgICAgdGl0bGVTdWZmaXg6ICdBSScsXHJcbiAgICAgICAgaWNvblVybDogSUNPTlNbJ2Rhc2hib2FyZFNlYXJjaCddLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ05BVkJBUi5OT1RJRklDQVRJT05TJyksXHJcbiAgICAgICAgdGl0bGVQcmVmaXg6ICcnLFxyXG4gICAgICAgIGljb25Vcmw6IElDT05TWydub3RpZmljYXRpb25zJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VhcmNoU3RyaW5nQ2hhbmdlKF8kZXZlbnQ6IHN0cmluZykge31cclxuXHJcbiAgY2xlYXIoKTogdm9pZCB7fVxyXG59XHJcbiIsIjxuYXYgY2xhc3M9XCJuYXYtYmFyIHRleHQtd2hpdGUgZml4ZWQgdG9wLTAgbGVmdC0wIHctZnVsbCB6LTUwXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm5hdi1tYWluLWJhclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggbWwtMlwiPlxyXG4gICAgICA8aW1nIGNsYXNzPVwibmF2YmFyLWxvZ29cIiBbbmdTcmNdPVwiSUNPTlNbJ2xvZ28nXVwiIGFsdD1cImxvZ29cIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic3ViLW5hdiBteC1hdXRvXCI+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbmF2aWdhdGlvbkl0ZW1zXCI+XHJcbiAgICAgICAgPGFwcC1ib3R0b20tbmF2aWdhdGlvbi1pdGVtc1xyXG4gICAgICAgICAgW2xhYmVsXT1cIml0ZW0ubGFiZWwgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgW2ljb25QYXRoXT1cIml0ZW0uaWNvblBhdGhcIlxyXG4gICAgICAgID48L2FwcC1ib3R0b20tbmF2aWdhdGlvbi1pdGVtcz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPGxpYi1zZWFyY2gtYmFyXHJcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1maWVsZFwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJUZXh0XT1cIidOQVZCQVIuU0VBUkNIJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAoc2VhcmNoU3RyaW5nQ2hhbmdlKT1cImhhbmRsZVNlYXJjaFN0cmluZ0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChjbGVhcmVkKT1cImNsZWFyKClcIlxyXG4gICAgICAgICAgW3NlYXJjaEljb25dPVwiSUNPTlNbJ2Rhc2hib2FyZFNlYXJjaCddXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9saWItc2VhcmNoLWJhcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWljb24gbWwtYXV0byBtdC0xXCI+XHJcbiAgICAgIDxsaWItbWVudS1idG5cclxuICAgICAgICBtZW51RGlyZWN0aW9uPVwicnRsXCJcclxuICAgICAgICBbbWVudUJ0bkltZ1VybF09XCJcclxuICAgICAgICAgICdodHRwczovL3NlbWFudGljLXVpLmNvbS9pbWFnZXMvYXZhdGFyMi9sYXJnZS9tYXR0aGV3LnBuZydcclxuICAgICAgICBcIlxyXG4gICAgICAgIFtoYXNOb3RpZmljYXRpb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgW21lbnVCdG5Ob3RpZmljYXRpb25JY29uVXJsXT1cIklDT05TWydub3RCbGlwJ11cIlxyXG4gICAgICAgIFttZW51SXRlbXNdPVwibWVudUl0ZW1zXCJcclxuICAgICAgICBjbGFzcz1cImRhc2hib2FyZC1tZW51XCJcclxuICAgICAgPlxyXG4gICAgICA8L2xpYi1tZW51LWJ0bj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25hdj5cclxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvZGFzaGJvYXJkL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2Rhc2hib2FyZC9jb21wb25lbnRzL25hdmJhci9uYXZiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFTekQsTUFBTSxPQUFPLGVBQWU7SUFVTjtJQVRwQixLQUFLLEdBQVUsS0FBSyxDQUFDO0lBQ3JCLFNBQVMsR0FBa0IsRUFBRSxDQUFDO0lBQzlCLGVBQWUsR0FBRztRQUNoQixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUM5RCxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUM3RCxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUNoRSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDdEQsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO0tBQzVELENBQUM7SUFDRixZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUM3QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZjtnQkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO2dCQUM5QyxXQUFXLEVBQUUsRUFBRTtnQkFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQzthQUN6QjtZQUNEO2dCQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7Z0JBQzVDLFdBQVcsRUFBRSxFQUFFO2dCQUNmLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3ZCO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxXQUFXLEVBQUUsRUFBRTtnQkFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQzthQUMzQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztnQkFDaEQsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLE9BQU8sRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUM7YUFDbEM7WUFDRDtnQkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3JELFdBQVcsRUFBRSxFQUFFO2dCQUNmLE9BQU8sRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDO2FBQ2hDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxPQUFlLElBQUcsQ0FBQztJQUU1QyxLQUFLLEtBQVUsQ0FBQzt3R0E5Q0wsZUFBZTs0RkFBZixlQUFlLGtEQ2I1Qix1MENBc0NBOzs0RkR6QmEsZUFBZTtrQkFQM0IsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLFlBQVksY0FHVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IExpYk1lbnVJdGVtIH0gZnJvbSAnQG5hbml0ZW5pbmphL2lvbmljLWxpYic7IFxyXG5pbXBvcnQgeyBJaWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL19pbnRlcmZhY2UvaWNvbic7XHJcbmltcG9ydCB7IElDT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vX2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG4gXHJcbkBDb21wb25lbnQoe1xyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzZWxlY3RvcjogJ2FwcC1uYXZiYXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9uYXZiYXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYXZiYXJDb21wb25lbnQge1xyXG4gIElDT05TOiBJaWNvbiA9IElDT05TO1xyXG4gIG1lbnVJdGVtczogTGliTWVudUl0ZW1bXSA9IFtdO1xyXG4gIG5hdmlnYXRpb25JdGVtcyA9IFtcclxuICAgIHsgbGFiZWw6ICdNRU5VLkhPTUUnLCBpY29uUGF0aDogdGhpcy5JQ09OU1snZGFzaEhvbWVBY3RpdmUnXSB9LFxyXG4gICAgeyBsYWJlbDogJ01FTlUuQ09OU1RJVFVFTlRTJywgaWNvblBhdGg6IHRoaXMuSUNPTlNbJ3VzZXJzJ10gfSxcclxuICAgIHsgbGFiZWw6ICdNRU5VLklUSU5FUkFSWScsIGljb25QYXRoOiB0aGlzLklDT05TWydpdGluZXJhcmllcyddIH0sXHJcbiAgICB7IGxhYmVsOiAnTUVOVS5TVEFUUycsIGljb25QYXRoOiB0aGlzLklDT05TWydzdGF0cyddIH0sXHJcbiAgICB7IGxhYmVsOiAnTUVOVS5TRVRUSU5HUycsIGljb25QYXRoOiB0aGlzLklDT05TWydzZXR0aW5nJ10gfSxcclxuICBdO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVNZW51SXRlbXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZU1lbnVJdGVtcygpIHtcclxuICAgIHRoaXMubWVudUl0ZW1zID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ05BVkJBUi5MT0dPVVQnKSxcclxuICAgICAgICB0aXRsZVByZWZpeDogJycsXHJcbiAgICAgICAgaWNvblVybDogSUNPTlNbJ2xvZ291dCddLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ05BVkJBUi5JTkZPJyksXHJcbiAgICAgICAgdGl0bGVQcmVmaXg6ICcnLFxyXG4gICAgICAgIGljb25Vcmw6IElDT05TWydpbmZvJ10sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnTkFWQkFSLkZFRURCQUNLJyksXHJcbiAgICAgICAgdGl0bGVQcmVmaXg6ICcnLFxyXG4gICAgICAgIGljb25Vcmw6IElDT05TWydmZWVkYmFjayddLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ05BVkJBUi5TRUFSQ0hfMicpLFxyXG4gICAgICAgIHRpdGxlU3VmZml4OiAnQUknLFxyXG4gICAgICAgIGljb25Vcmw6IElDT05TWydkYXNoYm9hcmRTZWFyY2gnXSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdOQVZCQVIuTk9USUZJQ0FUSU9OUycpLFxyXG4gICAgICAgIHRpdGxlUHJlZml4OiAnJyxcclxuICAgICAgICBpY29uVXJsOiBJQ09OU1snbm90aWZpY2F0aW9ucyddLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVNlYXJjaFN0cmluZ0NoYW5nZShfJGV2ZW50OiBzdHJpbmcpIHt9XHJcblxyXG4gIGNsZWFyKCk6IHZvaWQge31cclxufVxyXG4iLCI8bmF2IGNsYXNzPVwibmF2LWJhciB0ZXh0LXdoaXRlIGZpeGVkIHRvcC0wIGxlZnQtMCB3LWZ1bGwgei01MFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJuYXYtbWFpbi1iYXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IG1sLTJcIj5cclxuICAgICAgPGltZyBjbGFzcz1cIm5hdmJhci1sb2dvXCIgW25nU3JjXT1cIklDT05TWydsb2dvJ11cIiBhbHQ9XCJsb2dvXCIgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInN1Yi1uYXYgbXgtYXV0b1wiPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5hdmlnYXRpb25JdGVtc1wiPlxyXG4gICAgICAgIDxhcHAtYm90dG9tLW5hdmlnYXRpb24taXRlbXNcclxuICAgICAgICAgIFtsYWJlbF09XCJpdGVtLmxhYmVsIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgIFtpY29uUGF0aF09XCJpdGVtLmljb25QYXRoXCJcclxuICAgICAgICA+PC9hcHAtYm90dG9tLW5hdmlnYXRpb24taXRlbXM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxhcHAtc2VhcmNoLWJhclxyXG4gICAgICAgICAgY2xhc3M9XCJzZWFyY2gtZmllbGRcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyVGV4dF09XCInTkFWQkFSLlNFQVJDSCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgKHNlYXJjaFN0cmluZ0NoYW5nZSk9XCJoYW5kbGVTZWFyY2hTdHJpbmdDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoY2xlYXJlZCk9XCJjbGVhcigpXCJcclxuICAgICAgICAgIFtzZWFyY2hJY29uXT1cIklDT05TWydkYXNoYm9hcmRTZWFyY2gnXVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYXBwLXNlYXJjaC1iYXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1pY29uIG1sLWF1dG8gbXQtMVwiPlxyXG4gICAgICA8bGliLW1lbnUtYnRuXHJcbiAgICAgICAgbWVudURpcmVjdGlvbj1cInJ0bFwiXHJcbiAgICAgICAgW21lbnVCdG5JbWdVcmxdPVwiXHJcbiAgICAgICAgICAnaHR0cHM6Ly9zZW1hbnRpYy11aS5jb20vaW1hZ2VzL2F2YXRhcjIvbGFyZ2UvbWF0dGhldy5wbmcnXHJcbiAgICAgICAgXCJcclxuICAgICAgICBbaGFzTm90aWZpY2F0aW9uXT1cInRydWVcIlxyXG4gICAgICAgIFttZW51QnRuTm90aWZpY2F0aW9uSWNvblVybF09XCJJQ09OU1snbm90QmxpcCddXCJcclxuICAgICAgICBbbWVudUl0ZW1zXT1cIm1lbnVJdGVtc1wiXHJcbiAgICAgICAgY2xhc3M9XCJkYXNoYm9hcmQtbWVudVwiXHJcbiAgICAgID5cclxuICAgICAgPC9saWItbWVudS1idG4+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uYXY+XHJcbiJdfQ==
@@ -1,13 +1,14 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "@naniteninja/ionic-lib";
4
- import * as i2 from "@ngx-translate/core";
3
+ import * as i1 from "../../../../shared/search-bar/search-bar.component";
4
+ import * as i2 from "@naniteninja/ionic-lib";
5
+ import * as i3 from "@ngx-translate/core";
5
6
  export class AppHeaderDesktopComponent {
6
7
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppHeaderDesktopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AppHeaderDesktopComponent, selector: "lib-app-header-desktop", ngImport: i0, template: "<header class=\"items-center justify-between py-1 px-6 hidden md:flex\">\r\n <div class=\"flex-auto\">\r\n <img src=\"assets/icons/logo.svg\" />\r\n </div>\r\n <div class=\"flex-auto\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/home.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Home</span>\r\n </div>\r\n </div>\r\n \r\n\r\n <div class=\"flex-grow w-1/8\">\r\n <lib-search-bar\r\n class=\"search-field\"\r\n [searchIcon]=\"'assets/icons/dashboard_search.svg'\"\r\n [placeholderText]=\"'NG_GRID.searchOoo' | translate\"\r\n >\r\n </lib-search-bar>\r\n </div>\r\n \r\n <div class=\"flex-auto text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/constituents.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Constituents</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/itineraries.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Itinerary</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/stats.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Stats</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/setting.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Settings</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex justify-end flex-auto\">\r\n <div class=\"h-[30px] w-[30px]\">\r\n <lib-user-menu\r\n [userImageUrl]=\"'assets/images/user-image.jpg'\"\r\n >\r\n </lib-user-menu>\r\n </div>\r\n \r\n </div>\r\n</header>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.LazyImageDirective, selector: "img" }, { kind: "component", type: i1.SearchBarComponent, selector: "lib-search-bar", inputs: ["placeholderText", "inputText", "order", "clearIcon", "searchIcon"], outputs: ["searchStringChange", "cleared", "focused", "unfocused"] }, { kind: "component", type: i1.UserMenuComponent, selector: "lib-user-menu", inputs: ["customMenuItems", "notifications", "isLoadingNotifications", "userImageUrl"], outputs: ["handleNotificationClick", "getNotifications", "emitFeedback", "emitInfo", "emitLogout"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AppHeaderDesktopComponent, selector: "lib-app-header-desktop", ngImport: i0, template: "<header class=\"items-center justify-between py-1 px-6 hidden md:flex\">\r\n <div class=\"flex-auto\">\r\n <img src=\"assets/icons/logo.svg\" />\r\n </div>\r\n <div class=\"flex-auto\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/home.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Home</span>\r\n </div>\r\n </div>\r\n \r\n\r\n <div class=\"flex-grow w-1/8\">\r\n <app-search-bar\r\n class=\"search-field\"\r\n [searchIcon]=\"'assets/icons/dashboard_search.svg'\"\r\n [placeholderText]=\"'NG_GRID.searchOoo' | translate\"\r\n >\r\n </app-search-bar>\r\n </div>\r\n \r\n <div class=\"flex-auto text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/constituents.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Constituents</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/itineraries.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Itinerary</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/stats.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Stats</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/setting.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Settings</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex justify-end flex-auto\">\r\n <div class=\"h-[30px] w-[30px]\">\r\n <lib-user-menu\r\n [userImageUrl]=\"'assets/images/user-image.jpg'\"\r\n >\r\n </lib-user-menu>\r\n </div>\r\n \r\n </div>\r\n</header>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.SearchBarComponent, selector: "app-search-bar", inputs: ["searchIcon", "placeholderText"], outputs: ["searchStringChange", "cleared"] }, { kind: "directive", type: i2.LazyImageDirective, selector: "img" }, { kind: "component", type: i2.UserMenuComponent, selector: "lib-user-menu", inputs: ["customMenuItems", "notifications", "isLoadingNotifications", "userImageUrl"], outputs: ["handleNotificationClick", "getNotifications", "emitFeedback", "emitInfo", "emitLogout"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
8
9
  }
9
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppHeaderDesktopComponent, decorators: [{
10
11
  type: Component,
11
- args: [{ selector: 'lib-app-header-desktop', standalone: false, template: "<header class=\"items-center justify-between py-1 px-6 hidden md:flex\">\r\n <div class=\"flex-auto\">\r\n <img src=\"assets/icons/logo.svg\" />\r\n </div>\r\n <div class=\"flex-auto\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/home.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Home</span>\r\n </div>\r\n </div>\r\n \r\n\r\n <div class=\"flex-grow w-1/8\">\r\n <lib-search-bar\r\n class=\"search-field\"\r\n [searchIcon]=\"'assets/icons/dashboard_search.svg'\"\r\n [placeholderText]=\"'NG_GRID.searchOoo' | translate\"\r\n >\r\n </lib-search-bar>\r\n </div>\r\n \r\n <div class=\"flex-auto text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/constituents.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Constituents</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/itineraries.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Itinerary</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/stats.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Stats</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/setting.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Settings</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex justify-end flex-auto\">\r\n <div class=\"h-[30px] w-[30px]\">\r\n <lib-user-menu\r\n [userImageUrl]=\"'assets/images/user-image.jpg'\"\r\n >\r\n </lib-user-menu>\r\n </div>\r\n \r\n </div>\r\n</header>\r\n" }]
12
+ args: [{ selector: 'lib-app-header-desktop', standalone: false, template: "<header class=\"items-center justify-between py-1 px-6 hidden md:flex\">\r\n <div class=\"flex-auto\">\r\n <img src=\"assets/icons/logo.svg\" />\r\n </div>\r\n <div class=\"flex-auto\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/home.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Home</span>\r\n </div>\r\n </div>\r\n \r\n\r\n <div class=\"flex-grow w-1/8\">\r\n <app-search-bar\r\n class=\"search-field\"\r\n [searchIcon]=\"'assets/icons/dashboard_search.svg'\"\r\n [placeholderText]=\"'NG_GRID.searchOoo' | translate\"\r\n >\r\n </app-search-bar>\r\n </div>\r\n \r\n <div class=\"flex-auto text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/constituents.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Constituents</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/itineraries.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Itinerary</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/stats.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Stats</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-auto font-white text-right\">\r\n <div\r\n class=\"bottom-nav-item flex flex-col items-center\"\r\n >\r\n <img src=\"assets/icons/setting.svg\" />\r\n <span [class]=\"'span-text'\" style=\"font-size:6.81px;\">Settings</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex justify-end flex-auto\">\r\n <div class=\"h-[30px] w-[30px]\">\r\n <lib-user-menu\r\n [userImageUrl]=\"'assets/images/user-image.jpg'\"\r\n >\r\n </lib-user-menu>\r\n </div>\r\n \r\n </div>\r\n</header>\r\n" }]
12
13
  }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWhlYWRlci1kZXNrdG9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvY29tcG9uZW50cy9hcHAtaGVhZGVyLWRlc2t0b3AvYXBwLWhlYWRlci1kZXNrdG9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvY29tcG9uZW50cy9hcHAtaGVhZGVyLWRlc2t0b3AvYXBwLWhlYWRlci1kZXNrdG9wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRMUMsTUFBTSxPQUFPLHlCQUF5Qjt3R0FBekIseUJBQXlCOzRGQUF6Qix5QkFBeUIsOERDUnRDLHV3RUFxRUE7OzRGRDdEYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0ksd0JBQXdCLGNBR3RCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItYXBwLWhlYWRlci1kZXNrdG9wJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hcHAtaGVhZGVyLWRlc2t0b3AuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2FwcC1oZWFkZXItZGVza3RvcC5jb21wb25lbnQuY3NzJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBIZWFkZXJEZXNrdG9wQ29tcG9uZW50IHtcclxuXHJcbn1cclxuIiwiPGhlYWRlciBjbGFzcz1cIml0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHktMSBweC02IGhpZGRlbiBtZDpmbGV4XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1hdXRvXCI+XHJcbiAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ljb25zL2xvZ28uc3ZnXCIgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtYXV0b1wiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJib3R0b20tbmF2LWl0ZW0gZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXJcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvaG9tZS5zdmdcIiAvPlxyXG4gICAgICAgIDxzcGFuIFtjbGFzc109XCInc3Bhbi10ZXh0J1wiIHN0eWxlPVwiZm9udC1zaXplOjYuODFweDtcIj5Ib21lPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtZ3JvdyB3LTEvOFwiPlxyXG4gICAgICA8bGliLXNlYXJjaC1iYXJcclxuICAgICAgICBjbGFzcz1cInNlYXJjaC1maWVsZFwiXHJcbiAgICAgICAgW3NlYXJjaEljb25dPVwiJ2Fzc2V0cy9pY29ucy9kYXNoYm9hcmRfc2VhcmNoLnN2ZydcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlclRleHRdPVwiJ05HX0dSSUQuc2VhcmNoT29vJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgID5cclxuICAgICAgPC9saWItc2VhcmNoLWJhcj5cclxuICAgIDwvZGl2PlxyXG4gICAgICBcclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWF1dG8gdGV4dC1yaWdodFwiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJib3R0b20tbmF2LWl0ZW0gZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXJcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvY29uc3RpdHVlbnRzLnN2Z1wiIC8+XHJcbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIidzcGFuLXRleHQnXCIgc3R5bGU9XCJmb250LXNpemU6Ni44MXB4O1wiPkNvbnN0aXR1ZW50czwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1hdXRvIGZvbnQtd2hpdGUgdGV4dC1yaWdodFwiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJib3R0b20tbmF2LWl0ZW0gZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXJcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvaXRpbmVyYXJpZXMuc3ZnXCIgLz5cclxuICAgICAgICA8c3BhbiBbY2xhc3NdPVwiJ3NwYW4tdGV4dCdcIiBzdHlsZT1cImZvbnQtc2l6ZTo2LjgxcHg7XCI+SXRpbmVyYXJ5PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWF1dG8gZm9udC13aGl0ZSB0ZXh0LXJpZ2h0XCI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImJvdHRvbS1uYXYtaXRlbSBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlclwiXHJcbiAgICAgID5cclxuICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9pY29ucy9zdGF0cy5zdmdcIiAvPlxyXG4gICAgICAgIDxzcGFuIFtjbGFzc109XCInc3Bhbi10ZXh0J1wiIHN0eWxlPVwiZm9udC1zaXplOjYuODFweDtcIj5TdGF0czwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1hdXRvIGZvbnQtd2hpdGUgdGV4dC1yaWdodFwiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJib3R0b20tbmF2LWl0ZW0gZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXJcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvc2V0dGluZy5zdmdcIiAvPlxyXG4gICAgICAgIDxzcGFuIFtjbGFzc109XCInc3Bhbi10ZXh0J1wiIHN0eWxlPVwiZm9udC1zaXplOjYuODFweDtcIj5TZXR0aW5nczwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZCBmbGV4LWF1dG9cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaC1bMzBweF0gdy1bMzBweF1cIj5cclxuICAgICAgICAgICAgPGxpYi11c2VyLW1lbnVcclxuICAgICAgICAgICAgICAgIFt1c2VySW1hZ2VVcmxdPVwiJ2Fzc2V0cy9pbWFnZXMvdXNlci1pbWFnZS5qcGcnXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2xpYi11c2VyLW1lbnU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIFxyXG4gICAgPC9kaXY+XHJcbjwvaGVhZGVyPlxyXG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWhlYWRlci1kZXNrdG9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvY29tcG9uZW50cy9hcHAtaGVhZGVyLWRlc2t0b3AvYXBwLWhlYWRlci1kZXNrdG9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvY29tcG9uZW50cy9hcHAtaGVhZGVyLWRlc2t0b3AvYXBwLWhlYWRlci1kZXNrdG9wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUTFDLE1BQU0sT0FBTyx5QkFBeUI7d0dBQXpCLHlCQUF5Qjs0RkFBekIseUJBQXlCLDhEQ1J0Qyx1d0VBcUVBOzs0RkQ3RGEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLHdCQUF3QixjQUd0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGliLWFwcC1oZWFkZXItZGVza3RvcCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLWhlYWRlci1kZXNrdG9wLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9hcHAtaGVhZGVyLWRlc2t0b3AuY29tcG9uZW50LmNzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwSGVhZGVyRGVza3RvcENvbXBvbmVudCB7XHJcblxyXG59XHJcbiIsIjxoZWFkZXIgY2xhc3M9XCJpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTEgcHgtNiBoaWRkZW4gbWQ6ZmxleFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtYXV0b1wiPlxyXG4gICAgICA8aW1nIHNyYz1cImFzc2V0cy9pY29ucy9sb2dvLnN2Z1wiIC8+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWF1dG9cIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiYm90dG9tLW5hdi1pdGVtIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ljb25zL2hvbWUuc3ZnXCIgLz5cclxuICAgICAgICA8c3BhbiBbY2xhc3NdPVwiJ3NwYW4tdGV4dCdcIiBzdHlsZT1cImZvbnQtc2l6ZTo2LjgxcHg7XCI+SG9tZTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIFxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3cgdy0xLzhcIj5cclxuICAgICAgPGFwcC1zZWFyY2gtYmFyXHJcbiAgICAgICAgY2xhc3M9XCJzZWFyY2gtZmllbGRcIlxyXG4gICAgICAgIFtzZWFyY2hJY29uXT1cIidhc3NldHMvaWNvbnMvZGFzaGJvYXJkX3NlYXJjaC5zdmcnXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJUZXh0XT1cIidOR19HUklELnNlYXJjaE9vbycgfCB0cmFuc2xhdGVcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvYXBwLXNlYXJjaC1iYXI+XHJcbiAgICA8L2Rpdj5cclxuICAgICAgXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1hdXRvIHRleHQtcmlnaHRcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiYm90dG9tLW5hdi1pdGVtIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ljb25zL2NvbnN0aXR1ZW50cy5zdmdcIiAvPlxyXG4gICAgICAgIDxzcGFuIFtjbGFzc109XCInc3Bhbi10ZXh0J1wiIHN0eWxlPVwiZm9udC1zaXplOjYuODFweDtcIj5Db25zdGl0dWVudHM8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtYXV0byBmb250LXdoaXRlIHRleHQtcmlnaHRcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiYm90dG9tLW5hdi1pdGVtIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ljb25zL2l0aW5lcmFyaWVzLnN2Z1wiIC8+XHJcbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIidzcGFuLXRleHQnXCIgc3R5bGU9XCJmb250LXNpemU6Ni44MXB4O1wiPkl0aW5lcmFyeTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1hdXRvIGZvbnQtd2hpdGUgdGV4dC1yaWdodFwiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJib3R0b20tbmF2LWl0ZW0gZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXJcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvc3RhdHMuc3ZnXCIgLz5cclxuICAgICAgICA8c3BhbiBbY2xhc3NdPVwiJ3NwYW4tdGV4dCdcIiBzdHlsZT1cImZvbnQtc2l6ZTo2LjgxcHg7XCI+U3RhdHM8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtYXV0byBmb250LXdoaXRlIHRleHQtcmlnaHRcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiYm90dG9tLW5hdi1pdGVtIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ljb25zL3NldHRpbmcuc3ZnXCIgLz5cclxuICAgICAgICA8c3BhbiBbY2xhc3NdPVwiJ3NwYW4tdGV4dCdcIiBzdHlsZT1cImZvbnQtc2l6ZTo2LjgxcHg7XCI+U2V0dGluZ3M8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1lbmQgZmxleC1hdXRvXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImgtWzMwcHhdIHctWzMwcHhdXCI+XHJcbiAgICAgICAgICAgIDxsaWItdXNlci1tZW51XHJcbiAgICAgICAgICAgICAgICBbdXNlckltYWdlVXJsXT1cIidhc3NldHMvaW1hZ2VzL3VzZXItaW1hZ2UuanBnJ1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9saWItdXNlci1tZW51PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICBcclxuICAgIDwvZGl2PlxyXG48L2hlYWRlcj5cclxuIl19
@@ -6,8 +6,9 @@ import * as i1 from "@angular/forms";
6
6
  import * as i2 from "../../../../_services/share-popup-data";
7
7
  import * as i3 from "@angular/router";
8
8
  import * as i4 from "@angular/common";
9
- import * as i5 from "@naniteninja/ionic-lib";
10
- import * as i6 from "@ngx-translate/core";
9
+ import * as i5 from "../../../../shared/search-bar/search-bar.component";
10
+ import * as i6 from "@naniteninja/ionic-lib";
11
+ import * as i7 from "@ngx-translate/core";
11
12
  export class SharePopupComponent {
12
13
  fb;
13
14
  sharePopupDataService;
@@ -67,12 +68,12 @@ export class SharePopupComponent {
67
68
  this.accessType = value;
68
69
  }
69
70
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SharePopupComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SharePopupDataService }, { token: i3.Router }, { token: i4.PlatformLocation }], target: i0.ɵɵFactoryTarget.Component });
70
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SharePopupComponent, selector: "lib-share-popup", outputs: { closeModal: "closeModal" }, ngImport: i0, template: "<div class=\"share-itinerary min-w-[300px] \">\r\n <h2 class=\"title\">Share Itinerary</h2>\r\n\r\n <!-- Add People -->\r\n <lib-search-bar class=\"search-field\" [placeholderText]=\"'SEARCH_PEOPLE_GROUP' | translate\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\">\r\n </lib-search-bar>\r\n\r\n <!-- People with Access -->\r\n <div class=\"section font-[Gilroy] font-bold text-[13.px] mt-4 mb-8\">\r\n <h3 class=\"mb-1 access-title\">People with Access</h3>\r\n <div class=\"person flex gap-2\">\r\n <img [src]=\"peopleWithAccess[0].avatar\" alt=\"avatar\" class=\"avatar object-cover\" />\r\n <div class=\"info\">\r\n <div class=\"person-name\">{{ peopleWithAccess[0].name }}</div>\r\n <div class=\"person-email\">{{ peopleWithAccess[0].email }}</div>\r\n </div>\r\n <div class=\"role-text text-[#8B8B8B]\">{{ peopleWithAccess[0].role }}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- General Access -->\r\n <div class=\"section\">\r\n <h3 class=\"general-access-title font-[Gilroy] mb-1\">General Access</h3>\r\n <div class=\"access-row\">\r\n <div class=\"icon mt-[7px]\">\r\n <img src=\"assets/icons/restricted_icon.png\" class=\"h-[30px] w-[30px] object-cover p-[6px] rounded-full border-[0.68px] border-white\"/>\r\n </div>\r\n <div [formGroup]=\"accessForm\">\r\n <div class=\"relative inline-block text-white\">\r\n <select formControlName=\"access\" class=\"access-select appearance-none bg-transparent focus:outline-none\">\r\n <option value=\"Restricted\">Restricted</option>\r\n <option value=\"Public\">Public</option>\r\n </select>\r\n\r\n <!-- Custom arrow icon -->\r\n <div class=\"pointer-events-none absolute inset-y-0 right-1 flex items-center pl-6\">\r\n <svg width=\"7\" height=\"4\" viewBox=\"0 0 7 4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3.35156 3.61768L6.40146 0.567782H0.301668L3.35156 3.61768Z\" fill=\"white\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n\r\n <div class=\"permission-description\">\r\n <ng-container *ngIf=\"accessType === 'Restricted'\">\r\n {{ \"ITINERARY.RESTRICTED_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"accessType === 'Public'\">\r\n {{ \"ITINERARY.PUBLIC_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"flex justify-center gap-10 mt-5\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"copyLink()\">\r\n {{ \"COMMON.COPY_LINK\" | translate }}\r\n </button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"close()\">\r\n {{ \"COMMON.DONE\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".title{text-align:center;font-family:Calistoga,serif;margin-bottom:20px}.info{flex:1}.name{font-weight:500}.email{font-size:13px;color:#a0a0a0}.role{font-size:14px;color:silver}.access-row{display:flex;align-items:center;gap:10px}.icon{font-size:20px}select{background:transparent;color:#fff;border:1px solid #555;border-radius:6px;padding:4px 8px}.desc{font-size:13px;color:#a0a0a0}.actions{display:flex;justify-content:space-between;margin-top:20px}.copy-btn{color:#f9f4d4;background:transparent;border:none;cursor:pointer;font-weight:600}.done-btn{color:#f85f75;background:transparent;border:none;cursor:pointer;font-weight:600}.access-title{font-size:var(--font-size-medium)}.person-name,.person-email{font-size:var(--font-size-small)}.person-email{font-weight:400}.role-text{font-size:var(--font-size-small);font-weight:400}.general-access-title{font-size:var(--font-size-medium);font-weight:700}.access-select{border:none!important;padding-right:12px;padding-left:0;font-family:var(--font-gilroy-bold);font-size:var(--font-size-small)}.permission-description{font-size:var(--font-size-small);color:#fff}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.LazyImageDirective, selector: "img" }, { kind: "component", type: i5.SearchBarComponent, selector: "lib-search-bar", inputs: ["placeholderText", "inputText", "order", "clearIcon", "searchIcon"], outputs: ["searchStringChange", "cleared", "focused", "unfocused"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SharePopupComponent, selector: "lib-share-popup", outputs: { closeModal: "closeModal" }, ngImport: i0, template: "<div class=\"share-itinerary min-w-[300px] \">\r\n <h2 class=\"title\">Share Itinerary</h2>\r\n\r\n <!-- Add People -->\r\n <app-search-bar class=\"search-field\" [placeholderText]=\"'SEARCH_PEOPLE_GROUP' | translate\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\">\r\n </app-search-bar>\r\n\r\n <!-- People with Access -->\r\n <div class=\"section font-[Gilroy] font-bold text-[13.px] mt-4 mb-8\">\r\n <h3 class=\"mb-1 access-title\">People with Access</h3>\r\n <div class=\"person flex gap-2\">\r\n <img [src]=\"peopleWithAccess[0].avatar\" alt=\"avatar\" class=\"avatar object-cover\" />\r\n <div class=\"info\">\r\n <div class=\"person-name\">{{ peopleWithAccess[0].name }}</div>\r\n <div class=\"person-email\">{{ peopleWithAccess[0].email }}</div>\r\n </div>\r\n <div class=\"role-text text-[#8B8B8B]\">{{ peopleWithAccess[0].role }}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- General Access -->\r\n <div class=\"section\">\r\n <h3 class=\"general-access-title font-[Gilroy] mb-1\">General Access</h3>\r\n <div class=\"access-row\">\r\n <div class=\"icon mt-[7px]\">\r\n <img src=\"assets/icons/restricted_icon.png\" class=\"h-[30px] w-[30px] object-cover p-[6px] rounded-full border-[0.68px] border-white\"/>\r\n </div>\r\n <div [formGroup]=\"accessForm\">\r\n <div class=\"relative inline-block text-white\">\r\n <select formControlName=\"access\" class=\"access-select appearance-none bg-transparent focus:outline-none\">\r\n <option value=\"Restricted\">Restricted</option>\r\n <option value=\"Public\">Public</option>\r\n </select>\r\n\r\n <!-- Custom arrow icon -->\r\n <div class=\"pointer-events-none absolute inset-y-0 right-1 flex items-center pl-6\">\r\n <svg width=\"7\" height=\"4\" viewBox=\"0 0 7 4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3.35156 3.61768L6.40146 0.567782H0.301668L3.35156 3.61768Z\" fill=\"white\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n\r\n <div class=\"permission-description\">\r\n <ng-container *ngIf=\"accessType === 'Restricted'\">\r\n {{ \"ITINERARY.RESTRICTED_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"accessType === 'Public'\">\r\n {{ \"ITINERARY.PUBLIC_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"flex justify-center gap-10 mt-5\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"copyLink()\">\r\n {{ \"COMMON.COPY_LINK\" | translate }}\r\n </button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"close()\">\r\n {{ \"COMMON.DONE\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".title{text-align:center;font-family:Calistoga,serif;margin-bottom:20px}.info{flex:1}.name{font-weight:500}.email{font-size:13px;color:#a0a0a0}.role{font-size:14px;color:silver}.access-row{display:flex;align-items:center;gap:10px}.icon{font-size:20px}select{background:transparent;color:#fff;border:1px solid #555;border-radius:6px;padding:4px 8px}.desc{font-size:13px;color:#a0a0a0}.actions{display:flex;justify-content:space-between;margin-top:20px}.copy-btn{color:#f9f4d4;background:transparent;border:none;cursor:pointer;font-weight:600}.done-btn{color:#f85f75;background:transparent;border:none;cursor:pointer;font-weight:600}.access-title{font-size:var(--font-size-medium)}.person-name,.person-email{font-size:var(--font-size-small)}.person-email{font-weight:400}.role-text{font-size:var(--font-size-small);font-weight:400}.general-access-title{font-size:var(--font-size-medium);font-weight:700}.access-select{border:none!important;padding-right:12px;padding-left:0;font-family:var(--font-gilroy-bold);font-size:var(--font-size-small)}.permission-description{font-size:var(--font-size-small);color:#fff}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.SearchBarComponent, selector: "app-search-bar", inputs: ["searchIcon", "placeholderText"], outputs: ["searchStringChange", "cleared"] }, { kind: "directive", type: i6.LazyImageDirective, selector: "img" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
71
72
  }
72
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SharePopupComponent, decorators: [{
73
74
  type: Component,
74
- args: [{ selector: 'lib-share-popup', standalone: false, template: "<div class=\"share-itinerary min-w-[300px] \">\r\n <h2 class=\"title\">Share Itinerary</h2>\r\n\r\n <!-- Add People -->\r\n <lib-search-bar class=\"search-field\" [placeholderText]=\"'SEARCH_PEOPLE_GROUP' | translate\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\">\r\n </lib-search-bar>\r\n\r\n <!-- People with Access -->\r\n <div class=\"section font-[Gilroy] font-bold text-[13.px] mt-4 mb-8\">\r\n <h3 class=\"mb-1 access-title\">People with Access</h3>\r\n <div class=\"person flex gap-2\">\r\n <img [src]=\"peopleWithAccess[0].avatar\" alt=\"avatar\" class=\"avatar object-cover\" />\r\n <div class=\"info\">\r\n <div class=\"person-name\">{{ peopleWithAccess[0].name }}</div>\r\n <div class=\"person-email\">{{ peopleWithAccess[0].email }}</div>\r\n </div>\r\n <div class=\"role-text text-[#8B8B8B]\">{{ peopleWithAccess[0].role }}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- General Access -->\r\n <div class=\"section\">\r\n <h3 class=\"general-access-title font-[Gilroy] mb-1\">General Access</h3>\r\n <div class=\"access-row\">\r\n <div class=\"icon mt-[7px]\">\r\n <img src=\"assets/icons/restricted_icon.png\" class=\"h-[30px] w-[30px] object-cover p-[6px] rounded-full border-[0.68px] border-white\"/>\r\n </div>\r\n <div [formGroup]=\"accessForm\">\r\n <div class=\"relative inline-block text-white\">\r\n <select formControlName=\"access\" class=\"access-select appearance-none bg-transparent focus:outline-none\">\r\n <option value=\"Restricted\">Restricted</option>\r\n <option value=\"Public\">Public</option>\r\n </select>\r\n\r\n <!-- Custom arrow icon -->\r\n <div class=\"pointer-events-none absolute inset-y-0 right-1 flex items-center pl-6\">\r\n <svg width=\"7\" height=\"4\" viewBox=\"0 0 7 4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3.35156 3.61768L6.40146 0.567782H0.301668L3.35156 3.61768Z\" fill=\"white\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n\r\n <div class=\"permission-description\">\r\n <ng-container *ngIf=\"accessType === 'Restricted'\">\r\n {{ \"ITINERARY.RESTRICTED_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"accessType === 'Public'\">\r\n {{ \"ITINERARY.PUBLIC_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"flex justify-center gap-10 mt-5\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"copyLink()\">\r\n {{ \"COMMON.COPY_LINK\" | translate }}\r\n </button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"close()\">\r\n {{ \"COMMON.DONE\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".title{text-align:center;font-family:Calistoga,serif;margin-bottom:20px}.info{flex:1}.name{font-weight:500}.email{font-size:13px;color:#a0a0a0}.role{font-size:14px;color:silver}.access-row{display:flex;align-items:center;gap:10px}.icon{font-size:20px}select{background:transparent;color:#fff;border:1px solid #555;border-radius:6px;padding:4px 8px}.desc{font-size:13px;color:#a0a0a0}.actions{display:flex;justify-content:space-between;margin-top:20px}.copy-btn{color:#f9f4d4;background:transparent;border:none;cursor:pointer;font-weight:600}.done-btn{color:#f85f75;background:transparent;border:none;cursor:pointer;font-weight:600}.access-title{font-size:var(--font-size-medium)}.person-name,.person-email{font-size:var(--font-size-small)}.person-email{font-weight:400}.role-text{font-size:var(--font-size-small);font-weight:400}.general-access-title{font-size:var(--font-size-medium);font-weight:700}.access-select{border:none!important;padding-right:12px;padding-left:0;font-family:var(--font-gilroy-bold);font-size:var(--font-size-small)}.permission-description{font-size:var(--font-size-small);color:#fff}\n"] }]
75
+ args: [{ selector: 'lib-share-popup', standalone: false, template: "<div class=\"share-itinerary min-w-[300px] \">\r\n <h2 class=\"title\">Share Itinerary</h2>\r\n\r\n <!-- Add People -->\r\n <app-search-bar class=\"search-field\" [placeholderText]=\"'SEARCH_PEOPLE_GROUP' | translate\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\">\r\n </app-search-bar>\r\n\r\n <!-- People with Access -->\r\n <div class=\"section font-[Gilroy] font-bold text-[13.px] mt-4 mb-8\">\r\n <h3 class=\"mb-1 access-title\">People with Access</h3>\r\n <div class=\"person flex gap-2\">\r\n <img [src]=\"peopleWithAccess[0].avatar\" alt=\"avatar\" class=\"avatar object-cover\" />\r\n <div class=\"info\">\r\n <div class=\"person-name\">{{ peopleWithAccess[0].name }}</div>\r\n <div class=\"person-email\">{{ peopleWithAccess[0].email }}</div>\r\n </div>\r\n <div class=\"role-text text-[#8B8B8B]\">{{ peopleWithAccess[0].role }}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- General Access -->\r\n <div class=\"section\">\r\n <h3 class=\"general-access-title font-[Gilroy] mb-1\">General Access</h3>\r\n <div class=\"access-row\">\r\n <div class=\"icon mt-[7px]\">\r\n <img src=\"assets/icons/restricted_icon.png\" class=\"h-[30px] w-[30px] object-cover p-[6px] rounded-full border-[0.68px] border-white\"/>\r\n </div>\r\n <div [formGroup]=\"accessForm\">\r\n <div class=\"relative inline-block text-white\">\r\n <select formControlName=\"access\" class=\"access-select appearance-none bg-transparent focus:outline-none\">\r\n <option value=\"Restricted\">Restricted</option>\r\n <option value=\"Public\">Public</option>\r\n </select>\r\n\r\n <!-- Custom arrow icon -->\r\n <div class=\"pointer-events-none absolute inset-y-0 right-1 flex items-center pl-6\">\r\n <svg width=\"7\" height=\"4\" viewBox=\"0 0 7 4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3.35156 3.61768L6.40146 0.567782H0.301668L3.35156 3.61768Z\" fill=\"white\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n\r\n <div class=\"permission-description\">\r\n <ng-container *ngIf=\"accessType === 'Restricted'\">\r\n {{ \"ITINERARY.RESTRICTED_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"accessType === 'Public'\">\r\n {{ \"ITINERARY.PUBLIC_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"flex justify-center gap-10 mt-5\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"copyLink()\">\r\n {{ \"COMMON.COPY_LINK\" | translate }}\r\n </button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"close()\">\r\n {{ \"COMMON.DONE\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".title{text-align:center;font-family:Calistoga,serif;margin-bottom:20px}.info{flex:1}.name{font-weight:500}.email{font-size:13px;color:#a0a0a0}.role{font-size:14px;color:silver}.access-row{display:flex;align-items:center;gap:10px}.icon{font-size:20px}select{background:transparent;color:#fff;border:1px solid #555;border-radius:6px;padding:4px 8px}.desc{font-size:13px;color:#a0a0a0}.actions{display:flex;justify-content:space-between;margin-top:20px}.copy-btn{color:#f9f4d4;background:transparent;border:none;cursor:pointer;font-weight:600}.done-btn{color:#f85f75;background:transparent;border:none;cursor:pointer;font-weight:600}.access-title{font-size:var(--font-size-medium)}.person-name,.person-email{font-size:var(--font-size-small)}.person-email{font-weight:400}.role-text{font-size:var(--font-size-small);font-weight:400}.general-access-title{font-size:var(--font-size-medium);font-weight:700}.access-select{border:none!important;padding-right:12px;padding-left:0;font-family:var(--font-gilroy-bold);font-size:var(--font-size-small)}.permission-description{font-size:var(--font-size-small);color:#fff}\n"] }]
75
76
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.SharePopupDataService }, { type: i3.Router }, { type: i4.PlatformLocation }], propDecorators: { closeModal: [{
76
77
  type: Output
77
78
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9pdGluZXJhcmllcy9jb21wb25lbnRzL3NoYXJlLXBvcHVwL3NoYXJlLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvY29tcG9uZW50cy9zaGFyZS1wb3B1cC9zaGFyZS1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBT3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7OztBQVNoRixNQUFNLE9BQU8sbUJBQW1CO0lBaUJwQjtJQUNBO0lBQ0E7SUFDQTtJQW5CQSxVQUFVLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFDcEUsS0FBSyxHQUFVLEtBQUssQ0FBQztJQUNyQixVQUFVLENBQWE7SUFDdkIsU0FBUyxHQUFxQixJQUFJLENBQUM7SUFFbkMsVUFBVSxHQUFHLFlBQVksQ0FBQztJQUMxQixnQkFBZ0IsR0FBRztRQUNqQjtZQUNFLElBQUksRUFBRSxhQUFhO1lBQ25CLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsSUFBSSxFQUFFLE9BQU87WUFDYixNQUFNLEVBQUUsMEJBQTBCLENBQUMscUJBQXFCO1NBQ3pEO0tBQ0YsQ0FBQztJQUVGLFlBQ1UsRUFBZSxFQUNmLHFCQUE0QyxFQUM1QyxNQUFjLEVBQ2QsZ0JBQWtDO1FBSGxDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ3pDLENBQUM7SUFFSixpQkFBaUIsQ0FBQyxXQUFtQjtRQUNyQyxNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtZQUN0RSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVyRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztZQUN0QyxxQkFBcUIsQ0FBQyxTQUFTO1lBQy9CLHFCQUFxQixDQUFDLGdCQUFnQjtZQUN0QyxXQUFXO1NBQ1osQ0FBQyxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxHQUFHLFdBQVcsQ0FBQztRQUN0QyxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDOUIsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsZ0JBQWdCO1NBQ3hDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxLQUFhO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7d0dBOURVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDhGQ2pCaEMsdTRGQWlFQTs7NEZEaERhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDSSxpQkFBaUIsY0FHZixLQUFLO3dLQUdULFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi9fY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IElpY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vX2ludGVyZmFjZS9pY29uJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2hhcmVQb3B1cERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vX3NlcnZpY2VzL3NoYXJlLXBvcHVwLWRhdGEnO1xyXG5pbXBvcnQgeyBJdGluZXJhcnkgfSBmcm9tICcuLi8uLi8uLi8uLi9fbW9kZWxzL0l0aW5lcmFyeSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFBsYXRmb3JtTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJdGluZXJhcmllc1JvdXRlc0VudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9fZW51bXMvSXRlbmFyaWVzUm91dGVzLmVudW0nO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItc2hhcmUtcG9wdXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NoYXJlLXBvcHVwLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9zaGFyZS1wb3B1cC5jb21wb25lbnQuc2NzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hhcmVQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGNsb3NlTW9kYWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBJQ09OUzogSWljb24gPSBJQ09OUztcclxuICBhY2Nlc3NGb3JtITogRm9ybUdyb3VwO1xyXG4gIGl0aW5lcmFyeTogSXRpbmVyYXJ5IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGFjY2Vzc1R5cGUgPSAnUmVzdHJpY3RlZCc7XHJcbiAgcGVvcGxlV2l0aEFjY2VzcyA9IFtcclxuICAgIHtcclxuICAgICAgbmFtZTogJ00gQWxpICh5b3UpJyxcclxuICAgICAgZW1haWw6ICdtYWxpQGdtYWlsLmNvbScsXHJcbiAgICAgIHJvbGU6ICdPd25lcicsXHJcbiAgICAgIGF2YXRhcjogJ2Fzc2V0cy9pbWFnZXMvaW1hZ2U3LmpwZycgLy8gRXhhbXBsZSBhdmF0YXIgVVJMXHJcbiAgICB9XHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgc2hhcmVQb3B1cERhdGFTZXJ2aWNlOiBTaGFyZVBvcHVwRGF0YVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybUxvY2F0aW9uOiBQbGF0Zm9ybUxvY2F0aW9uXHJcbiAgKSB7fVxyXG5cclxuICBjb3B5QnV0dG9uQ2xpY2tlZChpdGluZXJhcnlJZDogc3RyaW5nKSB7XHJcbiAgY29uc3QgYmFzZVVybCA9IGAke3RoaXMucGxhdGZvcm1Mb2NhdGlvbi5wcm90b2NvbH0vLyR7dGhpcy5wbGF0Zm9ybUxvY2F0aW9uLmhvc3RuYW1lfWAgK1xyXG4gICAgICAgICAgICAgICAgICAodGhpcy5wbGF0Zm9ybUxvY2F0aW9uLnBvcnQgPyBgOiR7dGhpcy5wbGF0Zm9ybUxvY2F0aW9uLnBvcnR9YCA6ICcnKTtcclxuXHJcbiAgY29uc3QgdXJsVHJlZSA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoW1xyXG4gICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uSVRJTkVSQVJZLFxyXG4gICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uSVRJTkVSQVJZX0RFVEFJTCxcclxuICAgICAgaXRpbmVyYXJ5SWRcclxuICAgIF0pO1xyXG4gICAgY29uc3QgcmVsYXRpdmVVcmwgPSB0aGlzLnJvdXRlci5zZXJpYWxpemVVcmwodXJsVHJlZSk7XHJcbiAgICBjb25zdCBmdWxsVXJsID0gYmFzZVVybCArIHJlbGF0aXZlVXJsO1xyXG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoZnVsbFVybCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgY29weUxpbmsoKSB7XHJcbiAgICBpZih0aGlzLml0aW5lcmFyeSkge1xyXG4gICAgICB0aGlzLmNvcHlCdXR0b25DbGlja2VkKHRoaXMuaXRpbmVyYXJ5LmlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZU1vZGFsLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hY2Nlc3NGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGFjY2VzczogWydSZXN0cmljdGVkJ10gLy8gZGVmYXVsdCB2YWx1ZVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFjY2Vzc0Zvcm0uZ2V0KCdhY2Nlc3MnKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIHRoaXMucGVyZm9ybUFjdGlvbkJhc2VkT25BY2Nlc3ModmFsdWUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNoYXJlUG9wdXBEYXRhU2VydmljZS5wb3B1cERhdGEkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLml0aW5lcmFyeSA9IGRhdGE7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHBlcmZvcm1BY3Rpb25CYXNlZE9uQWNjZXNzKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuYWNjZXNzVHlwZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNoYXJlLWl0aW5lcmFyeSBtaW4tdy1bMzAwcHhdIFwiPlxyXG4gIDxoMiBjbGFzcz1cInRpdGxlXCI+U2hhcmUgSXRpbmVyYXJ5PC9oMj5cclxuXHJcbiAgPCEtLSBBZGQgUGVvcGxlIC0tPlxyXG4gIDxsaWItc2VhcmNoLWJhciBjbGFzcz1cInNlYXJjaC1maWVsZFwiIFtwbGFjZWhvbGRlclRleHRdPVwiJ1NFQVJDSF9QRU9QTEVfR1JPVVAnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgIFtzZWFyY2hJY29uXT1cIklDT05TWydkYXNoYm9hcmRTZWFyY2gnXVwiPlxyXG4gIDwvbGliLXNlYXJjaC1iYXI+XHJcblxyXG4gIDwhLS0gUGVvcGxlIHdpdGggQWNjZXNzIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJzZWN0aW9uIGZvbnQtW0dpbHJveV0gZm9udC1ib2xkIHRleHQtWzEzLnB4XSBtdC00IG1iLThcIj5cclxuICAgIDxoMyBjbGFzcz1cIm1iLTEgYWNjZXNzLXRpdGxlXCI+UGVvcGxlIHdpdGggQWNjZXNzPC9oMz5cclxuICAgIDxkaXYgY2xhc3M9XCJwZXJzb24gZmxleCBnYXAtMlwiPlxyXG4gICAgICA8aW1nIFtzcmNdPVwicGVvcGxlV2l0aEFjY2Vzc1swXS5hdmF0YXJcIiBhbHQ9XCJhdmF0YXJcIiBjbGFzcz1cImF2YXRhciBvYmplY3QtY292ZXJcIiAvPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mb1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwZXJzb24tbmFtZVwiPnt7IHBlb3BsZVdpdGhBY2Nlc3NbMF0ubmFtZSB9fTwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwZXJzb24tZW1haWxcIj57eyBwZW9wbGVXaXRoQWNjZXNzWzBdLmVtYWlsIH19PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm9sZS10ZXh0IHRleHQtWyM4QjhCOEJdXCI+e3sgcGVvcGxlV2l0aEFjY2Vzc1swXS5yb2xlIH19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBHZW5lcmFsIEFjY2VzcyAtLT5cclxuICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiPlxyXG4gICAgPGgzIGNsYXNzPVwiZ2VuZXJhbC1hY2Nlc3MtdGl0bGUgIGZvbnQtW0dpbHJveV0gbWItMVwiPkdlbmVyYWwgQWNjZXNzPC9oMz5cclxuICAgIDxkaXYgY2xhc3M9XCJhY2Nlc3Mtcm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uIG10LVs3cHhdXCI+XHJcbiAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvcmVzdHJpY3RlZF9pY29uLnBuZ1wiIGNsYXNzPVwiaC1bMzBweF0gdy1bMzBweF0gb2JqZWN0LWNvdmVyIHAtWzZweF0gcm91bmRlZC1mdWxsIGJvcmRlci1bMC42OHB4XSBib3JkZXItd2hpdGVcIi8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiYWNjZXNzRm9ybVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBpbmxpbmUtYmxvY2sgdGV4dC13aGl0ZVwiPlxyXG4gICAgICAgICAgPHNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJhY2Nlc3NcIiBjbGFzcz1cImFjY2Vzcy1zZWxlY3QgYXBwZWFyYW5jZS1ub25lIGJnLXRyYW5zcGFyZW50IGZvY3VzOm91dGxpbmUtbm9uZVwiPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiUmVzdHJpY3RlZFwiPlJlc3RyaWN0ZWQ8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlB1YmxpY1wiPlB1YmxpYzwvb3B0aW9uPlxyXG4gICAgICAgICAgPC9zZWxlY3Q+XHJcblxyXG4gICAgICAgICAgPCEtLSBDdXN0b20gYXJyb3cgaWNvbiAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb2ludGVyLWV2ZW50cy1ub25lIGFic29sdXRlIGluc2V0LXktMCByaWdodC0xIGZsZXggaXRlbXMtY2VudGVyIHBsLTZcIj5cclxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjdcIiBoZWlnaHQ9XCI0XCIgdmlld0JveD1cIjAgMCA3IDRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMuMzUxNTYgMy42MTc2OEw2LjQwMTQ2IDAuNTY3NzgySDAuMzAxNjY4TDMuMzUxNTYgMy42MTc2OFpcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGVybWlzc2lvbi1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjY2Vzc1R5cGUgPT09ICdSZXN0cmljdGVkJ1wiPlxyXG4gICAgICAgICAgICB7eyBcIklUSU5FUkFSWS5SRVNUUklDVEVEX0FDQ0VTU19NRVNTQUdFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAgKm5nSWY9XCJhY2Nlc3NUeXBlID09PSAnUHVibGljJ1wiPlxyXG4gICAgICAgICAgICB7eyBcIklUSU5FUkFSWS5QVUJMSUNfQUNDRVNTX01FU1NBR0VcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gQWN0aW9ucyAtLT5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBnYXAtMTAgbXQtNVwiPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImN1c3RvbS1mbGF0LWJ1dHRvbiBmb250LVtDYWxpc3RvZ2FdXCIgKGNsaWNrKT1cImNvcHlMaW5rKClcIj5cclxuICAgICAge3sgXCJDT01NT04uQ09QWV9MSU5LXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImN1c3RvbS1mbGF0LWJ1dHRvbi1oaWdobGlnaHRlZC1mb250IGZvbnQtW0NhbGlzdG9nYV1cIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxyXG4gICAgICB7eyBcIkNPTU1PTi5ET05FXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9pdGluZXJhcmllcy9jb21wb25lbnRzL3NoYXJlLXBvcHVwL3NoYXJlLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvY29tcG9uZW50cy9zaGFyZS1wb3B1cC9zaGFyZS1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBT3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7Ozs7QUFTaEYsTUFBTSxPQUFPLG1CQUFtQjtJQWlCcEI7SUFDQTtJQUNBO0lBQ0E7SUFuQkEsVUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ3BFLEtBQUssR0FBVSxLQUFLLENBQUM7SUFDckIsVUFBVSxDQUFhO0lBQ3ZCLFNBQVMsR0FBcUIsSUFBSSxDQUFDO0lBRW5DLFVBQVUsR0FBRyxZQUFZLENBQUM7SUFDMUIsZ0JBQWdCLEdBQUc7UUFDakI7WUFDRSxJQUFJLEVBQUUsYUFBYTtZQUNuQixLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLElBQUksRUFBRSxPQUFPO1lBQ2IsTUFBTSxFQUFFLDBCQUEwQixDQUFDLHFCQUFxQjtTQUN6RDtLQUNGLENBQUM7SUFFRixZQUNVLEVBQWUsRUFDZixxQkFBNEMsRUFDNUMsTUFBYyxFQUNkLGdCQUFrQztRQUhsQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN6QyxDQUFDO0lBRUosaUJBQWlCLENBQUMsV0FBbUI7UUFDckMsTUFBTSxPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7WUFDdEUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFckYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7WUFDdEMscUJBQXFCLENBQUMsU0FBUztZQUMvQixxQkFBcUIsQ0FBQyxnQkFBZ0I7WUFDdEMsV0FBVztTQUNaLENBQUMsQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELE1BQU0sT0FBTyxHQUFHLE9BQU8sR0FBRyxXQUFXLENBQUM7UUFDdEMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzlCLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLGdCQUFnQjtTQUN4QyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsS0FBYTtRQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO3dHQTlEVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw4RkNqQmhDLHU0RkFpRUE7OzRGRGhEYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksaUJBQWlCLGNBR2YsS0FBSzt3S0FHVCxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElDT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vX2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBJaWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL19pbnRlcmZhY2UvaWNvbic7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNoYXJlUG9wdXBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9zaGFyZS1wb3B1cC1kYXRhJztcclxuaW1wb3J0IHsgSXRpbmVyYXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vX21vZGVscy9JdGluZXJhcnknO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBQbGF0Zm9ybUxvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vX2VudW1zL0l0ZW5hcmllc1JvdXRlcy5lbnVtJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGliLXNoYXJlLXBvcHVwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaGFyZS1wb3B1cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vc2hhcmUtcG9wdXAuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoYXJlUG9wdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBPdXRwdXQoKSBjbG9zZU1vZGFsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgSUNPTlM6IElpY29uID0gSUNPTlM7XHJcbiAgYWNjZXNzRm9ybSE6IEZvcm1Hcm91cDtcclxuICBpdGluZXJhcnk6IEl0aW5lcmFyeSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBhY2Nlc3NUeXBlID0gJ1Jlc3RyaWN0ZWQnO1xyXG4gIHBlb3BsZVdpdGhBY2Nlc3MgPSBbXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdNIEFsaSAoeW91KScsXHJcbiAgICAgIGVtYWlsOiAnbWFsaUBnbWFpbC5jb20nLFxyXG4gICAgICByb2xlOiAnT3duZXInLFxyXG4gICAgICBhdmF0YXI6ICdhc3NldHMvaW1hZ2VzL2ltYWdlNy5qcGcnIC8vIEV4YW1wbGUgYXZhdGFyIFVSTFxyXG4gICAgfVxyXG4gIF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHNoYXJlUG9wdXBEYXRhU2VydmljZTogU2hhcmVQb3B1cERhdGFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcGxhdGZvcm1Mb2NhdGlvbjogUGxhdGZvcm1Mb2NhdGlvblxyXG4gICkge31cclxuXHJcbiAgY29weUJ1dHRvbkNsaWNrZWQoaXRpbmVyYXJ5SWQ6IHN0cmluZykge1xyXG4gIGNvbnN0IGJhc2VVcmwgPSBgJHt0aGlzLnBsYXRmb3JtTG9jYXRpb24ucHJvdG9jb2x9Ly8ke3RoaXMucGxhdGZvcm1Mb2NhdGlvbi5ob3N0bmFtZX1gICtcclxuICAgICAgICAgICAgICAgICAgKHRoaXMucGxhdGZvcm1Mb2NhdGlvbi5wb3J0ID8gYDoke3RoaXMucGxhdGZvcm1Mb2NhdGlvbi5wb3J0fWAgOiAnJyk7XHJcblxyXG4gIGNvbnN0IHVybFRyZWUgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFtcclxuICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLklUSU5FUkFSWSxcclxuICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLklUSU5FUkFSWV9ERVRBSUwsXHJcbiAgICAgIGl0aW5lcmFyeUlkXHJcbiAgICBdKTtcclxuICAgIGNvbnN0IHJlbGF0aXZlVXJsID0gdGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHVybFRyZWUpO1xyXG4gICAgY29uc3QgZnVsbFVybCA9IGJhc2VVcmwgKyByZWxhdGl2ZVVybDtcclxuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGZ1bGxVcmwpO1xyXG4gIH1cclxuXHJcblxyXG4gIGNvcHlMaW5rKCkge1xyXG4gICAgaWYodGhpcy5pdGluZXJhcnkpIHtcclxuICAgICAgdGhpcy5jb3B5QnV0dG9uQ2xpY2tlZCh0aGlzLml0aW5lcmFyeS5pZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VNb2RhbC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYWNjZXNzRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBhY2Nlc3M6IFsnUmVzdHJpY3RlZCddIC8vIGRlZmF1bHQgdmFsdWVcclxuICAgIH0pO1xyXG4gICAgdGhpcy5hY2Nlc3NGb3JtLmdldCgnYWNjZXNzJyk/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICB0aGlzLnBlcmZvcm1BY3Rpb25CYXNlZE9uQWNjZXNzKHZhbHVlKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zaGFyZVBvcHVwRGF0YVNlcnZpY2UucG9wdXBEYXRhJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgdGhpcy5pdGluZXJhcnkgPSBkYXRhO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwZXJmb3JtQWN0aW9uQmFzZWRPbkFjY2Vzcyh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmFjY2Vzc1R5cGUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzaGFyZS1pdGluZXJhcnkgbWluLXctWzMwMHB4XSBcIj5cclxuICA8aDIgY2xhc3M9XCJ0aXRsZVwiPlNoYXJlIEl0aW5lcmFyeTwvaDI+XHJcblxyXG4gIDwhLS0gQWRkIFBlb3BsZSAtLT5cclxuICA8YXBwLXNlYXJjaC1iYXIgY2xhc3M9XCJzZWFyY2gtZmllbGRcIiBbcGxhY2Vob2xkZXJUZXh0XT1cIidTRUFSQ0hfUEVPUExFX0dST1VQJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICBbc2VhcmNoSWNvbl09XCJJQ09OU1snZGFzaGJvYXJkU2VhcmNoJ11cIj5cclxuICA8L2FwcC1zZWFyY2gtYmFyPlxyXG5cclxuICA8IS0tIFBlb3BsZSB3aXRoIEFjY2VzcyAtLT5cclxuICA8ZGl2IGNsYXNzPVwic2VjdGlvbiBmb250LVtHaWxyb3ldIGZvbnQtYm9sZCB0ZXh0LVsxMy5weF0gbXQtNCBtYi04XCI+XHJcbiAgICA8aDMgY2xhc3M9XCJtYi0xIGFjY2Vzcy10aXRsZVwiPlBlb3BsZSB3aXRoIEFjY2VzczwvaDM+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGVyc29uIGZsZXggZ2FwLTJcIj5cclxuICAgICAgPGltZyBbc3JjXT1cInBlb3BsZVdpdGhBY2Nlc3NbMF0uYXZhdGFyXCIgYWx0PVwiYXZhdGFyXCIgY2xhc3M9XCJhdmF0YXIgb2JqZWN0LWNvdmVyXCIgLz5cclxuICAgICAgPGRpdiBjbGFzcz1cImluZm9cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGVyc29uLW5hbWVcIj57eyBwZW9wbGVXaXRoQWNjZXNzWzBdLm5hbWUgfX08L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGVyc29uLWVtYWlsXCI+e3sgcGVvcGxlV2l0aEFjY2Vzc1swXS5lbWFpbCB9fTwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvbGUtdGV4dCB0ZXh0LVsjOEI4QjhCXVwiPnt7IHBlb3BsZVdpdGhBY2Nlc3NbMF0ucm9sZSB9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gR2VuZXJhbCBBY2Nlc3MgLS0+XHJcbiAgPGRpdiBjbGFzcz1cInNlY3Rpb25cIj5cclxuICAgIDxoMyBjbGFzcz1cImdlbmVyYWwtYWNjZXNzLXRpdGxlICBmb250LVtHaWxyb3ldIG1iLTFcIj5HZW5lcmFsIEFjY2VzczwvaDM+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWNjZXNzLXJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvbiBtdC1bN3B4XVwiPlxyXG4gICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ljb25zL3Jlc3RyaWN0ZWRfaWNvbi5wbmdcIiBjbGFzcz1cImgtWzMwcHhdIHctWzMwcHhdIG9iamVjdC1jb3ZlciBwLVs2cHhdIHJvdW5kZWQtZnVsbCBib3JkZXItWzAuNjhweF0gYm9yZGVyLXdoaXRlXCIvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImFjY2Vzc0Zvcm1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgaW5saW5lLWJsb2NrIHRleHQtd2hpdGVcIj5cclxuICAgICAgICAgIDxzZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiYWNjZXNzXCIgY2xhc3M9XCJhY2Nlc3Mtc2VsZWN0IGFwcGVhcmFuY2Utbm9uZSBiZy10cmFuc3BhcmVudCBmb2N1czpvdXRsaW5lLW5vbmVcIj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlJlc3RyaWN0ZWRcIj5SZXN0cmljdGVkPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJQdWJsaWNcIj5QdWJsaWM8L29wdGlvbj5cclxuICAgICAgICAgIDwvc2VsZWN0PlxyXG5cclxuICAgICAgICAgIDwhLS0gQ3VzdG9tIGFycm93IGljb24gLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSBpbnNldC15LTAgcmlnaHQtMSBmbGV4IGl0ZW1zLWNlbnRlciBwbC02XCI+XHJcbiAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI3XCIgaGVpZ2h0PVwiNFwiIHZpZXdCb3g9XCIwIDAgNyA0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGggZD1cIk0zLjM1MTU2IDMuNjE3NjhMNi40MDE0NiAwLjU2Nzc4MkgwLjMwMTY2OEwzLjM1MTU2IDMuNjE3NjhaXCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBlcm1pc3Npb24tZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY2Nlc3NUeXBlID09PSAnUmVzdHJpY3RlZCdcIj5cclxuICAgICAgICAgICAge3sgXCJJVElORVJBUlkuUkVTVFJJQ1RFRF9BQ0NFU1NfTUVTU0FHRVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgICpuZ0lmPVwiYWNjZXNzVHlwZSA9PT0gJ1B1YmxpYydcIj5cclxuICAgICAgICAgICAge3sgXCJJVElORVJBUlkuUFVCTElDX0FDQ0VTU19NRVNTQUdFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIEFjdGlvbnMgLS0+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgZ2FwLTEwIG10LTVcIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJjdXN0b20tZmxhdC1idXR0b24gZm9udC1bQ2FsaXN0b2dhXVwiIChjbGljayk9XCJjb3B5TGluaygpXCI+XHJcbiAgICAgIHt7IFwiQ09NTU9OLkNPUFlfTElOS1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJjdXN0b20tZmxhdC1idXR0b24taGlnaGxpZ2h0ZWQtZm9udCBmb250LVtDYWxpc3RvZ2FdXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cclxuICAgICAge3sgXCJDT01NT04uRE9ORVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -5,7 +5,8 @@ import * as i1 from "@angular/forms";
5
5
  import * as i2 from "@angular/common";
6
6
  import * as i3 from "@naniteninja/ionic-lib";
7
7
  import * as i4 from "../../../../shared/header/header.component";
8
- import * as i5 from "@ngx-translate/core";
8
+ import * as i5 from "../../../../shared/input-field-select/input-field-select.component";
9
+ import * as i6 from "@ngx-translate/core";
9
10
  export class AdvancedFiltersComponent {
10
11
  fb;
11
12
  location;
@@ -141,10 +142,10 @@ export class AdvancedFiltersComponent {
141
142
  this.location.back();
142
143
  }
143
144
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AdvancedFiltersComponent, deps: [{ token: i1.FormBuilder }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Component });
144
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AdvancedFiltersComponent, selector: "app-advanced-filters", ngImport: i0, template: "<div class=\"px-4\">\r\n <app-header heading=\"Advanced Filters\" (firstButton)=\"back()\"></app-header>\r\n</div>\r\n<div class=\"px-5 mt-4 mb-[5rem]\">\r\n <form [formGroup]=\"form\" (ngSubmit)=\"submitForm()\">\r\n <p class=\"normal-text-md normal-text-gray mb-[26px]\">Create and apply custom advance filters or select popular preset advance filters.</p>\r\n <h5 class=\"subtitle mb-[12px]\">Filters</h5>\r\n <div class=\"flex items-center mb-2\">\r\n <lib-input-field type=\"text\" label=\"Filter Name\" style=\"width: calc(100% - 80px) ;\" formControlName=\"filterName\">\r\n </lib-input-field>\r\n <button class=\"flex row items-center gap-1 mt-2 ms-1 cursor-pointer font-purple text-nowrap\" type=\"submit\">\r\n <img [ngSrc]=\"ICONS['plus']\" height=\"14\" width=\"15\" alt=\"lib-icon\" />\r\n <span class=\"shadow normal-text-md\">\r\n Add filter\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"flex gap-2\">\r\n <div class=\"w-[50%]\">\r\n <lib-input-field-select lib-input-field-select-component formControlName=\"filterField\" optionLabel=\"name\"\r\n optionValue=\"value\" label=\"Field\" [options]=\"fields\">\r\n </lib-input-field-select>\r\n </div>\r\n <div class=\"w-[50%]\">\r\n <lib-input-field-select lib-input-field-select-component formControlName=\"filterCondition\"\r\n [options]=\"conditions\" optionLabel=\"name\" optionValue=\"value\" label=\"Condition\">\r\n </lib-input-field-select>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"divider mt-4\">\r\n </div>\r\n <div class=\"mt-[20px]\">\r\n <div *ngFor=\"let filter of defaultFilterList\" class=\"flex row justify-between items-center mb-[32px]\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"normal-text-md \" [class]=\"selectedFilterId !== filter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">{{ filter.name }}</p>\r\n </div>\r\n <div class=\"flex row gap-[14px]\">\r\n <p class=\"normal-text-sm\">Default</p>\r\n <img *ngIf=\"selectedFilterId !== filter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n <img *ngIf=\"selectedFilterId === filter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let userFilter of userFilterList\" class=\"flex row justify-between mb-[32px] items-center\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"text-nowrap normal-text-md\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\" [class]=\"selectedFilterId !== userFilter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">\r\n <span class=\"truncate inline-block align-bottom\" style=\"max-width: 4rem;\">\r\n {{ userFilter.name }}\r\n </span>\r\n |\r\n {{ userFilter.sort?.field }}, {{ userFilter.sort?.direction == \"Ascending\" ? \"Sort A-Z\" : \"Sort Z-A\" }}</p>\r\n <!-- <p class=\"text-white\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\">{{ userFilter.name }} </p> -->\r\n </div>\r\n <div class=\"flex row gap-3\">\r\n <img [src]=\"ICONS['deletePink']\" class=\"lib-icon\" width=\"9.41\" height=\"12.29\" (click)=\"removeFilter(userFilter)\">\r\n <img [src]=\"ICONS['editPink']\" class=\"lib-icon\" width=\"12.31\" height=\"12.31\">\r\n <img *ngIf=\"selectedFilterId !== userFilter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n <img *ngIf=\"selectedFilterId === userFilter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"fixed w-[90%] bottom-[1rem] left-[5%]\">\r\n <div class=\"w-100 center\">\r\n <lib-primary-btn>{{\"ITINERARY.APPLY\" | translate }}</lib-primary-btn>\r\n </div>\r\n</div>\r\n", styles: [".bg-shadow{text-shadow:2px 2px 10px red}.lib-icon{height:13px!important}.subtitle{font-weight:500;font-size:13.13px;line-height:160%;color:#fff}lib-input-field-select ::ng-deep path{color:#fe3c72}button span.shadow{text-shadow:var(--lib-primary-button-text-shadow)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.PrimaryBtnComponent, selector: "lib-primary-btn", inputs: ["hoverOutline", "disabled", "type", "form", "label", "showArrowIcon", "disableTextShadow", "loading$"] }, { kind: "directive", type: i2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "component", type: i4.HeaderComponent, selector: "app-header", inputs: ["heading", "headerRightIcon", "titleIcon", "cssClass", "headerSuffixTemplate"], outputs: ["firstButton", "titleIconClick"] }, { kind: "directive", type: i3.LazyImageDirective, selector: "img" }, { kind: "component", type: i3.InputFieldSelectComponent, selector: "lib-input-field-select", inputs: ["multiple", "label", "placeholder", "optionLabel", "optionValue", "options", "optionsTemplates", "filterBy", "enableFilter", "readonly", "disabled", "showClear", "editable", "withTemplate", "enableTranslation"], outputs: ["valueChange"] }, { kind: "component", type: i3.InputFieldComponent, selector: "lib-input-field,[lib-input-field]", inputs: ["name", "autocomplete", "label", "placeholder", "type", "readonly", "focus", "enableGoogleAddress", "locationAutocompleteConfig", "defaultLocation", "mask", "prefix", "suffix", "maxLength", "value", "address", "textarea", "resize", "counter", "patterns", "trimWhiteSpace", "disabled"], outputs: ["mapError", "locationChange", "keyDown", "onBlur"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
145
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AdvancedFiltersComponent, selector: "app-advanced-filters", ngImport: i0, template: "<div class=\"px-4\">\r\n <app-header heading=\"Advanced Filters\" (firstButton)=\"back()\"></app-header>\r\n</div>\r\n<div class=\"px-5 mt-4 mb-[5rem]\">\r\n <form [formGroup]=\"form\" (ngSubmit)=\"submitForm()\">\r\n <p class=\"normal-text-md normal-text-gray mb-[26px]\">Create and apply custom advance filters or select popular preset advance filters.</p>\r\n <h5 class=\"subtitle mb-[12px]\">Filters</h5>\r\n <div class=\"flex items-center mb-2\">\r\n <lib-input-field type=\"text\" label=\"Filter Name\" style=\"width: calc(100% - 80px) ;\" formControlName=\"filterName\">\r\n </lib-input-field>\r\n <button class=\"flex row items-center gap-1 mt-2 ms-1 cursor-pointer font-purple text-nowrap\" type=\"submit\">\r\n <img [ngSrc]=\"ICONS['plus']\" height=\"14\" width=\"15\" alt=\"lib-icon\" />\r\n <span class=\"shadow normal-text-md\">\r\n Add filter\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"flex gap-2\">\r\n <div class=\"w-[50%]\">\r\n <app-input-field-select formControlName=\"filterField\" optionLabel=\"name\"\r\n optionValue=\"value\" label=\"Field\" [options]=\"fields\">\r\n </app-input-field-select>\r\n </div>\r\n <div class=\"w-[50%]\">\r\n <app-input-field-select formControlName=\"filterCondition\"\r\n [options]=\"conditions\" optionLabel=\"name\" optionValue=\"value\" label=\"Condition\">\r\n </app-input-field-select>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"divider mt-4\">\r\n </div>\r\n <div class=\"mt-[20px]\">\r\n <div *ngFor=\"let filter of defaultFilterList\" class=\"flex row justify-between items-center mb-[32px]\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"normal-text-md \" [class]=\"selectedFilterId !== filter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">{{ filter.name }}</p>\r\n </div>\r\n <div class=\"flex row gap-[14px]\">\r\n <p class=\"normal-text-sm\">Default</p>\r\n <img *ngIf=\"selectedFilterId !== filter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n <img *ngIf=\"selectedFilterId === filter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let userFilter of userFilterList\" class=\"flex row justify-between mb-[32px] items-center\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"text-nowrap normal-text-md\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\" [class]=\"selectedFilterId !== userFilter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">\r\n <span class=\"truncate inline-block align-bottom\" style=\"max-width: 4rem;\">\r\n {{ userFilter.name }}\r\n </span>\r\n |\r\n {{ userFilter.sort?.field }}, {{ userFilter.sort?.direction == \"Ascending\" ? \"Sort A-Z\" : \"Sort Z-A\" }}</p>\r\n <!-- <p class=\"text-white\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\">{{ userFilter.name }} </p> -->\r\n </div>\r\n <div class=\"flex row gap-3\">\r\n <img [src]=\"ICONS['deletePink']\" class=\"lib-icon\" width=\"9.41\" height=\"12.29\" (click)=\"removeFilter(userFilter)\">\r\n <img [src]=\"ICONS['editPink']\" class=\"lib-icon\" width=\"12.31\" height=\"12.31\">\r\n <img *ngIf=\"selectedFilterId !== userFilter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n <img *ngIf=\"selectedFilterId === userFilter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"fixed w-[90%] bottom-[1rem] left-[5%]\">\r\n <div class=\"w-100 center\">\r\n <lib-primary-btn>{{\"ITINERARY.APPLY\" | translate }}</lib-primary-btn>\r\n </div>\r\n</div>\r\n", styles: [".bg-shadow{text-shadow:2px 2px 10px red}.lib-icon{height:13px!important}.subtitle{font-weight:500;font-size:13.13px;line-height:160%;color:#fff}button span.shadow{text-shadow:var(--lib-primary-button-text-shadow)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.PrimaryBtnComponent, selector: "lib-primary-btn", inputs: ["hoverOutline", "disabled", "type", "form", "label", "showArrowIcon", "disableTextShadow", "loading$"] }, { kind: "directive", type: i2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "component", type: i4.HeaderComponent, selector: "app-header", inputs: ["heading", "headerRightIcon", "titleIcon", "cssClass", "headerSuffixTemplate"], outputs: ["firstButton", "titleIconClick"] }, { kind: "component", type: i5.InputFieldSelectComponent, selector: "app-input-field-select", inputs: ["multiple", "label", "placeholder", "optionLabel", "optionValue", "options", "optionsTemplates", "filterBy", "enableFilter", "readonly", "disabled", "showClear", "editable", "withTemplate", "enableTranslation", "class"], outputs: ["valueChange"] }, { kind: "directive", type: i3.LazyImageDirective, selector: "img" }, { kind: "component", type: i3.InputFieldComponent, selector: "lib-input-field,[lib-input-field]", inputs: ["name", "autocomplete", "label", "placeholder", "type", "readonly", "focus", "enableGoogleAddress", "locationAutocompleteConfig", "defaultLocation", "mask", "prefix", "suffix", "maxLength", "value", "address", "textarea", "resize", "counter", "patterns", "trimWhiteSpace", "disabled"], outputs: ["mapError", "locationChange", "keyDown", "onBlur"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
145
146
  }
146
147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AdvancedFiltersComponent, decorators: [{
147
148
  type: Component,
148
- args: [{ selector: 'app-advanced-filters', standalone: false, template: "<div class=\"px-4\">\r\n <app-header heading=\"Advanced Filters\" (firstButton)=\"back()\"></app-header>\r\n</div>\r\n<div class=\"px-5 mt-4 mb-[5rem]\">\r\n <form [formGroup]=\"form\" (ngSubmit)=\"submitForm()\">\r\n <p class=\"normal-text-md normal-text-gray mb-[26px]\">Create and apply custom advance filters or select popular preset advance filters.</p>\r\n <h5 class=\"subtitle mb-[12px]\">Filters</h5>\r\n <div class=\"flex items-center mb-2\">\r\n <lib-input-field type=\"text\" label=\"Filter Name\" style=\"width: calc(100% - 80px) ;\" formControlName=\"filterName\">\r\n </lib-input-field>\r\n <button class=\"flex row items-center gap-1 mt-2 ms-1 cursor-pointer font-purple text-nowrap\" type=\"submit\">\r\n <img [ngSrc]=\"ICONS['plus']\" height=\"14\" width=\"15\" alt=\"lib-icon\" />\r\n <span class=\"shadow normal-text-md\">\r\n Add filter\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"flex gap-2\">\r\n <div class=\"w-[50%]\">\r\n <lib-input-field-select lib-input-field-select-component formControlName=\"filterField\" optionLabel=\"name\"\r\n optionValue=\"value\" label=\"Field\" [options]=\"fields\">\r\n </lib-input-field-select>\r\n </div>\r\n <div class=\"w-[50%]\">\r\n <lib-input-field-select lib-input-field-select-component formControlName=\"filterCondition\"\r\n [options]=\"conditions\" optionLabel=\"name\" optionValue=\"value\" label=\"Condition\">\r\n </lib-input-field-select>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"divider mt-4\">\r\n </div>\r\n <div class=\"mt-[20px]\">\r\n <div *ngFor=\"let filter of defaultFilterList\" class=\"flex row justify-between items-center mb-[32px]\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"normal-text-md \" [class]=\"selectedFilterId !== filter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">{{ filter.name }}</p>\r\n </div>\r\n <div class=\"flex row gap-[14px]\">\r\n <p class=\"normal-text-sm\">Default</p>\r\n <img *ngIf=\"selectedFilterId !== filter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n <img *ngIf=\"selectedFilterId === filter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let userFilter of userFilterList\" class=\"flex row justify-between mb-[32px] items-center\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"text-nowrap normal-text-md\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\" [class]=\"selectedFilterId !== userFilter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">\r\n <span class=\"truncate inline-block align-bottom\" style=\"max-width: 4rem;\">\r\n {{ userFilter.name }}\r\n </span>\r\n |\r\n {{ userFilter.sort?.field }}, {{ userFilter.sort?.direction == \"Ascending\" ? \"Sort A-Z\" : \"Sort Z-A\" }}</p>\r\n <!-- <p class=\"text-white\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\">{{ userFilter.name }} </p> -->\r\n </div>\r\n <div class=\"flex row gap-3\">\r\n <img [src]=\"ICONS['deletePink']\" class=\"lib-icon\" width=\"9.41\" height=\"12.29\" (click)=\"removeFilter(userFilter)\">\r\n <img [src]=\"ICONS['editPink']\" class=\"lib-icon\" width=\"12.31\" height=\"12.31\">\r\n <img *ngIf=\"selectedFilterId !== userFilter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n <img *ngIf=\"selectedFilterId === userFilter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"fixed w-[90%] bottom-[1rem] left-[5%]\">\r\n <div class=\"w-100 center\">\r\n <lib-primary-btn>{{\"ITINERARY.APPLY\" | translate }}</lib-primary-btn>\r\n </div>\r\n</div>\r\n", styles: [".bg-shadow{text-shadow:2px 2px 10px red}.lib-icon{height:13px!important}.subtitle{font-weight:500;font-size:13.13px;line-height:160%;color:#fff}lib-input-field-select ::ng-deep path{color:#fe3c72}button span.shadow{text-shadow:var(--lib-primary-button-text-shadow)}\n"] }]
149
+ args: [{ selector: 'app-advanced-filters', standalone: false, template: "<div class=\"px-4\">\r\n <app-header heading=\"Advanced Filters\" (firstButton)=\"back()\"></app-header>\r\n</div>\r\n<div class=\"px-5 mt-4 mb-[5rem]\">\r\n <form [formGroup]=\"form\" (ngSubmit)=\"submitForm()\">\r\n <p class=\"normal-text-md normal-text-gray mb-[26px]\">Create and apply custom advance filters or select popular preset advance filters.</p>\r\n <h5 class=\"subtitle mb-[12px]\">Filters</h5>\r\n <div class=\"flex items-center mb-2\">\r\n <lib-input-field type=\"text\" label=\"Filter Name\" style=\"width: calc(100% - 80px) ;\" formControlName=\"filterName\">\r\n </lib-input-field>\r\n <button class=\"flex row items-center gap-1 mt-2 ms-1 cursor-pointer font-purple text-nowrap\" type=\"submit\">\r\n <img [ngSrc]=\"ICONS['plus']\" height=\"14\" width=\"15\" alt=\"lib-icon\" />\r\n <span class=\"shadow normal-text-md\">\r\n Add filter\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"flex gap-2\">\r\n <div class=\"w-[50%]\">\r\n <app-input-field-select formControlName=\"filterField\" optionLabel=\"name\"\r\n optionValue=\"value\" label=\"Field\" [options]=\"fields\">\r\n </app-input-field-select>\r\n </div>\r\n <div class=\"w-[50%]\">\r\n <app-input-field-select formControlName=\"filterCondition\"\r\n [options]=\"conditions\" optionLabel=\"name\" optionValue=\"value\" label=\"Condition\">\r\n </app-input-field-select>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"divider mt-4\">\r\n </div>\r\n <div class=\"mt-[20px]\">\r\n <div *ngFor=\"let filter of defaultFilterList\" class=\"flex row justify-between items-center mb-[32px]\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"normal-text-md \" [class]=\"selectedFilterId !== filter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">{{ filter.name }}</p>\r\n </div>\r\n <div class=\"flex row gap-[14px]\">\r\n <p class=\"normal-text-sm\">Default</p>\r\n <img *ngIf=\"selectedFilterId !== filter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n <img *ngIf=\"selectedFilterId === filter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let userFilter of userFilterList\" class=\"flex row justify-between mb-[32px] items-center\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"text-nowrap normal-text-md\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\" [class]=\"selectedFilterId !== userFilter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">\r\n <span class=\"truncate inline-block align-bottom\" style=\"max-width: 4rem;\">\r\n {{ userFilter.name }}\r\n </span>\r\n |\r\n {{ userFilter.sort?.field }}, {{ userFilter.sort?.direction == \"Ascending\" ? \"Sort A-Z\" : \"Sort Z-A\" }}</p>\r\n <!-- <p class=\"text-white\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\">{{ userFilter.name }} </p> -->\r\n </div>\r\n <div class=\"flex row gap-3\">\r\n <img [src]=\"ICONS['deletePink']\" class=\"lib-icon\" width=\"9.41\" height=\"12.29\" (click)=\"removeFilter(userFilter)\">\r\n <img [src]=\"ICONS['editPink']\" class=\"lib-icon\" width=\"12.31\" height=\"12.31\">\r\n <img *ngIf=\"selectedFilterId !== userFilter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n <img *ngIf=\"selectedFilterId === userFilter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"fixed w-[90%] bottom-[1rem] left-[5%]\">\r\n <div class=\"w-100 center\">\r\n <lib-primary-btn>{{\"ITINERARY.APPLY\" | translate }}</lib-primary-btn>\r\n </div>\r\n</div>\r\n", styles: [".bg-shadow{text-shadow:2px 2px 10px red}.lib-icon{height:13px!important}.subtitle{font-weight:500;font-size:13.13px;line-height:160%;color:#fff}button span.shadow{text-shadow:var(--lib-primary-button-text-shadow)}\n"] }]
149
150
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.Location }] });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2FkdmFuY2VkLWZpbHRlcnMvYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2FkdmFuY2VkLWZpbHRlcnMvYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7OztBQVd6RCxNQUFNLE9BQU8sd0JBQXdCO0lBSWY7SUFBeUI7SUFIN0MsSUFBSSxDQUFZO0lBQ2hCLFdBQVcsQ0FBcUI7SUFFaEMsWUFBb0IsRUFBZSxFQUFVLFFBQWtCO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQzdELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ25CLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztZQUNwRCxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sR0FBRztRQUNQLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO1FBQzVCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO1FBQzdCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO0tBQy9CLENBQUM7SUFDRixVQUFVLEdBQUc7UUFDWCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtRQUNoQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtLQUNqQyxDQUFDO0lBRUYsS0FBSyxHQUFVLEtBQUssQ0FBQztJQUVyQixTQUFTLEdBQTJCO1FBQ2xDO1lBQ0UsS0FBSyxFQUFFLE9BQU87WUFDZCxLQUFLLEVBQUUsQ0FBQztZQUNSLFFBQVEsRUFBRSxJQUFJO1NBQ2Y7S0FDRixDQUFDO0lBQ0YsaUJBQWlCLEdBQXdCO1FBQ3ZDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtRQUNsRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUU7UUFDakUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFO1FBQ2pFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRTtLQUNsRSxDQUFDO0lBQ0YsY0FBYyxHQUF3QjtRQUNwQztZQUNFLElBQUksRUFBRSwwQkFBMEI7WUFDaEMsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixjQUFjLEVBQUUsV0FBVztZQUMzQixXQUFXLEVBQUU7Z0JBQ1g7b0JBQ0UsZUFBZSxFQUFFLE1BQU07b0JBQ3ZCLFlBQVksRUFBRSxVQUFVO29CQUN4QixNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7aUJBQ2pCO2FBQ0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLE1BQU07Z0JBQ2IsU0FBUyxFQUFFLFdBQVc7YUFDdkI7WUFDRCxLQUFLLEVBQUUsQ0FBQztTQUNUO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsNENBQTRDO1lBQ2xELG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsY0FBYyxFQUFFLFdBQVc7WUFDM0IsV0FBVyxFQUFFO2dCQUNYO29CQUNFLGVBQWUsRUFBRSxZQUFZO29CQUM3QixZQUFZLEVBQUUsUUFBUTtvQkFDdEIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO2lCQUNmO2dCQUNEO29CQUNFLGVBQWUsRUFBRSxRQUFRO29CQUN6QixZQUFZLEVBQUUsYUFBYTtvQkFDM0IsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO2lCQUNoQjthQUNGO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxPQUFPO2dCQUNkLFNBQVMsRUFBRSxZQUFZO2FBQ3hCO1lBQ0QsS0FBSyxFQUFFLENBQUM7U0FDVDtLQUNGLENBQUM7SUFFRixnQkFBZ0IsR0FBVyxFQUFFLENBQUM7SUFFOUIsTUFBTSxDQUFDLEVBQVU7SUFFakIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWEsRUFBRSxLQUF3QztRQUN0RSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUNELGdCQUFnQixDQUFDLElBQVksRUFBRSxLQUF3QztRQUNyRSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDN0QsQ0FBQztJQUVELG9CQUFvQixDQUFDLFNBQWlCLEVBQUU7UUFDdEMsTUFBTSxLQUFLLEdBQUcsZ0VBQWdFLENBQUM7UUFDL0UsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDbEU7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVO1lBQUUsT0FBTztRQUMxQyxNQUFNLGFBQWEsR0FBc0I7WUFDdkMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsSUFBSSxFQUFFO1lBQ3hDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUNoRCxjQUFjLEVBQUUsV0FBVztZQUMzQixXQUFXLEVBQUU7Z0JBQ1g7b0JBQ0UsZUFBZSxFQUFFLE1BQU07b0JBQ3ZCLFlBQVksRUFBRSxVQUFVO29CQUN4QixNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7aUJBQ2pCO2FBQ0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzlFLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxlQUFlLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVk7YUFDakY7WUFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNO1NBQ2xDLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsU0FBUyxDQUFDLFVBQTZCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0UsZUFBZSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxTQUFTLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUN4RSxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQzlCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFDRCxZQUFZLENBQUMsVUFBNkI7UUFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FDOUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEtBQUssVUFBVSxDQUFDLG1CQUFtQixDQUN4RSxDQUFDO0lBQ0osQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzt3R0E1SVUsd0JBQXdCOzRGQUF4Qix3QkFBd0IsNERDYnJDLCt0SUFzRUE7OzRGRHpEYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksc0JBQXNCLGNBR3BCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWx0ZXJEYXRhUmVxdWVzdCwgU2VsZWN0T3B0aW9uIH0gZnJvbSAnQG5hbml0ZW5pbmphL2lvbmljLWxpYic7XHJcbmltcG9ydCB7IElDT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vX2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJaWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL19pbnRlcmZhY2UvaWNvbic7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtYWR2YW5jZWQtZmlsdGVycycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQuY3NzJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZEZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGZvcm06IEZvcm1Hcm91cDtcclxuICBmaWx0ZXJXaWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24pIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBmaWx0ZXJGaWVsZDogW251bGxdLFxyXG4gICAgICBmaWx0ZXJDb25kaXRpb246IFt0aGlzLmNvbmRpdGlvbnNbMF0/LnZhbHVlIHx8IG51bGxdLFxyXG4gICAgICBmaWx0ZXJOYW1lOiBbXCJcIl0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpZWxkcyA9IFtcclxuICAgIHsgbmFtZTogJ05hbWUnLCB2YWx1ZTogJzEnIH0sXHJcbiAgICB7IG5hbWU6ICdUaXRsZScsIHZhbHVlOiAnMicgfSxcclxuICAgIHsgbmFtZTogJ1Vwdm90ZScsIHZhbHVlOiAnMycgfVxyXG4gIF07XHJcbiAgY29uZGl0aW9ucyA9IFtcclxuICAgIHsgbmFtZTogJ1NvcnQgQS1aJywgdmFsdWU6ICcxJyB9LFxyXG4gICAgeyBuYW1lOiAnU29ydCBaLUEnLCB2YWx1ZTogJzInIH1cclxuICBdO1xyXG5cclxuICBJQ09OUzogSWljb24gPSBJQ09OUztcclxuXHJcbiAgZmlsdGVyc3NzOiBTZWxlY3RPcHRpb248bnVtYmVyPltdID0gW1xyXG4gICAge1xyXG4gICAgICBsYWJlbDogJ0hlbGxvJyxcclxuICAgICAgdmFsdWU6IDIsXHJcbiAgICAgIHNlbGVjdGVkOiB0cnVlLFxyXG4gICAgfSxcclxuICBdO1xyXG4gIGRlZmF1bHRGaWx0ZXJMaXN0OiBGaWx0ZXJEYXRhUmVxdWVzdFtdID0gW1xyXG4gICAgeyBuYW1lOiAnQmVzdCcsIHByb2plY3RHcmlkRmlsdGVySWQ6ICdkZWZhdWx0MScsIHVzZXJGaWx0ZXJzOiBbXSB9LFxyXG4gICAgeyBuYW1lOiBcIkhvdFwiLCB1c2VyRmlsdGVyczogW10sIHByb2plY3RHcmlkRmlsdGVySWQ6IFwiZGVmYXVsdDJcIiB9LFxyXG4gICAgeyBuYW1lOiBcIlRvcFwiLCB1c2VyRmlsdGVyczogW10sIHByb2plY3RHcmlkRmlsdGVySWQ6IFwiZGVmYXVsdDNcIiB9LFxyXG4gICAgeyBuYW1lOiBcIk5ld1wiLCB1c2VyRmlsdGVyczogW10sIHByb2plY3RHcmlkRmlsdGVySWQ6IFwiZGVmYXVsdDRcIiB9LFxyXG4gIF07XHJcbiAgdXNlckZpbHRlckxpc3Q6IEZpbHRlckRhdGFSZXF1ZXN0W10gPSBbXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdGaWx0ZXIgYnkgTmFtZSBBc2NlbmRpbmcnLFxyXG4gICAgICBwcm9qZWN0R3JpZEZpbHRlcklkOiAnMTIzJyxcclxuICAgICAgY29sbGVjdGlvbk5hbWU6ICdFbXBsb3llZXMnLFxyXG4gICAgICB1c2VyRmlsdGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHB1YmxpY0ZpZWxkTmFtZTogJ05hbWUnLFxyXG4gICAgICAgICAgb3BlcmF0b3JUeXBlOiAnQ29udGFpbnMnLFxyXG4gICAgICAgICAgdmFsdWVzOiBbJ0pvaG4nXSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBzb3J0OiB7XHJcbiAgICAgICAgZmllbGQ6ICdOYW1lJyxcclxuICAgICAgICBkaXJlY3Rpb246ICdBc2NlbmRpbmcnLFxyXG4gICAgICB9LFxyXG4gICAgICBvcmRlcjogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdGaWx0ZXIgYnkgRGVwYXJ0bWVudCBhbmQgU2FsYXJ5IERlc2NlbmRpbmcnLFxyXG4gICAgICBwcm9qZWN0R3JpZEZpbHRlcklkOiAnNDU2JyxcclxuICAgICAgY29sbGVjdGlvbk5hbWU6ICdFbXBsb3llZXMnLFxyXG4gICAgICB1c2VyRmlsdGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHB1YmxpY0ZpZWxkTmFtZTogJ0RlcGFydG1lbnQnLFxyXG4gICAgICAgICAgb3BlcmF0b3JUeXBlOiAnRXF1YWxzJyxcclxuICAgICAgICAgIHZhbHVlczogWydJVCddLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHVibGljRmllbGROYW1lOiAnU2FsYXJ5JyxcclxuICAgICAgICAgIG9wZXJhdG9yVHlwZTogJ0dyZWF0ZXJUaGFuJyxcclxuICAgICAgICAgIHZhbHVlczogWzUwMDAwXSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBzb3J0OiB7XHJcbiAgICAgICAgZmllbGQ6ICdUaXRsZScsXHJcbiAgICAgICAgZGlyZWN0aW9uOiAnRGVzY2VuZGluZycsXHJcbiAgICAgIH0sXHJcbiAgICAgIG9yZGVyOiAyLFxyXG4gICAgfSxcclxuICBdO1xyXG5cclxuICBzZWxlY3RlZEZpbHRlcklkOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgc2VhcmNoKF9lOiBzdHJpbmcpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBnZXROYW1lRnJvbVZhbHVlKHZhbHVlOiBzdHJpbmcsIGFycmF5OiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W10pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGFycmF5LmZpbmQoaXRlbSA9PiBpdGVtLnZhbHVlID09PSB2YWx1ZSk/Lm5hbWUgfHwgJyc7XHJcbiAgfVxyXG4gIGdldFZhbHVlRnJvbU5hbWUobmFtZTogc3RyaW5nLCBhcnJheTogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBhcnJheS5maW5kKGl0ZW0gPT4gaXRlbS5uYW1lID09PSBuYW1lKT8udmFsdWUgfHwgJyc7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZVJhbmRvbVN0cmluZyhsZW5ndGg6IG51bWJlciA9IDE2KTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGNoYXJzID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5JztcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcclxuICAgICAgcmVzdWx0ICs9IGNoYXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFycy5sZW5ndGgpKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRGb3JtKCkge1xyXG4gICAgaWYgKCF0aGlzLmZvcm0/LnZhbHVlPy5maWx0ZXJOYW1lKSByZXR1cm47XHJcbiAgICBjb25zdCBuZXdVc2VyRmlsdGVyOiBGaWx0ZXJEYXRhUmVxdWVzdCA9IHtcclxuICAgICAgbmFtZTogdGhpcy5mb3JtPy52YWx1ZT8uZmlsdGVyTmFtZSA/PyAnJyxcclxuICAgICAgcHJvamVjdEdyaWRGaWx0ZXJJZDogdGhpcy5nZW5lcmF0ZVJhbmRvbVN0cmluZygpLFxyXG4gICAgICBjb2xsZWN0aW9uTmFtZTogJ0VtcGxveWVlcycsXHJcbiAgICAgIHVzZXJGaWx0ZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHVibGljRmllbGROYW1lOiAnTmFtZScsXHJcbiAgICAgICAgICBvcGVyYXRvclR5cGU6ICdDb250YWlucycsXHJcbiAgICAgICAgICB2YWx1ZXM6IFsnSm9obiddLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIHNvcnQ6IHtcclxuICAgICAgICBmaWVsZDogdGhpcy5nZXROYW1lRnJvbVZhbHVlKHRoaXMuZm9ybT8udmFsdWU/LmZpbHRlckZpZWxkID8/ICcnLCB0aGlzLmZpZWxkcyksXHJcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmZvcm0/LnZhbHVlPy5maWx0ZXJDb25kaXRpb24gPT0gJzEnID8gJ0FzY2VuZGluZycgOiAnRGVzY2VuZGluZycsXHJcbiAgICAgIH0sXHJcbiAgICAgIG9yZGVyOiB0aGlzLnVzZXJGaWx0ZXJMaXN0Lmxlbmd0aCxcclxuICAgIH07XHJcbiAgICB0aGlzLnVzZXJGaWx0ZXJMaXN0LnB1c2gobmV3VXNlckZpbHRlcik7XHJcbiAgfVxyXG4gIHNldEZpbHRlcih1c2VyRmlsdGVyOiBGaWx0ZXJEYXRhUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGZpbHRlckZpZWxkOiBbdGhpcy5nZXRWYWx1ZUZyb21OYW1lKHVzZXJGaWx0ZXIuc29ydD8uZmllbGQgPz8gXCJcIiwgdGhpcy5maWVsZHMpXSxcclxuICAgICAgZmlsdGVyQ29uZGl0aW9uOiBbdXNlckZpbHRlci5zb3J0Py5kaXJlY3Rpb24gPT0gXCJBc2NlbmRpbmdcIiA/ICcxJyA6IFwiMlwiXSxcclxuICAgICAgZmlsdGVyTmFtZTogW3VzZXJGaWx0ZXIubmFtZV0sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJJZCA9IHVzZXJGaWx0ZXIucHJvamVjdEdyaWRGaWx0ZXJJZCA/PyBcIlwiO1xyXG4gIH1cclxuICByZW1vdmVGaWx0ZXIodXNlckZpbHRlcjogRmlsdGVyRGF0YVJlcXVlc3QpOiB2b2lkIHtcclxuICAgIHRoaXMudXNlckZpbHRlckxpc3QgPSB0aGlzLnVzZXJGaWx0ZXJMaXN0LmZpbHRlcihcclxuICAgICAgZmlsdGVyID0+IGZpbHRlci5wcm9qZWN0R3JpZEZpbHRlcklkICE9PSB1c2VyRmlsdGVyLnByb2plY3RHcmlkRmlsdGVySWRcclxuICAgICk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJXaWR0aCA9IHdpbmRvdy5zY3JlZW4ud2lkdGggLSAxMzA7XHJcbiAgfVxyXG4gIGJhY2soKSB7XHJcbiAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInB4LTRcIj5cclxuICA8YXBwLWhlYWRlciBoZWFkaW5nPVwiQWR2YW5jZWQgRmlsdGVyc1wiIChmaXJzdEJ1dHRvbik9XCJiYWNrKClcIj48L2FwcC1oZWFkZXI+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwicHgtNSBtdC00IG1iLVs1cmVtXVwiPlxyXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIj5cclxuICAgIDxwIGNsYXNzPVwibm9ybWFsLXRleHQtbWQgbm9ybWFsLXRleHQtZ3JheSBtYi1bMjZweF1cIj5DcmVhdGUgYW5kIGFwcGx5IGN1c3RvbSBhZHZhbmNlIGZpbHRlcnMgb3Igc2VsZWN0IHBvcHVsYXIgcHJlc2V0IGFkdmFuY2UgZmlsdGVycy48L3A+XHJcbiAgICA8aDUgY2xhc3M9XCJzdWJ0aXRsZSBtYi1bMTJweF1cIj5GaWx0ZXJzPC9oNT5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBtYi0yXCI+XHJcbiAgICAgIDxsaWItaW5wdXQtZmllbGQgdHlwZT1cInRleHRcIiBsYWJlbD1cIkZpbHRlciBOYW1lXCIgc3R5bGU9XCJ3aWR0aDogY2FsYygxMDAlIC0gODBweCkgO1wiIGZvcm1Db250cm9sTmFtZT1cImZpbHRlck5hbWVcIj5cclxuICAgICAgPC9saWItaW5wdXQtZmllbGQ+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJmbGV4IHJvdyBpdGVtcy1jZW50ZXIgZ2FwLTEgbXQtMiBtcy0xIGN1cnNvci1wb2ludGVyIGZvbnQtcHVycGxlIHRleHQtbm93cmFwXCIgdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgICAgPGltZyBbbmdTcmNdPVwiSUNPTlNbJ3BsdXMnXVwiIGhlaWdodD1cIjE0XCIgd2lkdGg9XCIxNVwiIGFsdD1cImxpYi1pY29uXCIgLz5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInNoYWRvdyBub3JtYWwtdGV4dC1tZFwiPlxyXG4gICAgICAgICAgQWRkIGZpbHRlclxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3LVs1MCVdXCI+XHJcbiAgICAgICAgPGxpYi1pbnB1dC1maWVsZC1zZWxlY3QgbGliLWlucHV0LWZpZWxkLXNlbGVjdC1jb21wb25lbnQgZm9ybUNvbnRyb2xOYW1lPVwiZmlsdGVyRmllbGRcIiBvcHRpb25MYWJlbD1cIm5hbWVcIlxyXG4gICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIGxhYmVsPVwiRmllbGRcIiBbb3B0aW9uc109XCJmaWVsZHNcIj5cclxuICAgICAgICA8L2xpYi1pbnB1dC1maWVsZC1zZWxlY3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidy1bNTAlXVwiPlxyXG4gICAgICAgIDxsaWItaW5wdXQtZmllbGQtc2VsZWN0IGxpYi1pbnB1dC1maWVsZC1zZWxlY3QtY29tcG9uZW50IGZvcm1Db250cm9sTmFtZT1cImZpbHRlckNvbmRpdGlvblwiXHJcbiAgICAgICAgICBbb3B0aW9uc109XCJjb25kaXRpb25zXCIgb3B0aW9uTGFiZWw9XCJuYW1lXCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIGxhYmVsPVwiQ29uZGl0aW9uXCI+XHJcbiAgICAgICAgPC9saWItaW5wdXQtZmllbGQtc2VsZWN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuICAgPGRpdiBjbGFzcz1cImRpdmlkZXIgbXQtNFwiPlxyXG4gICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibXQtWzIwcHhdXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgZGVmYXVsdEZpbHRlckxpc3RcIiBjbGFzcz1cImZsZXggcm93IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItWzMycHhdXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHJvdyBnYXAtWzMwcHhdXCI+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIklDT05TWydncmlkJ11cIiBhbHQ9XCJsaWItaWNvblwiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwibm9ybWFsLXRleHQtbWQgXCIgW2NsYXNzXT1cInNlbGVjdGVkRmlsdGVySWQgIT09IGZpbHRlci5wcm9qZWN0R3JpZEZpbHRlcklkID8gJ3RleHQtd2hpdGUnIDogJ25vcm1hbC10ZXh0LWdyYXknXCI+e3sgZmlsdGVyLm5hbWUgfX08L3A+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCByb3cgZ2FwLVsxNHB4XVwiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwibm9ybWFsLXRleHQtc21cIj5EZWZhdWx0PC9wPlxyXG4gICAgICAgIDxpbWcgKm5nSWY9XCJzZWxlY3RlZEZpbHRlcklkICE9PSBmaWx0ZXIucHJvamVjdEdyaWRGaWx0ZXJJZCBcIiBbc3JjXT1cIklDT05TWydleWVQaW5rJ11cIiBhbHQ9XCJsaWItaWNvblwiIHdpZHRoPVwiMTUuNTlcIiBoZWlnaHQ9XCI5Ljg1XCIgKGNsaWNrKT1cInNldEZpbHRlcihmaWx0ZXIpXCI+XHJcbiAgICAgICAgPGltZyAqbmdJZj1cInNlbGVjdGVkRmlsdGVySWQgPT09IGZpbHRlci5wcm9qZWN0R3JpZEZpbHRlcklkIFwiIFtzcmNdPVwiSUNPTlNbJ2V5ZVBpbmtDbG9zZSddXCIgYWx0PVwibGliLWljb25cIiB3aWR0aD1cIjE1LjU5XCIgaGVpZ2h0PVwiOS44NVwiIChjbGljayk9XCJzZXRGaWx0ZXIoZmlsdGVyKVwiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHVzZXJGaWx0ZXIgb2YgdXNlckZpbHRlckxpc3RcIiBjbGFzcz1cImZsZXggcm93IGp1c3RpZnktYmV0d2VlbiBtYi1bMzJweF0gaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHJvdyBnYXAtWzMwcHhdXCI+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIklDT05TWydncmlkJ11cIiBhbHQ9XCJsaWItaWNvblwiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1ub3dyYXAgbm9ybWFsLXRleHQtbWRcIiBbbmdTdHlsZV09XCJ7ICdtYXgtd2lkdGgnOiBmaWx0ZXJXaWR0aCArICdweCcgfVwiIFtjbGFzc109XCJzZWxlY3RlZEZpbHRlcklkICE9PSB1c2VyRmlsdGVyLnByb2plY3RHcmlkRmlsdGVySWQgPyAndGV4dC13aGl0ZScgOiAnbm9ybWFsLXRleHQtZ3JheSdcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHJ1bmNhdGUgaW5saW5lLWJsb2NrIGFsaWduLWJvdHRvbVwiIHN0eWxlPVwibWF4LXdpZHRoOiA0cmVtO1wiPlxyXG4gICAgICAgICAgICB7eyB1c2VyRmlsdGVyLm5hbWUgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICB8XHJcbiAgICAgICAgICB7eyB1c2VyRmlsdGVyLnNvcnQ/LmZpZWxkIH19LCB7eyB1c2VyRmlsdGVyLnNvcnQ/LmRpcmVjdGlvbiA9PSBcIkFzY2VuZGluZ1wiID8gXCJTb3J0IEEtWlwiIDogXCJTb3J0IFotQVwiIH19PC9wPlxyXG4gICAgICAgIDwhLS0gPHAgY2xhc3M9XCJ0ZXh0LXdoaXRlXCIgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogZmlsdGVyV2lkdGggKyAncHgnIH1cIj57eyB1c2VyRmlsdGVyLm5hbWUgfX0gPC9wPiAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHJvdyBnYXAtM1wiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJJQ09OU1snZGVsZXRlUGluayddXCIgY2xhc3M9XCJsaWItaWNvblwiIHdpZHRoPVwiOS40MVwiIGhlaWdodD1cIjEyLjI5XCIgIChjbGljayk9XCJyZW1vdmVGaWx0ZXIodXNlckZpbHRlcilcIj5cclxuICAgICAgICA8aW1nIFtzcmNdPVwiSUNPTlNbJ2VkaXRQaW5rJ11cIiBjbGFzcz1cImxpYi1pY29uXCIgd2lkdGg9XCIxMi4zMVwiIGhlaWdodD1cIjEyLjMxXCI+XHJcbiAgICAgICAgPGltZyAqbmdJZj1cInNlbGVjdGVkRmlsdGVySWQgIT09IHVzZXJGaWx0ZXIucHJvamVjdEdyaWRGaWx0ZXJJZCBcIiBbc3JjXT1cIklDT05TWydleWVQaW5rJ11cIiBhbHQ9XCJsaWItaWNvblwiIHdpZHRoPVwiMTUuNTlcIiBoZWlnaHQ9XCI5Ljg1XCIgKGNsaWNrKT1cInNldEZpbHRlcih1c2VyRmlsdGVyKVwiPlxyXG4gICAgICAgIDxpbWcgKm5nSWY9XCJzZWxlY3RlZEZpbHRlcklkID09PSB1c2VyRmlsdGVyLnByb2plY3RHcmlkRmlsdGVySWQgXCIgW3NyY109XCJJQ09OU1snZXllUGlua0Nsb3NlJ11cIiBhbHQ9XCJsaWItaWNvblwiIHdpZHRoPVwiMTUuNTlcIiBoZWlnaHQ9XCI5Ljg1XCIgKGNsaWNrKT1cInNldEZpbHRlcih1c2VyRmlsdGVyKVwiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImZpeGVkIHctWzkwJV0gYm90dG9tLVsxcmVtXSBsZWZ0LVs1JV1cIj5cclxuICA8ZGl2IGNsYXNzPVwidy0xMDAgY2VudGVyXCI+XHJcbiAgICA8bGliLXByaW1hcnktYnRuPnt7XCJJVElORVJBUlkuQVBQTFlcIiB8IHRyYW5zbGF0ZSB9fTwvbGliLXByaW1hcnktYnRuPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2FkdmFuY2VkLWZpbHRlcnMvYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2FkdmFuY2VkLWZpbHRlcnMvYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7QUFXekQsTUFBTSxPQUFPLHdCQUF3QjtJQUlmO0lBQXlCO0lBSDdDLElBQUksQ0FBWTtJQUNoQixXQUFXLENBQXFCO0lBRWhDLFlBQW9CLEVBQWUsRUFBVSxRQUFrQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUM3RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNuQixlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUM7WUFDcEQsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLEdBQUc7UUFDUCxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUs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Q0FBQyxVQUE2QjtRQUNyQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9FLGVBQWUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDeEUsVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztTQUM5QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBQ0QsWUFBWSxDQUFDLFVBQTZCO1FBQ3hDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQzlDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLG1CQUFtQixLQUFLLFVBQVUsQ0FBQyxtQkFBbUIsQ0FDeEUsQ0FBQztJQUNKLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDL0MsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBNUlVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLDREQ2JyQyw2cElBc0VBOzs0RkR6RGEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLHNCQUFzQixjQUdwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsdGVyRGF0YVJlcXVlc3QsIFNlbGVjdE9wdGlvbiB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4uLy4uLy4uLy4uL19jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSWljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9faW50ZXJmYWNlL2ljb24nO1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLWFkdmFuY2VkLWZpbHRlcnMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkdmFuY2VkLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2FkdmFuY2VkLWZpbHRlcnMuY29tcG9uZW50LmNzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRGaWx0ZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgZmlsdGVyV2lkdGg6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uKSB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgZmlsdGVyRmllbGQ6IFtudWxsXSxcclxuICAgICAgZmlsdGVyQ29uZGl0aW9uOiBbdGhpcy5jb25kaXRpb25zWzBdPy52YWx1ZSB8fCBudWxsXSxcclxuICAgICAgZmlsdGVyTmFtZTogW1wiXCJdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmaWVsZHMgPSBbXHJcbiAgICB7IG5hbWU6ICdOYW1lJywgdmFsdWU6ICcxJyB9LFxyXG4gICAgeyBuYW1lOiAnVGl0bGUnLCB2YWx1ZTogJzInIH0sXHJcbiAgICB7IG5hbWU6ICdVcHZvdGUnLCB2YWx1ZTogJzMnIH1cclxuICBdO1xyXG4gIGNvbmRpdGlvbnMgPSBbXHJcbiAgICB7IG5hbWU6ICdTb3J0IEEtWicsIHZhbHVlOiAnMScgfSxcclxuICAgIHsgbmFtZTogJ1NvcnQgWi1BJywgdmFsdWU6ICcyJyB9XHJcbiAgXTtcclxuXHJcbiAgSUNPTlM6IElpY29uID0gSUNPTlM7XHJcblxyXG4gIGZpbHRlcnNzczogU2VsZWN0T3B0aW9uPG51bWJlcj5bXSA9IFtcclxuICAgIHtcclxuICAgICAgbGFiZWw6ICdIZWxsbycsXHJcbiAgICAgIHZhbHVlOiAyLFxyXG4gICAgICBzZWxlY3RlZDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXTtcclxuICBkZWZhdWx0RmlsdGVyTGlzdDogRmlsdGVyRGF0YVJlcXVlc3RbXSA9IFtcclxuICAgIHsgbmFtZTogJ0Jlc3QnLCBwcm9qZWN0R3JpZEZpbHRlcklkOiAnZGVmYXVsdDEnLCB1c2VyRmlsdGVyczogW10gfSxcclxuICAgIHsgbmFtZTogXCJIb3RcIiwgdXNlckZpbHRlcnM6IFtdLCBwcm9qZWN0R3JpZEZpbHRlcklkOiBcImRlZmF1bHQyXCIgfSxcclxuICAgIHsgbmFtZTogXCJUb3BcIiwgdXNlckZpbHRlcnM6IFtdLCBwcm9qZWN0R3JpZEZpbHRlcklkOiBcImRlZmF1bHQzXCIgfSxcclxuICAgIHsgbmFtZTogXCJOZXdcIiwgdXNlckZpbHRlcnM6IFtdLCBwcm9qZWN0R3JpZEZpbHRlcklkOiBcImRlZmF1bHQ0XCIgfSxcclxuICBdO1xyXG4gIHVzZXJGaWx0ZXJMaXN0OiBGaWx0ZXJEYXRhUmVxdWVzdFtdID0gW1xyXG4gICAge1xyXG4gICAgICBuYW1lOiAnRmlsdGVyIGJ5IE5hbWUgQXNjZW5kaW5nJyxcclxuICAgICAgcHJvamVjdEdyaWRGaWx0ZXJJZDogJzEyMycsXHJcbiAgICAgIGNvbGxlY3Rpb25OYW1lOiAnRW1wbG95ZWVzJyxcclxuICAgICAgdXNlckZpbHRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwdWJsaWNGaWVsZE5hbWU6ICdOYW1lJyxcclxuICAgICAgICAgIG9wZXJhdG9yVHlwZTogJ0NvbnRhaW5zJyxcclxuICAgICAgICAgIHZhbHVlczogWydKb2huJ10sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgc29ydDoge1xyXG4gICAgICAgIGZpZWxkOiAnTmFtZScsXHJcbiAgICAgICAgZGlyZWN0aW9uOiAnQXNjZW5kaW5nJyxcclxuICAgICAgfSxcclxuICAgICAgb3JkZXI6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnRmlsdGVyIGJ5IERlcGFydG1lbnQgYW5kIFNhbGFyeSBEZXNjZW5kaW5nJyxcclxuICAgICAgcHJvamVjdEdyaWRGaWx0ZXJJZDogJzQ1NicsXHJcbiAgICAgIGNvbGxlY3Rpb25OYW1lOiAnRW1wbG95ZWVzJyxcclxuICAgICAgdXNlckZpbHRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwdWJsaWNGaWVsZE5hbWU6ICdEZXBhcnRtZW50JyxcclxuICAgICAgICAgIG9wZXJhdG9yVHlwZTogJ0VxdWFscycsXHJcbiAgICAgICAgICB2YWx1ZXM6IFsnSVQnXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHB1YmxpY0ZpZWxkTmFtZTogJ1NhbGFyeScsXHJcbiAgICAgICAgICBvcGVyYXRvclR5cGU6ICdHcmVhdGVyVGhhbicsXHJcbiAgICAgICAgICB2YWx1ZXM6IFs1MDAwMF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgc29ydDoge1xyXG4gICAgICAgIGZpZWxkOiAnVGl0bGUnLFxyXG4gICAgICAgIGRpcmVjdGlvbjogJ0Rlc2NlbmRpbmcnLFxyXG4gICAgICB9LFxyXG4gICAgICBvcmRlcjogMixcclxuICAgIH0sXHJcbiAgXTtcclxuXHJcbiAgc2VsZWN0ZWRGaWx0ZXJJZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIHNlYXJjaChfZTogc3RyaW5nKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0TmFtZUZyb21WYWx1ZSh2YWx1ZTogc3RyaW5nLCBhcnJheTogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBhcnJheS5maW5kKGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gdmFsdWUpPy5uYW1lIHx8ICcnO1xyXG4gIH1cclxuICBnZXRWYWx1ZUZyb21OYW1lKG5hbWU6IHN0cmluZywgYXJyYXk6IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYXJyYXkuZmluZChpdGVtID0+IGl0ZW0ubmFtZSA9PT0gbmFtZSk/LnZhbHVlIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVSYW5kb21TdHJpbmcobGVuZ3RoOiBudW1iZXIgPSAxNik6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjaGFycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSc7XHJcbiAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHJlc3VsdCArPSBjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcnMubGVuZ3RoKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgc3VibWl0Rm9ybSgpIHtcclxuICAgIGlmICghdGhpcy5mb3JtPy52YWx1ZT8uZmlsdGVyTmFtZSkgcmV0dXJuO1xyXG4gICAgY29uc3QgbmV3VXNlckZpbHRlcjogRmlsdGVyRGF0YVJlcXVlc3QgPSB7XHJcbiAgICAgIG5hbWU6IHRoaXMuZm9ybT8udmFsdWU/LmZpbHRlck5hbWUgPz8gJycsXHJcbiAgICAgIHByb2plY3RHcmlkRmlsdGVySWQ6IHRoaXMuZ2VuZXJhdGVSYW5kb21TdHJpbmcoKSxcclxuICAgICAgY29sbGVjdGlvbk5hbWU6ICdFbXBsb3llZXMnLFxyXG4gICAgICB1c2VyRmlsdGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHB1YmxpY0ZpZWxkTmFtZTogJ05hbWUnLFxyXG4gICAgICAgICAgb3BlcmF0b3JUeXBlOiAnQ29udGFpbnMnLFxyXG4gICAgICAgICAgdmFsdWVzOiBbJ0pvaG4nXSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBzb3J0OiB7XHJcbiAgICAgICAgZmllbGQ6IHRoaXMuZ2V0TmFtZUZyb21WYWx1ZSh0aGlzLmZvcm0/LnZhbHVlPy5maWx0ZXJGaWVsZCA/PyAnJywgdGhpcy5maWVsZHMpLFxyXG4gICAgICAgIGRpcmVjdGlvbjogdGhpcy5mb3JtPy52YWx1ZT8uZmlsdGVyQ29uZGl0aW9uID09ICcxJyA/ICdBc2NlbmRpbmcnIDogJ0Rlc2NlbmRpbmcnLFxyXG4gICAgICB9LFxyXG4gICAgICBvcmRlcjogdGhpcy51c2VyRmlsdGVyTGlzdC5sZW5ndGgsXHJcbiAgICB9O1xyXG4gICAgdGhpcy51c2VyRmlsdGVyTGlzdC5wdXNoKG5ld1VzZXJGaWx0ZXIpO1xyXG4gIH1cclxuICBzZXRGaWx0ZXIodXNlckZpbHRlcjogRmlsdGVyRGF0YVJlcXVlc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBmaWx0ZXJGaWVsZDogW3RoaXMuZ2V0VmFsdWVGcm9tTmFtZSh1c2VyRmlsdGVyLnNvcnQ/LmZpZWxkID8/IFwiXCIsIHRoaXMuZmllbGRzKV0sXHJcbiAgICAgIGZpbHRlckNvbmRpdGlvbjogW3VzZXJGaWx0ZXIuc29ydD8uZGlyZWN0aW9uID09IFwiQXNjZW5kaW5nXCIgPyAnMScgOiBcIjJcIl0sXHJcbiAgICAgIGZpbHRlck5hbWU6IFt1c2VyRmlsdGVyLm5hbWVdLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkRmlsdGVySWQgPSB1c2VyRmlsdGVyLnByb2plY3RHcmlkRmlsdGVySWQgPz8gXCJcIjtcclxuICB9XHJcbiAgcmVtb3ZlRmlsdGVyKHVzZXJGaWx0ZXI6IEZpbHRlckRhdGFSZXF1ZXN0KTogdm9pZCB7XHJcbiAgICB0aGlzLnVzZXJGaWx0ZXJMaXN0ID0gdGhpcy51c2VyRmlsdGVyTGlzdC5maWx0ZXIoXHJcbiAgICAgIGZpbHRlciA9PiBmaWx0ZXIucHJvamVjdEdyaWRGaWx0ZXJJZCAhPT0gdXNlckZpbHRlci5wcm9qZWN0R3JpZEZpbHRlcklkXHJcbiAgICApO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsdGVyV2lkdGggPSB3aW5kb3cuc2NyZWVuLndpZHRoIC0gMTMwO1xyXG4gIH1cclxuICBiYWNrKCkge1xyXG4gICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJweC00XCI+XHJcbiAgPGFwcC1oZWFkZXIgaGVhZGluZz1cIkFkdmFuY2VkIEZpbHRlcnNcIiAoZmlyc3RCdXR0b24pPVwiYmFjaygpXCI+PC9hcHAtaGVhZGVyPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInB4LTUgbXQtNCBtYi1bNXJlbV1cIj5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCI+XHJcbiAgICA8cCBjbGFzcz1cIm5vcm1hbC10ZXh0LW1kIG5vcm1hbC10ZXh0LWdyYXkgbWItWzI2cHhdXCI+Q3JlYXRlIGFuZCBhcHBseSBjdXN0b20gYWR2YW5jZSBmaWx0ZXJzIG9yIHNlbGVjdCBwb3B1bGFyIHByZXNldCBhZHZhbmNlIGZpbHRlcnMuPC9wPlxyXG4gICAgPGg1IGNsYXNzPVwic3VidGl0bGUgbWItWzEycHhdXCI+RmlsdGVyczwvaDU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbWItMlwiPlxyXG4gICAgICA8bGliLWlucHV0LWZpZWxkIHR5cGU9XCJ0ZXh0XCIgbGFiZWw9XCJGaWx0ZXIgTmFtZVwiIHN0eWxlPVwid2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpIDtcIiBmb3JtQ29udHJvbE5hbWU9XCJmaWx0ZXJOYW1lXCI+XHJcbiAgICAgIDwvbGliLWlucHV0LWZpZWxkPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiZmxleCByb3cgaXRlbXMtY2VudGVyIGdhcC0xIG10LTIgbXMtMSBjdXJzb3ItcG9pbnRlciBmb250LXB1cnBsZSB0ZXh0LW5vd3JhcFwiIHR5cGU9XCJzdWJtaXRcIj5cclxuICAgICAgICAgIDxpbWcgW25nU3JjXT1cIklDT05TWydwbHVzJ11cIiBoZWlnaHQ9XCIxNFwiIHdpZHRoPVwiMTVcIiBhbHQ9XCJsaWItaWNvblwiIC8+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzaGFkb3cgbm9ybWFsLXRleHQtbWRcIj5cclxuICAgICAgICAgIEFkZCBmaWx0ZXJcclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidy1bNTAlXVwiPlxyXG4gICAgICAgIDxhcHAtaW5wdXQtZmllbGQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImZpbHRlckZpZWxkXCIgb3B0aW9uTGFiZWw9XCJuYW1lXCJcclxuICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIiBsYWJlbD1cIkZpZWxkXCIgW29wdGlvbnNdPVwiZmllbGRzXCI+XHJcbiAgICAgICAgPC9hcHAtaW5wdXQtZmllbGQtc2VsZWN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInctWzUwJV1cIj5cclxuICAgICAgICA8YXBwLWlucHV0LWZpZWxkLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJmaWx0ZXJDb25kaXRpb25cIlxyXG4gICAgICAgICAgW29wdGlvbnNdPVwiY29uZGl0aW9uc1wiIG9wdGlvbkxhYmVsPVwibmFtZVwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiBsYWJlbD1cIkNvbmRpdGlvblwiPlxyXG4gICAgICAgIDwvYXBwLWlucHV0LWZpZWxkLXNlbGVjdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Zvcm0+XHJcbiAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyIG10LTRcIj5cclxuICAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm10LVsyMHB4XVwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGRlZmF1bHRGaWx0ZXJMaXN0XCIgY2xhc3M9XCJmbGV4IHJvdyBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIG1iLVszMnB4XVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCByb3cgZ2FwLVszMHB4XVwiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJJQ09OU1snZ3JpZCddXCIgYWx0PVwibGliLWljb25cIj5cclxuICAgICAgICA8cCBjbGFzcz1cIm5vcm1hbC10ZXh0LW1kIFwiIFtjbGFzc109XCJzZWxlY3RlZEZpbHRlcklkICE9PSBmaWx0ZXIucHJvamVjdEdyaWRGaWx0ZXJJZCA/ICd0ZXh0LXdoaXRlJyA6ICdub3JtYWwtdGV4dC1ncmF5J1wiPnt7IGZpbHRlci5uYW1lIH19PC9wPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggcm93IGdhcC1bMTRweF1cIj5cclxuICAgICAgICA8cCBjbGFzcz1cIm5vcm1hbC10ZXh0LXNtXCI+RGVmYXVsdDwvcD5cclxuICAgICAgICA8aW1nICpuZ0lmPVwic2VsZWN0ZWRGaWx0ZXJJZCAhPT0gZmlsdGVyLnByb2plY3RHcmlkRmlsdGVySWQgXCIgW3NyY109XCJJQ09OU1snZXllUGluayddXCIgYWx0PVwibGliLWljb25cIiB3aWR0aD1cIjE1LjU5XCIgaGVpZ2h0PVwiOS44NVwiIChjbGljayk9XCJzZXRGaWx0ZXIoZmlsdGVyKVwiPlxyXG4gICAgICAgIDxpbWcgKm5nSWY9XCJzZWxlY3RlZEZpbHRlcklkID09PSBmaWx0ZXIucHJvamVjdEdyaWRGaWx0ZXJJZCBcIiBbc3JjXT1cIklDT05TWydleWVQaW5rQ2xvc2UnXVwiIGFsdD1cImxpYi1pY29uXCIgd2lkdGg9XCIxNS41OVwiIGhlaWdodD1cIjkuODVcIiAoY2xpY2spPVwic2V0RmlsdGVyKGZpbHRlcilcIj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCB1c2VyRmlsdGVyIG9mIHVzZXJGaWx0ZXJMaXN0XCIgY2xhc3M9XCJmbGV4IHJvdyBqdXN0aWZ5LWJldHdlZW4gbWItWzMycHhdIGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCByb3cgZ2FwLVszMHB4XVwiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJJQ09OU1snZ3JpZCddXCIgYWx0PVwibGliLWljb25cIj5cclxuICAgICAgICA8cCBjbGFzcz1cInRleHQtbm93cmFwIG5vcm1hbC10ZXh0LW1kXCIgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogZmlsdGVyV2lkdGggKyAncHgnIH1cIiBbY2xhc3NdPVwic2VsZWN0ZWRGaWx0ZXJJZCAhPT0gdXNlckZpbHRlci5wcm9qZWN0R3JpZEZpbHRlcklkID8gJ3RleHQtd2hpdGUnIDogJ25vcm1hbC10ZXh0LWdyYXknXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRydW5jYXRlIGlubGluZS1ibG9jayBhbGlnbi1ib3R0b21cIiBzdHlsZT1cIm1heC13aWR0aDogNHJlbTtcIj5cclxuICAgICAgICAgICAge3sgdXNlckZpbHRlci5uYW1lIH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgfFxyXG4gICAgICAgICAge3sgdXNlckZpbHRlci5zb3J0Py5maWVsZCB9fSwge3sgdXNlckZpbHRlci5zb3J0Py5kaXJlY3Rpb24gPT0gXCJBc2NlbmRpbmdcIiA/IFwiU29ydCBBLVpcIiA6IFwiU29ydCBaLUFcIiB9fTwvcD5cclxuICAgICAgICA8IS0tIDxwIGNsYXNzPVwidGV4dC13aGl0ZVwiIFtuZ1N0eWxlXT1cInsgJ21heC13aWR0aCc6IGZpbHRlcldpZHRoICsgJ3B4JyB9XCI+e3sgdXNlckZpbHRlci5uYW1lIH19IDwvcD4gLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCByb3cgZ2FwLTNcIj5cclxuICAgICAgICA8aW1nIFtzcmNdPVwiSUNPTlNbJ2RlbGV0ZVBpbmsnXVwiIGNsYXNzPVwibGliLWljb25cIiB3aWR0aD1cIjkuNDFcIiBoZWlnaHQ9XCIxMi4yOVwiICAoY2xpY2spPVwicmVtb3ZlRmlsdGVyKHVzZXJGaWx0ZXIpXCI+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIklDT05TWydlZGl0UGluayddXCIgY2xhc3M9XCJsaWItaWNvblwiIHdpZHRoPVwiMTIuMzFcIiBoZWlnaHQ9XCIxMi4zMVwiPlxyXG4gICAgICAgIDxpbWcgKm5nSWY9XCJzZWxlY3RlZEZpbHRlcklkICE9PSB1c2VyRmlsdGVyLnByb2plY3RHcmlkRmlsdGVySWQgXCIgW3NyY109XCJJQ09OU1snZXllUGluayddXCIgYWx0PVwibGliLWljb25cIiB3aWR0aD1cIjE1LjU5XCIgaGVpZ2h0PVwiOS44NVwiIChjbGljayk9XCJzZXRGaWx0ZXIodXNlckZpbHRlcilcIj5cclxuICAgICAgICA8aW1nICpuZ0lmPVwic2VsZWN0ZWRGaWx0ZXJJZCA9PT0gdXNlckZpbHRlci5wcm9qZWN0R3JpZEZpbHRlcklkIFwiIFtzcmNdPVwiSUNPTlNbJ2V5ZVBpbmtDbG9zZSddXCIgYWx0PVwibGliLWljb25cIiB3aWR0aD1cIjE1LjU5XCIgaGVpZ2h0PVwiOS44NVwiIChjbGljayk9XCJzZXRGaWx0ZXIodXNlckZpbHRlcilcIj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJmaXhlZCB3LVs5MCVdIGJvdHRvbS1bMXJlbV0gbGVmdC1bNSVdXCI+XHJcbiAgPGRpdiBjbGFzcz1cInctMTAwIGNlbnRlclwiPlxyXG4gICAgPGxpYi1wcmltYXJ5LWJ0bj57e1wiSVRJTkVSQVJZLkFQUExZXCIgfCB0cmFuc2xhdGUgfX08L2xpYi1wcmltYXJ5LWJ0bj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==