@bravobit/bb-foundation 0.22.2 → 0.22.3

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 (186) hide show
  1. package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +3 -2
  2. package/controls/lib/checkbox/checkbox.module.d.ts +2 -1
  3. package/controls/lib/form-control/form-control/form-control.component.d.ts +5 -5
  4. package/controls/lib/form-control/form-control.module.d.ts +2 -1
  5. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +4 -2
  6. package/dialog/lib/dialog.interfaces.d.ts +7 -0
  7. package/dialog/lib/dialog.service.d.ts +5 -9
  8. package/elements/lib/elements.module.d.ts +25 -28
  9. package/elements/public_api.d.ts +0 -4
  10. package/esm2020/auth/lib/auth.interceptor.mjs +3 -3
  11. package/esm2020/auth/lib/auth.module.mjs +4 -4
  12. package/esm2020/auth/lib/auth.service.mjs +3 -3
  13. package/esm2020/auth/lib/directives/authenticated.directive.mjs +3 -3
  14. package/esm2020/auth/lib/directives/permission.directive.mjs +3 -3
  15. package/esm2020/auth/lib/guards/anonymous.guard.mjs +3 -3
  16. package/esm2020/auth/lib/guards/authenticated.guard.mjs +3 -3
  17. package/esm2020/auth/lib/guards/permission.guard.mjs +3 -3
  18. package/esm2020/auth/lib/permissions/permissions.service.mjs +3 -3
  19. package/esm2020/collections/lib/collections.module.mjs +4 -4
  20. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
  21. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
  22. package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
  23. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +3 -3
  24. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +7 -6
  25. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +7 -6
  26. package/esm2020/controls/lib/control-error/control-error/control-error.component.mjs +3 -3
  27. package/esm2020/controls/lib/control-error/control-error-submit.directive.mjs +3 -3
  28. package/esm2020/controls/lib/control-error/control-error.module.mjs +4 -4
  29. package/esm2020/controls/lib/controls.module.mjs +4 -4
  30. package/esm2020/controls/lib/form-control/form-control/form-control.component.mjs +6 -5
  31. package/esm2020/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +3 -3
  32. package/esm2020/controls/lib/form-control/form-control-input.directive.mjs +3 -3
  33. package/esm2020/controls/lib/form-control/form-control.module.mjs +8 -7
  34. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +3 -3
  35. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  36. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  37. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
  38. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  39. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +3 -3
  40. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  41. package/esm2020/dashboard/lib/dashboard.module.mjs +4 -4
  42. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  43. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +15 -12
  44. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +5 -5
  45. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +3 -3
  46. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
  47. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +3 -3
  48. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +3 -3
  49. package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
  50. package/esm2020/dialog/lib/dialog.interfaces.mjs +1 -1
  51. package/esm2020/dialog/lib/dialog.module.mjs +4 -4
  52. package/esm2020/dialog/lib/dialog.service.mjs +15 -27
  53. package/esm2020/elements/lib/avatar/avatar.component.mjs +7 -7
  54. package/esm2020/elements/lib/button/button.component.mjs +6 -6
  55. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +3 -3
  56. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +4 -4
  57. package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
  58. package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
  59. package/esm2020/elements/lib/directives/form-submitter.directive.mjs +3 -3
  60. package/esm2020/elements/lib/directives/input.directive.mjs +6 -6
  61. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +6 -6
  62. package/esm2020/elements/lib/elements.module.mjs +21 -25
  63. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +4 -4
  64. package/esm2020/elements/lib/form-control/form-control.component.mjs +4 -4
  65. package/esm2020/elements/lib/form-error/form-error.component.mjs +3 -3
  66. package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
  67. package/esm2020/elements/lib/icon/icon.component.mjs +3 -3
  68. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +3 -3
  69. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +3 -3
  70. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
  71. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +3 -3
  72. package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
  73. package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
  74. package/esm2020/elements/public_api.mjs +1 -5
  75. package/esm2020/http/lib/classes/http.config.mjs +2 -3
  76. package/esm2020/http/lib/http.module.mjs +4 -4
  77. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +6 -6
  78. package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
  79. package/esm2020/lib/core/services/clipboard.service.mjs +3 -3
  80. package/esm2020/lib/core/services/exif.service.mjs +3 -3
  81. package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
  82. package/esm2020/lib/core/services/image-converter.service.mjs +3 -3
  83. package/esm2020/lib/core/services/languages.service.mjs +3 -3
  84. package/esm2020/lib/core/services/network.service.mjs +3 -3
  85. package/esm2020/lib/core/services/patch.service.mjs +3 -3
  86. package/esm2020/localize/lib/localize.dictionary.mjs +2 -4
  87. package/esm2020/localize/lib/localize.module.mjs +9 -11
  88. package/esm2020/localize/lib/localize.pipe.mjs +3 -3
  89. package/esm2020/localize/lib/localize.service.mjs +3 -3
  90. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +6 -6
  91. package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
  92. package/esm2020/masking/lib/directives/currency-mask.directive.mjs +3 -3
  93. package/esm2020/masking/lib/directives/date-mask.directive.mjs +3 -3
  94. package/esm2020/masking/lib/directives/input-mask.directive.mjs +3 -3
  95. package/esm2020/masking/lib/masking.module.mjs +4 -4
  96. package/esm2020/masking/lib/masking.service.mjs +3 -3
  97. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +3 -3
  98. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +3 -3
  99. package/esm2020/notifications/lib/notifications.module.mjs +4 -4
  100. package/esm2020/notifications/lib/notifications.service.mjs +22 -26
  101. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  102. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +3 -3
  103. package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
  104. package/esm2020/storage/lib/storage.service.mjs +7 -7
  105. package/esm2020/table/lib/components/table/table.component.mjs +9 -9
  106. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  107. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +3 -3
  108. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +3 -3
  109. package/esm2020/table/lib/table.module.mjs +4 -4
  110. package/esm2020/theming/lib/theming.directive.mjs +3 -3
  111. package/esm2020/theming/lib/theming.module.mjs +4 -4
  112. package/esm2020/utils/bravobit-bb-foundation-utils.mjs +5 -0
  113. package/esm2020/utils/lib/directives/autosize.directive.mjs +72 -0
  114. package/esm2020/utils/lib/directives/focus-trap.directive.mjs +77 -0
  115. package/esm2020/utils/lib/directives/focus.directive.mjs +37 -0
  116. package/esm2020/utils/lib/directives/template.directive.mjs +28 -0
  117. package/esm2020/utils/lib/utils.module.mjs +35 -0
  118. package/esm2020/utils/public_api.mjs +6 -0
  119. package/fesm2015/bravobit-bb-foundation-auth.mjs +28 -28
  120. package/fesm2015/bravobit-bb-foundation-collections.mjs +22 -22
  121. package/fesm2015/bravobit-bb-foundation-controls.mjs +47 -45
  122. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
  123. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +25 -25
  124. package/fesm2015/bravobit-bb-foundation-dialog.mjs +54 -81
  125. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
  126. package/fesm2015/bravobit-bb-foundation-elements.mjs +100 -306
  127. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
  128. package/fesm2015/bravobit-bb-foundation-http.mjs +14 -14
  129. package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -1
  130. package/fesm2015/bravobit-bb-foundation-localize.mjs +26 -53
  131. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
  132. package/fesm2015/bravobit-bb-foundation-masking.mjs +16 -16
  133. package/fesm2015/bravobit-bb-foundation-notifications.mjs +31 -52
  134. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
  135. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +10 -10
  136. package/fesm2015/bravobit-bb-foundation-storage.mjs +6 -6
  137. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
  138. package/fesm2015/bravobit-bb-foundation-table.mjs +22 -22
  139. package/fesm2015/bravobit-bb-foundation-theming.mjs +7 -7
  140. package/fesm2015/bravobit-bb-foundation-utils.mjs +246 -0
  141. package/fesm2015/bravobit-bb-foundation-utils.mjs.map +1 -0
  142. package/fesm2015/bravobit-bb-foundation.mjs +21 -21
  143. package/fesm2020/bravobit-bb-foundation-auth.mjs +28 -28
  144. package/fesm2020/bravobit-bb-foundation-collections.mjs +22 -22
  145. package/fesm2020/bravobit-bb-foundation-controls.mjs +47 -45
  146. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
  147. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +25 -25
  148. package/fesm2020/bravobit-bb-foundation-dialog.mjs +53 -79
  149. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
  150. package/fesm2020/bravobit-bb-foundation-elements.mjs +100 -304
  151. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
  152. package/fesm2020/bravobit-bb-foundation-http.mjs +14 -14
  153. package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -1
  154. package/fesm2020/bravobit-bb-foundation-localize.mjs +26 -53
  155. package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
  156. package/fesm2020/bravobit-bb-foundation-masking.mjs +16 -16
  157. package/fesm2020/bravobit-bb-foundation-notifications.mjs +31 -52
  158. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
  159. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +10 -10
  160. package/fesm2020/bravobit-bb-foundation-storage.mjs +6 -6
  161. package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
  162. package/fesm2020/bravobit-bb-foundation-table.mjs +22 -22
  163. package/fesm2020/bravobit-bb-foundation-theming.mjs +7 -7
  164. package/fesm2020/bravobit-bb-foundation-utils.mjs +244 -0
  165. package/fesm2020/bravobit-bb-foundation-utils.mjs.map +1 -0
  166. package/fesm2020/bravobit-bb-foundation.mjs +21 -21
  167. package/localize/lib/localize.module.d.ts +3 -3
  168. package/notifications/lib/notifications.service.d.ts +6 -7
  169. package/package.json +9 -1
  170. package/utils/index.d.ts +5 -0
  171. package/{elements → utils}/lib/directives/autosize.directive.d.ts +0 -0
  172. package/{elements → utils}/lib/directives/focus-trap.directive.d.ts +0 -0
  173. package/{elements → utils}/lib/directives/focus.directive.d.ts +0 -0
  174. package/{elements → utils}/lib/directives/template.directive.d.ts +1 -0
  175. package/utils/lib/utils.module.d.ts +10 -0
  176. package/utils/public_api.d.ts +5 -0
  177. package/dialog/lib/dialog.injector.d.ts +0 -8
  178. package/esm2020/dialog/lib/dialog.injector.mjs +0 -18
  179. package/esm2020/elements/lib/directives/autosize.directive.mjs +0 -72
  180. package/esm2020/elements/lib/directives/focus-trap.directive.mjs +0 -77
  181. package/esm2020/elements/lib/directives/focus.directive.mjs +0 -37
  182. package/esm2020/elements/lib/directives/template.directive.mjs +0 -28
  183. package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +0 -28
  184. package/esm2020/notifications/lib/notifications.injector.mjs +0 -18
  185. package/localize/lib/views/localize-template-or-string.directive.d.ts +0 -10
  186. package/notifications/lib/notifications.injector.d.ts +0 -8
@@ -38,9 +38,9 @@ export class BbDashboardSidebarItem {
38
38
  : false;
39
39
  }
40
40
  }
41
- BbDashboardSidebarItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDashboardSidebarItem, deps: [{ token: i1.BbDashboardSidebar, host: true, optional: true }, { token: i2.BbDashboardSidebarGroup, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
42
- BbDashboardSidebarItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbDashboardSidebarItem, selector: "[bb-dashboard-sidebar-item]", inputs: { tabIndex: "tabIndex" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.tabindex": "attributeTabIndex", "attr.aria-hidden": "isHidden" }, classAttribute: "bb-dashboard-sidebar-item" }, ngImport: i0, template: "<!--\n The content between the tags will\n be reflected here.\n-->\n<span class=\"bb-dashboard-sidebar-item-content\">\n <ng-content></ng-content>\n</span>\n", styles: [".bb-dashboard-sidebar-item{height:0;opacity:0;padding:0;display:flex;line-height:0;cursor:pointer;font-size:14px;font-weight:500;align-items:center;text-decoration:none;will-change:opacity,height;color:#000000d9!important;transition:height .2s cubic-bezier(0,0,.2,1),opacity .2s 50ms cubic-bezier(0,0,.2,1),color .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-item:focus,.bb-dashboard-sidebar-item:hover{background-color:#00000005}.bb-dashboard-sidebar-item:active{background-color:#0000000a}.bb-dashboard-sidebar-item.active,.bb-dashboard-sidebar-item.active:hover,.bb-dashboard-sidebar-item.active:focus,.bb-dashboard-sidebar-item.active:active{color:#000!important;background-color:#0000000f}.bb-dashboard-sidebar-item-content{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDashboardSidebarItem, decorators: [{
41
+ BbDashboardSidebarItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDashboardSidebarItem, deps: [{ token: i1.BbDashboardSidebar, host: true, optional: true }, { token: i2.BbDashboardSidebarGroup, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
42
+ BbDashboardSidebarItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDashboardSidebarItem, selector: "[bb-dashboard-sidebar-item]", inputs: { tabIndex: "tabIndex" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.tabindex": "attributeTabIndex", "attr.aria-hidden": "isHidden" }, classAttribute: "bb-dashboard-sidebar-item" }, ngImport: i0, template: "<!--\n The content between the tags will\n be reflected here.\n-->\n<span class=\"bb-dashboard-sidebar-item-content\">\n <ng-content></ng-content>\n</span>\n", styles: [".bb-dashboard-sidebar-item{height:0;opacity:0;padding:0;display:flex;line-height:0;cursor:pointer;font-size:14px;font-weight:500;align-items:center;text-decoration:none;will-change:opacity,height;color:#000000d9!important;transition:height .2s cubic-bezier(0,0,.2,1),opacity .2s 50ms cubic-bezier(0,0,.2,1),color .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-item:focus,.bb-dashboard-sidebar-item:hover{background-color:#00000005}.bb-dashboard-sidebar-item:active{background-color:#0000000a}.bb-dashboard-sidebar-item.active,.bb-dashboard-sidebar-item.active:hover,.bb-dashboard-sidebar-item.active:focus,.bb-dashboard-sidebar-item.active:active{color:#000!important;background-color:#0000000f}.bb-dashboard-sidebar-item-content{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDashboardSidebarItem, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: '[bb-dashboard-sidebar-item]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
46
46
  'class': 'bb-dashboard-sidebar-item',
@@ -21,8 +21,8 @@ const DECLARATIONS_EXPORTS = [
21
21
  ];
22
22
  export class DashboardModule {
23
23
  }
24
- DashboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: DashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
- DashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: DashboardModule, declarations: [BbDashboard,
24
+ DashboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
+ DashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DashboardModule, declarations: [BbDashboard,
26
26
  BbDashboardHeader,
27
27
  BbDashboardMenu,
28
28
  BbDashboardMenuItem,
@@ -35,8 +35,8 @@ DashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
35
35
  BbDashboardSidebar,
36
36
  BbDashboardSidebarGroup,
37
37
  BbDashboardSidebarItem] });
38
- DashboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: DashboardModule, imports: [CommonModule, RouterModule, ElementsModule] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: DashboardModule, decorators: [{
38
+ DashboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DashboardModule, imports: [CommonModule, RouterModule, ElementsModule] });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DashboardModule, decorators: [{
40
40
  type: NgModule,
41
41
  args: [{
42
42
  imports: [CommonModule, RouterModule, ElementsModule],
@@ -3,9 +3,9 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "@bravobit/bb-foundation/elements";
4
4
  export class BbDialogActions {
5
5
  }
6
- BbDialogActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- BbDialogActions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbDialogActions, selector: "[bb-dialog-actions]", host: { classAttribute: "bb-dialog-actions" }, ngImport: i0, template: "<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n", styles: [".bb-dialog-actions{padding:20px;display:block;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}\n"], dependencies: [{ kind: "component", type: i1.BbFormGroup, selector: "bb-form-group", inputs: ["grouped"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogActions, decorators: [{
6
+ BbDialogActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ BbDialogActions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogActions, selector: "[bb-dialog-actions]", host: { classAttribute: "bb-dialog-actions" }, ngImport: i0, template: "<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n", styles: [".bb-dialog-actions{padding:20px;display:block;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}\n"], dependencies: [{ kind: "component", type: i1.BbFormGroup, selector: "bb-form-group", inputs: ["grouped"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogActions, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: '[bb-dialog-actions]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-actions' }, template: "<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n", styles: [".bb-dialog-actions{padding:20px;display:block;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}\n"] }]
11
11
  }] });
@@ -5,10 +5,11 @@ import * as i1 from "../dialog.interfaces";
5
5
  import * as i2 from "../dialog.ref";
6
6
  import * as i3 from "@angular/common";
7
7
  import * as i4 from "@bravobit/bb-foundation/elements";
8
- import * as i5 from "../dialog-modal/dialog-modal.component";
9
- import * as i6 from "../dialog-header/dialog-header.component";
10
- import * as i7 from "../dialog-actions/dialog-actions.component";
11
- import * as i8 from "@bravobit/bb-foundation/localize";
8
+ import * as i5 from "@bravobit/bb-foundation/utils";
9
+ import * as i6 from "../dialog-modal/dialog-modal.component";
10
+ import * as i7 from "../dialog-header/dialog-header.component";
11
+ import * as i8 from "../dialog-actions/dialog-actions.component";
12
+ import * as i9 from "@bravobit/bb-foundation/localize";
12
13
  let nextUniqueId = 0;
13
14
  export class BbDialogConfirm {
14
15
  constructor(_config, _dialogRef) {
@@ -17,9 +18,11 @@ export class BbDialogConfirm {
17
18
  // Readonly data.
18
19
  this.title = this._config?.data?.title ?? null;
19
20
  this.description = this._config?.data?.description ?? null;
20
- this.cancelButtonText = this._config?.data?.cancelButtonText ?? null;
21
- this.confirmButtonText = this._config?.data?.confirmButtonText ?? null;
22
- this.width = this._config?.data?.width ?? null;
21
+ this.confirmButtonText = this._config?.data?.confirmButtonText ?? 'dialog.default_confirm_button';
22
+ this.cancelButtonText = this._config?.data?.cancelButtonText ?? 'dialog.default_cancel_button';
23
+ this.confirmButtonClass = this._config?.data?.confirmButtonClass ?? null;
24
+ this.cancelButtonClass = this._config?.data?.cancelButtonClass ?? null;
25
+ this.width = this._config?.data?.width ?? '420px';
23
26
  // Id.
24
27
  this.dialogId = `bb-dialog-confirm-${nextUniqueId++}`;
25
28
  }
@@ -31,13 +34,13 @@ export class BbDialogConfirm {
31
34
  this._dialogRef.close(result);
32
35
  }
33
36
  }
34
- BbDialogConfirm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogConfirm, deps: [{ token: i1.BbDialogConfig }, { token: i2.BbDialogRef }], target: i0.ɵɵFactoryTarget.Component });
35
- BbDialogConfirm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbDialogConfirm, selector: "bb-dialog-confirm", host: { classAttribute: "bb-dialog-confirm" }, viewQueries: [{ propertyName: "confirmButton", first: true, predicate: ["confirm"], descendants: true, read: BbButton }], ngImport: i0, template: "<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n <h1 *ngIf=\"title as titleLabel\"\n [id]=\"dialogId\">\n {{ titleLabel | bbLocalize:{optional: true} }}\n </h1>\n </header>\n\n <p *ngIf=\"description as descriptionContent\"\n class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n\n <footer bb-dialog-actions>\n <button *ngIf=\"cancelButtonText as cancelButtonTextLabel\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n <button #confirm\n *ngIf=\"confirmButtonText as confirmButtonTextLabel\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\"\n class=\"destructive\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}.bb-dialog-confirm-description{line-height:2}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "directive", type: i4.BbFocusTrap, selector: "[bbFocusTrap]" }, { kind: "component", type: i4.BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }, { kind: "component", type: i5.BbDialogModal, selector: "[bb-dialog-modal]", inputs: ["maxWidth"] }, { kind: "component", type: i6.BbDialogHeader, selector: "[bb-dialog-header]", outputs: ["closeRequested"] }, { kind: "component", type: i7.BbDialogActions, selector: "[bb-dialog-actions]" }, { kind: "pipe", type: i8.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogConfirm, decorators: [{
37
+ BbDialogConfirm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogConfirm, deps: [{ token: i1.BbDialogConfig }, { token: i2.BbDialogRef }], target: i0.ɵɵFactoryTarget.Component });
38
+ BbDialogConfirm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogConfirm, selector: "bb-dialog-confirm", host: { classAttribute: "bb-dialog-confirm" }, viewQueries: [{ propertyName: "confirmButton", first: true, predicate: ["confirm"], descendants: true, read: BbButton }], ngImport: i0, template: "<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n <h1 *ngIf=\"title as titleContent\"\n [id]=\"dialogId\">\n <ng-template [bbTemplate]=\"titleContent\">\n {{ $any(titleContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </h1>\n </header>\n\n <p *ngIf=\"description as descriptionContent\"\n class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n\n <footer bb-dialog-actions>\n <button *ngIf=\"cancelButtonText as cancelButtonTextLabel\"\n [ngClass]=\"cancelButtonClass ? cancelButtonClass : null\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n <button #confirm\n *ngIf=\"confirmButtonText as confirmButtonTextLabel\"\n [ngClass]=\"confirmButtonClass ? confirmButtonClass : 'destructive'\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}.bb-dialog-confirm-description{line-height:2}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }, { kind: "directive", type: i5.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "directive", type: i5.BbFocusTrap, selector: "[bbFocusTrap]" }, { kind: "component", type: i6.BbDialogModal, selector: "[bb-dialog-modal]", inputs: ["maxWidth"] }, { kind: "component", type: i7.BbDialogHeader, selector: "[bb-dialog-header]", outputs: ["closeRequested"] }, { kind: "component", type: i8.BbDialogActions, selector: "[bb-dialog-actions]" }, { kind: "pipe", type: i9.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogConfirm, decorators: [{
37
40
  type: Component,
38
- args: [{ selector: 'bb-dialog-confirm', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-confirm' }, template: "<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n <h1 *ngIf=\"title as titleLabel\"\n [id]=\"dialogId\">\n {{ titleLabel | bbLocalize:{optional: true} }}\n </h1>\n </header>\n\n <p *ngIf=\"description as descriptionContent\"\n class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n\n <footer bb-dialog-actions>\n <button *ngIf=\"cancelButtonText as cancelButtonTextLabel\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n <button #confirm\n *ngIf=\"confirmButtonText as confirmButtonTextLabel\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\"\n class=\"destructive\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}.bb-dialog-confirm-description{line-height:2}\n"] }]
41
+ args: [{ selector: 'bb-dialog-confirm', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-confirm' }, template: "<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n <h1 *ngIf=\"title as titleContent\"\n [id]=\"dialogId\">\n <ng-template [bbTemplate]=\"titleContent\">\n {{ $any(titleContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </h1>\n </header>\n\n <p *ngIf=\"description as descriptionContent\"\n class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n\n <footer bb-dialog-actions>\n <button *ngIf=\"cancelButtonText as cancelButtonTextLabel\"\n [ngClass]=\"cancelButtonClass ? cancelButtonClass : null\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n <button #confirm\n *ngIf=\"confirmButtonText as confirmButtonTextLabel\"\n [ngClass]=\"confirmButtonClass ? confirmButtonClass : 'destructive'\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}.bb-dialog-confirm-description{line-height:2}\n"] }]
39
42
  }], ctorParameters: function () { return [{ type: i1.BbDialogConfig }, { type: i2.BbDialogRef }]; }, propDecorators: { confirmButton: [{
40
43
  type: ViewChild,
41
44
  args: ['confirm', { read: BbButton, static: false }]
42
45
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9kaWFsb2cvc3JjL2xpYi9kaWFsb2ctY29uZmlybS9kaWFsb2ctY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1jb25maXJtL2RpYWxvZy1jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsdUJBQXVCLEVBQUUsU0FBUyxFQUFlLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7QUFJMUQsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBV3JCLE1BQU0sT0FBTyxlQUFlO0lBZXhCLFlBQW9CLE9BQXVCLEVBQ3ZCLFVBQWdDO1FBRGhDLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLGVBQVUsR0FBVixVQUFVLENBQXNCO1FBZHBELGlCQUFpQjtRQUNSLFVBQUssR0FBVyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDO1FBQ2xELGdCQUFXLEdBQThCLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUM7UUFDakYscUJBQWdCLEdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLElBQUksSUFBSSxDQUFDO1FBQ3hFLHNCQUFpQixHQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixJQUFJLElBQUksQ0FBQztRQUMxRSxVQUFLLEdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztRQUszRCxNQUFNO1FBQ04sYUFBUSxHQUFHLHFCQUFxQixZQUFZLEVBQUUsRUFBRSxDQUFDO0lBSWpELENBQUM7SUFFRCxlQUFlO1FBQ1gsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFlO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OzRHQTFCUSxlQUFlO2dHQUFmLGVBQWUsNkxBVUssUUFBUSw2QkMxQnpDLDhzQ0FtQ0E7MkZEbkJhLGVBQWU7a0JBVDNCLFNBQVM7K0JBQ0ksbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUssUUFDcEIsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUM7K0hBWW1CLGFBQWE7c0JBQW5FLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiQnV0dG9ufSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9lbGVtZW50cyc7XG5pbXBvcnQge0JiRGlhbG9nQ29uZmlnfSBmcm9tICcuLi9kaWFsb2cuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0JiRGlhbG9nUmVmfSBmcm9tICcuLi9kaWFsb2cucmVmJztcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItZGlhbG9nLWNvbmZpcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctY29uZmlybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGhvc3Q6IHsnY2xhc3MnOiAnYmItZGlhbG9nLWNvbmZpcm0nfVxufSlcbmV4cG9ydCBjbGFzcyBCYkRpYWxvZ0NvbmZpcm0gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICAgIC8vIFJlYWRvbmx5IGRhdGEuXG4gICAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZyA9IHRoaXMuX2NvbmZpZz8uZGF0YT8udGl0bGUgPz8gbnVsbDtcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiA9IHRoaXMuX2NvbmZpZz8uZGF0YT8uZGVzY3JpcHRpb24gPz8gbnVsbDtcbiAgICByZWFkb25seSBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmcgPSB0aGlzLl9jb25maWc/LmRhdGE/LmNhbmNlbEJ1dHRvblRleHQgPz8gbnVsbDtcbiAgICByZWFkb25seSBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nID0gdGhpcy5fY29uZmlnPy5kYXRhPy5jb25maXJtQnV0dG9uVGV4dCA/PyBudWxsO1xuICAgIHJlYWRvbmx5IHdpZHRoOiBzdHJpbmcgPSB0aGlzLl9jb25maWc/LmRhdGE/LndpZHRoID8/IG51bGw7XG5cbiAgICAvLyBWaWV3cy5cbiAgICBAVmlld0NoaWxkKCdjb25maXJtJywge3JlYWQ6IEJiQnV0dG9uLCBzdGF0aWM6IGZhbHNlfSkgY29uZmlybUJ1dHRvbj86IEJiQnV0dG9uO1xuXG4gICAgLy8gSWQuXG4gICAgZGlhbG9nSWQgPSBgYmItZGlhbG9nLWNvbmZpcm0tJHtuZXh0VW5pcXVlSWQrK31gO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfY29uZmlnOiBCYkRpYWxvZ0NvbmZpZyxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9kaWFsb2dSZWY6IEJiRGlhbG9nUmVmPGJvb2xlYW4+KSB7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICAvLyBJbml0aWFsIGZvY3VzIHRoZSBidXR0b24uXG4gICAgICAgIHRoaXMuY29uZmlybUJ1dHRvbj8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkNsb3NlKHJlc3VsdDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcbiAgICB9XG59XG4iLCI8ZGl2IFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJkaWFsb2dJZFwiXG4gICAgIFttYXhXaWR0aF09XCJ3aWR0aFwiXG4gICAgIGJiLWRpYWxvZy1tb2RhbFxuICAgICBiYkZvY3VzVHJhcD5cbiAgICA8aGVhZGVyIGJiLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgIDxoMSAqbmdJZj1cInRpdGxlIGFzIHRpdGxlTGFiZWxcIlxuICAgICAgICAgICAgW2lkXT1cImRpYWxvZ0lkXCI+XG4gICAgICAgICAgICB7eyB0aXRsZUxhYmVsIHwgYmJMb2NhbGl6ZTp7b3B0aW9uYWw6IHRydWV9IH19XG4gICAgICAgIDwvaDE+XG4gICAgPC9oZWFkZXI+XG5cbiAgICA8cCAqbmdJZj1cImRlc2NyaXB0aW9uIGFzIGRlc2NyaXB0aW9uQ29udGVudFwiXG4gICAgICAgY2xhc3M9XCJiYi1kaWFsb2ctY29uZmlybS1kZXNjcmlwdGlvblwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2JiVGVtcGxhdGVdPVwiZGVzY3JpcHRpb25Db250ZW50XCI+XG4gICAgICAgICAgICB7eyAkYW55KGRlc2NyaXB0aW9uQ29udGVudCkgfCBiYkxvY2FsaXplOntvcHRpb25hbDogdHJ1ZX0gfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3A+XG5cbiAgICA8Zm9vdGVyIGJiLWRpYWxvZy1hY3Rpb25zPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY2FuY2VsQnV0dG9uVGV4dCBhcyBjYW5jZWxCdXR0b25UZXh0TGFiZWxcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsb3NlKGZhbHNlKVwiXG4gICAgICAgICAgICAgICAgYmItYnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAge3sgY2FuY2VsQnV0dG9uVGV4dExhYmVsIHwgYmJMb2NhbGl6ZTp7b3B0aW9uYWw6IHRydWV9IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uICNjb25maXJtXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjb25maXJtQnV0dG9uVGV4dCBhcyBjb25maXJtQnV0dG9uVGV4dExhYmVsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbG9zZSh0cnVlKVwiXG4gICAgICAgICAgICAgICAgYmItYnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkZXN0cnVjdGl2ZVwiPlxuICAgICAgICAgICAge3sgY29uZmlybUJ1dHRvblRleHRMYWJlbCB8IGJiTG9jYWxpemU6e29wdGlvbmFsOiB0cnVlfSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Zvb3Rlcj5cbjwvZGl2PlxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9kaWFsb2cvc3JjL2xpYi9kaWFsb2ctY29uZmlybS9kaWFsb2ctY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1jb25maXJtL2RpYWxvZy1jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsdUJBQXVCLEVBQUUsU0FBUyxFQUFlLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7O0FBSTFELElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQVdyQixNQUFNLE9BQU8sZUFBZTtJQWlCeEIsWUFBb0IsT0FBdUIsRUFDdkIsVUFBZ0M7UUFEaEMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsZUFBVSxHQUFWLFVBQVUsQ0FBc0I7UUFoQnBELGlCQUFpQjtRQUNSLFVBQUssR0FBOEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztRQUNyRSxnQkFBVyxHQUE4QixJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDO1FBQ2pGLHNCQUFpQixHQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixJQUFJLCtCQUErQixDQUFDO1FBQ3JHLHFCQUFnQixHQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixJQUFJLDhCQUE4QixDQUFDO1FBQ2xHLHVCQUFrQixHQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixJQUFJLElBQUksQ0FBQztRQUM1RSxzQkFBaUIsR0FBVyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxpQkFBaUIsSUFBSSxJQUFJLENBQUM7UUFDMUUsVUFBSyxHQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssSUFBSSxPQUFPLENBQUM7UUFLOUQsTUFBTTtRQUNOLGFBQVEsR0FBRyxxQkFBcUIsWUFBWSxFQUFFLEVBQUUsQ0FBQztJQUlqRCxDQUFDO0lBRUQsZUFBZTtRQUNYLDRCQUE0QjtRQUM1QixJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBZTtRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs0R0E1QlEsZUFBZTtnR0FBZixlQUFlLDZMQVlLLFFBQVEsNkJDNUJ6Qyw2NkNBc0NBOzJGRHRCYSxlQUFlO2tCQVQzQixTQUFTOytCQUNJLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLLFFBQ3BCLEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFDOytIQWNtQixhQUFhO3NCQUFuRSxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYkJ1dHRvbn0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vZWxlbWVudHMnO1xuaW1wb3J0IHtCYkRpYWxvZ0NvbmZpZ30gZnJvbSAnLi4vZGlhbG9nLmludGVyZmFjZXMnO1xuaW1wb3J0IHtCYkRpYWxvZ1JlZn0gZnJvbSAnLi4vZGlhbG9nLnJlZic7XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLWRpYWxvZy1jb25maXJtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RpYWxvZy1jb25maXJtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBob3N0OiB7J2NsYXNzJzogJ2JiLWRpYWxvZy1jb25maXJtJ31cbn0pXG5leHBvcnQgY2xhc3MgQmJEaWFsb2dDb25maXJtIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICAvLyBSZWFkb25seSBkYXRhLlxuICAgIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+ID0gdGhpcy5fY29uZmlnPy5kYXRhPy50aXRsZSA/PyBudWxsO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+ID0gdGhpcy5fY29uZmlnPy5kYXRhPy5kZXNjcmlwdGlvbiA/PyBudWxsO1xuICAgIHJlYWRvbmx5IGNvbmZpcm1CdXR0b25UZXh0OiBzdHJpbmcgPSB0aGlzLl9jb25maWc/LmRhdGE/LmNvbmZpcm1CdXR0b25UZXh0ID8/ICdkaWFsb2cuZGVmYXVsdF9jb25maXJtX2J1dHRvbic7XG4gICAgcmVhZG9ubHkgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nID0gdGhpcy5fY29uZmlnPy5kYXRhPy5jYW5jZWxCdXR0b25UZXh0ID8/ICdkaWFsb2cuZGVmYXVsdF9jYW5jZWxfYnV0dG9uJztcbiAgICByZWFkb25seSBjb25maXJtQnV0dG9uQ2xhc3M6IHN0cmluZyA9IHRoaXMuX2NvbmZpZz8uZGF0YT8uY29uZmlybUJ1dHRvbkNsYXNzID8/IG51bGw7XG4gICAgcmVhZG9ubHkgY2FuY2VsQnV0dG9uQ2xhc3M6IHN0cmluZyA9IHRoaXMuX2NvbmZpZz8uZGF0YT8uY2FuY2VsQnV0dG9uQ2xhc3MgPz8gbnVsbDtcbiAgICByZWFkb25seSB3aWR0aDogc3RyaW5nID0gdGhpcy5fY29uZmlnPy5kYXRhPy53aWR0aCA/PyAnNDIwcHgnO1xuXG4gICAgLy8gVmlld3MuXG4gICAgQFZpZXdDaGlsZCgnY29uZmlybScsIHtyZWFkOiBCYkJ1dHRvbiwgc3RhdGljOiBmYWxzZX0pIGNvbmZpcm1CdXR0b24/OiBCYkJ1dHRvbjtcblxuICAgIC8vIElkLlxuICAgIGRpYWxvZ0lkID0gYGJiLWRpYWxvZy1jb25maXJtLSR7bmV4dFVuaXF1ZUlkKyt9YDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbmZpZzogQmJEaWFsb2dDb25maWcsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfZGlhbG9nUmVmOiBCYkRpYWxvZ1JlZjxib29sZWFuPikge1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgLy8gSW5pdGlhbCBmb2N1cyB0aGUgYnV0dG9uLlxuICAgICAgICB0aGlzLmNvbmZpcm1CdXR0b24/LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25DbG9zZShyZXN1bHQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XG4gICAgfVxufVxuIiwiPGRpdiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZGlhbG9nSWRcIlxuICAgICBbbWF4V2lkdGhdPVwid2lkdGhcIlxuICAgICBiYi1kaWFsb2ctbW9kYWxcbiAgICAgYmJGb2N1c1RyYXA+XG4gICAgPGhlYWRlciBiYi1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8aDEgKm5nSWY9XCJ0aXRsZSBhcyB0aXRsZUNvbnRlbnRcIlxuICAgICAgICAgICAgW2lkXT1cImRpYWxvZ0lkXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW2JiVGVtcGxhdGVdPVwidGl0bGVDb250ZW50XCI+XG4gICAgICAgICAgICAgICAge3sgJGFueSh0aXRsZUNvbnRlbnQpIHwgYmJMb2NhbGl6ZTp7b3B0aW9uYWw6IHRydWV9IH19XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2gxPlxuICAgIDwvaGVhZGVyPlxuXG4gICAgPHAgKm5nSWY9XCJkZXNjcmlwdGlvbiBhcyBkZXNjcmlwdGlvbkNvbnRlbnRcIlxuICAgICAgIGNsYXNzPVwiYmItZGlhbG9nLWNvbmZpcm0tZGVzY3JpcHRpb25cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtiYlRlbXBsYXRlXT1cImRlc2NyaXB0aW9uQ29udGVudFwiPlxuICAgICAgICAgICAge3sgJGFueShkZXNjcmlwdGlvbkNvbnRlbnQpIHwgYmJMb2NhbGl6ZTp7b3B0aW9uYWw6IHRydWV9IH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9wPlxuXG4gICAgPGZvb3RlciBiYi1kaWFsb2ctYWN0aW9ucz5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImNhbmNlbEJ1dHRvblRleHQgYXMgY2FuY2VsQnV0dG9uVGV4dExhYmVsXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJjYW5jZWxCdXR0b25DbGFzcyA/IGNhbmNlbEJ1dHRvbkNsYXNzIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoZmFsc2UpXCJcbiAgICAgICAgICAgICAgICBiYi1idXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICB7eyBjYW5jZWxCdXR0b25UZXh0TGFiZWwgfCBiYkxvY2FsaXplOntvcHRpb25hbDogdHJ1ZX0gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gI2NvbmZpcm1cbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpcm1CdXR0b25UZXh0IGFzIGNvbmZpcm1CdXR0b25UZXh0TGFiZWxcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbmZpcm1CdXR0b25DbGFzcyA/IGNvbmZpcm1CdXR0b25DbGFzcyA6ICdkZXN0cnVjdGl2ZSdcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsb3NlKHRydWUpXCJcbiAgICAgICAgICAgICAgICBiYi1idXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICB7eyBjb25maXJtQnV0dG9uVGV4dExhYmVsIHwgYmJMb2NhbGl6ZTp7b3B0aW9uYWw6IHRydWV9IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZm9vdGVyPlxuPC9kaXY+XG4iXX0=
@@ -30,7 +30,7 @@ export class BbDialogContainer {
30
30
  }
31
31
  onAnimationDone(event) {
32
32
  // Check if the dialog is being destroyed.
33
- if (event.toState !== 'void') {
33
+ if (event?.toState !== 'void') {
34
34
  return;
35
35
  }
36
36
  // Destroy the ref if it exists.
@@ -59,9 +59,9 @@ export class BbDialogContainer {
59
59
  this.componentRef = viewContainerRef.createComponent(componentType);
60
60
  }
61
61
  }
62
- BbDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
63
- BbDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbDialogContainer, selector: "bb-dialog-container", host: { listeners: { "@bbDialogContainerAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogContainerAnimation": "true" }, classAttribute: "bb-dialog-container" }, viewQueries: [{ propertyName: "insertion", first: true, predicate: BbDialogInsertion, descendants: true, static: true }], ngImport: i0, template: "<div class=\"bb-dialog-container-backdrop\"></div>\n\n<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n", styles: [".bb-dialog-container,.bb-dialog-container-backdrop{top:0;left:0;right:0;bottom:0;z-index:1000;position:fixed}.bb-dialog-container{display:flex}.bb-dialog-container-backdrop{will-change:opacity;background-color:#1119}.bb-dialog-container-component{width:100%;margin:auto;padding:20px;z-index:1001;display:block;will-change:opacity,transform}\n"], dependencies: [{ kind: "directive", type: i1.BbDialogInsertion, selector: "[bbDialogInsertion]" }], animations: [bbDialogContainerAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogContainer, decorators: [{
62
+ BbDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
63
+ BbDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogContainer, selector: "bb-dialog-container", host: { listeners: { "@bbDialogContainerAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogContainerAnimation": "true" }, classAttribute: "bb-dialog-container" }, viewQueries: [{ propertyName: "insertion", first: true, predicate: BbDialogInsertion, descendants: true, static: true }], ngImport: i0, template: "<div class=\"bb-dialog-container-backdrop\"></div>\n\n<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n", styles: [".bb-dialog-container,.bb-dialog-container-backdrop{top:0;left:0;right:0;bottom:0;z-index:1000;position:fixed}.bb-dialog-container{display:flex}.bb-dialog-container-backdrop{will-change:opacity;background-color:#1119}.bb-dialog-container-component{width:100%;margin:auto;padding:20px;z-index:1001;display:block;will-change:opacity,transform}\n"], dependencies: [{ kind: "directive", type: i1.BbDialogInsertion, selector: "[bbDialogInsertion]" }], animations: [bbDialogContainerAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogContainer, decorators: [{
65
65
  type: Component,
66
66
  args: [{ selector: 'bb-dialog-container', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
67
67
  'class': 'bb-dialog-container',
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
74
74
  type: HostListener,
75
75
  args: ['@bbDialogContainerAnimation.done', ['$event']]
76
76
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1jb250YWluZXIvZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1jb250YWluZXIvZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxZQUFZLEVBSVosU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQWUvQyxNQUFNLE9BQU8saUJBQWlCO0lBcUIxQixZQUFvQixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQWhCM0MsUUFBUTtRQUNSLGlCQUFZLEdBQTZCLElBQUksQ0FBQztRQUM5Qyx1QkFBa0IsR0FBcUIsSUFBSSxDQUFDO1FBRTVDLFNBQVM7UUFDVCxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdEMsZ0JBQWdCO1FBQ1Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBUzNDLENBQUM7SUFQRCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUM1QixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1YsQ0FBQztJQUNOLENBQUM7SUFLRCxRQUFRO1FBQ0osNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVqRCxrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBR0QsZUFBZSxDQUFDLEtBQXFCO1FBQ2pDLDBDQUEwQztRQUMxQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO1lBQzFCLE9BQU87U0FDVjtRQUVELGdDQUFnQztRQUNoQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxlQUFlO1FBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxJQUFJLElBQUksQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTztTQUNWO1FBRUQsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNuRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3JELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRS9DLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDL0MsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUV6QyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxhQUF3QjtRQUMvQywyQ0FBMkM7UUFDM0MsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO1FBQ3pELGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXpCLHVDQUF1QztRQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RSxDQUFDOzs4R0F6RVEsaUJBQWlCO2tHQUFqQixpQkFBaUIsNFJBR2YsaUJBQWlCLDhEQ2xDaEMsb0tBS0Esc2REd0JnQixDQUFDLDBCQUEwQixDQUFDOzJGQUUvQixpQkFBaUI7a0JBYjdCLFNBQVM7K0JBQ0kscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsT0FBTyxFQUFFLHFCQUFxQjt3QkFDOUIsK0JBQStCLEVBQUUsTUFBTTtxQkFDMUMsdUJBQ29CLEtBQUssY0FDZCxDQUFDLDBCQUEwQixDQUFDO2lHQUtNLFNBQVM7c0JBQXRELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQWtDNUMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGtDQUFrQyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVHlwZSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2JiRGlhbG9nQ29udGFpbmVyQW5pbWF0aW9ufSBmcm9tICcuL2RpYWxvZy1jb250YWluZXIuYW5pbWF0aW9ucyc7XG5pbXBvcnQge2Zyb21FdmVudCwgcmFjZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7QmJEaWFsb2dJbnNlcnRpb259IGZyb20gJy4uL2RpYWxvZy5pbnNlcnRpb24nO1xuaW1wb3J0IHtBbmltYXRpb25FdmVudH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge3N3aXRjaE1hcCwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLWRpYWxvZy1jb250YWluZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1kaWFsb2ctY29udGFpbmVyJyxcbiAgICAgICAgJ1tAYmJEaWFsb2dDb250YWluZXJBbmltYXRpb25dJzogJ3RydWUnXG4gICAgfSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBhbmltYXRpb25zOiBbYmJEaWFsb2dDb250YWluZXJBbmltYXRpb25dXG59KVxuZXhwb3J0IGNsYXNzIEJiRGlhbG9nQ29udGFpbmVyIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgLy8gVmlld3MuXG4gICAgQFZpZXdDaGlsZChCYkRpYWxvZ0luc2VydGlvbiwge3N0YXRpYzogdHJ1ZX0pIGluc2VydGlvbjogQmJEaWFsb2dJbnNlcnRpb247XG5cbiAgICAvLyBEYXRhLlxuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBjaGlsZENvbXBvbmVudFR5cGU6IFR5cGU8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gU3RhdGUuXG4gICAgb3ZlcmxheUNsaWNrZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8vIFN1YnNjcmlwdGlvbi5cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICBnZXQgb25PdmVybGF5Q2xpY2tlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheUNsaWNrZWQkLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBMb2FkIHRoZSBjaGlsZCBjb21wb25lbnQuXG4gICAgICAgIHRoaXMubG9hZENoaWxkQ29tcG9uZW50KHRoaXMuY2hpbGRDb21wb25lbnRUeXBlKTtcblxuICAgICAgICAvLyBMaXN0ZW4gZm9yIG1vdXNlIGNsaWNrIG9uIHRoZSBkaWFsb2cgY29udGFpbmVyLlxuICAgICAgICB0aGlzLmxpc3RlbkZvckNsaWNrcygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignQGJiRGlhbG9nQ29udGFpbmVyQW5pbWF0aW9uLmRvbmUnLCBbJyRldmVudCddKVxuICAgIG9uQW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGRpYWxvZyBpcyBiZWluZyBkZXN0cm95ZWQuXG4gICAgICAgIGlmIChldmVudC50b1N0YXRlICE9PSAndm9pZCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlc3Ryb3kgdGhlIHJlZiBpZiBpdCBleGlzdHMuXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsaXN0ZW5Gb3JDbGlja3MoKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50ID8/IG51bGw7XG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbW91c2VEb3duJCA9IGZyb21FdmVudChlbGVtZW50LCAnbW91c2Vkb3duJyk7XG4gICAgICAgIGNvbnN0IHRvdWNoU3RhcnQkID0gZnJvbUV2ZW50KGVsZW1lbnQsICd0b3VjaHN0YXJ0Jyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0JCA9IHJhY2UoW21vdXNlRG93biQsIHRvdWNoU3RhcnQkXSk7XG5cbiAgICAgICAgY29uc3QgbW91c2VVcCQgPSBmcm9tRXZlbnQoZWxlbWVudCwgJ21vdXNldXAnKTtcbiAgICAgICAgY29uc3QgdG91Y2hFbmQkID0gZnJvbUV2ZW50KGVsZW1lbnQsICd0b3VjaGVuZCcpO1xuICAgICAgICBjb25zdCBlbmQkID0gcmFjZShbbW91c2VVcCQsIHRvdWNoRW5kJF0pO1xuXG4gICAgICAgIGNvbnN0IGNsaWNrcyQgPSBzdGFydCQucGlwZShzd2l0Y2hNYXAoKCkgPT4gZW5kJCkpO1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBjbGlja3MkLnN1YnNjcmliZSgoKSA9PiB0aGlzLm92ZXJsYXlDbGlja2VkJC5uZXh0KCkpO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkQ2hpbGRDb21wb25lbnQoY29tcG9uZW50VHlwZTogVHlwZTxhbnk+KSB7XG4gICAgICAgIC8vIEdldCB0aGUgdmlldyBjb250YWluZXIgcmVmIGFuZCBjbGVhciBpdC5cbiAgICAgICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IHRoaXMuaW5zZXJ0aW9uLnZpZXdDb250YWluZXJSZWY7XG4gICAgICAgIHZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcblxuICAgICAgICAvLyBDcmVhdGUgYW4gaW5zdGFuY2Ugb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRUeXBlKTtcbiAgICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJiYi1kaWFsb2ctY29udGFpbmVyLWJhY2tkcm9wXCI+PC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJiYi1kaWFsb2ctY29udGFpbmVyLWNvbXBvbmVudFwiPlxuICAgIDxuZy1jb250YWluZXIgYmJEaWFsb2dJbnNlcnRpb24+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1jb250YWluZXIvZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy1jb250YWluZXIvZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxZQUFZLEVBSVosU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQWUvQyxNQUFNLE9BQU8saUJBQWlCO0lBcUIxQixZQUFvQixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQWhCM0MsUUFBUTtRQUNSLGlCQUFZLEdBQTZCLElBQUksQ0FBQztRQUM5Qyx1QkFBa0IsR0FBcUIsSUFBSSxDQUFDO1FBRTVDLFNBQVM7UUFDVCxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdEMsZ0JBQWdCO1FBQ1Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBUzNDLENBQUM7SUFQRCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUM1QixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1YsQ0FBQztJQUNOLENBQUM7SUFLRCxRQUFRO1FBQ0osNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVqRCxrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBR0QsZUFBZSxDQUFDLEtBQXFCO1FBQ2pDLDBDQUEwQztRQUMxQyxJQUFJLEtBQUssRUFBRSxPQUFPLEtBQUssTUFBTSxFQUFFO1lBQzNCLE9BQU87U0FDVjtRQUVELGdDQUFnQztRQUNoQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxlQUFlO1FBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxJQUFJLElBQUksQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTztTQUNWO1FBRUQsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNuRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3JELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRS9DLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDL0MsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUV6QyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxhQUF3QjtRQUMvQywyQ0FBMkM7UUFDM0MsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO1FBQ3pELGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXpCLHVDQUF1QztRQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RSxDQUFDOzs4R0F6RVEsaUJBQWlCO2tHQUFqQixpQkFBaUIsNFJBR2YsaUJBQWlCLDhEQ2xDaEMsb0tBS0Esc2REd0JnQixDQUFDLDBCQUEwQixDQUFDOzJGQUUvQixpQkFBaUI7a0JBYjdCLFNBQVM7K0JBQ0kscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsT0FBTyxFQUFFLHFCQUFxQjt3QkFDOUIsK0JBQStCLEVBQUUsTUFBTTtxQkFDMUMsdUJBQ29CLEtBQUssY0FDZCxDQUFDLDBCQUEwQixDQUFDO2lHQUtNLFNBQVM7c0JBQXRELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQWtDNUMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGtDQUFrQyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVHlwZSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2JiRGlhbG9nQ29udGFpbmVyQW5pbWF0aW9ufSBmcm9tICcuL2RpYWxvZy1jb250YWluZXIuYW5pbWF0aW9ucyc7XG5pbXBvcnQge2Zyb21FdmVudCwgcmFjZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7QmJEaWFsb2dJbnNlcnRpb259IGZyb20gJy4uL2RpYWxvZy5pbnNlcnRpb24nO1xuaW1wb3J0IHtBbmltYXRpb25FdmVudH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge3N3aXRjaE1hcCwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLWRpYWxvZy1jb250YWluZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1kaWFsb2ctY29udGFpbmVyJyxcbiAgICAgICAgJ1tAYmJEaWFsb2dDb250YWluZXJBbmltYXRpb25dJzogJ3RydWUnXG4gICAgfSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBhbmltYXRpb25zOiBbYmJEaWFsb2dDb250YWluZXJBbmltYXRpb25dXG59KVxuZXhwb3J0IGNsYXNzIEJiRGlhbG9nQ29udGFpbmVyIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgLy8gVmlld3MuXG4gICAgQFZpZXdDaGlsZChCYkRpYWxvZ0luc2VydGlvbiwge3N0YXRpYzogdHJ1ZX0pIGluc2VydGlvbjogQmJEaWFsb2dJbnNlcnRpb247XG5cbiAgICAvLyBEYXRhLlxuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBjaGlsZENvbXBvbmVudFR5cGU6IFR5cGU8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gU3RhdGUuXG4gICAgb3ZlcmxheUNsaWNrZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8vIFN1YnNjcmlwdGlvbi5cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICBnZXQgb25PdmVybGF5Q2xpY2tlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheUNsaWNrZWQkLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBMb2FkIHRoZSBjaGlsZCBjb21wb25lbnQuXG4gICAgICAgIHRoaXMubG9hZENoaWxkQ29tcG9uZW50KHRoaXMuY2hpbGRDb21wb25lbnRUeXBlKTtcblxuICAgICAgICAvLyBMaXN0ZW4gZm9yIG1vdXNlIGNsaWNrIG9uIHRoZSBkaWFsb2cgY29udGFpbmVyLlxuICAgICAgICB0aGlzLmxpc3RlbkZvckNsaWNrcygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignQGJiRGlhbG9nQ29udGFpbmVyQW5pbWF0aW9uLmRvbmUnLCBbJyRldmVudCddKVxuICAgIG9uQW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGRpYWxvZyBpcyBiZWluZyBkZXN0cm95ZWQuXG4gICAgICAgIGlmIChldmVudD8udG9TdGF0ZSAhPT0gJ3ZvaWQnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZXN0cm95IHRoZSByZWYgaWYgaXQgZXhpc3RzLlxuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZj8uZGVzdHJveSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbGlzdGVuRm9yQ2xpY2tzKCkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudCA/PyBudWxsO1xuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1vdXNlRG93biQgPSBmcm9tRXZlbnQoZWxlbWVudCwgJ21vdXNlZG93bicpO1xuICAgICAgICBjb25zdCB0b3VjaFN0YXJ0JCA9IGZyb21FdmVudChlbGVtZW50LCAndG91Y2hzdGFydCcpO1xuICAgICAgICBjb25zdCBzdGFydCQgPSByYWNlKFttb3VzZURvd24kLCB0b3VjaFN0YXJ0JF0pO1xuXG4gICAgICAgIGNvbnN0IG1vdXNlVXAkID0gZnJvbUV2ZW50KGVsZW1lbnQsICdtb3VzZXVwJyk7XG4gICAgICAgIGNvbnN0IHRvdWNoRW5kJCA9IGZyb21FdmVudChlbGVtZW50LCAndG91Y2hlbmQnKTtcbiAgICAgICAgY29uc3QgZW5kJCA9IHJhY2UoW21vdXNlVXAkLCB0b3VjaEVuZCRdKTtcblxuICAgICAgICBjb25zdCBjbGlja3MkID0gc3RhcnQkLnBpcGUoc3dpdGNoTWFwKCgpID0+IGVuZCQpKTtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gY2xpY2tzJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vdmVybGF5Q2xpY2tlZCQubmV4dCgpKTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChzdWJzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZENoaWxkQ29tcG9uZW50KGNvbXBvbmVudFR5cGU6IFR5cGU8YW55Pikge1xuICAgICAgICAvLyBHZXQgdGhlIHZpZXcgY29udGFpbmVyIHJlZiBhbmQgY2xlYXIgaXQuXG4gICAgICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWYgPSB0aGlzLmluc2VydGlvbi52aWV3Q29udGFpbmVyUmVmO1xuICAgICAgICB2aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG5cbiAgICAgICAgLy8gQ3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50VHlwZSk7XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiYmItZGlhbG9nLWNvbnRhaW5lci1iYWNrZHJvcFwiPjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiYmItZGlhbG9nLWNvbnRhaW5lci1jb21wb25lbnRcIj5cbiAgICA8bmctY29udGFpbmVyIGJiRGlhbG9nSW5zZXJ0aW9uPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -7,9 +7,9 @@ export class BbDialogHeader {
7
7
  this.closeRequested = new EventEmitter();
8
8
  }
9
9
  }
10
- BbDialogHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- BbDialogHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbDialogHeader, selector: "[bb-dialog-header]", outputs: { closeRequested: "closeRequested" }, host: { classAttribute: "bb-dialog-header" }, ngImport: i0, template: "<div class=\"bb-dialog-header-row\">\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"closeRequested?.observed\"\n (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n", styles: [".bb-dialog-header{display:flex;min-height:60px;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{max-width:100%;font-size:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:10px 20px}.bb-dialog-header-navigation{width:100%;padding:0 20px;overflow-x:auto;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-close{width:32px;height:32px;border:none;min-width:32px;min-height:32px;overflow:hidden;margin-left:10px;border-radius:4px;position:relative;margin-right:-10px;display:inline-block;background-color:transparent}.bb-dialog-header-close:before,.bb-dialog-header-close:after{top:50%;left:20%;width:60%;height:2px;content:\"\";margin-top:-1px;position:absolute;background-color:#a2a9ba}.bb-dialog-header-close:before{transform:rotate(45deg)}.bb-dialog-header-close:after{transform:rotate(-45deg)}.bb-dialog-header-close:hover{background-color:#00000014}.bb-dialog-header-close:focus{background-color:#0000001f}.bb-dialog-header-close:active{background-color:#00000029}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogHeader, decorators: [{
10
+ BbDialogHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ BbDialogHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogHeader, selector: "[bb-dialog-header]", outputs: { closeRequested: "closeRequested" }, host: { classAttribute: "bb-dialog-header" }, ngImport: i0, template: "<div class=\"bb-dialog-header-row\">\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"closeRequested?.observed\"\n (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n", styles: [".bb-dialog-header{display:flex;min-height:60px;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{max-width:100%;font-size:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:10px 20px}.bb-dialog-header-navigation{width:100%;padding:0 20px;overflow-x:auto;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-close{width:32px;height:32px;border:none;min-width:32px;min-height:32px;overflow:hidden;margin-left:10px;border-radius:4px;position:relative;margin-right:-10px;display:inline-block;background-color:transparent}.bb-dialog-header-close:before,.bb-dialog-header-close:after{top:50%;left:20%;width:60%;height:2px;content:\"\";margin-top:-1px;position:absolute;background-color:#a2a9ba}.bb-dialog-header-close:before{transform:rotate(45deg)}.bb-dialog-header-close:after{transform:rotate(-45deg)}.bb-dialog-header-close:hover{background-color:#00000014}.bb-dialog-header-close:focus{background-color:#0000001f}.bb-dialog-header-close:active{background-color:#00000029}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogHeader, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: '[bb-dialog-header]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-header' }, template: "<div class=\"bb-dialog-header-row\">\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"closeRequested?.observed\"\n (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n", styles: [".bb-dialog-header{display:flex;min-height:60px;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{max-width:100%;font-size:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:10px 20px}.bb-dialog-header-navigation{width:100%;padding:0 20px;overflow-x:auto;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-close{width:32px;height:32px;border:none;min-width:32px;min-height:32px;overflow:hidden;margin-left:10px;border-radius:4px;position:relative;margin-right:-10px;display:inline-block;background-color:transparent}.bb-dialog-header-close:before,.bb-dialog-header-close:after{top:50%;left:20%;width:60%;height:2px;content:\"\";margin-top:-1px;position:absolute;background-color:#a2a9ba}.bb-dialog-header-close:before{transform:rotate(45deg)}.bb-dialog-header-close:after{transform:rotate(-45deg)}.bb-dialog-header-close:hover{background-color:#00000014}.bb-dialog-header-close:focus{background-color:#0000001f}.bb-dialog-header-close:active{background-color:#00000029}\n"] }]
15
15
  }], propDecorators: { closeRequested: [{
@@ -2,9 +2,9 @@ import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/
2
2
  import * as i0 from "@angular/core";
3
3
  export class BbDialogLink {
4
4
  }
5
- BbDialogLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogLink, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- BbDialogLink.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbDialogLink, selector: "[bb-dialog-link]", host: { classAttribute: "bb-dialog-link" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bb-dialog-link{border:none;height:30px;display:flex;font-size:16px;-webkit-appearance:none;appearance:none;font-weight:500;white-space:nowrap;align-items:center;color:#6b5c5c!important;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dialog-link+.bb-dialog-link{margin-left:10px}.bb-dialog-link:hover:not(.disabled){border-bottom:2px solid rgba(117,119,148,.2)}.bb-dialog-link.active,.bb-dialog-link.active:hover{color:#5b53ff!important;border-bottom-color:#5b53ff}.bb-dialog-link.disabled,.bb-dialog-link.disabled:focus,.bb-dialog-link.disabled:hover,.bb-dialog-link.disabled:active{opacity:.4;cursor:default;box-shadow:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogLink, decorators: [{
5
+ BbDialogLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogLink, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ BbDialogLink.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogLink, selector: "[bb-dialog-link]", host: { classAttribute: "bb-dialog-link" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bb-dialog-link{border:none;height:30px;display:flex;font-size:16px;-webkit-appearance:none;appearance:none;font-weight:500;white-space:nowrap;align-items:center;color:#6b5c5c!important;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dialog-link+.bb-dialog-link{margin-left:10px}.bb-dialog-link:hover:not(.disabled){border-bottom:2px solid rgba(117,119,148,.2)}.bb-dialog-link.active,.bb-dialog-link.active:hover{color:#5b53ff!important;border-bottom-color:#5b53ff}.bb-dialog-link.disabled,.bb-dialog-link.disabled:focus,.bb-dialog-link.disabled:hover,.bb-dialog-link.disabled:active{opacity:.4;cursor:default;box-shadow:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogLink, decorators: [{
8
8
  type: Component,
9
9
  args: [{ selector: '[bb-dialog-link]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-link' }, template: "<ng-content></ng-content>\n", styles: [".bb-dialog-link{border:none;height:30px;display:flex;font-size:16px;-webkit-appearance:none;appearance:none;font-weight:500;white-space:nowrap;align-items:center;color:#6b5c5c!important;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dialog-link+.bb-dialog-link{margin-left:10px}.bb-dialog-link:hover:not(.disabled){border-bottom:2px solid rgba(117,119,148,.2)}.bb-dialog-link.active,.bb-dialog-link.active:hover{color:#5b53ff!important;border-bottom-color:#5b53ff}.bb-dialog-link.disabled,.bb-dialog-link.disabled:focus,.bb-dialog-link.disabled:hover,.bb-dialog-link.disabled:active{opacity:.4;cursor:default;box-shadow:none}\n"] }]
10
10
  }] });
@@ -30,9 +30,9 @@ export class BbDialogModal {
30
30
  : this._renderer.setStyle(element, 'overflow', 'hidden');
31
31
  }
32
32
  }
33
- BbDialogModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogModal, deps: [{ token: i1.Patch }, { token: i0.Renderer2 }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
34
- BbDialogModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: { maxWidth: "maxWidth" }, host: { attributes: { "role": "dialog" }, listeners: { "click": "onOverlayClickedEvent($event)", "touchstart": "onOverlayClickedEvent($event)", "touchend": "onOverlayClickedEvent($event)", "mouseup": "onOverlayClickedEvent($event)", "mousedown": "onOverlayClickedEvent($event)" }, properties: { "style.max-width": "this.maxWidth" }, classAttribute: "bb-dialog-modal" }, ngImport: i0, template: "<ng-content select=\"[bb-dialog-header]\">\n\n</ng-content>\n\n<div class=\"bb-dialog-modal-body\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"[bb-dialog-actions]\">\n\n</ng-content>\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;max-width:420px;border-radius:4px;position:relative;flex-direction:column;background-color:#fff;will-change:opacity,transform;max-height:calc(var(--vh, 1vh) * 100 - 40px)}.bb-dialog-modal-body{padding:20px;color:#738694;font-size:13px;overflow-y:auto;line-height:1.4;background-color:#f1f3f6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogModal, decorators: [{
33
+ BbDialogModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogModal, deps: [{ token: i1.Patch }, { token: i0.Renderer2 }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
34
+ BbDialogModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: { maxWidth: "maxWidth" }, host: { attributes: { "role": "dialog" }, listeners: { "click": "onOverlayClickedEvent($event)", "touchstart": "onOverlayClickedEvent($event)", "touchend": "onOverlayClickedEvent($event)", "mouseup": "onOverlayClickedEvent($event)", "mousedown": "onOverlayClickedEvent($event)" }, properties: { "style.max-width": "this.maxWidth" }, classAttribute: "bb-dialog-modal" }, ngImport: i0, template: "<ng-content select=\"[bb-dialog-header]\">\n\n</ng-content>\n\n<div class=\"bb-dialog-modal-body\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"[bb-dialog-actions]\">\n\n</ng-content>\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;max-width:420px;border-radius:4px;position:relative;flex-direction:column;background-color:#fff;will-change:opacity,transform;max-height:calc(var(--vh, 1vh) * 100 - 40px)}.bb-dialog-modal-body{padding:20px;color:#738694;font-size:13px;overflow-y:auto;line-height:1.4;background-color:#f1f3f6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogModal, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: '[bb-dialog-modal]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
38
38
  'class': 'bb-dialog-modal',
@@ -59,9 +59,9 @@ export class BbDialogOverlay {
59
59
  this._subscription.add(subscription);
60
60
  }
61
61
  }
62
- BbDialogOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogOverlay, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
63
- BbDialogOverlay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbDialogOverlay, selector: "bb-dialog-overlay", outputs: { closeRequested: "closeRequested" }, host: { listeners: { "window:keyup": "onKeyEvent($event)", "@bbDialogOverlayAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogOverlayAnimation": "state" }, classAttribute: "bb-dialog-overlay" }, ngImport: i0, template: "<div class=\"bb-dialog-overlay-backdrop\"></div>\n\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n", styles: [".bb-dialog-overlay,.bb-dialog-overlay-backdrop{top:0;left:0;right:0;bottom:0;display:flex;z-index:1000;position:fixed;flex-direction:column}.bb-dialog-overlay{padding:20px}.bb-dialog-overlay-backdrop{will-change:opacity;background-color:#1119}.bb-dialog-overlay-component{z-index:1001;display:block;position:relative}\n"], animations: [bbDialogOverlayAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogOverlay, decorators: [{
62
+ BbDialogOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogOverlay, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
63
+ BbDialogOverlay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogOverlay, selector: "bb-dialog-overlay", outputs: { closeRequested: "closeRequested" }, host: { listeners: { "window:keyup": "onKeyEvent($event)", "@bbDialogOverlayAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogOverlayAnimation": "state" }, classAttribute: "bb-dialog-overlay" }, ngImport: i0, template: "<div class=\"bb-dialog-overlay-backdrop\"></div>\n\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n", styles: [".bb-dialog-overlay,.bb-dialog-overlay-backdrop{top:0;left:0;right:0;bottom:0;display:flex;z-index:1000;position:fixed;flex-direction:column}.bb-dialog-overlay{padding:20px}.bb-dialog-overlay-backdrop{will-change:opacity;background-color:#1119}.bb-dialog-overlay-component{z-index:1001;display:block;position:relative}\n"], animations: [bbDialogOverlayAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogOverlay, decorators: [{
65
65
  type: Component,
66
66
  args: [{ selector: 'bb-dialog-overlay', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
67
67
  'class': 'bb-dialog-overlay',
@@ -5,9 +5,9 @@ export class BbDialogInsertion {
5
5
  this.viewContainerRef = viewContainerRef;
6
6
  }
7
7
  }
8
- BbDialogInsertion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogInsertion, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- BbDialogInsertion.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbDialogInsertion, selector: "[bbDialogInsertion]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDialogInsertion, decorators: [{
8
+ BbDialogInsertion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogInsertion, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ BbDialogInsertion.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogInsertion, selector: "[bbDialogInsertion]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogInsertion, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[bbDialogInsertion]'
@@ -1,3 +1,3 @@
1
1
  export class BbDialogConfig {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxjQUFjO0NBRTFCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEJiRGlhbG9nQ29uZmlnPFQgPSBhbnk+IHtcbiAgICBkYXRhPzogVDtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxjQUFjO0NBRTFCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEJiRGlhbG9nQ29uZmlnPFQgPSBhbnk+IHtcbiAgICBkYXRhPzogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dDb25maXJtT3B0aW9ucyB7XG4gICAgY2FuY2VsQnV0dG9uQ2xhc3M6IHN0cmluZztcbiAgICBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmc7XG4gICAgY29uZmlybUJ1dHRvblRleHQ6IHN0cmluZztcbiAgICBjb25maXJtQnV0dG9uQ2xhc3M6IHN0cmluZztcbiAgICB3aWR0aDogc3RyaW5nO1xufVxuIl19
@@ -20,8 +20,8 @@ export class DialogModule {
20
20
  };
21
21
  }
22
22
  }
23
- DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
- DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: DialogModule, declarations: [BbDialogContainer,
23
+ DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
+ DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DialogModule, declarations: [BbDialogContainer,
25
25
  BbDialogOverlay,
26
26
  BbDialogModal,
27
27
  BbDialogHeader,
@@ -35,10 +35,10 @@ DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
35
35
  BbDialogHeader,
36
36
  BbDialogLink,
37
37
  BbDialogActions] });
38
- DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: DialogModule, imports: [CommonModule,
38
+ DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DialogModule, imports: [CommonModule,
39
39
  LocalizeModule,
40
40
  ElementsModule] });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: DialogModule, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DialogModule, decorators: [{
42
42
  type: NgModule,
43
43
  args: [{
44
44
  imports: [
@@ -1,43 +1,31 @@
1
- import { Injectable } from '@angular/core';
1
+ import { createComponent, createEnvironmentInjector, Injectable } from '@angular/core';
2
2
  import { BbDialogContainer } from './dialog-container/dialog-container.component';
3
3
  import { BbDialogConfirm } from './dialog-confirm/dialog-confirm.component';
4
- import { BbDialogInjector } from './dialog.injector';
5
4
  import { BbDialogConfig } from './dialog.interfaces';
6
5
  import { BbDialogRef } from './dialog.ref';
7
6
  import * as i0 from "@angular/core";
8
7
  export class Dialog {
9
- constructor(_injector, _applicationRef, _componentFactoryResolver) {
8
+ constructor(_injector, _applicationRef, _environmentInjector) {
10
9
  this._injector = _injector;
11
10
  this._applicationRef = _applicationRef;
12
- this._componentFactoryResolver = _componentFactoryResolver;
11
+ this._environmentInjector = _environmentInjector;
13
12
  }
14
13
  open(componentType, config) {
15
14
  return this.createDialog(componentType, config);
16
15
  }
17
- confirm(title, description, options = {}) {
16
+ confirm(title, description, options) {
18
17
  return this.open(BbDialogConfirm, {
19
- data: {
20
- title,
21
- description,
22
- width: options?.width ?? '420px',
23
- cancelButtonText: options.cancelButtonText ?? 'dialog.default_cancel_button',
24
- confirmButtonText: options.confirmButtonText ?? 'dialog.default_confirm_button'
25
- }
18
+ data: { title, description, ...(options ?? {}) }
26
19
  });
27
20
  }
28
21
  createDialog(componentType, config) {
29
22
  // Create a reference.
30
23
  const dialogRef = new BbDialogRef();
31
- // Create a map with the config.
32
- const map = new WeakMap();
33
- map.set(BbDialogConfig, config ?? {});
34
- map.set(BbDialogRef, dialogRef);
35
- // Create a custom injector.
36
- const dialogInjector = new BbDialogInjector(this._injector, map);
37
- // Resolve the dialog component reference.
38
- const dialogComponentRef = this._componentFactoryResolver
39
- .resolveComponentFactory(BbDialogContainer)
40
- .create(dialogInjector);
24
+ const environmentInjector = createEnvironmentInjector([
25
+ { provide: BbDialogConfig, useValue: config ?? {} },
26
+ { provide: BbDialogRef, useValue: dialogRef }
27
+ ], this._environmentInjector);
28
+ const dialogComponentRef = createComponent(BbDialogContainer, { environmentInjector });
41
29
  // Attach the host view to the application.
42
30
  this._applicationRef.attachView(dialogComponentRef.hostView);
43
31
  try {
@@ -70,9 +58,9 @@ export class Dialog {
70
58
  dialogComponentRef = null;
71
59
  }
72
60
  }
73
- Dialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Dialog, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
74
- Dialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Dialog });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Dialog, decorators: [{
61
+ Dialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Dialog, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable });
62
+ Dialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Dialog });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Dialog, decorators: [{
76
64
  type: Injectable
77
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }]; } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBeUQsVUFBVSxFQUE4QixNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxjQUFjLENBQUM7O0FBR3pDLE1BQU0sT0FBTyxNQUFNO0lBRWYsWUFBb0IsU0FBbUIsRUFDbkIsZUFBK0IsRUFDL0IseUJBQW1EO1FBRm5ELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMEI7SUFDdkUsQ0FBQztJQUVELElBQUksQ0FBVSxhQUF3QixFQUFFLE1BQXVCO1FBQzNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBSSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFhLEVBQUUsV0FBc0MsRUFBRSxVQUFxRixFQUFFO1FBQ2xKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBVSxlQUFlLEVBQUU7WUFDdkMsSUFBSSxFQUFFO2dCQUNGLEtBQUs7Z0JBQ0wsV0FBVztnQkFDWCxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssSUFBSSxPQUFPO2dCQUNoQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLElBQUksOEJBQThCO2dCQUM1RSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsaUJBQWlCLElBQUksK0JBQStCO2FBQ2xGO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFlBQVksQ0FBVSxhQUF3QixFQUFFLE1BQXVCO1FBQzNFLHNCQUFzQjtRQUN0QixNQUFNLFNBQVMsR0FBRyxJQUFJLFdBQVcsRUFBSyxDQUFDO1FBRXZDLGdDQUFnQztRQUNoQyxNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzFCLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN0QyxHQUFHLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVoQyw0QkFBNEI7UUFDNUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRWpFLDBDQUEwQztRQUMxQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyx5QkFBeUI7YUFDcEQsdUJBQXVCLENBQUMsaUJBQWlCLENBQUM7YUFDMUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTVCLDJDQUEyQztRQUMzQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3RCxJQUFJO1lBQ0EsNEJBQTRCO1lBQzVCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUE0QixDQUFDO1lBQzVELGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUVyQixpQ0FBaUM7WUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3hFO1FBQUMsTUFBTTtZQUNKLGdEQUFnRDtTQUNuRDtRQUVELGlEQUFpRDtRQUNqRCxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEdBQUcsYUFBYSxDQUFDO1FBQy9ELGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUUzRiwyQkFBMkI7UUFDM0IsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFFN0Usd0JBQXdCO1FBQ3hCLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxZQUFZLENBQUMsa0JBQW1EO1FBQ3BFLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDckIsT0FBTztTQUNWO1FBRUQscUJBQXFCO1FBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdELHNCQUFzQjtRQUN0QixrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQzs7bUdBN0VRLE1BQU07dUdBQU4sTUFBTTsyRkFBTixNQUFNO2tCQURsQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIEluamVjdG9yLCBUZW1wbGF0ZVJlZiwgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiRGlhbG9nQ29udGFpbmVyfSBmcm9tICcuL2RpYWxvZy1jb250YWluZXIvZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkRpYWxvZ0NvbmZpcm19IGZyb20gJy4vZGlhbG9nLWNvbmZpcm0vZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7QmJEaWFsb2dJbmplY3Rvcn0gZnJvbSAnLi9kaWFsb2cuaW5qZWN0b3InO1xuaW1wb3J0IHtCYkRpYWxvZ0NvbmZpZ30gZnJvbSAnLi9kaWFsb2cuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0JiRGlhbG9nUmVmfSBmcm9tICcuL2RpYWxvZy5yZWYnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGlhbG9nIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9hcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcbiAgICB9XG5cbiAgICBvcGVuPFQgPSBhbnk+KGNvbXBvbmVudFR5cGU6IFR5cGU8YW55PiwgY29uZmlnPzogQmJEaWFsb2dDb25maWcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRGlhbG9nPFQ+KGNvbXBvbmVudFR5cGUsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgY29uZmlybSh0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Piwgb3B0aW9uczogeyBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nLCBjb25maXJtQnV0dG9uVGV4dD86IHN0cmluZywgd2lkdGg/OiBzdHJpbmcgfSA9IHt9KSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW48Ym9vbGVhbj4oQmJEaWFsb2dDb25maXJtLCB7XG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgd2lkdGg6IG9wdGlvbnM/LndpZHRoID8/ICc0MjBweCcsXG4gICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogb3B0aW9ucy5jYW5jZWxCdXR0b25UZXh0ID8/ICdkaWFsb2cuZGVmYXVsdF9jYW5jZWxfYnV0dG9uJyxcbiAgICAgICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogb3B0aW9ucy5jb25maXJtQnV0dG9uVGV4dCA/PyAnZGlhbG9nLmRlZmF1bHRfY29uZmlybV9idXR0b24nXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRGlhbG9nPFQgPSBhbnk+KGNvbXBvbmVudFR5cGU6IFR5cGU8YW55PiwgY29uZmlnPzogQmJEaWFsb2dDb25maWcpIHtcbiAgICAgICAgLy8gQ3JlYXRlIGEgcmVmZXJlbmNlLlxuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSBuZXcgQmJEaWFsb2dSZWY8VD4oKTtcblxuICAgICAgICAvLyBDcmVhdGUgYSBtYXAgd2l0aCB0aGUgY29uZmlnLlxuICAgICAgICBjb25zdCBtYXAgPSBuZXcgV2Vha01hcCgpO1xuICAgICAgICBtYXAuc2V0KEJiRGlhbG9nQ29uZmlnLCBjb25maWcgPz8ge30pO1xuICAgICAgICBtYXAuc2V0KEJiRGlhbG9nUmVmLCBkaWFsb2dSZWYpO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhIGN1c3RvbSBpbmplY3Rvci5cbiAgICAgICAgY29uc3QgZGlhbG9nSW5qZWN0b3IgPSBuZXcgQmJEaWFsb2dJbmplY3Rvcih0aGlzLl9pbmplY3RvciwgbWFwKTtcblxuICAgICAgICAvLyBSZXNvbHZlIHRoZSBkaWFsb2cgY29tcG9uZW50IHJlZmVyZW5jZS5cbiAgICAgICAgY29uc3QgZGlhbG9nQ29tcG9uZW50UmVmID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXG4gICAgICAgICAgICAucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoQmJEaWFsb2dDb250YWluZXIpXG4gICAgICAgICAgICAuY3JlYXRlKGRpYWxvZ0luamVjdG9yKTtcblxuICAgICAgICAvLyBBdHRhY2ggdGhlIGhvc3QgdmlldyB0byB0aGUgYXBwbGljYXRpb24uXG4gICAgICAgIHRoaXMuX2FwcGxpY2F0aW9uUmVmLmF0dGFjaFZpZXcoZGlhbG9nQ29tcG9uZW50UmVmLmhvc3RWaWV3KTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBjdXJyZW50IGZvY3VzLlxuICAgICAgICAgICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBhY3RpdmVFbGVtZW50LmJsdXIoKTtcblxuICAgICAgICAgICAgLy8gQXBwZW5kIHRoZSBlbGVtZW50IHRvIHRoZSBET00uXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpYWxvZ0NvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAvLyBEb24ndCBkbyBhbnl0aGluZywgYmVjYXVzZSBpdCBtdXN0J3ZlIGZhaWxlZC5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldCB0aGUgY2hpbGQgY29tcG9uZW50IHR5cGUgb24gdGhlIGNvbXBvbmVudC5cbiAgICAgICAgZGlhbG9nQ29tcG9uZW50UmVmLmluc3RhbmNlLmNoaWxkQ29tcG9uZW50VHlwZSA9IGNvbXBvbmVudFR5cGU7XG4gICAgICAgIGRpYWxvZ0NvbXBvbmVudFJlZi5pbnN0YW5jZS5vbk92ZXJsYXlDbGlja2VkLnN1YnNjcmliZSgoKSA9PiBkaWFsb2dSZWYub25PdmVybGF5Q2xpY2tlZCgpKTtcblxuICAgICAgICAvLyBMaXN0ZW4gZm9yIGNsb3NlIGV2ZW50cy5cbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRlbGV0ZURpYWxvZyhkaWFsb2dDb21wb25lbnRSZWYpKTtcblxuICAgICAgICAvLyBSZXR1cm4gdGhlIHJlZmVyZW5jZS5cbiAgICAgICAgcmV0dXJuIGRpYWxvZ1JlZjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZURpYWxvZyhkaWFsb2dDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxCYkRpYWxvZ0NvbnRhaW5lcj4pIHtcbiAgICAgICAgLy8gT25seSBjb250aW51ZSBpZiB0aGUgZGlhbG9nIGNvbXBvbmVudCByZWYgZXhpc3RzLlxuICAgICAgICBpZiAoIWRpYWxvZ0NvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGV0YWNoIHRoZSBkaWFsb2cuXG4gICAgICAgIHRoaXMuX2FwcGxpY2F0aW9uUmVmLmRldGFjaFZpZXcoZGlhbG9nQ29tcG9uZW50UmVmLmhvc3RWaWV3KTtcblxuICAgICAgICAvLyBEZXN0cm95IHRoZSBkaWFsb2cuXG4gICAgICAgIGRpYWxvZ0NvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIGRpYWxvZ0NvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgfVxuXG59XG4iXX0=
65
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }]; } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2RpYWxvZy9zcmMvbGliL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBK0IsZUFBZSxFQUFFLHlCQUF5QixFQUF1QixVQUFVLEVBQThCLE1BQU0sZUFBZSxDQUFDO0FBQ3JLLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsY0FBYyxFQUF1QixNQUFNLHFCQUFxQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxjQUFjLENBQUM7O0FBR3pDLE1BQU0sT0FBTyxNQUFNO0lBRWYsWUFBb0IsU0FBbUIsRUFDbkIsZUFBK0IsRUFDL0Isb0JBQXlDO1FBRnpDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7SUFDN0QsQ0FBQztJQUVELElBQUksQ0FBVSxhQUF3QixFQUFFLE1BQXVCO1FBQzNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBSSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFnQyxFQUFFLFdBQXNDLEVBQUUsT0FBdUM7UUFDckgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFVLGVBQWUsRUFBRTtZQUN2QyxJQUFJLEVBQUUsRUFBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUM7U0FDakQsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFlBQVksQ0FBVSxhQUF3QixFQUFFLE1BQXVCO1FBQzNFLHNCQUFzQjtRQUN0QixNQUFNLFNBQVMsR0FBRyxJQUFJLFdBQVcsRUFBSyxDQUFDO1FBQ3ZDLE1BQU0sbUJBQW1CLEdBQUcseUJBQXlCLENBQUM7WUFDbEQsRUFBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUksRUFBRSxFQUFDO1lBQ2pELEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDO1NBQzlDLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDOUIsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxtQkFBbUIsRUFBQyxDQUFDLENBQUM7UUFFckYsMkNBQTJDO1FBQzNDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdELElBQUk7WUFDQSw0QkFBNEI7WUFDNUIsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQTRCLENBQUM7WUFDNUQsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBRXJCLGlDQUFpQztZQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDeEU7UUFBQyxNQUFNO1lBQ0osZ0RBQWdEO1NBQ25EO1FBRUQsaURBQWlEO1FBQ2pELGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUM7UUFDL0Qsa0JBQWtCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRTNGLDJCQUEyQjtRQUMzQixTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUU3RSx3QkFBd0I7UUFDeEIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVPLFlBQVksQ0FBQyxrQkFBbUQ7UUFDcEUsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNyQixPQUFPO1NBQ1Y7UUFFRCxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFN0Qsc0JBQXNCO1FBQ3RCLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdCLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDOzttR0EvRFEsTUFBTTt1R0FBTixNQUFNOzJGQUFOLE1BQU07a0JBRGxCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRSZWYsIGNyZWF0ZUNvbXBvbmVudCwgY3JlYXRlRW52aXJvbm1lbnRJbmplY3RvciwgRW52aXJvbm1lbnRJbmplY3RvciwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFRlbXBsYXRlUmVmLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmJEaWFsb2dDb250YWluZXJ9IGZyb20gJy4vZGlhbG9nLWNvbnRhaW5lci9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRGlhbG9nQ29uZmlybX0gZnJvbSAnLi9kaWFsb2ctY29uZmlybS9kaWFsb2ctY29uZmlybS5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkRpYWxvZ0NvbmZpZywgRGlhbG9nQ29uZmlybU9wdGlvbnN9IGZyb20gJy4vZGlhbG9nLmludGVyZmFjZXMnO1xuaW1wb3J0IHtCYkRpYWxvZ1JlZn0gZnJvbSAnLi9kaWFsb2cucmVmJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERpYWxvZyB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2Vudmlyb25tZW50SW5qZWN0b3I6IEVudmlyb25tZW50SW5qZWN0b3IpIHtcbiAgICB9XG5cbiAgICBvcGVuPFQgPSBhbnk+KGNvbXBvbmVudFR5cGU6IFR5cGU8YW55PiwgY29uZmlnPzogQmJEaWFsb2dDb25maWcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRGlhbG9nPFQ+KGNvbXBvbmVudFR5cGUsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgY29uZmlybSh0aXRsZTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiwgZGVzY3JpcHRpb246IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4sIG9wdGlvbnM/OiBQYXJ0aWFsPERpYWxvZ0NvbmZpcm1PcHRpb25zPikge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuPGJvb2xlYW4+KEJiRGlhbG9nQ29uZmlybSwge1xuICAgICAgICAgICAgZGF0YToge3RpdGxlLCBkZXNjcmlwdGlvbiwgLi4uKG9wdGlvbnMgPz8ge30pfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZURpYWxvZzxUID0gYW55Pihjb21wb25lbnRUeXBlOiBUeXBlPGFueT4sIGNvbmZpZz86IEJiRGlhbG9nQ29uZmlnKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIHJlZmVyZW5jZS5cbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gbmV3IEJiRGlhbG9nUmVmPFQ+KCk7XG4gICAgICAgIGNvbnN0IGVudmlyb25tZW50SW5qZWN0b3IgPSBjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yKFtcbiAgICAgICAgICAgIHtwcm92aWRlOiBCYkRpYWxvZ0NvbmZpZywgdXNlVmFsdWU6IGNvbmZpZyA/PyB7fX0sXG4gICAgICAgICAgICB7cHJvdmlkZTogQmJEaWFsb2dSZWYsIHVzZVZhbHVlOiBkaWFsb2dSZWZ9XG4gICAgICAgIF0sIHRoaXMuX2Vudmlyb25tZW50SW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBkaWFsb2dDb21wb25lbnRSZWYgPSBjcmVhdGVDb21wb25lbnQoQmJEaWFsb2dDb250YWluZXIsIHtlbnZpcm9ubWVudEluamVjdG9yfSk7XG5cbiAgICAgICAgLy8gQXR0YWNoIHRoZSBob3N0IHZpZXcgdG8gdGhlIGFwcGxpY2F0aW9uLlxuICAgICAgICB0aGlzLl9hcHBsaWNhdGlvblJlZi5hdHRhY2hWaWV3KGRpYWxvZ0NvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgY3VycmVudCBmb2N1cy5cbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgYWN0aXZlRWxlbWVudC5ibHVyKCk7XG5cbiAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgZWxlbWVudCB0byB0aGUgRE9NLlxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaWFsb2dDb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgLy8gRG9uJ3QgZG8gYW55dGhpbmcsIGJlY2F1c2UgaXQgbXVzdCd2ZSBmYWlsZWQuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdGhlIGNoaWxkIGNvbXBvbmVudCB0eXBlIG9uIHRoZSBjb21wb25lbnQuXG4gICAgICAgIGRpYWxvZ0NvbXBvbmVudFJlZi5pbnN0YW5jZS5jaGlsZENvbXBvbmVudFR5cGUgPSBjb21wb25lbnRUeXBlO1xuICAgICAgICBkaWFsb2dDb21wb25lbnRSZWYuaW5zdGFuY2Uub25PdmVybGF5Q2xpY2tlZC5zdWJzY3JpYmUoKCkgPT4gZGlhbG9nUmVmLm9uT3ZlcmxheUNsaWNrZWQoKSk7XG5cbiAgICAgICAgLy8gTGlzdGVuIGZvciBjbG9zZSBldmVudHMuXG4gICAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kZWxldGVEaWFsb2coZGlhbG9nQ29tcG9uZW50UmVmKSk7XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZWZlcmVuY2UuXG4gICAgICAgIHJldHVybiBkaWFsb2dSZWY7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWxldGVEaWFsb2coZGlhbG9nQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8QmJEaWFsb2dDb250YWluZXI+KSB7XG4gICAgICAgIC8vIE9ubHkgY29udGludWUgaWYgdGhlIGRpYWxvZyBjb21wb25lbnQgcmVmIGV4aXN0cy5cbiAgICAgICAgaWYgKCFkaWFsb2dDb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERldGFjaCB0aGUgZGlhbG9nLlxuICAgICAgICB0aGlzLl9hcHBsaWNhdGlvblJlZi5kZXRhY2hWaWV3KGRpYWxvZ0NvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG5cbiAgICAgICAgLy8gRGVzdHJveSB0aGUgZGlhbG9nLlxuICAgICAgICBkaWFsb2dDb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICBkaWFsb2dDb21wb25lbnRSZWYgPSBudWxsO1xuICAgIH1cblxufVxuIl19
@@ -57,9 +57,9 @@ export class BbAvatar {
57
57
  // Hex 6 values.
58
58
  match = value.match(/^#([0-9a-f]{6})$/i);
59
59
  if (match && match[1]) {
60
- const r = parseInt(match[1].substr(0, 2), 16);
61
- const g = parseInt(match[1].substr(2, 2), 16);
62
- const b = parseInt(match[1].substr(4, 2), 16);
60
+ const r = parseInt(match[1].substring(0, 2), 16);
61
+ const g = parseInt(match[1].substring(2, 4), 16);
62
+ const b = parseInt(match[1].substring(4, 6), 16);
63
63
  return { r, g, b };
64
64
  }
65
65
  // Rgb values.
@@ -117,9 +117,9 @@ export class BbAvatar {
117
117
  this._backgroundColor = `rgba(${red},${green},${blue}, 0.25)`;
118
118
  }
119
119
  }
120
- BbAvatar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbAvatar, deps: [], target: i0.ɵɵFactoryTarget.Component });
121
- BbAvatar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbAvatar, selector: "bb-avatar", inputs: { size: "size", src: "src", title: "title", tintColor: "tintColor" }, host: { attributes: { "role": "img" }, properties: { "style.width.px": "size", "style.min-width.px": "size", "style.height.px": "size", "style.min-height.px": "size", "style.font-size.px": "size * 0.42", "style.color": "color", "style.background-color": "backgroundColor", "attr.title": "this.title" }, classAttribute: "bb-avatar" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"state$ | async\">\n <!-- Image. -->\n <ng-container *ngSwitchCase=\"'image'\">\n <img [src]=\"src\"\n [alt]=\"initials\"\n (error)=\"state$?.next('initials')\"\n class=\"bb-avatar-image\">\n </ng-container>\n\n <!-- Default initials fallback. -->\n <ng-container *ngSwitchDefault>\n {{ initials }}\n </ng-container>\n</ng-container>\n", styles: [".bb-avatar{line-height:1;overflow:hidden;font-weight:500;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;display:inline-flex;justify-content:center}.bb-avatar.rounded{border-radius:4px}.bb-avatar.square{border-radius:0}.bb-avatar-image{width:100%;height:100%;object-fit:cover;position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbAvatar, decorators: [{
120
+ BbAvatar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbAvatar, deps: [], target: i0.ɵɵFactoryTarget.Component });
121
+ BbAvatar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbAvatar, selector: "bb-avatar", inputs: { size: "size", src: "src", title: "title", tintColor: "tintColor" }, host: { attributes: { "role": "img" }, properties: { "style.width.px": "size", "style.min-width.px": "size", "style.height.px": "size", "style.min-height.px": "size", "style.font-size.px": "size * 0.42", "style.color": "color", "style.background-color": "backgroundColor", "attr.title": "this.title" }, classAttribute: "bb-avatar" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"state$ | async\">\n <!-- Image. -->\n <ng-container *ngSwitchCase=\"'image'\">\n <img [src]=\"src\"\n [alt]=\"initials\"\n (error)=\"state$?.next('initials')\"\n class=\"bb-avatar-image\">\n </ng-container>\n\n <!-- Default initials fallback. -->\n <ng-container *ngSwitchDefault>\n {{ initials }}\n </ng-container>\n</ng-container>\n", styles: [".bb-avatar{line-height:1;overflow:hidden;font-weight:500;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;display:inline-flex;justify-content:center}.bb-avatar.rounded{border-radius:4px}.bb-avatar.square{border-radius:0}.bb-avatar-image{width:100%;height:100%;object-fit:cover;position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbAvatar, decorators: [{
123
123
  type: Component,
124
124
  args: [{ selector: 'bb-avatar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
125
125
  'class': 'bb-avatar',
@@ -144,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
144
144
  }], tintColor: [{
145
145
  type: Input
146
146
  }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFxQnJDLE1BQU0sT0FBTyxRQUFRO0lBbkJyQjtRQXFCSSxVQUFVO1FBQ0QsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUUzQixTQUFTO1FBQ1QsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFTLFVBQVUsQ0FBQyxDQUFDO1FBRWpELFFBQVE7UUFDQSxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUMzQixXQUFNLEdBQWtCLElBQUksQ0FBQztRQUM3QixjQUFTLEdBQVcsR0FBRyxDQUFDO1FBQ3hCLFdBQU0sR0FBVyxvQkFBb0IsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBVyxpQkFBaUIsQ0FBQztRQTJEN0MsVUFBSyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDOUIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO1lBQ3BCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQztZQUN0QixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7WUFFckIsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDMUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUMxRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBRTFELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDN0MsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRTlDLE9BQU8sRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQztRQUVNLGdCQUFXLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUNuQyx3QkFBd0I7WUFDeEIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFFakUsbUNBQW1DO1lBQ25DLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFFRCxtQ0FBbUM7WUFDbkMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDckIsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQzNEO1lBRUQsOEJBQThCO1lBQzlCLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztRQUVNLHFCQUFnQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDUixPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsZ0JBQWdCO1lBQ2hCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUM3QyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25CLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDbEQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNsRCxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBRWxELE9BQU8sRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO2FBQ3BCO1lBRUQsZ0JBQWdCO1lBQ2hCLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDekMsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNuQixNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzlDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDOUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUU5QyxPQUFPLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQzthQUNwQjtZQUVELGNBQWM7WUFDZCxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1lBQ3hFLElBQUksS0FBSyxFQUFFO2dCQUNQLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBRWpDLE9BQU8sRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO2FBQ3BCO1lBRUQsZ0NBQWdDO1lBQ2hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxvQ0FBb0MsS0FBSyxhQUFhLENBQUMsQ0FBQztZQUN4RSxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUM7S0FFTDtJQXJJRyxJQUNJLEdBQUcsQ0FBQyxLQUFhO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWxCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVELElBRUksS0FBSyxDQUFDLEtBQWE7UUFDbkIsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxJQUFJLEdBQUcsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9DLHlDQUF5QztRQUN6QyxNQUFNLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQ0ksU0FBUyxDQUFDLEtBQWE7UUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFTyxTQUFTLENBQUMsR0FBVyxFQUFFLEtBQWEsRUFBRSxJQUFZO1FBQ3RELElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxHQUFHLElBQUksS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLEdBQUcsSUFBSSxLQUFLLElBQUksSUFBSSxTQUFTLENBQUM7SUFDbEUsQ0FBQzs7cUdBdEVRLFFBQVE7eUZBQVIsUUFBUSw2Y0N0QnJCLCthQWNBOzJGRFFhLFFBQVE7a0JBbkJwQixTQUFTOytCQUNJLFdBQVcsbUJBR0osdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxRQUNwQjt3QkFDRixPQUFPLEVBQUUsV0FBVzt3QkFDcEIsTUFBTSxFQUFFLEtBQUs7d0JBQ2Isa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsc0JBQXNCLEVBQUUsTUFBTTt3QkFDOUIsbUJBQW1CLEVBQUUsTUFBTTt3QkFDM0IsdUJBQXVCLEVBQUUsTUFBTTt3QkFDL0Isc0JBQXNCLEVBQUUsYUFBYTt3QkFDckMsZUFBZSxFQUFFLE9BQU87d0JBQ3hCLDBCQUEwQixFQUFFLGlCQUFpQjtxQkFDaEQ7OEJBS1EsSUFBSTtzQkFBWixLQUFLO2dCQWFGLEdBQUc7c0JBRE4sS0FBSztnQkFXRixLQUFLO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsWUFBWTtnQkFZckIsU0FBUztzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi1hdmF0YXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnYmItYXZhdGFyJyxcbiAgICAgICAgJ3JvbGUnOiAnaW1nJyxcbiAgICAgICAgJ1tzdHlsZS53aWR0aC5weF0nOiAnc2l6ZScsXG4gICAgICAgICdbc3R5bGUubWluLXdpZHRoLnB4XSc6ICdzaXplJyxcbiAgICAgICAgJ1tzdHlsZS5oZWlnaHQucHhdJzogJ3NpemUnLFxuICAgICAgICAnW3N0eWxlLm1pbi1oZWlnaHQucHhdJzogJ3NpemUnLFxuICAgICAgICAnW3N0eWxlLmZvbnQtc2l6ZS5weF0nOiAnc2l6ZSAqIDAuNDInLFxuICAgICAgICAnW3N0eWxlLmNvbG9yXSc6ICdjb2xvcicsXG4gICAgICAgICdbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl0nOiAnYmFja2dyb3VuZENvbG9yJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQmJBdmF0YXIge1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIHNpemU6IG51bWJlciA9IDQwO1xuXG4gICAgLy8gU3RhdGUuXG4gICAgc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdpbml0aWFscycpO1xuXG4gICAgLy8gRGF0YS5cbiAgICBwcml2YXRlIF9zcmM6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgX3RpdGxlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF9pbml0aWFsczogc3RyaW5nID0gJyEnO1xuICAgIHByaXZhdGUgX2NvbG9yOiBzdHJpbmcgPSAncmdiKDI1NSwgMjU1LCAyNTUpJztcbiAgICBwcml2YXRlIF9iYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyA9ICdyZ2IoNjYsIDY2LCA2NiknO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgc3JjKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc3JjID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuX3NyYykge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCgnaW1hZ2UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRpdGxlJylcbiAgICBzZXQgdGl0bGUodmFsdWU6IHN0cmluZykge1xuICAgICAgICAvLyBTZXQgdGhlIHRpdGxlIGFuZCB0aGUgaW5pdGlhbHMuXG4gICAgICAgIHRoaXMuX3RpdGxlID0gdmFsdWUgfHwgJyEnO1xuICAgICAgICB0aGlzLl9pbml0aWFscyA9IHRoaXMuZ2V0SW5pdGlhbHModGhpcy5fdGl0bGUpO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIHRoZSBjb2xvcnMgYmFzZWQgb24gdGhlIG5hbWUuXG4gICAgICAgIGNvbnN0IHtyLCBnLCBifSA9IHRoaXMudG9SR2IodGhpcy5fdGl0bGUpO1xuICAgICAgICB0aGlzLnNldENvbG9ycyhyLCBnLCBiKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aW50Q29sb3IodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLnBhcnNlQ29sb3JGb3JtYXQodmFsdWUpO1xuICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge3IsIGcsIGJ9ID0gcmVzdWx0O1xuICAgICAgICB0aGlzLnNldENvbG9ycyhyLCBnLCBiKTtcbiAgICB9XG5cbiAgICBnZXQgc3JjKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3JjO1xuICAgIH1cblxuICAgIGdldCBjb2xvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xuICAgIH1cblxuICAgIGdldCBiYWNrZ3JvdW5kQ29sb3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9iYWNrZ3JvdW5kQ29sb3I7XG4gICAgfVxuXG4gICAgZ2V0IHRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGl0bGU7XG4gICAgfVxuXG4gICAgZ2V0IGluaXRpYWxzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5pdGlhbHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDb2xvcnMocmVkOiBudW1iZXIsIGdyZWVuOiBudW1iZXIsIGJsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9jb2xvciA9IGByZ2IoJHtyZWR9LCR7Z3JlZW59LCR7Ymx1ZX0pYDtcbiAgICAgICAgdGhpcy5fYmFja2dyb3VuZENvbG9yID0gYHJnYmEoJHtyZWR9LCR7Z3JlZW59LCR7Ymx1ZX0sIDAuMjUpYDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvUkdiID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZVJlZCA9IDEyODtcbiAgICAgICAgY29uc3QgYmFzZUdyZWVuID0gMTI4O1xuICAgICAgICBjb25zdCBiYXNlQmx1ZSA9IDEyODtcblxuICAgICAgICBsZXQgc2VlZCA9IHZhbHVlLmNoYXJDb2RlQXQoMCkgXiB2YWx1ZS5jaGFyQ29kZUF0KDEpO1xuICAgICAgICBjb25zdCByYW5kXzEgPSBNYXRoLmFicygoTWF0aC5zaW4oc2VlZCsrKSAqIDEwMDAwKSkgJSAyNTY7XG4gICAgICAgIGNvbnN0IHJhbmRfMiA9IE1hdGguYWJzKChNYXRoLnNpbihzZWVkKyspICogMTAwMDApKSAlIDI1NjtcbiAgICAgICAgY29uc3QgcmFuZF8zID0gTWF0aC5hYnMoKE1hdGguc2luKHNlZWQrKykgKiAxMDAwMCkpICUgMjU2O1xuXG4gICAgICAgIGNvbnN0IHIgPSBNYXRoLnJvdW5kKChyYW5kXzEgKyBiYXNlUmVkKSAvIDIpO1xuICAgICAgICBjb25zdCBnID0gTWF0aC5yb3VuZCgocmFuZF8yICsgYmFzZUdyZWVuKSAvIDIpO1xuICAgICAgICBjb25zdCBiID0gTWF0aC5yb3VuZCgocmFuZF8zICsgYmFzZUJsdWUpIC8gMik7XG5cbiAgICAgICAgcmV0dXJuIHtyLCBnLCBifTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBnZXRJbml0aWFscyA9IChuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgLy8gR2V0IGFsbCB0aGUgaW5pdGlhbHMuXG4gICAgICAgIGNvbnN0IG5hbWVzID0gKG5hbWUgfHwgJycpLnNwbGl0KCcgJyk7XG4gICAgICAgIGNvbnN0IGluaXRpYWxzID0gbmFtZXMubWFwKG5hbWUgPT4gbmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSk7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUgYXJlIGFueSBpbml0aWFscy5cbiAgICAgICAgaWYgKGluaXRpYWxzLmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdldCB0aGUgZmlyc3QgYW5kIGxhc3QgaW5pdGlhbHMuXG4gICAgICAgIGlmIChpbml0aWFscy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7aW5pdGlhbHNbMF19JHtpbml0aWFsc1tpbml0aWFscy5sZW5ndGggLSAxXX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2V0IG9ubHkgdGhlIGZpcnN0IGluaXRpYWwuXG4gICAgICAgIHJldHVybiBpbml0aWFsc1swXTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBwYXJzZUNvbG9yRm9ybWF0ID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIZXggMyB2YWx1ZXMuXG4gICAgICAgIGxldCBtYXRjaCA9IHZhbHVlLm1hdGNoKC9eIyhbMC05YS1mXXszfSkkL2kpO1xuICAgICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbMV0pIHtcbiAgICAgICAgICAgIGNvbnN0IHIgPSBwYXJzZUludChtYXRjaFsxXS5jaGFyQXQoMCksIDE2KSAqIDB4MTE7XG4gICAgICAgICAgICBjb25zdCBnID0gcGFyc2VJbnQobWF0Y2hbMV0uY2hhckF0KDEpLCAxNikgKiAweDExO1xuICAgICAgICAgICAgY29uc3QgYiA9IHBhcnNlSW50KG1hdGNoWzFdLmNoYXJBdCgyKSwgMTYpICogMHgxMTtcblxuICAgICAgICAgICAgcmV0dXJuIHtyLCBnLCBifTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhleCA2IHZhbHVlcy5cbiAgICAgICAgbWF0Y2ggPSB2YWx1ZS5tYXRjaCgvXiMoWzAtOWEtZl17Nn0pJC9pKTtcbiAgICAgICAgaWYgKG1hdGNoICYmIG1hdGNoWzFdKSB7XG4gICAgICAgICAgICBjb25zdCByID0gcGFyc2VJbnQobWF0Y2hbMV0uc3Vic3RyKDAsIDIpLCAxNik7XG4gICAgICAgICAgICBjb25zdCBnID0gcGFyc2VJbnQobWF0Y2hbMV0uc3Vic3RyKDIsIDIpLCAxNik7XG4gICAgICAgICAgICBjb25zdCBiID0gcGFyc2VJbnQobWF0Y2hbMV0uc3Vic3RyKDQsIDIpLCAxNik7XG5cbiAgICAgICAgICAgIHJldHVybiB7ciwgZywgYn07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZ2IgdmFsdWVzLlxuICAgICAgICBtYXRjaCA9IHZhbHVlLm1hdGNoKC9ecmdiXFxzKlxcKFxccyooXFxkKylcXHMqLFxccyooXFxkKylcXHMqLFxccyooXFxkKylcXHMqXFwpJC9pKTtcbiAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgICBjb25zdCByID0gcGFyc2VJbnQobWF0Y2hbMV0sIDEwKTtcbiAgICAgICAgICAgIGNvbnN0IGcgPSBwYXJzZUludChtYXRjaFsyXSwgMTApO1xuICAgICAgICAgICAgY29uc3QgYiA9IHBhcnNlSW50KG1hdGNoWzNdLCAxMCk7XG5cbiAgICAgICAgICAgIHJldHVybiB7ciwgZywgYn07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBOb3QgYSBzdXBwb3J0ZWQgY29sb3IgZm9ybWF0LlxuICAgICAgICBjb25zb2xlPy53YXJuPy4oYEJiQXZhdGFyOiBVbnN1cHBvcnRlZCB0aW50Q29sb3IgXCIke3ZhbHVlfVwiIHdhcyB1c2VkLmApO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzdGF0ZSQgfCBhc3luY1wiPlxuICAgIDwhLS0gSW1hZ2UuIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidpbWFnZSdcIj5cbiAgICAgICAgPGltZyBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICAgW2FsdF09XCJpbml0aWFsc1wiXG4gICAgICAgICAgICAgKGVycm9yKT1cInN0YXRlJD8ubmV4dCgnaW5pdGlhbHMnKVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJiYi1hdmF0YXItaW1hZ2VcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gRGVmYXVsdCBpbml0aWFscyBmYWxsYmFjay4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICB7eyBpbml0aWFscyB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFxQnJDLE1BQU0sT0FBTyxRQUFRO0lBbkJyQjtRQXFCSSxVQUFVO1FBQ0QsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUUzQixTQUFTO1FBQ1QsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFTLFVBQVUsQ0FBQyxDQUFDO1FBRWpELFFBQVE7UUFDQSxTQUFJLEdBQWtCLElBQUksQ0FBQztRQUMzQixXQUFNLEdBQWtCLElBQUksQ0FBQztRQUM3QixjQUFTLEdBQVcsR0FBRyxDQUFDO1FBQ3hCLFdBQU0sR0FBVyxvQkFBb0IsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBVyxpQkFBaUIsQ0FBQztRQTJEN0MsVUFBSyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDOUIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO1lBQ3BCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQztZQUN0QixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7WUFFckIsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDMUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUMxRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBRTFELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDN0MsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRTlDLE9BQU8sRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQztRQUVNLGdCQUFXLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUNuQyx3QkFBd0I7WUFDeEIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFFakUsbUNBQW1DO1lBQ25DLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFFRCxtQ0FBbUM7WUFDbkMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDckIsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQzNEO1lBRUQsOEJBQThCO1lBQzlCLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztRQUVNLHFCQUFnQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDUixPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsZ0JBQWdCO1lBQ2hCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUM3QyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25CLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDbEQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNsRCxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBRWxELE9BQU8sRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO2FBQ3BCO1lBRUQsZ0JBQWdCO1lBQ2hCLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDekMsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNuQixNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDakQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUVqRCxPQUFPLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQzthQUNwQjtZQUVELGNBQWM7WUFDZCxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1lBQ3hFLElBQUksS0FBSyxFQUFFO2dCQUNQLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBRWpDLE9BQU8sRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO2FBQ3BCO1lBRUQsZ0NBQWdDO1lBQ2hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxvQ0FBb0MsS0FBSyxhQUFhLENBQUMsQ0FBQztZQUN4RSxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUM7S0FFTDtJQXJJRyxJQUNJLEdBQUcsQ0FBQyxLQUFhO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWxCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVELElBRUksS0FBSyxDQUFDLEtBQWE7UUFDbkIsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxJQUFJLEdBQUcsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9DLHlDQUF5QztRQUN6QyxNQUFNLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQ0ksU0FBUyxDQUFDLEtBQWE7UUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFTyxTQUFTLENBQUMsR0FBVyxFQUFFLEtBQWEsRUFBRSxJQUFZO1FBQ3RELElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxHQUFHLElBQUksS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLEdBQUcsSUFBSSxLQUFLLElBQUksSUFBSSxTQUFTLENBQUM7SUFDbEUsQ0FBQzs7cUdBdEVRLFFBQVE7eUZBQVIsUUFBUSw2Y0N0QnJCLCthQWNBOzJGRFFhLFFBQVE7a0JBbkJwQixTQUFTOytCQUNJLFdBQVcsbUJBR0osdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxRQUNwQjt3QkFDRixPQUFPLEVBQUUsV0FBVzt3QkFDcEIsTUFBTSxFQUFFLEtBQUs7d0JBQ2Isa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsc0JBQXNCLEVBQUUsTUFBTTt3QkFDOUIsbUJBQW1CLEVBQUUsTUFBTTt3QkFDM0IsdUJBQXVCLEVBQUUsTUFBTTt3QkFDL0Isc0JBQXNCLEVBQUUsYUFBYTt3QkFDckMsZUFBZSxFQUFFLE9BQU87d0JBQ3hCLDBCQUEwQixFQUFFLGlCQUFpQjtxQkFDaEQ7OEJBS1EsSUFBSTtzQkFBWixLQUFLO2dCQWFGLEdBQUc7c0JBRE4sS0FBSztnQkFXRixLQUFLO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsWUFBWTtnQkFZckIsU0FBUztzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi1hdmF0YXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnYmItYXZhdGFyJyxcbiAgICAgICAgJ3JvbGUnOiAnaW1nJyxcbiAgICAgICAgJ1tzdHlsZS53aWR0aC5weF0nOiAnc2l6ZScsXG4gICAgICAgICdbc3R5bGUubWluLXdpZHRoLnB4XSc6ICdzaXplJyxcbiAgICAgICAgJ1tzdHlsZS5oZWlnaHQucHhdJzogJ3NpemUnLFxuICAgICAgICAnW3N0eWxlLm1pbi1oZWlnaHQucHhdJzogJ3NpemUnLFxuICAgICAgICAnW3N0eWxlLmZvbnQtc2l6ZS5weF0nOiAnc2l6ZSAqIDAuNDInLFxuICAgICAgICAnW3N0eWxlLmNvbG9yXSc6ICdjb2xvcicsXG4gICAgICAgICdbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl0nOiAnYmFja2dyb3VuZENvbG9yJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQmJBdmF0YXIge1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIHNpemU6IG51bWJlciA9IDQwO1xuXG4gICAgLy8gU3RhdGUuXG4gICAgc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdpbml0aWFscycpO1xuXG4gICAgLy8gRGF0YS5cbiAgICBwcml2YXRlIF9zcmM6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgX3RpdGxlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF9pbml0aWFsczogc3RyaW5nID0gJyEnO1xuICAgIHByaXZhdGUgX2NvbG9yOiBzdHJpbmcgPSAncmdiKDI1NSwgMjU1LCAyNTUpJztcbiAgICBwcml2YXRlIF9iYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyA9ICdyZ2IoNjYsIDY2LCA2NiknO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgc3JjKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc3JjID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuX3NyYykge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCgnaW1hZ2UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRpdGxlJylcbiAgICBzZXQgdGl0bGUodmFsdWU6IHN0cmluZykge1xuICAgICAgICAvLyBTZXQgdGhlIHRpdGxlIGFuZCB0aGUgaW5pdGlhbHMuXG4gICAgICAgIHRoaXMuX3RpdGxlID0gdmFsdWUgfHwgJyEnO1xuICAgICAgICB0aGlzLl9pbml0aWFscyA9IHRoaXMuZ2V0SW5pdGlhbHModGhpcy5fdGl0bGUpO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIHRoZSBjb2xvcnMgYmFzZWQgb24gdGhlIG5hbWUuXG4gICAgICAgIGNvbnN0IHtyLCBnLCBifSA9IHRoaXMudG9SR2IodGhpcy5fdGl0bGUpO1xuICAgICAgICB0aGlzLnNldENvbG9ycyhyLCBnLCBiKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aW50Q29sb3IodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLnBhcnNlQ29sb3JGb3JtYXQodmFsdWUpO1xuICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge3IsIGcsIGJ9ID0gcmVzdWx0O1xuICAgICAgICB0aGlzLnNldENvbG9ycyhyLCBnLCBiKTtcbiAgICB9XG5cbiAgICBnZXQgc3JjKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3JjO1xuICAgIH1cblxuICAgIGdldCBjb2xvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xuICAgIH1cblxuICAgIGdldCBiYWNrZ3JvdW5kQ29sb3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9iYWNrZ3JvdW5kQ29sb3I7XG4gICAgfVxuXG4gICAgZ2V0IHRpdGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGl0bGU7XG4gICAgfVxuXG4gICAgZ2V0IGluaXRpYWxzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5pdGlhbHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDb2xvcnMocmVkOiBudW1iZXIsIGdyZWVuOiBudW1iZXIsIGJsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9jb2xvciA9IGByZ2IoJHtyZWR9LCR7Z3JlZW59LCR7Ymx1ZX0pYDtcbiAgICAgICAgdGhpcy5fYmFja2dyb3VuZENvbG9yID0gYHJnYmEoJHtyZWR9LCR7Z3JlZW59LCR7Ymx1ZX0sIDAuMjUpYDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvUkdiID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZVJlZCA9IDEyODtcbiAgICAgICAgY29uc3QgYmFzZUdyZWVuID0gMTI4O1xuICAgICAgICBjb25zdCBiYXNlQmx1ZSA9IDEyODtcblxuICAgICAgICBsZXQgc2VlZCA9IHZhbHVlLmNoYXJDb2RlQXQoMCkgXiB2YWx1ZS5jaGFyQ29kZUF0KDEpO1xuICAgICAgICBjb25zdCByYW5kXzEgPSBNYXRoLmFicygoTWF0aC5zaW4oc2VlZCsrKSAqIDEwMDAwKSkgJSAyNTY7XG4gICAgICAgIGNvbnN0IHJhbmRfMiA9IE1hdGguYWJzKChNYXRoLnNpbihzZWVkKyspICogMTAwMDApKSAlIDI1NjtcbiAgICAgICAgY29uc3QgcmFuZF8zID0gTWF0aC5hYnMoKE1hdGguc2luKHNlZWQrKykgKiAxMDAwMCkpICUgMjU2O1xuXG4gICAgICAgIGNvbnN0IHIgPSBNYXRoLnJvdW5kKChyYW5kXzEgKyBiYXNlUmVkKSAvIDIpO1xuICAgICAgICBjb25zdCBnID0gTWF0aC5yb3VuZCgocmFuZF8yICsgYmFzZUdyZWVuKSAvIDIpO1xuICAgICAgICBjb25zdCBiID0gTWF0aC5yb3VuZCgocmFuZF8zICsgYmFzZUJsdWUpIC8gMik7XG5cbiAgICAgICAgcmV0dXJuIHtyLCBnLCBifTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBnZXRJbml0aWFscyA9IChuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgLy8gR2V0IGFsbCB0aGUgaW5pdGlhbHMuXG4gICAgICAgIGNvbnN0IG5hbWVzID0gKG5hbWUgfHwgJycpLnNwbGl0KCcgJyk7XG4gICAgICAgIGNvbnN0IGluaXRpYWxzID0gbmFtZXMubWFwKG5hbWUgPT4gbmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSk7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUgYXJlIGFueSBpbml0aWFscy5cbiAgICAgICAgaWYgKGluaXRpYWxzLmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdldCB0aGUgZmlyc3QgYW5kIGxhc3QgaW5pdGlhbHMuXG4gICAgICAgIGlmIChpbml0aWFscy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7aW5pdGlhbHNbMF19JHtpbml0aWFsc1tpbml0aWFscy5sZW5ndGggLSAxXX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2V0IG9ubHkgdGhlIGZpcnN0IGluaXRpYWwuXG4gICAgICAgIHJldHVybiBpbml0aWFsc1swXTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBwYXJzZUNvbG9yRm9ybWF0ID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIZXggMyB2YWx1ZXMuXG4gICAgICAgIGxldCBtYXRjaCA9IHZhbHVlLm1hdGNoKC9eIyhbMC05YS1mXXszfSkkL2kpO1xuICAgICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbMV0pIHtcbiAgICAgICAgICAgIGNvbnN0IHIgPSBwYXJzZUludChtYXRjaFsxXS5jaGFyQXQoMCksIDE2KSAqIDB4MTE7XG4gICAgICAgICAgICBjb25zdCBnID0gcGFyc2VJbnQobWF0Y2hbMV0uY2hhckF0KDEpLCAxNikgKiAweDExO1xuICAgICAgICAgICAgY29uc3QgYiA9IHBhcnNlSW50KG1hdGNoWzFdLmNoYXJBdCgyKSwgMTYpICogMHgxMTtcblxuICAgICAgICAgICAgcmV0dXJuIHtyLCBnLCBifTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhleCA2IHZhbHVlcy5cbiAgICAgICAgbWF0Y2ggPSB2YWx1ZS5tYXRjaCgvXiMoWzAtOWEtZl17Nn0pJC9pKTtcbiAgICAgICAgaWYgKG1hdGNoICYmIG1hdGNoWzFdKSB7XG4gICAgICAgICAgICBjb25zdCByID0gcGFyc2VJbnQobWF0Y2hbMV0uc3Vic3RyaW5nKDAsIDIpLCAxNik7XG4gICAgICAgICAgICBjb25zdCBnID0gcGFyc2VJbnQobWF0Y2hbMV0uc3Vic3RyaW5nKDIsIDQpLCAxNik7XG4gICAgICAgICAgICBjb25zdCBiID0gcGFyc2VJbnQobWF0Y2hbMV0uc3Vic3RyaW5nKDQsIDYpLCAxNik7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHJldHVybiB7ciwgZywgYn07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZ2IgdmFsdWVzLlxuICAgICAgICBtYXRjaCA9IHZhbHVlLm1hdGNoKC9ecmdiXFxzKlxcKFxccyooXFxkKylcXHMqLFxccyooXFxkKylcXHMqLFxccyooXFxkKylcXHMqXFwpJC9pKTtcbiAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgICBjb25zdCByID0gcGFyc2VJbnQobWF0Y2hbMV0sIDEwKTtcbiAgICAgICAgICAgIGNvbnN0IGcgPSBwYXJzZUludChtYXRjaFsyXSwgMTApO1xuICAgICAgICAgICAgY29uc3QgYiA9IHBhcnNlSW50KG1hdGNoWzNdLCAxMCk7XG5cbiAgICAgICAgICAgIHJldHVybiB7ciwgZywgYn07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBOb3QgYSBzdXBwb3J0ZWQgY29sb3IgZm9ybWF0LlxuICAgICAgICBjb25zb2xlPy53YXJuPy4oYEJiQXZhdGFyOiBVbnN1cHBvcnRlZCB0aW50Q29sb3IgXCIke3ZhbHVlfVwiIHdhcyB1c2VkLmApO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzdGF0ZSQgfCBhc3luY1wiPlxuICAgIDwhLS0gSW1hZ2UuIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidpbWFnZSdcIj5cbiAgICAgICAgPGltZyBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICAgW2FsdF09XCJpbml0aWFsc1wiXG4gICAgICAgICAgICAgKGVycm9yKT1cInN0YXRlJD8ubmV4dCgnaW5pdGlhbHMnKVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJiYi1hdmF0YXItaW1hZ2VcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gRGVmYXVsdCBpbml0aWFscyBmYWxsYmFjay4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICB7eyBpbml0aWFscyB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=