@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1217 → 1.5.1218-a

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 (188) hide show
  1. package/assets/styles/main.min.css +1 -1
  2. package/assets/styles/main.min.css.map +1 -1
  3. package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +4 -4
  4. package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +4 -4
  5. package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +4 -4
  6. package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +4 -4
  7. package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +3 -3
  8. package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +3 -3
  9. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +3 -3
  10. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +3 -3
  11. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +4 -4
  12. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +3 -3
  13. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +4 -4
  14. package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.service.mjs +3 -3
  15. package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +3 -3
  16. package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +3 -3
  17. package/esm2022/lib/components/bmb-bookmark/bmb-bookmark.component.mjs +3 -3
  18. package/esm2022/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.mjs +4 -4
  19. package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +4 -4
  20. package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +3 -3
  21. package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +4 -4
  22. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +4 -4
  23. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +4 -4
  24. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +4 -4
  25. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.mjs +3 -3
  26. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +4 -4
  27. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +3 -3
  28. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +3 -3
  29. package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +3 -3
  30. package/esm2022/lib/components/bmb-calendar/utils.mjs +1 -1
  31. package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +13 -13
  32. package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +4 -4
  33. package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +4 -4
  34. package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +4 -4
  35. package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +3 -3
  36. package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +3 -3
  37. package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +4 -4
  38. package/esm2022/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.mjs +3 -3
  39. package/esm2022/lib/components/bmb-container/bmb-container.component.mjs +4 -4
  40. package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +4 -4
  41. package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +4 -4
  42. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +4 -4
  43. package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +4 -4
  44. package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +3 -3
  45. package/esm2022/lib/components/bmb-divider/bmb-divider.component.mjs +4 -4
  46. package/esm2022/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.mjs +4 -4
  47. package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +4 -4
  48. package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +4 -4
  49. package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +3 -3
  50. package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +4 -4
  51. package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +4 -4
  52. package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +3 -3
  53. package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +4 -4
  54. package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +4 -4
  55. package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +3 -3
  56. package/esm2022/lib/components/bmb-form-validator/bmb-form-validator.component.mjs +4 -4
  57. package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +3 -3
  58. package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +3 -3
  59. package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +4 -4
  60. package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +3 -3
  61. package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +3 -3
  62. package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +4 -4
  63. package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +4 -4
  64. package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +4 -4
  65. package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +3 -3
  66. package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +3 -3
  67. package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +3 -3
  68. package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +4 -4
  69. package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +3 -3
  70. package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +3 -3
  71. package/esm2022/lib/components/bmb-iframe/bmb-iframe.component.mjs +3 -3
  72. package/esm2022/lib/components/bmb-iframe/bmb-iframe.pipe.mjs +3 -3
  73. package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +3 -3
  74. package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +3 -3
  75. package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +4 -4
  76. package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +4 -4
  77. package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +4 -4
  78. package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +4 -4
  79. package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +4 -4
  80. package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +4 -4
  81. package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +4 -4
  82. package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +3 -3
  83. package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +3 -3
  84. package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +4 -4
  85. package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +4 -4
  86. package/esm2022/lib/components/bmb-list-group/bmb-list-group.service.mjs +4 -4
  87. package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +4 -4
  88. package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +4 -4
  89. package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +4 -4
  90. package/esm2022/lib/components/bmb-login/bmb-login.component.mjs +4 -4
  91. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +3 -3
  92. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +3 -3
  93. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +4 -4
  94. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.mjs +4 -4
  95. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.mjs +4 -4
  96. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.mjs +4 -4
  97. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.mjs +4 -4
  98. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.mjs +4 -4
  99. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +3 -3
  100. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +3 -3
  101. package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.mjs +3 -3
  102. package/esm2022/lib/components/bmb-logo/bmb-logo.component.mjs +4 -4
  103. package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +3 -3
  104. package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +4 -4
  105. package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +3 -3
  106. package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +4 -4
  107. package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +4 -4
  108. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +3 -3
  109. package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +4 -4
  110. package/esm2022/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.mjs +3 -3
  111. package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +3 -3
  112. package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +3 -3
  113. package/esm2022/lib/components/bmb-notification-counter/bmb-notification-counter.component.mjs +3 -3
  114. package/esm2022/lib/components/bmb-overlay/bmb-overlay.component.mjs +3 -3
  115. package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +4 -4
  116. package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +4 -4
  117. package/esm2022/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.mjs +4 -4
  118. package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +4 -4
  119. package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +4 -4
  120. package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +4 -4
  121. package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +4 -4
  122. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +4 -4
  123. package/esm2022/lib/components/bmb-push-notification/bmb-push-notification.component.mjs +4 -4
  124. package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +4 -4
  125. package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +4 -4
  126. package/esm2022/lib/components/bmb-server-table/bmb-server-table.component.mjs +4 -4
  127. package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +4 -4
  128. package/esm2022/lib/components/bmb-simple-header/bmb-simple-header.component.mjs +3 -3
  129. package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +3 -3
  130. package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +4 -4
  131. package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +3 -3
  132. package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +4 -4
  133. package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +4 -4
  134. package/esm2022/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.mjs +3 -3
  135. package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +4 -4
  136. package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +4 -4
  137. package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +4 -4
  138. package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +4 -4
  139. package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +4 -4
  140. package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +3 -3
  141. package/esm2022/lib/components/bmb-theme/bmb-theme.component.mjs +4 -4
  142. package/esm2022/lib/components/bmb-three-cols/bmb-three-cols.component.mjs +3 -3
  143. package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +4 -4
  144. package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +3 -3
  145. package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +4 -4
  146. package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +4 -4
  147. package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +4 -4
  148. package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +4 -4
  149. package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +3 -3
  150. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +3 -3
  151. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +3 -3
  152. package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +4 -4
  153. package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +4 -4
  154. package/esm2022/lib/components/bmb-user-image/bmb-user-image.component.mjs +3 -3
  155. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +3 -3
  156. package/esm2022/lib/components/bmb-user-profile/bmb-user-profile.component.mjs +3 -3
  157. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +4 -4
  158. package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +3 -3
  159. package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +3 -3
  160. package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +3 -3
  161. package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +4 -4
  162. package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +4 -4
  163. package/esm2022/lib/directives/bmb-accordion/bmb-accordion-control.directive.mjs +4 -4
  164. package/esm2022/lib/directives/bmb-button/button.directive.mjs +4 -4
  165. package/esm2022/lib/directives/bmb-button-group/bmb-button-group.directive.mjs +3 -3
  166. package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +4 -4
  167. package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +3 -3
  168. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +4 -4
  169. package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.mjs +3 -3
  170. package/esm2022/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.mjs +7 -7
  171. package/esm2022/lib/directives/utils/clickoutside.directive.mjs +3 -3
  172. package/esm2022/lib/ds-ng.component.mjs +3 -3
  173. package/esm2022/lib/ds-ng.service.mjs +3 -3
  174. package/esm2022/lib/services/calendar.service.mjs +3 -3
  175. package/esm2022/lib/services/native-modal.service.mjs +4 -4
  176. package/esm2022/lib/services/notification.service.mjs +4 -4
  177. package/esm2022/lib/services/projection.service.mjs +4 -4
  178. package/esm2022/lib/services/tabs.service.mjs +3 -3
  179. package/esm2022/lib/services/theme.service.mjs +3 -3
  180. package/esm2022/lib/services/toast.service.mjs +3 -3
  181. package/esm2022/lib/services/user/profile.service.mjs +3 -3
  182. package/esm2022/lib/utils/dropdown.mjs +1 -1
  183. package/esm2022/lib/utils/formControl.mjs +1 -1
  184. package/esm2022/lib/utils/timestreamFilters.mjs +1 -1
  185. package/esm2022/lib/utils/utils.mjs +1 -1
  186. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +551 -551
  187. package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
  188. package/package.json +2 -2
@@ -202,10 +202,10 @@ export class BmbInputPhoneNumberComponent {
202
202
  get shouldShowError() {
203
203
  return showError(this.control()) || showError(this.phoneControl);
204
204
  }
205
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbInputPhoneNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
206
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: BmbInputPhoneNumberComponent, isStandalone: true, selector: "bmb-input-phone-number", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, defaultLada: { classPropertyName: "defaultLada", publicName: "defaultLada", isSignal: true, isRequired: false, transformFunction: null }, defaultCountryCode: { classPropertyName: "defaultCountryCode", publicName: "defaultCountryCode", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, preferredCountries: { classPropertyName: "preferredCountries", publicName: "preferredCountries", isSignal: true, isRequired: false, transformFunction: null }, onlyCountries: { classPropertyName: "onlyCountries", publicName: "onlyCountries", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { control: "controlChange", showError: "showErrorChange" }, ngImport: i0, template: "<bmb-input-validator\n [name]=\"name()\"\n [label]=\"label()\"\n [value]=\"!!defaultCountryCode() ? value() : ''\"\n [errorMessage]=\"getErrorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [customValidation]=\"handleCustomValidator()\"\n [inputId]=\"inputId()\"\n>\n <section class=\"bmb_input-phone\">\n <section\n class=\"bmb_input-phone-container\"\n [ngClass]=\"{\n 'bmb_input-phone-container-error': shouldShowError,\n 'bmb_input-phone-container-focus': isFocused()\n }\"\n >\n <bmb-dropdown\n class=\"bmb_input-phone-lada\"\n [name]=\"getUUID('lada')\"\n [value]=\"ladaControl.value\"\n [required]=\"true\"\n [disabled]=\"disabled()\"\n [showIcon]=\"false\"\n [options]=\"countryFiltering\"\n [preferredOptions]=\"preferredCountries()\"\n [control]=\"ladaControl\"\n (onValueChange)=\"onValueChange($event)\"\n (onFocus)=\"handleFocus($event)\"\n />\n <bmb-input-content\n class=\"bmb_input-phone-number\"\n [name]=\"getUUID('phone')\"\n pattern=\"^\\d+$\"\n [control]=\"phoneControl\"\n [inputId]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [maxLength]=\"getSelectedCountryLength(ladaControl.value)\"\n [minLength]=\"getSelectedCountryLength(ladaControl.value)\"\n [isRequired]=\"isRequired()\"\n (onFocus)=\"handleFocus($event)\"\n (onBlur)=\"handleValidity()\"\n />\n </section>\n <input\n hidden\n type=\"text\"\n [name]=\"name()\"\n [required]=\"isRequired()\"\n [formControl]=\"control()\"\n [tabindex]=\"-1\"\n />\n </section>\n</bmb-input-validator>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-phone{display:block;position:relative}.bmb_input-phone-container{display:flex;box-sizing:border-box;border:.0625rem solid var(--general_contrasts-50);border-radius:.5rem;width:100%;background-color:var(--general_contrasts-input-background);height:3rem;transition:all .3s ease}.bmb_input-phone-container-error{border-color:var(--input-error)}.bmb_input-phone-container:focus,.bmb_input-phone-container:focus-visible,.bmb_input-phone-container-focus{box-sizing:inherit;border-color:var(--general_contrasts-input-outline);caret-color:var(--general_contrasts-input-outline);outline:.0625rem solid;outline-color:var(--general_contrasts-input-outline)}.bmb_input-phone-container:hover{box-sizing:inherit;border-color:var(--general_contrasts-50);outline:.0625rem solid;outline-color:var(--general_contrasts-50)}.bmb_input-phone-container .bmb_input-validator-label{display:none}.bmb_input-phone-container .bmb_input-validator{padding:0}.bmb_input-phone-lada .bmb_dropdown{width:5rem}.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal{border-top-right-radius:0;border-bottom-right-radius:0;border-width:0 .0625rem 0 0;height:2.75rem}.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:focus,.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:focus-visible,.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:hover{border-width:0 .0625rem 0 0;outline:0 none}.bmb_input-phone-lada .bmb_dropdown .bmb_dropdown-content-modal{min-width:max-content}.bmb_input-phone-number{flex:1}.bmb_input-phone-number .bmb_field-input-normal{border-top-left-radius:0;border-bottom-left-radius:0;border:0;height:2.75rem}.bmb_input-phone-number .bmb_field-input-normal:focus,.bmb_input-phone-number .bmb_field-input-normal:focus-visible,.bmb_input-phone-number .bmb_field-input-normal:hover{border:0;outline:0 none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: BmbDropdownComponent, selector: "bmb-dropdown", inputs: ["required", "showIcon", "placeholder", "icon", "options", "helperText", "errorMessage", "label", "name", "preferredOptions", "isMultiSelect", "tooltip", "tooltipPosition", "disabled", "value", "isFilterable", "inputId", "customValidation", "control", "isModalOpen"], outputs: ["controlChange", "onValueChange", "onFocus", "isModalOpenChange"] }, { kind: "component", type: BmbInputContentComponent, selector: "bmb-input-content", inputs: ["type", "placeholder", "icon", "appearance", "isRequired", "name", "spellcheck", "heightTextArea", "maxLength", "minLength", "pattern", "max", "min", "inputId", "autoComplete", "rows", "isReadOnly", "additionalAction", "isClearable", "isError", "isHidden", "showStates", "control"], outputs: ["controlChange", "onFocus", "onBlur", "onChange", "onKeyDown", "onKeyUp"] }, { kind: "component", type: BmbInputValidatorComponent, selector: "bmb-input-validator", inputs: ["inputId", "type", "appearance", "label", "labelPosition", "name", "value", "checked", "isRequired", "isDisabled", "max", "min", "maxLength", "minLength", "pattern", "jsonFormat", "tooltip", "rows", "tooltipPosition", "showMaxTextLength", "helperMessage", "errorMessage", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
205
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbInputPhoneNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
206
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BmbInputPhoneNumberComponent, isStandalone: true, selector: "bmb-input-phone-number", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, defaultLada: { classPropertyName: "defaultLada", publicName: "defaultLada", isSignal: true, isRequired: false, transformFunction: null }, defaultCountryCode: { classPropertyName: "defaultCountryCode", publicName: "defaultCountryCode", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, preferredCountries: { classPropertyName: "preferredCountries", publicName: "preferredCountries", isSignal: true, isRequired: false, transformFunction: null }, onlyCountries: { classPropertyName: "onlyCountries", publicName: "onlyCountries", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { control: "controlChange", showError: "showErrorChange" }, ngImport: i0, template: "<bmb-input-validator\n [name]=\"name()\"\n [label]=\"label()\"\n [value]=\"!!defaultCountryCode() ? value() : ''\"\n [errorMessage]=\"getErrorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [customValidation]=\"handleCustomValidator()\"\n [inputId]=\"inputId()\"\n>\n <section class=\"bmb_input-phone\">\n <section\n class=\"bmb_input-phone-container\"\n [ngClass]=\"{\n 'bmb_input-phone-container-error': shouldShowError,\n 'bmb_input-phone-container-focus': isFocused()\n }\"\n >\n <bmb-dropdown\n class=\"bmb_input-phone-lada\"\n [name]=\"getUUID('lada')\"\n [value]=\"ladaControl.value\"\n [required]=\"true\"\n [disabled]=\"disabled()\"\n [showIcon]=\"false\"\n [options]=\"countryFiltering\"\n [preferredOptions]=\"preferredCountries()\"\n [control]=\"ladaControl\"\n (onValueChange)=\"onValueChange($event)\"\n (onFocus)=\"handleFocus($event)\"\n />\n <bmb-input-content\n class=\"bmb_input-phone-number\"\n [name]=\"getUUID('phone')\"\n pattern=\"^\\d+$\"\n [control]=\"phoneControl\"\n [inputId]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [maxLength]=\"getSelectedCountryLength(ladaControl.value)\"\n [minLength]=\"getSelectedCountryLength(ladaControl.value)\"\n [isRequired]=\"isRequired()\"\n (onFocus)=\"handleFocus($event)\"\n (onBlur)=\"handleValidity()\"\n />\n </section>\n <input\n hidden\n type=\"text\"\n [name]=\"name()\"\n [required]=\"isRequired()\"\n [formControl]=\"control()\"\n [tabindex]=\"-1\"\n />\n </section>\n</bmb-input-validator>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-phone{display:block;position:relative}.bmb_input-phone-container{display:flex;box-sizing:border-box;border:.0625rem solid var(--general_contrasts-50);border-radius:.5rem;width:100%;background-color:var(--general_contrasts-input-background);height:3rem;transition:all .3s ease}.bmb_input-phone-container-error{border-color:var(--input-error)}.bmb_input-phone-container:focus,.bmb_input-phone-container:focus-visible,.bmb_input-phone-container-focus{box-sizing:inherit;border-color:var(--general_contrasts-input-outline);caret-color:var(--general_contrasts-input-outline);outline:.0625rem solid;outline-color:var(--general_contrasts-input-outline)}.bmb_input-phone-container:hover{box-sizing:inherit;border-color:var(--general_contrasts-50);outline:.0625rem solid;outline-color:var(--general_contrasts-50)}.bmb_input-phone-container .bmb_input-validator-label{display:none}.bmb_input-phone-container .bmb_input-validator{padding:0}.bmb_input-phone-lada .bmb_dropdown{width:5rem}.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal{border-top-right-radius:0;border-bottom-right-radius:0;border-width:0 .0625rem 0 0;height:2.75rem}.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:focus,.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:focus-visible,.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:hover{border-width:0 .0625rem 0 0;outline:0 none}.bmb_input-phone-lada .bmb_dropdown .bmb_dropdown-content-modal{min-width:max-content}.bmb_input-phone-number{flex:1}.bmb_input-phone-number .bmb_field-input-normal{border-top-left-radius:0;border-bottom-left-radius:0;border:0;height:2.75rem}.bmb_input-phone-number .bmb_field-input-normal:focus,.bmb_input-phone-number .bmb_field-input-normal:focus-visible,.bmb_input-phone-number .bmb_field-input-normal:hover{border:0;outline:0 none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: BmbDropdownComponent, selector: "bmb-dropdown", inputs: ["required", "showIcon", "placeholder", "icon", "options", "helperText", "errorMessage", "label", "name", "preferredOptions", "isMultiSelect", "tooltip", "tooltipPosition", "disabled", "value", "isFilterable", "inputId", "customValidation", "control", "isModalOpen"], outputs: ["controlChange", "onValueChange", "onFocus", "isModalOpenChange"] }, { kind: "component", type: BmbInputContentComponent, selector: "bmb-input-content", inputs: ["type", "placeholder", "icon", "appearance", "isRequired", "name", "spellcheck", "heightTextArea", "maxLength", "minLength", "pattern", "max", "min", "inputId", "autoComplete", "rows", "isReadOnly", "additionalAction", "isClearable", "isError", "isHidden", "showStates", "control"], outputs: ["controlChange", "onFocus", "onBlur", "onChange", "onKeyDown", "onKeyUp"] }, { kind: "component", type: BmbInputValidatorComponent, selector: "bmb-input-validator", inputs: ["inputId", "type", "appearance", "label", "labelPosition", "name", "value", "checked", "isRequired", "isDisabled", "max", "min", "maxLength", "minLength", "pattern", "jsonFormat", "tooltip", "rows", "tooltipPosition", "showMaxTextLength", "helperMessage", "errorMessage", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
207
207
  }
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbInputPhoneNumberComponent, decorators: [{
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbInputPhoneNumberComponent, decorators: [{
209
209
  type: Component,
210
210
  args: [{ selector: 'bmb-input-phone-number', standalone: true, imports: [
211
211
  CommonModule,
@@ -216,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
216
216
  BmbInputValidatorComponent,
217
217
  ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<bmb-input-validator\n [name]=\"name()\"\n [label]=\"label()\"\n [value]=\"!!defaultCountryCode() ? value() : ''\"\n [errorMessage]=\"getErrorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [customValidation]=\"handleCustomValidator()\"\n [inputId]=\"inputId()\"\n>\n <section class=\"bmb_input-phone\">\n <section\n class=\"bmb_input-phone-container\"\n [ngClass]=\"{\n 'bmb_input-phone-container-error': shouldShowError,\n 'bmb_input-phone-container-focus': isFocused()\n }\"\n >\n <bmb-dropdown\n class=\"bmb_input-phone-lada\"\n [name]=\"getUUID('lada')\"\n [value]=\"ladaControl.value\"\n [required]=\"true\"\n [disabled]=\"disabled()\"\n [showIcon]=\"false\"\n [options]=\"countryFiltering\"\n [preferredOptions]=\"preferredCountries()\"\n [control]=\"ladaControl\"\n (onValueChange)=\"onValueChange($event)\"\n (onFocus)=\"handleFocus($event)\"\n />\n <bmb-input-content\n class=\"bmb_input-phone-number\"\n [name]=\"getUUID('phone')\"\n pattern=\"^\\d+$\"\n [control]=\"phoneControl\"\n [inputId]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [maxLength]=\"getSelectedCountryLength(ladaControl.value)\"\n [minLength]=\"getSelectedCountryLength(ladaControl.value)\"\n [isRequired]=\"isRequired()\"\n (onFocus)=\"handleFocus($event)\"\n (onBlur)=\"handleValidity()\"\n />\n </section>\n <input\n hidden\n type=\"text\"\n [name]=\"name()\"\n [required]=\"isRequired()\"\n [formControl]=\"control()\"\n [tabindex]=\"-1\"\n />\n </section>\n</bmb-input-validator>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-phone{display:block;position:relative}.bmb_input-phone-container{display:flex;box-sizing:border-box;border:.0625rem solid var(--general_contrasts-50);border-radius:.5rem;width:100%;background-color:var(--general_contrasts-input-background);height:3rem;transition:all .3s ease}.bmb_input-phone-container-error{border-color:var(--input-error)}.bmb_input-phone-container:focus,.bmb_input-phone-container:focus-visible,.bmb_input-phone-container-focus{box-sizing:inherit;border-color:var(--general_contrasts-input-outline);caret-color:var(--general_contrasts-input-outline);outline:.0625rem solid;outline-color:var(--general_contrasts-input-outline)}.bmb_input-phone-container:hover{box-sizing:inherit;border-color:var(--general_contrasts-50);outline:.0625rem solid;outline-color:var(--general_contrasts-50)}.bmb_input-phone-container .bmb_input-validator-label{display:none}.bmb_input-phone-container .bmb_input-validator{padding:0}.bmb_input-phone-lada .bmb_dropdown{width:5rem}.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal{border-top-right-radius:0;border-bottom-right-radius:0;border-width:0 .0625rem 0 0;height:2.75rem}.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:focus,.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:focus-visible,.bmb_input-phone-lada .bmb_dropdown .bmb_field-input-normal:hover{border-width:0 .0625rem 0 0;outline:0 none}.bmb_input-phone-lada .bmb_dropdown .bmb_dropdown-content-modal{min-width:max-content}.bmb_input-phone-number{flex:1}.bmb_input-phone-number .bmb_field-input-normal{border-top-left-radius:0;border-bottom-left-radius:0;border:0;height:2.75rem}.bmb_input-phone-number .bmb_field-input-normal:focus,.bmb_input-phone-number .bmb_field-input-normal:focus-visible,.bmb_input-phone-number .bmb_field-input-normal:hover{border:0;outline:0 none}\n"] }]
218
218
  }] });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXBob25lLW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWlucHV0LXBob25lLW51bWJlci9ibWItaW5wdXQtcGhvbmUtbnVtYmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQtcGhvbmUtbnVtYmVyL2JtYi1pbnB1dC1waG9uZS1udW1iZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLG1CQUFtQixHQUdwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsb0JBQW9CLEdBRXJCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFtQixnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTTdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQixPQUFPLEdBRVIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN0RyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQWtCakMsTUFBTSxPQUFPLDRCQUE0QjtJ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RUFBRTtvQkFDeEMsT0FBTztvQkFDUCxTQUFTO29CQUNULGdCQUFnQixFQUFFLElBQUksQ0FBQyx1QkFBdUI7aUJBQy9DLENBQUM7WUFFSixPQUFPO2dCQUNMLE9BQU87Z0JBQ1AsU0FBUztnQkFDVCxHQUFJLElBQUksQ0FBQyxZQUFZLEVBQXFCO2dCQUMxQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsdUJBQXVCO2FBQy9DLENBQUM7U0FDSDtRQUVELE9BQU87WUFDTCxPQUFPO1lBQ1AsU0FBUztZQUNULGdCQUFnQixFQUFFLElBQUksQ0FBQyx1QkFBdUI7U0FDL0MsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjO1FBQ1osY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuRSxDQUFDOytHQXpRVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qixtc0ZDM0R6QywyNERBNERBLHFzUERYSSxZQUFZLDRIQUNaLFdBQVcsbW5CQUNYLG1CQUFtQixrTkFDbkIsb0JBQW9CLDBaQUNwQix3QkFBd0IsdWJBQ3hCLDBCQUEwQjs7NEZBS2pCLDRCQUE0QjtrQkFoQnhDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBR3RCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsMEJBQTBCO3FCQUMzQixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1zTW9kdWxlLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JGbixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEJtYkRyb3Bkb3duQ29tcG9uZW50LFxuICBJQm1iRHJvcGRvd25JdGVtLFxufSBmcm9tICcuLi9ibWItZHJvcGRvd24vYm1iLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQm1iQ291bnRyeUNvZGUsIElCbWJDb3VudHJ5Q29kZXMgfSBmcm9tICcuLi8uLi91dGlscy9jb3VudHJ5Q29kZXMnO1xuaW1wb3J0IHtcbiAgSUJtYklucHV0QXBwZWFyYW5jZSxcbiAgSUJtYklucHV0RXJyb3IsXG4gIElCbWJJbnB1dFRvb2x0aXBQb3NpdGlvbixcbn0gZnJvbSAnLi4vYm1iLWlucHV0L2JtYi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iSW5wdXRWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuLi9ibWItaW5wdXQvYm1iLWlucHV0LXZhbGlkYXRvci9ibWItaW5wdXQtdmFsaWRhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBidWlsZEVycm9yTWVzc2FnZSxcbiAgZ2V0Q3VzdG9tVmFsaWRhdGlvbixcbiAgZ2V0Q3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2UsXG4gIGdldFVVSUQsXG4gIGlzRXJyb3JNZXNzYWdlU2V0LFxufSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBCbWJJbnB1dENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9ibWItaW5wdXQvYm1iLWlucHV0LWNvbnRlbnQvYm1iLWlucHV0LWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIGFzc2lnbk5ld0Zvcm1Db250cm9sLFxuICBoYW5kbGVWYWxpZGl0eSxcbiAgc2hvd0Vycm9yLFxufSBmcm9tICcuLi8uLi91dGlscy9mb3JtQ29udHJvbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1pbnB1dC1waG9uZS1udW1iZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLWlucHV0LXBob25lLW51bWJlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9ibWItaW5wdXQtcGhvbmUtbnVtYmVyLmNvbXBvbmVudC5zY3NzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEJtYkRyb3Bkb3duQ29tcG9uZW50LFxuICAgIEJtYklucHV0Q29udGVudENvbXBvbmVudCxcbiAgICBCbWJJbnB1dFZhbGlkYXRvckNvbXBvbmVudCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEJtYklucHV0UGhvbmVOdW1iZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBsYWJlbCA9IGlucHV0PHN0cmluZz4oJycpO1xuICBuYW1lID0gaW5wdXQ8c3RyaW5nPihnZXRVVUlEKCkpO1xuICB2YWx1ZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBpc1JlcXVpcmVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICB0b29sdGlwID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHRvb2x0aXBQb3NpdGlvbiA9IGlucHV0PElCbWJJbnB1dFRvb2x0aXBQb3NpdGlvbj4oe1xuICAgIGFsaWduOiAnYWJvdmUnLFxuICAgIGp1c3RpZnk6ICdiZWZvcmUnLFxuICB9KTtcbiAgZGVmYXVsdExhZGEgPSBpbnB1dDxzdHJpbmc+KCcrNTInKTsgLy9EZXByZWNhdGVkXG4gIGRlZmF1bHRDb3VudHJ5Q29kZSA9IGlucHV0PHN0cmluZz4oJ214Jyk7IC8vTXVzdCBtYXRjaCB0aGUgYXJlYSBsYWRhIG9mIHRoZSBpbml0aWFsIHZhbHVlXG4gIHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGFwcGVhcmFuY2UgPSBpbnB1dDxJQm1iSW5wdXRBcHBlYXJhbmNlPignbm9ybWFsJyk7IC8vRGVwcmVjYXRlZFxuICBlcnJvck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmcgfCBJQm1iSW5wdXRFcnJvcj4oJycpO1xuICBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaW5wdXRJZCA9IGlucHV0PHN0cmluZz4odGhpcy5uYW1lKCkpO1xuICBoZWxwZXJNZXNzYWdlID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHByZWZlcnJlZENvdW50cmllcyA9IGlucHV0PHN0cmluZ1tdPihbJ214J10pO1xuICBvbmx5Q291bnRyaWVzID0gaW5wdXQ8c3RyaW5nW10+KFtdKTtcbiAgY3VzdG9tVmFsaWRhdGlvbiA9IGlucHV0PFZhbGlkYXRvckZuPigpO1xuXG4gIGNvbnRyb2wgPSBtb2RlbDxGb3JtQ29udHJvbD4obmV3IEZvcm1Db250cm9sKCkpO1xuICBzaG93RXJyb3IgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7IC8vIGRlcHJlY2F0ZWRcblxuICB1dWlkOiBzdHJpbmcgPSBnZXRVVUlEKCk7XG4gIGlzRm9jdXNlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGFsbENvdW50cnlDb2RlczogSUJtYkNvdW50cnlDb2RlW10gPSBJQm1iQ291bnRyeUNvZGVzO1xuICBsYWRhQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgcGhvbmVDb250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh7XG4gICAgdmFsdWU6ICcnLFxuICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkKCksXG4gIH0pO1xuICBjb3VudHJ5RmlsdGVyaW5nOiBJQm1iRHJvcGRvd25JdGVtW10gPSBbXTtcbiAgaXNDb250cm9sTnVsbDogYm9vbGVhbiA9IGZhbHNlO1xuICBjdXN0b21WYWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nID0gJyc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2woKSkge1xuICAgICAgdGhpcy5jb250cm9sLnNldChhc3NpZ25OZXdGb3JtQ29udHJvbCh0aGlzLm5hbWUoKSwgdGhpcy5jb250cm9sKCkpISk7XG4gICAgICB0aGlzLmlzQ29udHJvbE51bGwgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICghIXRoaXMudmFsdWUoKSB8fCAhIXRoaXMuY29udHJvbCgpLnZhbHVlKSB7XG4gICAgICBsZXQgaW5wdXRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICBpZiAoIXRoaXMuZGVmYXVsdENvdW50cnlDb2RlKCkpIHtcbiAgICAgICAgaW5wdXRzLnB1c2goJ2RlZmF1bHRDb3VudHJ5Jyk7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLmdldFNlbGVjdGVkQ291bnRyeSh0aGlzLmRlZmF1bHRDb3VudHJ5Q29kZSgpKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFxuICAgICAgICAgIFske3RoaXMubmFtZSgpfV0gLSBUaGUgdmFsdWUgJHt0aGlzLmRlZmF1bHRDb3VudHJ5Q29kZSgpfSBmb3IgXCJkZWZhdWx0Q291bnRyeUNvZGVcIiBkb2VzIG5vdCBleGlzdCBpbiB0aGUgY291bnRyeSBMaXN0LlxuICAgICAgICAgIGAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoaW5wdXRzLmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFxuICAgICAgICAgIFske3RoaXMubmFtZSgpfV0gLSBUaGUgJHtidWlsZEVycm9yTWVzc2FnZShpbnB1dHMpfSByZXF1aXJlZCB3aGVuIHRoZXJlIGlzIGFuIGluaXRpYWwgXCJ2YWx1ZVwiIGluIFwiYm1iLWlucHV0LXBob25lLlwiLlxuICAgICAgICAgIGAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sYWRhQ29udHJvbC5zZXRWYWx1ZShcbiAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5Q29kZShcbiAgICAgICAgdGhpcy5kZWZhdWx0Q291bnRyeUNvZGUoKS50b0xvY2FsZUxvd2VyQ2FzZSgpLFxuICAgICAgKSxcbiAgICApO1xuICAgIHRoaXMucGhvbmVDb250cm9sLnNldFZhbHVlKHRoaXMuZ2V0TnVtYmVyVmFsdWUoKSk7XG4gICAgdGhpcy5jb3VudHJ5RmlsdGVyaW5nID0gdGhpcy5nZXRPcHRpb25zKCk7XG5cbiAgICB0aGlzLnBob25lQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKCEhdmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUoXG4gICAgICAgICAgdGhpcy5nZXRTZWxlY3RlZENvdW50cnlMYWRhKHRoaXMubGFkYUNvbnRyb2wudmFsdWUpLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5jb250cm9sKCkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLnBob25lQ29udHJvbC5yZXNldCgnJyk7XG4gICAgICAgIHRoaXMubGFkYUNvbnRyb2wucmVzZXQoXG4gICAgICAgICAgdGhpcy5nZXRTZWxlY3RlZENvdW50cnlDb2RlKFxuICAgICAgICAgICAgdGhpcy5kZWZhdWx0Q291bnRyeUNvZGUoKS50b0xvY2FsZUxvd2VyQ2FzZSgpLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBoYW5kbGVGb2N1cyh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkLnNldCh2YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVDdXN0b21WYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gY29udHJvbDtcblxuICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuIG51bGw7XG4gICAgICBpZiAodGhpcy5waG9uZUNvbnRyb2wuaGFzRXJyb3IoJ3BhdHRlcm4nKSkgcmV0dXJuIHsgcGF0dGVybjogdHJ1ZSB9O1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnBob25lQ29udHJvbC5oYXNFcnJvcignbWF4bGVuZ3RoJykgfHxcbiAgICAgICAgdGhpcy5waG9uZUNvbnRyb2wuaGFzRXJyb3IoJ21pbmxlbmd0aCcpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHsgbWlubGVuZ3RoOiB0cnVlIH07XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAoXG4gICAgICAgIGBeXFxcXCR7dGhpcy5nZXRTZWxlY3RlZENvdW50cnlMYWRhKFxuICAgICAgICAgIHRoaXMubGFkYUNvbnRyb2wudmFsdWUsXG4gICAgICAgICl9XFxcXGR7JHt0aGlzLmdldFNlbGVjdGVkQ291bnRyeUxlbmd0aCh0aGlzLmxhZGFDb250cm9sLnZhbHVlKX19JGAsXG4gICAgICApO1xuXG4gICAgICBpZiAoIXJlZ0V4cC50ZXN0KGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgIHRoaXMuY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2UgPVxuICAgICAgICAgICdQb3IgZmF2b3IgaW5ncmVzYSB1biBuw7ptZXJvIGRlIHRlbMOpZm9ubyB2w6FsaWRvLCB2ZXJpZmljYSBzaSBsYSBsYWRhIGVzIGNvcnJlY3RhLic7XG4gICAgICAgIHJldHVybiB7IGN1c3RvbVZhbGlkYXRpb246IHRydWUgfTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzdWx0ID0gZ2V0Q3VzdG9tVmFsaWRhdGlvbihcbiAgICAgICAgdGhpcy5jdXN0b21WYWxpZGF0aW9uKCkhLFxuICAgICAgICB0aGlzLmNvbnRyb2woKSxcbiAgICAgICk7XG4gICAgICB0aGlzLmN1c3RvbVZhbGlkYXRpb25NZXNzYWdlID0gZ2V0Q3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2UoXG4gICAgICAgIHJlc3VsdCxcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UoKSxcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcbiAgfVxuXG4gIGdldFVVSUQobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7bmFtZX1fJHt0aGlzLm5hbWUoKX1fJHt0aGlzLnV1aWR9YDtcbiAgfVxuXG4gIHNldENvbnRyb2xWYWx1ZShsYWRhOiBzdHJpbmcsIHBob25lTnVtYmVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoISFsYWRhICYmICEhcGhvbmVOdW1iZXIpIHtcbiAgICAgIHRoaXMuY29udHJvbCgpLnNldFZhbHVlKGxhZGEgKyBwaG9uZU51bWJlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29udHJvbCgpLnJlc2V0KCcnKTtcbiAgICB9XG5cbiAgICB0aGlzLmhhbmRsZVZhbGlkaXR5KCk7XG4gIH1cblxuICBnZXROdW1iZXJWYWx1ZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jb250cm9sKCkudmFsdWUgfHwgdGhpcy52YWx1ZSgpO1xuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKFxuICAgICAgdGhpcy5nZXRTZWxlY3RlZENvdW50cnlMYWRhKHRoaXMubGFkYUNvbnRyb2wudmFsdWUpLFxuICAgICAgJycsXG4gICAgKSE7XG4gIH1cblxuICBnZXRTZWxlY3RlZENvdW50cnkodmFsdWU6IHN0cmluZyk6IElCbWJDb3VudHJ5Q29kZSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsQ291bnRyeUNvZGVzLmZpbmQoXG4gICAgICAoeyBjb3VudHJ5X2NvZGUgfSkgPT4gY291bnRyeV9jb2RlLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IHZhbHVlLFxuICAgICkhO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRDb3VudHJ5Q29kZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWxlY3RlZENvdW50cnkgPSB0aGlzLmdldFNlbGVjdGVkQ291bnRyeSh2YWx1ZSk7XG5cbiAgICBpZiAoISFzZWxlY3RlZENvdW50cnkpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZENvdW50cnkuY291bnRyeV9jb2RlLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRDb3VudHJ5TGFkYSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWxlY3RlZENvdW50cnkgPSB0aGlzLmdldFNlbGVjdGVkQ291bnRyeSh2YWx1ZSk7XG5cbiAgICBpZiAoISFzZWxlY3RlZENvdW50cnkpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZENvdW50cnkubGFkYTtcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXRTZWxlY3RlZENvdW50cnlMZW5ndGgodmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgY29uc3Qgc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5nZXRTZWxlY3RlZENvdW50cnkodmFsdWUpO1xuXG4gICAgaWYgKCEhc2VsZWN0ZWRDb3VudHJ5KSB7XG4gICAgICByZXR1cm4gc2VsZWN0ZWRDb3VudHJ5Lmxlbmd0aDtcbiAgICB9XG5cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghIXRoaXMucGhvbmVDb250cm9sLnZhbHVlKSB7XG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShcbiAgICAgICAgdGhpcy5nZXRTZWxlY3RlZENvdW50cnlMYWRhKHZhbHVlKSxcbiAgICAgICAgdGhpcy5waG9uZUNvbnRyb2wudmFsdWUsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGdldE9wdGlvbnMoKTogSUJtYkRyb3Bkb3duSXRlbVtdIHtcbiAgICBpZiAodGhpcy5vbmx5Q291bnRyaWVzKCkubGVuZ3RoKSB7XG4gICAgICBjb25zdCBsb3dlckNhc2VDb3VudHJpZXMgPSB0aGlzLm9ubHlDb3VudHJpZXMoKS5tYXAoKGNvdW50cnkpID0+XG4gICAgICAgIGNvdW50cnkudG9Mb2NhbGVMb3dlckNhc2UoKSxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuYWxsQ291bnRyeUNvZGVzLmZpbHRlcihcbiAgICAgICAgKHsgY291bnRyeV9jb2RlIH0pID0+IHtcbiAgICAgICAgICByZXR1cm4gbG93ZXJDYXNlQ291bnRyaWVzLmluY2x1ZGVzKGNvdW50cnlfY29kZS50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBmaWx0ZXJlZE9wdGlvbnMubWFwKCh7IGNvdW50cnksIGxhZGEsIGNvdW50cnlfY29kZSB9KSA9PiAoe1xuICAgICAgICBuYW1lOiBgJHtjb3VudHJ5fSAoJHtsYWRhfSlgLFxuICAgICAgICB2YWx1ZTogY291bnRyeV9jb2RlLnRvTG9jYWxlTG93ZXJDYXNlKCksXG4gICAgICAgIHNlbGVjdGVkVGV4dDogbGFkYSxcbiAgICAgICAgaWNvbjogJ2ZsYWcnLFxuICAgICAgfSkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFsbENvdW50cnlDb2Rlcy5tYXAoKHsgY291bnRyeSwgbGFkYSwgY291bnRyeV9jb2RlIH0pID0+ICh7XG4gICAgICBuYW1lOiBgJHtjb3VudHJ5fSAoJHtsYWRhfSlgLFxuICAgICAgdmFsdWU6IGNvdW50cnlfY29kZS50b0xvY2FsZUxvd2VyQ2FzZSgpLFxuICAgICAgc2VsZWN0ZWRUZXh0OiBsYWRhLFxuICAgICAgaWNvbjogJ2ZsYWcnLFxuICAgIH0pKTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZSgpOiBJQm1iSW5wdXRFcnJvciB7XG4gICAgY29uc3QgcGF0dGVybiA9ICdQb3IgZmF2b3IgaW5ncmVzYSBzw7NsbyBjYXJhY3RlcmVzIG51bcOpcmljb3MnO1xuICAgIGNvbnN0IG1pbkxlbmd0aCA9IGBQb3IgZmF2b3IgaW5ncmVzYSAke3RoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5TGVuZ3RoKFxuICAgICAgdGhpcy5sYWRhQ29udHJvbC52YWx1ZSxcbiAgICApfSBjYXJhY3RlcmVzIG51bcOpcmljb3NgO1xuICAgIGlmICghIXRoaXMuZXJyb3JNZXNzYWdlKCkpIHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5lcnJvck1lc3NhZ2UoKSA9PT0gJ3N0cmluZycpXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVxdWlyZWQ6IHRoaXMuZXJyb3JNZXNzYWdlKCkudG9TdHJpbmcoKSxcbiAgICAgICAgICBwYXR0ZXJuLFxuICAgICAgICAgIG1pbkxlbmd0aCxcbiAgICAgICAgICBjdXN0b21WYWxpZGF0aW9uOiB0aGlzLmN1c3RvbVZhbGlkYXRpb25NZXNzYWdlLFxuICAgICAgICB9O1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYXR0ZXJuLFxuICAgICAgICBtaW5MZW5ndGgsXG4gICAgICAgIC4uLih0aGlzLmVycm9yTWVzc2FnZSgpIGFzIElCbWJJbnB1dEVycm9yKSxcbiAgICAgICAgY3VzdG9tVmFsaWRhdGlvbjogdGhpcy5jdXN0b21WYWxpZGF0aW9uTWVzc2FnZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBhdHRlcm4sXG4gICAgICBtaW5MZW5ndGgsXG4gICAgICBjdXN0b21WYWxpZGF0aW9uOiB0aGlzLmN1c3RvbVZhbGlkYXRpb25NZXNzYWdlLFxuICAgIH07XG4gIH1cblxuICBoYW5kbGVWYWxpZGl0eSgpOiB2b2lkIHtcbiAgICBoYW5kbGVWYWxpZGl0eSh0aGlzLmNvbnRyb2woKSk7XG4gIH1cblxuICBnZXQgc2hvdWxkU2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzaG93RXJyb3IodGhpcy5jb250cm9sKCkpIHx8IHNob3dFcnJvcih0aGlzLnBob25lQ29udHJvbCk7XG4gIH1cbn1cbiIsIjxibWItaW5wdXQtdmFsaWRhdG9yXG4gIFtuYW1lXT1cIm5hbWUoKVwiXG4gIFtsYWJlbF09XCJsYWJlbCgpXCJcbiAgW3ZhbHVlXT1cIiEhZGVmYXVsdENvdW50cnlDb2RlKCkgPyB2YWx1ZSgpIDogJydcIlxuICBbZXJyb3JNZXNzYWdlXT1cImdldEVycm9yTWVzc2FnZSgpXCJcbiAgW2hlbHBlck1lc3NhZ2VdPVwiaGVscGVyTWVzc2FnZSgpXCJcbiAgW2lzUmVxdWlyZWRdPVwiaXNSZXF1aXJlZCgpXCJcbiAgW2lzRGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gIFtjb250cm9sXT1cImNvbnRyb2woKVwiXG4gIFtzaG93RXJyb3JdPVwic2hvdWxkU2hvd0Vycm9yXCJcbiAgW3Rvb2x0aXBdPVwidG9vbHRpcCgpXCJcbiAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb24oKVwiXG4gIFtjdXN0b21WYWxpZGF0aW9uXT1cImhhbmRsZUN1c3RvbVZhbGlkYXRvcigpXCJcbiAgW2lucHV0SWRdPVwiaW5wdXRJZCgpXCJcbj5cbiAgPHNlY3Rpb24gY2xhc3M9XCJibWJfaW5wdXQtcGhvbmVcIj5cbiAgICA8c2VjdGlvblxuICAgICAgY2xhc3M9XCJibWJfaW5wdXQtcGhvbmUtY29udGFpbmVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2JtYl9pbnB1dC1waG9uZS1jb250YWluZXItZXJyb3InOiBzaG91bGRTaG93RXJyb3IsXG4gICAgICAgICdibWJfaW5wdXQtcGhvbmUtY29udGFpbmVyLWZvY3VzJzogaXNGb2N1c2VkKClcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxibWItZHJvcGRvd25cbiAgICAgICAgY2xhc3M9XCJibWJfaW5wdXQtcGhvbmUtbGFkYVwiXG4gICAgICAgIFtuYW1lXT1cImdldFVVSUQoJ2xhZGEnKVwiXG4gICAgICAgIFt2YWx1ZV09XCJsYWRhQ29udHJvbC52YWx1ZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICBbc2hvd0ljb25dPVwiZmFsc2VcIlxuICAgICAgICBbb3B0aW9uc109XCJjb3VudHJ5RmlsdGVyaW5nXCJcbiAgICAgICAgW3ByZWZlcnJlZE9wdGlvbnNdPVwicHJlZmVycmVkQ291bnRyaWVzKClcIlxuICAgICAgICBbY29udHJvbF09XCJsYWRhQ29udHJvbFwiXG4gICAgICAgIChvblZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChvbkZvY3VzKT1cImhhbmRsZUZvY3VzKCRldmVudClcIlxuICAgICAgLz5cbiAgICAgIDxibWItaW5wdXQtY29udGVudFxuICAgICAgICBjbGFzcz1cImJtYl9pbnB1dC1waG9uZS1udW1iZXJcIlxuICAgICAgICBbbmFtZV09XCJnZXRVVUlEKCdwaG9uZScpXCJcbiAgICAgICAgcGF0dGVybj1cIl5cXGQrJFwiXG4gICAgICAgIFtjb250cm9sXT1cInBob25lQ29udHJvbFwiXG4gICAgICAgIFtpbnB1dElkXT1cImlucHV0SWQoKVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcbiAgICAgICAgW21heExlbmd0aF09XCJnZXRTZWxlY3RlZENvdW50cnlMZW5ndGgobGFkYUNvbnRyb2wudmFsdWUpXCJcbiAgICAgICAgW21pbkxlbmd0aF09XCJnZXRTZWxlY3RlZENvdW50cnlMZW5ndGgobGFkYUNvbnRyb2wudmFsdWUpXCJcbiAgICAgICAgW2lzUmVxdWlyZWRdPVwiaXNSZXF1aXJlZCgpXCJcbiAgICAgICAgKG9uRm9jdXMpPVwiaGFuZGxlRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChvbkJsdXIpPVwiaGFuZGxlVmFsaWRpdHkoKVwiXG4gICAgICAvPlxuICAgIDwvc2VjdGlvbj5cbiAgICA8aW5wdXRcbiAgICAgIGhpZGRlblxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW25hbWVdPVwibmFtZSgpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2woKVwiXG4gICAgICBbdGFiaW5kZXhdPVwiLTFcIlxuICAgIC8+XG4gIDwvc2VjdGlvbj5cbjwvYm1iLWlucHV0LXZhbGlkYXRvcj5cbiJdfQ==
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXBob25lLW51bWJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1uZy9zcmMvbGliL2NvbXBvbmVudHMvYm1iLWlucHV0LXBob25lLW51bWJlci9ibWItaW5wdXQtcGhvbmUtbnVtYmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQtcGhvbmUtbnVtYmVyL2JtYi1pbnB1dC1waG9uZS1udW1iZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLG1CQUFtQixHQUdwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsb0JBQW9CLEdBRXJCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFtQixnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTTdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQixPQUFPLEdBRVIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN0RyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQWtCakMsTUFBTSxPQUFPLDRCQUE0QjtJ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dUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybXNNb2R1bGUsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQm1iRHJvcGRvd25Db21wb25lbnQsXG4gIElCbWJEcm9wZG93bkl0ZW0sXG59IGZyb20gJy4uL2JtYi1kcm9wZG93bi9ibWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IElCbWJDb3VudHJ5Q29kZSwgSUJtYkNvdW50cnlDb2RlcyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvdW50cnlDb2Rlcyc7XG5pbXBvcnQge1xuICBJQm1iSW5wdXRBcHBlYXJhbmNlLFxuICBJQm1iSW5wdXRFcnJvcixcbiAgSUJtYklucHV0VG9vbHRpcFBvc2l0aW9uLFxufSBmcm9tICcuLi9ibWItaW5wdXQvYm1iLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJJbnB1dFZhbGlkYXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQtdmFsaWRhdG9yL2JtYi1pbnB1dC12YWxpZGF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIGJ1aWxkRXJyb3JNZXNzYWdlLFxuICBnZXRDdXN0b21WYWxpZGF0aW9uLFxuICBnZXRDdXN0b21WYWxpZGF0aW9uTWVzc2FnZSxcbiAgZ2V0VVVJRCxcbiAgaXNFcnJvck1lc3NhZ2VTZXQsXG59IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IEJtYklucHV0Q29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQtY29udGVudC9ibWItaW5wdXQtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgYXNzaWduTmV3Rm9ybUNvbnRyb2wsXG4gIGhhbmRsZVZhbGlkaXR5LFxuICBzaG93RXJyb3IsXG59IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1Db250cm9sJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYm1iLWlucHV0LXBob25lLW51bWJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItaW5wdXQtcGhvbmUtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1pbnB1dC1waG9uZS1udW1iZXIuY29tcG9uZW50LnNjc3MnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQm1iRHJvcGRvd25Db21wb25lbnQsXG4gICAgQm1iSW5wdXRDb250ZW50Q29tcG9uZW50LFxuICAgIEJtYklucHV0VmFsaWRhdG9yQ29tcG9uZW50LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQm1iSW5wdXRQaG9uZU51bWJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIG5hbWUgPSBpbnB1dDxzdHJpbmc+KGdldFVVSUQoKSk7XG4gIHZhbHVlID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGlzUmVxdWlyZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgdG9vbHRpcFBvc2l0aW9uID0gaW5wdXQ8SUJtYklucHV0VG9vbHRpcFBvc2l0aW9uPih7XG4gICAgYWxpZ246ICdhYm92ZScsXG4gICAganVzdGlmeTogJ2JlZm9yZScsXG4gIH0pO1xuICBkZWZhdWx0TGFkYSA9IGlucHV0PHN0cmluZz4oJys1MicpOyAvL0RlcHJlY2F0ZWRcbiAgZGVmYXVsdENvdW50cnlDb2RlID0gaW5wdXQ8c3RyaW5nPignbXgnKTsgLy9NdXN0IG1hdGNoIHRoZSBhcmVhIGxhZGEgb2YgdGhlIGluaXRpYWwgdmFsdWVcbiAgcGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgYXBwZWFyYW5jZSA9IGlucHV0PElCbWJJbnB1dEFwcGVhcmFuY2U+KCdub3JtYWwnKTsgLy9EZXByZWNhdGVkXG4gIGVycm9yTWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IElCbWJJbnB1dEVycm9yPignJyk7XG4gIGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBpbnB1dElkID0gaW5wdXQ8c3RyaW5nPih0aGlzLm5hbWUoKSk7XG4gIGhlbHBlck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcHJlZmVycmVkQ291bnRyaWVzID0gaW5wdXQ8c3RyaW5nW10+KFsnbXgnXSk7XG4gIG9ubHlDb3VudHJpZXMgPSBpbnB1dDxzdHJpbmdbXT4oW10pO1xuICBjdXN0b21WYWxpZGF0aW9uID0gaW5wdXQ8VmFsaWRhdG9yRm4+KCk7XG5cbiAgY29udHJvbCA9IG1vZGVsPEZvcm1Db250cm9sPihuZXcgRm9ybUNvbnRyb2woKSk7XG4gIHNob3dFcnJvciA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTsgLy8gZGVwcmVjYXRlZFxuXG4gIHV1aWQ6IHN0cmluZyA9IGdldFVVSUQoKTtcbiAgaXNGb2N1c2VkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgYWxsQ291bnRyeUNvZGVzOiBJQm1iQ291bnRyeUNvZGVbXSA9IElCbWJDb3VudHJ5Q29kZXM7XG4gIGxhZGFDb250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBwaG9uZUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKHtcbiAgICB2YWx1ZTogJycsXG4gICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQoKSxcbiAgfSk7XG4gIGNvdW50cnlGaWx0ZXJpbmc6IElCbWJEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICBpc0NvbnRyb2xOdWxsOiBib29sZWFuID0gZmFsc2U7XG4gIGN1c3RvbVZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcgPSAnJztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCgpKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0KGFzc2lnbk5ld0Zvcm1Db250cm9sKHRoaXMubmFtZSgpLCB0aGlzLmNvbnRyb2woKSkhKTtcbiAgICAgIHRoaXMuaXNDb250cm9sTnVsbCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCEhdGhpcy52YWx1ZSgpIHx8ICEhdGhpcy5jb250cm9sKCkudmFsdWUpIHtcbiAgICAgIGxldCBpbnB1dHM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgIGlmICghdGhpcy5kZWZhdWx0Q291bnRyeUNvZGUoKSkge1xuICAgICAgICBpbnB1dHMucHVzaCgnZGVmYXVsdENvdW50cnknKTtcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5KHRoaXMuZGVmYXVsdENvdW50cnlDb2RlKCkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgXG4gICAgICAgICAgWyR7dGhpcy5uYW1lKCl9XSAtIFRoZSB2YWx1ZSAke3RoaXMuZGVmYXVsdENvdW50cnlDb2RlKCl9IGZvciBcImRlZmF1bHRDb3VudHJ5Q29kZVwiIGRvZXMgbm90IGV4aXN0IGluIHRoZSBjb3VudHJ5IExpc3QuXG4gICAgICAgICAgYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChpbnB1dHMubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgXG4gICAgICAgICAgWyR7dGhpcy5uYW1lKCl9XSAtIFRoZSAke2J1aWxkRXJyb3JNZXNzYWdlKGlucHV0cyl9IHJlcXVpcmVkIHdoZW4gdGhlcmUgaXMgYW4gaW5pdGlhbCBcInZhbHVlXCIgaW4gXCJibWItaW5wdXQtcGhvbmUuXCIuXG4gICAgICAgICAgYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxhZGFDb250cm9sLnNldFZhbHVlKFxuICAgICAgdGhpcy5nZXRTZWxlY3RlZENvdW50cnlDb2RlKFxuICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5Q29kZSgpLnRvTG9jYWxlTG93ZXJDYXNlKCksXG4gICAgICApLFxuICAgICk7XG4gICAgdGhpcy5waG9uZUNvbnRyb2wuc2V0VmFsdWUodGhpcy5nZXROdW1iZXJWYWx1ZSgpKTtcbiAgICB0aGlzLmNvdW50cnlGaWx0ZXJpbmcgPSB0aGlzLmdldE9wdGlvbnMoKTtcblxuICAgIHRoaXMucGhvbmVDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoISF2YWx1ZSkge1xuICAgICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZShcbiAgICAgICAgICB0aGlzLmdldFNlbGVjdGVkQ291bnRyeUxhZGEodGhpcy5sYWRhQ29udHJvbC52YWx1ZSksXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbnRyb2woKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIHRoaXMucGhvbmVDb250cm9sLnJlc2V0KCcnKTtcbiAgICAgICAgdGhpcy5sYWRhQ29udHJvbC5yZXNldChcbiAgICAgICAgICB0aGlzLmdldFNlbGVjdGVkQ291bnRyeUNvZGUoXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5Q29kZSgpLnRvTG9jYWxlTG93ZXJDYXNlKCksXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZUZvY3VzKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0ZvY3VzZWQuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUN1c3RvbVZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSBjb250cm9sO1xuXG4gICAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDtcbiAgICAgIGlmICh0aGlzLnBob25lQ29udHJvbC5oYXNFcnJvcigncGF0dGVybicpKSByZXR1cm4geyBwYXR0ZXJuOiB0cnVlIH07XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMucGhvbmVDb250cm9sLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSB8fFxuICAgICAgICB0aGlzLnBob25lQ29udHJvbC5oYXNFcnJvcignbWlubGVuZ3RoJylcbiAgICAgICkge1xuICAgICAgICByZXR1cm4geyBtaW5sZW5ndGg6IHRydWUgfTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVnRXhwID0gbmV3IFJlZ0V4cChcbiAgICAgICAgYF5cXFxcJHt0aGlzLmdldFNlbGVjdGVkQ291bnRyeUxhZGEoXG4gICAgICAgICAgdGhpcy5sYWRhQ29udHJvbC52YWx1ZSxcbiAgICAgICAgKX1cXFxcZHske3RoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5TGVuZ3RoKHRoaXMubGFkYUNvbnRyb2wudmFsdWUpfX0kYCxcbiAgICAgICk7XG5cbiAgICAgIGlmICghcmVnRXhwLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgICAgdGhpcy5jdXN0b21WYWxpZGF0aW9uTWVzc2FnZSA9XG4gICAgICAgICAgJ1BvciBmYXZvciBpbmdyZXNhIHVuIG7Dum1lcm8gZGUgdGVsw6lmb25vIHbDoWxpZG8sIHZlcmlmaWNhIHNpIGxhIGxhZGEgZXMgY29ycmVjdGEuJztcbiAgICAgICAgcmV0dXJuIHsgY3VzdG9tVmFsaWRhdGlvbjogdHJ1ZSB9O1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBnZXRDdXN0b21WYWxpZGF0aW9uKFxuICAgICAgICB0aGlzLmN1c3RvbVZhbGlkYXRpb24oKSEsXG4gICAgICAgIHRoaXMuY29udHJvbCgpLFxuICAgICAgKTtcbiAgICAgIHRoaXMuY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2UgPSBnZXRDdXN0b21WYWxpZGF0aW9uTWVzc2FnZShcbiAgICAgICAgcmVzdWx0LFxuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSgpLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuICB9XG5cbiAgZ2V0VVVJRChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtuYW1lfV8ke3RoaXMubmFtZSgpfV8ke3RoaXMudXVpZH1gO1xuICB9XG5cbiAgc2V0Q29udHJvbFZhbHVlKGxhZGE6IHN0cmluZywgcGhvbmVOdW1iZXI6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghIWxhZGEgJiYgISFwaG9uZU51bWJlcikge1xuICAgICAgdGhpcy5jb250cm9sKCkuc2V0VmFsdWUobGFkYSArIHBob25lTnVtYmVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb250cm9sKCkucmVzZXQoJycpO1xuICAgIH1cblxuICAgIHRoaXMuaGFuZGxlVmFsaWRpdHkoKTtcbiAgfVxuXG4gIGdldE51bWJlclZhbHVlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmNvbnRyb2woKS52YWx1ZSB8fCB0aGlzLnZhbHVlKCk7XG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoXG4gICAgICB0aGlzLmdldFNlbGVjdGVkQ291bnRyeUxhZGEodGhpcy5sYWRhQ29udHJvbC52YWx1ZSksXG4gICAgICAnJyxcbiAgICApITtcbiAgfVxuXG4gIGdldFNlbGVjdGVkQ291bnRyeSh2YWx1ZTogc3RyaW5nKTogSUJtYkNvdW50cnlDb2RlIHtcbiAgICByZXR1cm4gdGhpcy5hbGxDb3VudHJ5Q29kZXMuZmluZChcbiAgICAgICh7IGNvdW50cnlfY29kZSB9KSA9PiBjb3VudHJ5X2NvZGUudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gdmFsdWUsXG4gICAgKSE7XG4gIH1cblxuICBnZXRTZWxlY3RlZENvdW50cnlDb2RlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdGVkQ291bnRyeSA9IHRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5KHZhbHVlKTtcblxuICAgIGlmICghIXNlbGVjdGVkQ291bnRyeSkge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkQ291bnRyeS5jb3VudHJ5X2NvZGUudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXRTZWxlY3RlZENvdW50cnlMYWRhKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdGVkQ291bnRyeSA9IHRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5KHZhbHVlKTtcblxuICAgIGlmICghIXNlbGVjdGVkQ291bnRyeSkge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkQ291bnRyeS5sYWRhO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldFNlbGVjdGVkQ291bnRyeUxlbmd0aCh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBzZWxlY3RlZENvdW50cnkgPSB0aGlzLmdldFNlbGVjdGVkQ291bnRyeSh2YWx1ZSk7XG5cbiAgICBpZiAoISFzZWxlY3RlZENvdW50cnkpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZENvdW50cnkubGVuZ3RoO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKCEhdGhpcy5waG9uZUNvbnRyb2wudmFsdWUpIHtcbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlKFxuICAgICAgICB0aGlzLmdldFNlbGVjdGVkQ291bnRyeUxhZGEodmFsdWUpLFxuICAgICAgICB0aGlzLnBob25lQ29udHJvbC52YWx1ZSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgZ2V0T3B0aW9ucygpOiBJQm1iRHJvcGRvd25JdGVtW10ge1xuICAgIGlmICh0aGlzLm9ubHlDb3VudHJpZXMoKS5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGxvd2VyQ2FzZUNvdW50cmllcyA9IHRoaXMub25seUNvdW50cmllcygpLm1hcCgoY291bnRyeSkgPT5cbiAgICAgICAgY291bnRyeS50b0xvY2FsZUxvd2VyQ2FzZSgpLFxuICAgICAgKTtcblxuICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gdGhpcy5hbGxDb3VudHJ5Q29kZXMuZmlsdGVyKFxuICAgICAgICAoeyBjb3VudHJ5X2NvZGUgfSkgPT4ge1xuICAgICAgICAgIHJldHVybiBsb3dlckNhc2VDb3VudHJpZXMuaW5jbHVkZXMoY291bnRyeV9jb2RlLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGZpbHRlcmVkT3B0aW9ucy5tYXAoKHsgY291bnRyeSwgbGFkYSwgY291bnRyeV9jb2RlIH0pID0+ICh7XG4gICAgICAgIG5hbWU6IGAke2NvdW50cnl9ICgke2xhZGF9KWAsXG4gICAgICAgIHZhbHVlOiBjb3VudHJ5X2NvZGUudG9Mb2NhbGVMb3dlckNhc2UoKSxcbiAgICAgICAgc2VsZWN0ZWRUZXh0OiBsYWRhLFxuICAgICAgICBpY29uOiAnZmxhZycsXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYWxsQ291bnRyeUNvZGVzLm1hcCgoeyBjb3VudHJ5LCBsYWRhLCBjb3VudHJ5X2NvZGUgfSkgPT4gKHtcbiAgICAgIG5hbWU6IGAke2NvdW50cnl9ICgke2xhZGF9KWAsXG4gICAgICB2YWx1ZTogY291bnRyeV9jb2RlLnRvTG9jYWxlTG93ZXJDYXNlKCksXG4gICAgICBzZWxlY3RlZFRleHQ6IGxhZGEsXG4gICAgICBpY29uOiAnZmxhZycsXG4gICAgfSkpO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCk6IElCbWJJbnB1dEVycm9yIHtcbiAgICBjb25zdCBwYXR0ZXJuID0gJ1BvciBmYXZvciBpbmdyZXNhIHPDs2xvIGNhcmFjdGVyZXMgbnVtw6lyaWNvcyc7XG4gICAgY29uc3QgbWluTGVuZ3RoID0gYFBvciBmYXZvciBpbmdyZXNhICR7dGhpcy5nZXRTZWxlY3RlZENvdW50cnlMZW5ndGgoXG4gICAgICB0aGlzLmxhZGFDb250cm9sLnZhbHVlLFxuICAgICl9IGNhcmFjdGVyZXMgbnVtw6lyaWNvc2A7XG4gICAgaWYgKCEhdGhpcy5lcnJvck1lc3NhZ2UoKSkge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLmVycm9yTWVzc2FnZSgpID09PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXF1aXJlZDogdGhpcy5lcnJvck1lc3NhZ2UoKS50b1N0cmluZygpLFxuICAgICAgICAgIHBhdHRlcm4sXG4gICAgICAgICAgbWluTGVuZ3RoLFxuICAgICAgICAgIGN1c3RvbVZhbGlkYXRpb246IHRoaXMuY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2UsXG4gICAgICAgIH07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhdHRlcm4sXG4gICAgICAgIG1pbkxlbmd0aCxcbiAgICAgICAgLi4uKHRoaXMuZXJyb3JNZXNzYWdlKCkgYXMgSUJtYklucHV0RXJyb3IpLFxuICAgICAgICBjdXN0b21WYWxpZGF0aW9uOiB0aGlzLmN1c3RvbVZhbGlkYXRpb25NZXNzYWdlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGF0dGVybixcbiAgICAgIG1pbkxlbmd0aCxcbiAgICAgIGN1c3RvbVZhbGlkYXRpb246IHRoaXMuY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2UsXG4gICAgfTtcbiAgfVxuXG4gIGhhbmRsZVZhbGlkaXR5KCk6IHZvaWQge1xuICAgIGhhbmRsZVZhbGlkaXR5KHRoaXMuY29udHJvbCgpKTtcbiAgfVxuXG4gIGdldCBzaG91bGRTaG93RXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNob3dFcnJvcih0aGlzLmNvbnRyb2woKSkgfHwgc2hvd0Vycm9yKHRoaXMucGhvbmVDb250cm9sKTtcbiAgfVxufVxuIiwiPGJtYi1pbnB1dC12YWxpZGF0b3JcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW2xhYmVsXT1cImxhYmVsKClcIlxuICBbdmFsdWVdPVwiISFkZWZhdWx0Q291bnRyeUNvZGUoKSA/IHZhbHVlKCkgOiAnJ1wiXG4gIFtlcnJvck1lc3NhZ2VdPVwiZ2V0RXJyb3JNZXNzYWdlKClcIlxuICBbaGVscGVyTWVzc2FnZV09XCJoZWxwZXJNZXNzYWdlKClcIlxuICBbaXNSZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxuICBbaXNEaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgW2NvbnRyb2xdPVwiY29udHJvbCgpXCJcbiAgW3Nob3dFcnJvcl09XCJzaG91bGRTaG93RXJyb3JcIlxuICBbdG9vbHRpcF09XCJ0b29sdGlwKClcIlxuICBbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvbigpXCJcbiAgW2N1c3RvbVZhbGlkYXRpb25dPVwiaGFuZGxlQ3VzdG9tVmFsaWRhdG9yKClcIlxuICBbaW5wdXRJZF09XCJpbnB1dElkKClcIlxuPlxuICA8c2VjdGlvbiBjbGFzcz1cImJtYl9pbnB1dC1waG9uZVwiPlxuICAgIDxzZWN0aW9uXG4gICAgICBjbGFzcz1cImJtYl9pbnB1dC1waG9uZS1jb250YWluZXJcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnYm1iX2lucHV0LXBob25lLWNvbnRhaW5lci1lcnJvcic6IHNob3VsZFNob3dFcnJvcixcbiAgICAgICAgJ2JtYl9pbnB1dC1waG9uZS1jb250YWluZXItZm9jdXMnOiBpc0ZvY3VzZWQoKVxuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGJtYi1kcm9wZG93blxuICAgICAgICBjbGFzcz1cImJtYl9pbnB1dC1waG9uZS1sYWRhXCJcbiAgICAgICAgW25hbWVdPVwiZ2V0VVVJRCgnbGFkYScpXCJcbiAgICAgICAgW3ZhbHVlXT1cImxhZGFDb250cm9sLnZhbHVlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgIFtvcHRpb25zXT1cImNvdW50cnlGaWx0ZXJpbmdcIlxuICAgICAgICBbcHJlZmVycmVkT3B0aW9uc109XCJwcmVmZXJyZWRDb3VudHJpZXMoKVwiXG4gICAgICAgIFtjb250cm9sXT1cImxhZGFDb250cm9sXCJcbiAgICAgICAgKG9uVmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKG9uRm9jdXMpPVwiaGFuZGxlRm9jdXMoJGV2ZW50KVwiXG4gICAgICAvPlxuICAgICAgPGJtYi1pbnB1dC1jb250ZW50XG4gICAgICAgIGNsYXNzPVwiYm1iX2lucHV0LXBob25lLW51bWJlclwiXG4gICAgICAgIFtuYW1lXT1cImdldFVVSUQoJ3Bob25lJylcIlxuICAgICAgICBwYXR0ZXJuPVwiXlxcZCskXCJcbiAgICAgICAgW2NvbnRyb2xdPVwicGhvbmVDb250cm9sXCJcbiAgICAgICAgW2lucHV0SWRdPVwiaW5wdXRJZCgpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuICAgICAgICBbbWF4TGVuZ3RoXT1cImdldFNlbGVjdGVkQ291bnRyeUxlbmd0aChsYWRhQ29udHJvbC52YWx1ZSlcIlxuICAgICAgICBbbWluTGVuZ3RoXT1cImdldFNlbGVjdGVkQ291bnRyeUxlbmd0aChsYWRhQ29udHJvbC52YWx1ZSlcIlxuICAgICAgICBbaXNSZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIlxuICAgICAgICAob25Gb2N1cyk9XCJoYW5kbGVGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKG9uQmx1cik9XCJoYW5kbGVWYWxpZGl0eSgpXCJcbiAgICAgIC8+XG4gICAgPC9zZWN0aW9uPlxuICAgIDxpbnB1dFxuICAgICAgaGlkZGVuXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbbmFtZV09XCJuYW1lKClcIlxuICAgICAgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbCgpXCJcbiAgICAgIFt0YWJpbmRleF09XCItMVwiXG4gICAgLz5cbiAgPC9zZWN0aW9uPlxuPC9ibWItaW5wdXQtdmFsaWRhdG9yPlxuIl19
@@ -173,10 +173,10 @@ export class BmbInputTagsComponent {
173
173
  get shouldShowError() {
174
174
  return showError(this.control());
175
175
  }
176
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbInputTagsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
177
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BmbInputTagsComponent, isStandalone: true, selector: "bmb-input-tags", inputs: { errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, maxSelectedItems: { classPropertyName: "maxSelectedItems", publicName: "maxSelectedItems", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, tagOptions: { classPropertyName: "tagOptions", publicName: "tagOptions", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tagOptions: "tagOptionsChange", control: "controlChange", onKeyDown: "onKeyDown", onChange: "onChange" }, providers: [], usesOnChanges: true, ngImport: i0, template: "<bmb-input-validator\n class=\"bmb_input-tags\"\n [name]=\"name()\"\n [value]=\"getValidInitialValues()\"\n [label]=\"label()!\"\n [errorMessage]=\"errorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [customValidation]=\"customValidation()\"\n clickOutside\n (clickOutside)=\"closeList()\"\n [inputId]=\"inputId()\"\n>\n <section\n class=\"bmb_input-tags-container\"\n [ngClass]=\"{\n 'bmb_input-tags-container-error': shouldShowError,\n 'bmb_input-tags-container-focus': isFocused()\n }\"\n >\n <bmb-input-content\n class=\"bmb_input-tags-filter\"\n type=\"text\"\n [inputId]=\"inputId()\"\n [name]=\"getUUID('filter')\"\n [control]=\"filterControl\"\n [placeholder]=\"placeholder()\"\n (click)=\"openList()\"\n (onBlur)=\"handleValidity()\"\n (keydown)=\"handleKeyDown($event)\"\n (onFocus)=\"handleFocus($event)\"\n />\n @if (!!selectedTags && !!selectedTags.length) {\n <div class=\"bmb_input-tags-selected-list\" [tabIndex]=\"-1\">\n @for (item of selectedTags; track $index) {\n <bmb-tag\n [text]=\"item.selectedText!\"\n [dismissible]=\"true\"\n [isDisabled]=\"disabled()\"\n (clickedTag)=\"removeTag(item)\"\n (closedTag)=\"removeTag(item)\"\n />\n }\n </div>\n }\n </section>\n <input\n hidden\n type=\"text\"\n [id]=\"name()\"\n [name]=\"name()\"\n [formControl]=\"control()\"\n />\n <dialog [open]=\"showDropdown\" class=\"bmb_generic-dialog\">\n <bmb-dropdown-content\n class=\"bmb_input-tags-dialog\"\n name=\"list\"\n [selectedOption]=\"control().value\"\n [isKeyboardEvent]=\"isKeyboardEvent\"\n [(items)]=\"filteredOptions\"\n [(isOpen)]=\"showDropdown\"\n />\n </dialog>\n</bmb-input-validator>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-tags-container{display:flex;flex-direction:column;box-sizing:border-box;border:.0625rem solid var(--general_contrasts-50);border-radius:.5rem;width:100%;background-color:var(--general_contrasts-input-background);height:3rem;transition:all .3s ease;min-height:3rem;height:auto}.bmb_input-tags-container-error{border-color:var(--input-error)}.bmb_input-tags-container:focus,.bmb_input-tags-container:focus-visible,.bmb_input-tags-container-focus{box-sizing:inherit;border-color:var(--general_contrasts-input-outline);caret-color:var(--general_contrasts-input-outline);outline:.0625rem solid;outline-color:var(--general_contrasts-input-outline)}.bmb_input-tags-container:hover{box-sizing:inherit;border-color:var(--general_contrasts-50);outline:.0625rem solid;outline-color:var(--general_contrasts-50)}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button{display:block;padding:.6875rem 1rem}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element{width:auto;border-radius:var(--bmb-spacing-m);padding:var(--bmb-spacing-s);height:1.625rem;border:.0625rem solid transparent}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:hover,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus-visible{border-color:var(--menu_select-on-surface-hovered-border)}.bmb_input-tags-filter .bmb_field-input-normal{border:0;height:2.75rem}.bmb_input-tags-filter .bmb_field-input-normal:focus,.bmb_input-tags-filter .bmb_field-input-normal:focus-visible,.bmb_input-tags-filter .bmb_field-input-normal:hover{border:0;outline:0 none}.bmb_input-tags-selected-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:var(--bmb-spacing-s);max-height:6.9375rem;overflow:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { kind: "component", type: BmbTagComponent, selector: "bmb-tag", inputs: ["appearance", "text", "grouped", "dismissible", "rounded", "activityTag", "isDisabled", "isActive"], outputs: ["closedTag", "clickedTag"] }, { kind: "component", type: BmbInputValidatorComponent, selector: "bmb-input-validator", inputs: ["inputId", "type", "appearance", "label", "labelPosition", "name", "value", "checked", "isRequired", "isDisabled", "max", "min", "maxLength", "minLength", "pattern", "jsonFormat", "tooltip", "rows", "tooltipPosition", "showMaxTextLength", "helperMessage", "errorMessage", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange"] }, { kind: "component", type: BmbInputContentComponent, selector: "bmb-input-content", inputs: ["type", "placeholder", "icon", "appearance", "isRequired", "name", "spellcheck", "heightTextArea", "maxLength", "minLength", "pattern", "max", "min", "inputId", "autoComplete", "rows", "isReadOnly", "additionalAction", "isClearable", "isError", "isHidden", "showStates", "control"], outputs: ["controlChange", "onFocus", "onBlur", "onChange", "onKeyDown", "onKeyUp"] }, { kind: "component", type: BmbDropdownContentComponent, selector: "bmb-dropdown-content", inputs: ["selectedOption", "items", "isKeyboardEvent", "enableFilter", "isOpen"], outputs: ["itemsChange", "isKeyboardEventChange", "isOpenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbInputTagsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbInputTagsComponent, isStandalone: true, selector: "bmb-input-tags", inputs: { errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, helperMessage: { classPropertyName: "helperMessage", publicName: "helperMessage", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, maxSelectedItems: { classPropertyName: "maxSelectedItems", publicName: "maxSelectedItems", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, showError: { classPropertyName: "showError", publicName: "showError", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: true, isRequired: false, transformFunction: null }, tagOptions: { classPropertyName: "tagOptions", publicName: "tagOptions", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tagOptions: "tagOptionsChange", control: "controlChange", onKeyDown: "onKeyDown", onChange: "onChange" }, providers: [], usesOnChanges: true, ngImport: i0, template: "<bmb-input-validator\n class=\"bmb_input-tags\"\n [name]=\"name()\"\n [value]=\"getValidInitialValues()\"\n [label]=\"label()!\"\n [errorMessage]=\"errorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [customValidation]=\"customValidation()\"\n clickOutside\n (clickOutside)=\"closeList()\"\n [inputId]=\"inputId()\"\n>\n <section\n class=\"bmb_input-tags-container\"\n [ngClass]=\"{\n 'bmb_input-tags-container-error': shouldShowError,\n 'bmb_input-tags-container-focus': isFocused()\n }\"\n >\n <bmb-input-content\n class=\"bmb_input-tags-filter\"\n type=\"text\"\n [inputId]=\"inputId()\"\n [name]=\"getUUID('filter')\"\n [control]=\"filterControl\"\n [placeholder]=\"placeholder()\"\n (click)=\"openList()\"\n (onBlur)=\"handleValidity()\"\n (keydown)=\"handleKeyDown($event)\"\n (onFocus)=\"handleFocus($event)\"\n />\n @if (!!selectedTags && !!selectedTags.length) {\n <div class=\"bmb_input-tags-selected-list\" [tabIndex]=\"-1\">\n @for (item of selectedTags; track $index) {\n <bmb-tag\n [text]=\"item.selectedText!\"\n [dismissible]=\"true\"\n [isDisabled]=\"disabled()\"\n (clickedTag)=\"removeTag(item)\"\n (closedTag)=\"removeTag(item)\"\n />\n }\n </div>\n }\n </section>\n <input\n hidden\n type=\"text\"\n [id]=\"name()\"\n [name]=\"name()\"\n [formControl]=\"control()\"\n />\n <dialog [open]=\"showDropdown\" class=\"bmb_generic-dialog\">\n <bmb-dropdown-content\n class=\"bmb_input-tags-dialog\"\n name=\"list\"\n [selectedOption]=\"control().value\"\n [isKeyboardEvent]=\"isKeyboardEvent\"\n [(items)]=\"filteredOptions\"\n [(isOpen)]=\"showDropdown\"\n />\n </dialog>\n</bmb-input-validator>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-tags-container{display:flex;flex-direction:column;box-sizing:border-box;border:.0625rem solid var(--general_contrasts-50);border-radius:.5rem;width:100%;background-color:var(--general_contrasts-input-background);height:3rem;transition:all .3s ease;min-height:3rem;height:auto}.bmb_input-tags-container-error{border-color:var(--input-error)}.bmb_input-tags-container:focus,.bmb_input-tags-container:focus-visible,.bmb_input-tags-container-focus{box-sizing:inherit;border-color:var(--general_contrasts-input-outline);caret-color:var(--general_contrasts-input-outline);outline:.0625rem solid;outline-color:var(--general_contrasts-input-outline)}.bmb_input-tags-container:hover{box-sizing:inherit;border-color:var(--general_contrasts-50);outline:.0625rem solid;outline-color:var(--general_contrasts-50)}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button{display:block;padding:.6875rem 1rem}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element{width:auto;border-radius:var(--bmb-spacing-m);padding:var(--bmb-spacing-s);height:1.625rem;border:.0625rem solid transparent}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:hover,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus-visible{border-color:var(--menu_select-on-surface-hovered-border)}.bmb_input-tags-filter .bmb_field-input-normal{border:0;height:2.75rem}.bmb_input-tags-filter .bmb_field-input-normal:focus,.bmb_input-tags-filter .bmb_field-input-normal:focus-visible,.bmb_input-tags-filter .bmb_field-input-normal:hover{border:0;outline:0 none}.bmb_input-tags-selected-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:var(--bmb-spacing-s);max-height:6.9375rem;overflow:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { kind: "component", type: BmbTagComponent, selector: "bmb-tag", inputs: ["appearance", "text", "grouped", "dismissible", "rounded", "activityTag", "isDisabled", "isActive"], outputs: ["closedTag", "clickedTag"] }, { kind: "component", type: BmbInputValidatorComponent, selector: "bmb-input-validator", inputs: ["inputId", "type", "appearance", "label", "labelPosition", "name", "value", "checked", "isRequired", "isDisabled", "max", "min", "maxLength", "minLength", "pattern", "jsonFormat", "tooltip", "rows", "tooltipPosition", "showMaxTextLength", "helperMessage", "errorMessage", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange"] }, { kind: "component", type: BmbInputContentComponent, selector: "bmb-input-content", inputs: ["type", "placeholder", "icon", "appearance", "isRequired", "name", "spellcheck", "heightTextArea", "maxLength", "minLength", "pattern", "max", "min", "inputId", "autoComplete", "rows", "isReadOnly", "additionalAction", "isClearable", "isError", "isHidden", "showStates", "control"], outputs: ["controlChange", "onFocus", "onBlur", "onChange", "onKeyDown", "onKeyUp"] }, { kind: "component", type: BmbDropdownContentComponent, selector: "bmb-dropdown-content", inputs: ["selectedOption", "items", "isKeyboardEvent", "enableFilter", "isOpen"], outputs: ["itemsChange", "isKeyboardEventChange", "isOpenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
178
178
  }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BmbInputTagsComponent, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbInputTagsComponent, decorators: [{
180
180
  type: Component,
181
181
  args: [{ selector: 'bmb-input-tags', standalone: true, imports: [
182
182
  CommonModule,
@@ -188,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
188
188
  BmbDropdownContentComponent,
189
189
  ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [], template: "<bmb-input-validator\n class=\"bmb_input-tags\"\n [name]=\"name()\"\n [value]=\"getValidInitialValues()\"\n [label]=\"label()!\"\n [errorMessage]=\"errorMessage()\"\n [helperMessage]=\"helperMessage()\"\n [isRequired]=\"isRequired()\"\n [isDisabled]=\"disabled()\"\n [control]=\"control()\"\n [showError]=\"shouldShowError\"\n [tooltip]=\"tooltip()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [customValidation]=\"customValidation()\"\n clickOutside\n (clickOutside)=\"closeList()\"\n [inputId]=\"inputId()\"\n>\n <section\n class=\"bmb_input-tags-container\"\n [ngClass]=\"{\n 'bmb_input-tags-container-error': shouldShowError,\n 'bmb_input-tags-container-focus': isFocused()\n }\"\n >\n <bmb-input-content\n class=\"bmb_input-tags-filter\"\n type=\"text\"\n [inputId]=\"inputId()\"\n [name]=\"getUUID('filter')\"\n [control]=\"filterControl\"\n [placeholder]=\"placeholder()\"\n (click)=\"openList()\"\n (onBlur)=\"handleValidity()\"\n (keydown)=\"handleKeyDown($event)\"\n (onFocus)=\"handleFocus($event)\"\n />\n @if (!!selectedTags && !!selectedTags.length) {\n <div class=\"bmb_input-tags-selected-list\" [tabIndex]=\"-1\">\n @for (item of selectedTags; track $index) {\n <bmb-tag\n [text]=\"item.selectedText!\"\n [dismissible]=\"true\"\n [isDisabled]=\"disabled()\"\n (clickedTag)=\"removeTag(item)\"\n (closedTag)=\"removeTag(item)\"\n />\n }\n </div>\n }\n </section>\n <input\n hidden\n type=\"text\"\n [id]=\"name()\"\n [name]=\"name()\"\n [formControl]=\"control()\"\n />\n <dialog [open]=\"showDropdown\" class=\"bmb_generic-dialog\">\n <bmb-dropdown-content\n class=\"bmb_input-tags-dialog\"\n name=\"list\"\n [selectedOption]=\"control().value\"\n [isKeyboardEvent]=\"isKeyboardEvent\"\n [(items)]=\"filteredOptions\"\n [(isOpen)]=\"showDropdown\"\n />\n </dialog>\n</bmb-input-validator>\n", styles: ["@font-face{font-family:Poppins-Light;font-style:normal;font-weight:300;src:url(/assets/fonts/Poppins/Poppins-ExtraLight.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Regular;font-style:normal;font-weight:400;src:url(/assets/fonts/Poppins/Poppins-Regular.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Bold;font-style:normal;font-weight:700;src:url(/assets/fonts/Poppins/Poppins-Bold.ttf) format(\"truetype\")}:root,:host{--font-display: \"Poppins-Regular\", sans-serif}.font-thin-1{font-family:Poppins-Thin,sans-serif;font-size:.625rem}.font-light-1{font-family:Poppins-Light,sans-serif;font-size:.625rem}.font-regular-1{font-family:Poppins-Regular,sans-serif;font-size:.625rem}.font-medium-1{font-family:Poppins-Medium,sans-serif;font-size:.625rem}.font-semibold-1{font-family:Poppins-Semibold,sans-serif;font-size:.625rem}.font-bold-1{font-family:Poppins-Bold,sans-serif;font-size:.625rem}.font-thin-2{font-family:Poppins-Thin,sans-serif;font-size:.6875rem}.font-light-2{font-family:Poppins-Light,sans-serif;font-size:.6875rem}.font-regular-2{font-family:Poppins-Regular,sans-serif;font-size:.6875rem}.font-medium-2{font-family:Poppins-Medium,sans-serif;font-size:.6875rem}.font-semibold-2{font-family:Poppins-Semibold,sans-serif;font-size:.6875rem}.font-bold-2{font-family:Poppins-Bold,sans-serif;font-size:.6875rem}.font-thin-3{font-family:Poppins-Thin,sans-serif;font-size:.75rem}.font-light-3{font-family:Poppins-Light,sans-serif;font-size:.75rem}.font-regular-3{font-family:Poppins-Regular,sans-serif;font-size:.75rem}.font-medium-3{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.font-semibold-3{font-family:Poppins-Semibold,sans-serif;font-size:.75rem}.font-bold-3{font-family:Poppins-Bold,sans-serif;font-size:.75rem}.font-thin-4{font-family:Poppins-Thin,sans-serif;font-size:.875rem}.font-light-4{font-family:Poppins-Light,sans-serif;font-size:.875rem}.font-regular-4{font-family:Poppins-Regular,sans-serif;font-size:.875rem}.font-medium-4{font-family:Poppins-Medium,sans-serif;font-size:.875rem}.font-semibold-4{font-family:Poppins-Semibold,sans-serif;font-size:.875rem}.font-bold-4{font-family:Poppins-Bold,sans-serif;font-size:.875rem}.font-thin-4_5{font-family:Poppins-Thin,sans-serif;font-size:.9375rem}.font-light-4_5{font-family:Poppins-Light,sans-serif;font-size:.9375rem}.font-regular-4_5{font-family:Poppins-Regular,sans-serif;font-size:.9375rem}.font-medium-4_5{font-family:Poppins-Medium,sans-serif;font-size:.9375rem}.font-semibold-4_5{font-family:Poppins-Semibold,sans-serif;font-size:.9375rem}.font-bold-4_5{font-family:Poppins-Bold,sans-serif;font-size:.9375rem}.font-thin-5{font-family:Poppins-Thin,sans-serif;font-size:1rem}.font-light-5{font-family:Poppins-Light,sans-serif;font-size:1rem}.font-regular-5{font-family:Poppins-Regular,sans-serif;font-size:1rem}.font-medium-5{font-family:Poppins-Medium,sans-serif;font-size:1rem}.font-semibold-5{font-family:Poppins-Semibold,sans-serif;font-size:1rem}.font-bold-5{font-family:Poppins-Bold,sans-serif;font-size:1rem}.font-thin-6{font-family:Poppins-Thin,sans-serif;font-size:1.125rem}.font-light-6{font-family:Poppins-Light,sans-serif;font-size:1.125rem}.font-regular-6{font-family:Poppins-Regular,sans-serif;font-size:1.125rem}.font-medium-6{font-family:Poppins-Medium,sans-serif;font-size:1.125rem}.font-semibold-6{font-family:Poppins-Semibold,sans-serif;font-size:1.125rem}.font-bold-6{font-family:Poppins-Bold,sans-serif;font-size:1.125rem}.font-thin-7{font-family:Poppins-Thin,sans-serif;font-size:1.25rem}.font-light-7{font-family:Poppins-Light,sans-serif;font-size:1.25rem}.font-regular-7{font-family:Poppins-Regular,sans-serif;font-size:1.25rem}.font-medium-7{font-family:Poppins-Medium,sans-serif;font-size:1.25rem}.font-semibold-7{font-family:Poppins-Semibold,sans-serif;font-size:1.25rem}.font-bold-7{font-family:Poppins-Bold,sans-serif;font-size:1.25rem}.font-thin-8{font-family:Poppins-Thin,sans-serif;font-size:1.375rem}.font-light-8{font-family:Poppins-Light,sans-serif;font-size:1.375rem}.font-regular-8{font-family:Poppins-Regular,sans-serif;font-size:1.375rem}.font-medium-8{font-family:Poppins-Medium,sans-serif;font-size:1.375rem}.font-semibold-8{font-family:Poppins-Semibold,sans-serif;font-size:1.375rem}.font-bold-8{font-family:Poppins-Bold,sans-serif;font-size:1.375rem}.font-thin-9{font-family:Poppins-Thin,sans-serif;font-size:1.5rem}.font-light-9{font-family:Poppins-Light,sans-serif;font-size:1.5rem}.font-regular-9{font-family:Poppins-Regular,sans-serif;font-size:1.5rem}.font-medium-9{font-family:Poppins-Medium,sans-serif;font-size:1.5rem}.font-semibold-9{font-family:Poppins-Semibold,sans-serif;font-size:1.5rem}.font-bold-9{font-family:Poppins-Bold,sans-serif;font-size:1.5rem}.font-thin-10{font-family:Poppins-Thin,sans-serif;font-size:1.625rem}.font-light-10{font-family:Poppins-Light,sans-serif;font-size:1.625rem}.font-regular-10{font-family:Poppins-Regular,sans-serif;font-size:1.625rem}.font-medium-10{font-family:Poppins-Medium,sans-serif;font-size:1.625rem}.font-semibold-10{font-family:Poppins-Semibold,sans-serif;font-size:1.625rem}.font-bold-10{font-family:Poppins-Bold,sans-serif;font-size:1.625rem}.font-thin-11{font-family:Poppins-Thin,sans-serif;font-size:2.25rem}.font-light-11{font-family:Poppins-Light,sans-serif;font-size:2.25rem}.font-regular-11{font-family:Poppins-Regular,sans-serif;font-size:2.25rem}.font-medium-11{font-family:Poppins-Medium,sans-serif;font-size:2.25rem}.font-semibold-11{font-family:Poppins-Semibold,sans-serif;font-size:2.25rem}.font-bold-11{font-family:Poppins-Bold,sans-serif;font-size:2.25rem}.font-thin-12{font-family:Poppins-Thin,sans-serif;font-size:3rem}.font-light-12{font-family:Poppins-Light,sans-serif;font-size:3rem}.font-regular-12{font-family:Poppins-Regular,sans-serif;font-size:3rem}.font-medium-12{font-family:Poppins-Medium,sans-serif;font-size:3rem}.font-semibold-12{font-family:Poppins-Semibold,sans-serif;font-size:3rem}.font-bold-12{font-family:Poppins-Bold,sans-serif;font-size:3rem}.bmb_input-tags-container{display:flex;flex-direction:column;box-sizing:border-box;border:.0625rem solid var(--general_contrasts-50);border-radius:.5rem;width:100%;background-color:var(--general_contrasts-input-background);height:3rem;transition:all .3s ease;min-height:3rem;height:auto}.bmb_input-tags-container-error{border-color:var(--input-error)}.bmb_input-tags-container:focus,.bmb_input-tags-container:focus-visible,.bmb_input-tags-container-focus{box-sizing:inherit;border-color:var(--general_contrasts-input-outline);caret-color:var(--general_contrasts-input-outline);outline:.0625rem solid;outline-color:var(--general_contrasts-input-outline)}.bmb_input-tags-container:hover{box-sizing:inherit;border-color:var(--general_contrasts-50);outline:.0625rem solid;outline-color:var(--general_contrasts-50)}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button{display:block;padding:.6875rem 1rem}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element{width:auto;border-radius:var(--bmb-spacing-m);padding:var(--bmb-spacing-s);height:1.625rem;border:.0625rem solid transparent}.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:hover,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus,.bmb_input-tags-dialog .bmb_dropdown-content-item .bmb_check-external-link-button-element:focus-visible{border-color:var(--menu_select-on-surface-hovered-border)}.bmb_input-tags-filter .bmb_field-input-normal{border:0;height:2.75rem}.bmb_input-tags-filter .bmb_field-input-normal:focus,.bmb_input-tags-filter .bmb_field-input-normal:focus-visible,.bmb_input-tags-filter .bmb_field-input-normal:hover{border:0;outline:0 none}.bmb_input-tags-selected-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:var(--bmb-spacing-s);max-height:6.9375rem;overflow:auto}\n"] }]
190
190
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1pbnB1dC10YWdzL2JtYi1pbnB1dC10YWdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQtdGFncy9ibWItaW5wdXQtdGFncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFFakIsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBTS9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLHFCQUFxQixHQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRTNHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsU0FBUyxHQUNWLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFvQmpDLE1BQU0sT0FBTyxxQkFBcUI7SUFtQ2hDLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbEMxQyxpQkFBWSxHQUFHLEtBQUssQ0FBMEIsRUFBRSxDQUFDLENBQUM7UUFDbEQsWUFBTyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUM1QixvQkFBZSxHQUFHLEtBQUssQ0FBMkI7WUFDaEQsS0FBSyxFQUFFLE9BQU87WUFDZCxPQUFPLEVBQUUsUUFBUTtTQUNsQixDQUFDLENBQUM7UUFDSCxVQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLGdCQUFXLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDbEMsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBRyxLQUFLLEVBQVUsQ0FBQyxDQUFDLFlBQVk7UUFDaEQsU0FBSSxHQUFHLEtBQUssQ0FBUyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLFVBQUssR0FBRyxLQUFLLENBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLGNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbEMsWUFBTyxHQUFHLEtBQUssQ0FBUyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyQyxxQkFBZ0IsR0FBRyxLQUFLLEVBQWUsQ0FBQztRQUV4QyxlQUFVLEdBQUcsS0FBSyxDQUFnQyxFQUFFLENBQUMsQ0FBQztRQUN0RCxZQUFPLEdBQUcsS0FBSyxDQUFjLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUVyRCxjQUFTLEdBQUcsTUFBTSxFQUFpQixDQUFDO1FBQ3BDLGFBQVEsR0FBRyxNQUFNLEVBQVksQ0FBQztRQUU5QixTQUFJLEdBQVcsT0FBTyxFQUFFLENBQUM7UUFDekIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsaUJBQVksR0FBb0IsRUFBRSxDQUFDO1FBQ25DLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbEMsVUFBSyxHQUFvQixFQUFFLENBQUM7UUFDNUIsY0FBUyxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNuQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztJQUVjLENBQUM7SUFFOUMsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7O1lBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZO2FBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdkIsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUM5QyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFFLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUMzQjtRQUVELElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsSUFBbUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBc0IsRUFBRSxFQUFFO1lBQ3JELE9BQU87Z0JBQ0wsR0FBRyxPQUFPO2dCQUNWLE1BQU0sRUFBRSxHQUFHLEVBQUU7b0JBQ1gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNqQyxDQUFDO2FBQ2UsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE9BQU8sR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE1BQU0sWUFBWSxHQUFzQixxQkFBcUIsQ0FDM0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFDcEIsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUNaLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFDakIsSUFBSSxDQUNMLENBQUM7UUFFRixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUNyQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFNLENBQUMsQ0FDeEQsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZUFBZSxDQUFDLFlBQXNCO1FBQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FDbEQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFNLENBQUMsQ0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBa0I7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDWCxNQUFNLGNBQWMsR0FBVyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUUzRCxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDaEQ7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUN0RCxDQUFDO2FBQ0g7U0FDRjtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFJLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUM1QyxNQUFNLGFBQWEsR0FBYTtnQkFDOUIsR0FBSSxJQUFJLENBQUMsVUFBVSxFQUFlO2dCQUNsQyxLQUFLO2FBQ04sQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEQ7YUFBTTtZQUNMLE1BQU0sU0FBUyxHQUFxQjtnQkFDbEMsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsS0FBSztnQkFDTCxZQUFZLEVBQUUsS0FBSztnQkFDbkIsRUFBRSxFQUFFLE9BQU8sRUFBRTthQUNkLENBQUM7WUFDRixNQUFNLE9BQU8sR0FBdUI7Z0JBQ2xDLEdBQUksSUFBSSxDQUFDLFVBQVUsRUFBeUI7Z0JBQzVDLFNBQVM7YUFDVixDQUFDO1lBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM1QztRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFvQjtRQUNoQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5RCxNQUFNLHlCQUF5QixHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRWpELElBQUksMEJBQTBCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNqQjtZQUVELElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDaEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixPQUFPO2FBQ1I7WUFDRCxPQUFPO1NBQ1I7UUFFRCxJQUFJLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BEO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0FuTVUscUJBQXFCO21HQUFyQixxQkFBcUIsK3hFQUZyQixFQUFFLCtDQ3pEZiw4Z0VBcUVBLGt3UER4QkksWUFBWSw0SEFDWixtQkFBbUIsMGtCQUNuQixxQkFBcUIsc0ZBQ3JCLGVBQWUsd01BQ2YsMEJBQTBCLHFiQUMxQix3QkFBd0IsdWJBQ3hCLDJCQUEyQjs7NEZBUWxCLHFCQUFxQjtrQkFsQmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLDJCQUEyQjtxQkFDNUIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm1iVGFnQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9ibWItdGFncy9ibWItdGFncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIE9uSW5pdCxcbiAgb3V0cHV0LFxuICBtb2RlbCxcbiAgc2lnbmFsLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUJtYkRyb3Bkb3duSXRlbSB9IGZyb20gJy4uL2JtYi1kcm9wZG93bi9ibWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7XG4gIElCbWJJbnB1dEVycm9yLFxuICBJQm1iSW5wdXRUb29sdGlwUG9zaXRpb24sXG59IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdXRpbHMvY2xpY2tvdXRzaWRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGNvbnZlcnRMaXN0VG9TZWxlY3RMaXN0LFxuICBmaWx0ZXJlZFZhbHVlLFxuICBnZXRTZWxlY3RlZFZhbHVlcyxcbiAgZ2V0VmFsaWRJbml0aWFsVmFsdWVzLFxufSBmcm9tICcuLi8uLi91dGlscy9kcm9wZG93bic7XG5pbXBvcnQgeyBCbWJJbnB1dFZhbGlkYXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQtdmFsaWRhdG9yL2JtYi1pbnB1dC12YWxpZGF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYkRyb3Bkb3duQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL3V0aWxzL2JtYi1kcm9wZG93bi1jb250ZW50L2JtYi1kcm9wZG93bi1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQm1iSW5wdXRDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWlucHV0L2JtYi1pbnB1dC1jb250ZW50L2JtYi1pbnB1dC1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRVVUlEIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xuaW1wb3J0IHtcbiAgYXNzaWduTmV3Rm9ybUNvbnRyb2wsXG4gIGhhbmRsZVZhbGlkaXR5LFxuICBuZXdGb3JtQ29udHJvbEJ5VHlwZSxcbiAgc2hvd0Vycm9yLFxufSBmcm9tICcuLi8uLi91dGlscy9mb3JtQ29udHJvbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JtYi1pbnB1dC10YWdzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENsaWNrT3V0c2lkZURpcmVjdGl2ZSxcbiAgICBCbWJUYWdDb21wb25lbnQsXG4gICAgQm1iSW5wdXRWYWxpZGF0b3JDb21wb25lbnQsXG4gICAgQm1iSW5wdXRDb250ZW50Q29tcG9uZW50LFxuICAgIEJtYkRyb3Bkb3duQ29udGVudENvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JtYi1pbnB1dC10YWdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1pbnB1dC10YWdzLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEJtYklucHV0VGFnc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgZXJyb3JNZXNzYWdlID0gaW5wdXQ8c3RyaW5nIHwgSUJtYklucHV0RXJyb3I+KCcnKTtcbiAgdG9vbHRpcCA9IGlucHV0PHN0cmluZz4oJycpO1xuICB0b29sdGlwUG9zaXRpb24gPSBpbnB1dDxJQm1iSW5wdXRUb29sdGlwUG9zaXRpb24+KHtcbiAgICBhbGlnbjogJ2Fib3ZlJyxcbiAgICBqdXN0aWZ5OiAnYmVmb3JlJyxcbiAgfSk7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIGlzUmVxdWlyZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIGhlbHBlck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIG1heFNlbGVjdGVkSXRlbXMgPSBpbnB1dDxudW1iZXI+KCk7IC8vRGVwcmVjYXRlZFxuICBuYW1lID0gaW5wdXQ8c3RyaW5nPihnZXRVVUlEKCkpO1xuICB2YWx1ZSA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdPignJyk7XG4gIHNob3dFcnJvciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaW5wdXRJZCA9IGlucHV0PHN0cmluZz4odGhpcy5uYW1lKCkpO1xuICBjdXN0b21WYWxpZGF0aW9uID0gaW5wdXQ8VmFsaWRhdG9yRm4+KCk7XG5cbiAgdGFnT3B0aW9ucyA9IG1vZGVsPHN0cmluZ1tdIHwgSUJtYkRyb3Bkb3duSXRlbVtdPihbXSk7XG4gIGNvbnRyb2wgPSBtb2RlbDxGb3JtQ29udHJvbD4obmV3Rm9ybUNvbnRyb2xCeVR5cGUoKSk7XG5cbiAgb25LZXlEb3duID0gb3V0cHV0PEtleWJvYXJkRXZlbnQ+KCk7XG4gIG9uQ2hhbmdlID0gb3V0cHV0PHN0cmluZ1tdPigpO1xuXG4gIHV1aWQ6IHN0cmluZyA9IGdldFVVSUQoKTtcbiAgc2hvd0Ryb3Bkb3duOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkVGFnczogSURyb3Bkb3duSXRlbVtdID0gW107XG4gIGZpbHRlcmVkT3B0aW9uczogSURyb3Bkb3duSXRlbVtdID0gW107XG4gIGZpbHRlckNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgaXRlbXM6IElEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICBpc0ZvY3VzZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBpc0tleWJvYXJkRXZlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNDb250cm9sTnVsbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB0aGlzLmZpbHRlckNvbnRyb2wuZGlzYWJsZSgpO1xuICAgIGVsc2UgdGhpcy5maWx0ZXJDb250cm9sLmVuYWJsZSgpO1xuXG4gICAgdGhpcy5maWx0ZXJDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwMCkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IGZpbHRlcmVkVmFsdWUodmFsdWUsIHRoaXMuaXRlbXMpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuY29udHJvbCgpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLnNldFNlbGVjdGVkVGFncyh2YWx1ZSB8fCBbXSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2woKSkge1xuICAgICAgdGhpcy5jb250cm9sLnNldChhc3NpZ25OZXdGb3JtQ29udHJvbCh0aGlzLm5hbWUoKSwgdGhpcy5jb250cm9sKCkpISk7XG4gICAgICB0aGlzLmlzQ29udHJvbE51bGwgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWyd0YWdPcHRpb25zJ10pIHtcbiAgICAgIHRoaXMuaW5pdE9wdGlvbnMoY2hhbmdlc1sndGFnT3B0aW9ucyddLmN1cnJlbnRWYWx1ZSk7XG4gICAgICB0aGlzLmNvbnRyb2woKT8uc2V0VmFsdWUodGhpcy5nZXRWYWxpZEluaXRpYWxWYWx1ZXMoKSk7XG4gICAgfVxuICB9XG5cbiAgaW5pdE9wdGlvbnMobGlzdDogc3RyaW5nW10gfCBJQm1iRHJvcGRvd25JdGVtW10pOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zID0gY29udmVydExpc3RUb1NlbGVjdExpc3QobGlzdCk7XG4gICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMubWFwKChlbGVtZW50OiBJRHJvcGRvd25JdGVtKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5lbGVtZW50LFxuICAgICAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUoZWxlbWVudCk7XG4gICAgICAgIH0sXG4gICAgICB9IGFzIElEcm9wZG93bkl0ZW07XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldFNlbGVjdGVkVGFncyh0aGlzLmdldFZhbGlkSW5pdGlhbFZhbHVlcygpKTtcblxuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gWy4uLnRoaXMuaXRlbXNdO1xuICB9XG5cbiAgZ2V0VVVJRChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtuYW1lfV8ke3RoaXMubmFtZSgpfV8ke3RoaXMudXVpZH1gO1xuICB9XG5cbiAgZ2V0VmFsaWRJbml0aWFsVmFsdWVzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBpbml0aWFsVmFsdWU6IHN0cmluZ1tdIHwgc3RyaW5nID0gZ2V0VmFsaWRJbml0aWFsVmFsdWVzKFxuICAgICAgdGhpcy5jb250cm9sKCkudmFsdWUsXG4gICAgICB0aGlzLnZhbHVlKCksXG4gICAgICB0aGlzLnRhZ09wdGlvbnMoKSxcbiAgICAgIHRydWUsXG4gICAgKTtcblxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUgOiBbXTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkVmFsdWUoZWxlbWVudDogSURyb3Bkb3duSXRlbSk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbCgpLnNldFZhbHVlKFxuICAgICAgZ2V0U2VsZWN0ZWRWYWx1ZXModGhpcy5jb250cm9sKCkudmFsdWUsIGVsZW1lbnQudmFsdWUhKSxcbiAgICApO1xuICAgIHRoaXMuZmlsdGVyQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMuY29udHJvbCgpLnZhbHVlKTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkVGFncyhjb250cm9sVmFsdWU6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFRhZ3MgPSB0aGlzLml0ZW1zLmZpbHRlcigoeyB2YWx1ZSB9KSA9PlxuICAgICAgY29udHJvbFZhbHVlLmluY2x1ZGVzKHZhbHVlISksXG4gICAgKTtcbiAgfVxuXG4gIHJlbW92ZVRhZyh0YWc6IElEcm9wZG93bkl0ZW0pIHtcbiAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUodGFnKTtcbiAgfVxuXG4gIG9wZW5MaXN0KCkge1xuICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gdHJ1ZTtcbiAgfVxuXG4gIGNsb3NlTGlzdCgpIHtcbiAgICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlO1xuICAgIHRoaXMuaXNLZXlib2FyZEV2ZW50ID0gZmFsc2U7XG4gIH1cblxuICBzZWxlY3RPcHRpb25XaXRoS2V5KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoISF2YWx1ZSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRMZW5ndGg6IG51bWJlciA9IHRoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aDtcblxuICAgICAgaWYgKCEhc2VsZWN0ZWRMZW5ndGgpIHtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKHRoaXMuZmlsdGVyZWRPcHRpb25zWzBdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWRkT3B0aW9uKHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKFxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zW3RoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aCAtIDFdLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFkZE9wdGlvbih2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnRhZ09wdGlvbnMoKVswXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IG5ld1RhZ09wdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgICAgICAuLi4odGhpcy50YWdPcHRpb25zKCkgYXMgc3RyaW5nW10pLFxuICAgICAgICB2YWx1ZSxcbiAgICAgIF07XG4gICAgICB0aGlzLnRhZ09wdGlvbnMuc2V0KFsuLi5uZXcgU2V0KG5ld1RhZ09wdGlvbnMpXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5ld09wdGlvbjogSUJtYkRyb3Bkb3duSXRlbSA9IHtcbiAgICAgICAgbmFtZTogdmFsdWUsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBzZWxlY3RlZFRleHQ6IHZhbHVlLFxuICAgICAgICBpZDogZ2V0VVVJRCgpLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IG5ld0xpc3Q6IElCbWJEcm9wZG93bkl0ZW1bXSA9IFtcbiAgICAgICAgLi4uKHRoaXMudGFnT3B0aW9ucygpIGFzIElCbWJEcm9wZG93bkl0ZW1bXSksXG4gICAgICAgIG5ld09wdGlvbixcbiAgICAgIF07XG4gICAgICB0aGlzLnRhZ09wdGlvbnMuc2V0KFsuLi5uZXcgU2V0KG5ld0xpc3QpXSk7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0T3B0aW9ucyh0aGlzLnRhZ09wdGlvbnMoKSk7XG4gIH1cblxuICBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Ym9hcmRWYWx1ZXNUb09wZW5EaWFsb2cgPSBbJyAnLCAnQXJyb3dEb3duJywgJ0Rvd24nXTtcbiAgICBjb25zdCBrZXlib2FyZFZhbHVlc1RvQWRkT3B0aW9uID0gWycsJywgJ0VudGVyJ107XG5cbiAgICBpZiAoa2V5Ym9hcmRWYWx1ZXNUb09wZW5EaWFsb2cuaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgaWYgKCF0aGlzLnNob3dEcm9wZG93bikge1xuICAgICAgICB0aGlzLmlzS2V5Ym9hcmRFdmVudCA9IHRydWU7XG4gICAgICAgIHRoaXMub3Blbkxpc3QoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmZpbHRlcmVkT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChrZXlib2FyZFZhbHVlc1RvQWRkT3B0aW9uLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnNlbGVjdE9wdGlvbldpdGhLZXkodGhpcy5maWx0ZXJDb250cm9sLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVGb2N1cyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNGb2N1c2VkLnNldCh2YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVWYWxpZGl0eSgpOiB2b2lkIHtcbiAgICBoYW5kbGVWYWxpZGl0eSh0aGlzLmNvbnRyb2woKSk7XG4gIH1cblxuICBnZXQgc2hvdWxkU2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzaG93RXJyb3IodGhpcy5jb250cm9sKCkpO1xuICB9XG59XG4iLCI8Ym1iLWlucHV0LXZhbGlkYXRvclxuICBjbGFzcz1cImJtYl9pbnB1dC10YWdzXCJcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW3ZhbHVlXT1cImdldFZhbGlkSW5pdGlhbFZhbHVlcygpXCJcbiAgW2xhYmVsXT1cImxhYmVsKCkhXCJcbiAgW2Vycm9yTWVzc2FnZV09XCJlcnJvck1lc3NhZ2UoKVwiXG4gIFtoZWxwZXJNZXNzYWdlXT1cImhlbHBlck1lc3NhZ2UoKVwiXG4gIFtpc1JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXG4gIFtpc0Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICBbY29udHJvbF09XCJjb250cm9sKClcIlxuICBbc2hvd0Vycm9yXT1cInNob3VsZFNob3dFcnJvclwiXG4gIFt0b29sdGlwXT1cInRvb2x0aXAoKVwiXG4gIFt0b29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uKClcIlxuICBbY3VzdG9tVmFsaWRhdGlvbl09XCJjdXN0b21WYWxpZGF0aW9uKClcIlxuICBjbGlja091dHNpZGVcbiAgKGNsaWNrT3V0c2lkZSk9XCJjbG9zZUxpc3QoKVwiXG4gIFtpbnB1dElkXT1cImlucHV0SWQoKVwiXG4+XG4gIDxzZWN0aW9uXG4gICAgY2xhc3M9XCJibWJfaW5wdXQtdGFncy1jb250YWluZXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdibWJfaW5wdXQtdGFncy1jb250YWluZXItZXJyb3InOiBzaG91bGRTaG93RXJyb3IsXG4gICAgICAnYm1iX2lucHV0LXRhZ3MtY29udGFpbmVyLWZvY3VzJzogaXNGb2N1c2VkKClcbiAgICB9XCJcbiAgPlxuICAgIDxibWItaW5wdXQtY29udGVudFxuICAgICAgY2xhc3M9XCJibWJfaW5wdXQtdGFncy1maWx0ZXJcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW2lucHV0SWRdPVwiaW5wdXRJZCgpXCJcbiAgICAgIFtuYW1lXT1cImdldFVVSUQoJ2ZpbHRlcicpXCJcbiAgICAgIFtjb250cm9sXT1cImZpbHRlckNvbnRyb2xcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuICAgICAgKGNsaWNrKT1cIm9wZW5MaXN0KClcIlxuICAgICAgKG9uQmx1cik9XCJoYW5kbGVWYWxpZGl0eSgpXCJcbiAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAob25Gb2N1cyk9XCJoYW5kbGVGb2N1cygkZXZlbnQpXCJcbiAgICAvPlxuICAgIEBpZiAoISFzZWxlY3RlZFRhZ3MgJiYgISFzZWxlY3RlZFRhZ3MubGVuZ3RoKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYm1iX2lucHV0LXRhZ3Mtc2VsZWN0ZWQtbGlzdFwiIFt0YWJJbmRleF09XCItMVwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIHNlbGVjdGVkVGFnczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGJtYi10YWdcbiAgICAgICAgICAgIFt0ZXh0XT1cIml0ZW0uc2VsZWN0ZWRUZXh0IVwiXG4gICAgICAgICAgICBbZGlzbWlzc2libGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbaXNEaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIChjbGlja2VkVGFnKT1cInJlbW92ZVRhZyhpdGVtKVwiXG4gICAgICAgICAgICAoY2xvc2VkVGFnKT1cInJlbW92ZVRhZyhpdGVtKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L3NlY3Rpb24+XG4gIDxpbnB1dFxuICAgIGhpZGRlblxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBbaWRdPVwibmFtZSgpXCJcbiAgICBbbmFtZV09XCJuYW1lKClcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sKClcIlxuICAvPlxuICA8ZGlhbG9nIFtvcGVuXT1cInNob3dEcm9wZG93blwiIGNsYXNzPVwiYm1iX2dlbmVyaWMtZGlhbG9nXCI+XG4gICAgPGJtYi1kcm9wZG93bi1jb250ZW50XG4gICAgICBjbGFzcz1cImJtYl9pbnB1dC10YWdzLWRpYWxvZ1wiXG4gICAgICBuYW1lPVwibGlzdFwiXG4gICAgICBbc2VsZWN0ZWRPcHRpb25dPVwiY29udHJvbCgpLnZhbHVlXCJcbiAgICAgIFtpc0tleWJvYXJkRXZlbnRdPVwiaXNLZXlib2FyZEV2ZW50XCJcbiAgICAgIFsoaXRlbXMpXT1cImZpbHRlcmVkT3B0aW9uc1wiXG4gICAgICBbKGlzT3BlbildPVwic2hvd0Ryb3Bkb3duXCJcbiAgICAvPlxuICA8L2RpYWxvZz5cbjwvYm1iLWlucHV0LXZhbGlkYXRvcj5cbiJdfQ==
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWlucHV0LXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtbmcvc3JjL2xpYi9jb21wb25lbnRzL2JtYi1pbnB1dC10YWdzL2JtYi1pbnB1dC10YWdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItaW5wdXQtdGFncy9ibWItaW5wdXQtdGFncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFFakIsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBTS9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLHFCQUFxQixHQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRTNHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFP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ZUFBZTtRQUNqQixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQW5NVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiwreEVBRnJCLEVBQUUsK0NDekRmLDhnRUFxRUEsa3dQRHhCSSxZQUFZLDRIQUNaLG1CQUFtQiwwa0JBQ25CLHFCQUFxQixzRkFDckIsZUFBZSx3TUFDZiwwQkFBMEIscWJBQzFCLHdCQUF3Qix1YkFDeEIsMkJBQTJCOzs0RkFRbEIscUJBQXFCO2tCQWxCakMsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZiwwQkFBMEI7d0JBQzFCLHdCQUF3Qjt3QkFDeEIsMkJBQTJCO3FCQUM1QixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCbWJUYWdDb21wb25lbnQgfSBmcm9tICcuLy4uL2JtYi10YWdzL2JtYi10YWdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgT25Jbml0LFxuICBvdXRwdXQsXG4gIG1vZGVsLFxuICBzaWduYWwsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQm1iRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vYm1iLWRyb3Bkb3duL2JtYi1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgSUJtYklucHV0RXJyb3IsXG4gIElCbWJJbnB1dFRvb2x0aXBQb3NpdGlvbixcbn0gZnJvbSAnLi4vYm1iLWlucHV0L2JtYi1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy91dGlscy9jbGlja291dHNpZGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgY29udmVydExpc3RUb1NlbGVjdExpc3QsXG4gIGZpbHRlcmVkVmFsdWUsXG4gIGdldFNlbGVjdGVkVmFsdWVzLFxuICBnZXRWYWxpZEluaXRpYWxWYWx1ZXMsXG59IGZyb20gJy4uLy4uL3V0aWxzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEJtYklucHV0VmFsaWRhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWlucHV0L2JtYi1pbnB1dC12YWxpZGF0b3IvYm1iLWlucHV0LXZhbGlkYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iRHJvcGRvd25Db250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vdXRpbHMvYm1iLWRyb3Bkb3duLWNvbnRlbnQvYm1iLWRyb3Bkb3duLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IElEcm9wZG93bkl0ZW0gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBCbWJJbnB1dENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9ibWItaW5wdXQvYm1iLWlucHV0LWNvbnRlbnQvYm1iLWlucHV0LWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFVVSUQgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XG5pbXBvcnQge1xuICBhc3NpZ25OZXdGb3JtQ29udHJvbCxcbiAgaGFuZGxlVmFsaWRpdHksXG4gIG5ld0Zvcm1Db250cm9sQnlUeXBlLFxuICBzaG93RXJyb3IsXG59IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm1Db250cm9sJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYm1iLWlucHV0LXRhZ3MnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxuICAgIEJtYlRhZ0NvbXBvbmVudCxcbiAgICBCbWJJbnB1dFZhbGlkYXRvckNvbXBvbmVudCxcbiAgICBCbWJJbnB1dENvbnRlbnRDb21wb25lbnQsXG4gICAgQm1iRHJvcGRvd25Db250ZW50Q29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLWlucHV0LXRhZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYm1iLWlucHV0LXRhZ3MuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQm1iSW5wdXRUYWdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBlcnJvck1lc3NhZ2UgPSBpbnB1dDxzdHJpbmcgfCBJQm1iSW5wdXRFcnJvcj4oJycpO1xuICB0b29sdGlwID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHRvb2x0aXBQb3NpdGlvbiA9IGlucHV0PElCbWJJbnB1dFRvb2x0aXBQb3NpdGlvbj4oe1xuICAgIGFsaWduOiAnYWJvdmUnLFxuICAgIGp1c3RpZnk6ICdiZWZvcmUnLFxuICB9KTtcbiAgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgaXNSZXF1aXJlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaGVscGVyTWVzc2FnZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgbWF4U2VsZWN0ZWRJdGVtcyA9IGlucHV0PG51bWJlcj4oKTsgLy9EZXByZWNhdGVkXG4gIG5hbWUgPSBpbnB1dDxzdHJpbmc+KGdldFVVSUQoKSk7XG4gIHZhbHVlID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCcnKTtcbiAgc2hvd0Vycm9yID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBpbnB1dElkID0gaW5wdXQ8c3RyaW5nPih0aGlzLm5hbWUoKSk7XG4gIGN1c3RvbVZhbGlkYXRpb24gPSBpbnB1dDxWYWxpZGF0b3JGbj4oKTtcblxuICB0YWdPcHRpb25zID0gbW9kZWw8c3RyaW5nW10gfCBJQm1iRHJvcGRvd25JdGVtW10+KFtdKTtcbiAgY29udHJvbCA9IG1vZGVsPEZvcm1Db250cm9sPihuZXdGb3JtQ29udHJvbEJ5VHlwZSgpKTtcblxuICBvbktleURvd24gPSBvdXRwdXQ8S2V5Ym9hcmRFdmVudD4oKTtcbiAgb25DaGFuZ2UgPSBvdXRwdXQ8c3RyaW5nW10+KCk7XG5cbiAgdXVpZDogc3RyaW5nID0gZ2V0VVVJRCgpO1xuICBzaG93RHJvcGRvd246IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRUYWdzOiBJRHJvcGRvd25JdGVtW10gPSBbXTtcbiAgZmlsdGVyZWRPcHRpb25zOiBJRHJvcGRvd25JdGVtW10gPSBbXTtcbiAgZmlsdGVyQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBpdGVtczogSURyb3Bkb3duSXRlbVtdID0gW107XG4gIGlzRm9jdXNlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGlzS2V5Ym9hcmRFdmVudDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0NvbnRyb2xOdWxsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHRoaXMuZmlsdGVyQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgZWxzZSB0aGlzLmZpbHRlckNvbnRyb2wuZW5hYmxlKCk7XG5cbiAgICB0aGlzLmZpbHRlckNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMzAwKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gZmlsdGVyZWRWYWx1ZSh2YWx1ZSwgdGhpcy5pdGVtcyk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5jb250cm9sKCkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRUYWdzKHZhbHVlIHx8IFtdKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCgpKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0KGFzc2lnbk5ld0Zvcm1Db250cm9sKHRoaXMubmFtZSgpLCB0aGlzLmNvbnRyb2woKSkhKTtcbiAgICAgIHRoaXMuaXNDb250cm9sTnVsbCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbJ3RhZ09wdGlvbnMnXSkge1xuICAgICAgdGhpcy5pbml0T3B0aW9ucyhjaGFuZ2VzWyd0YWdPcHRpb25zJ10uY3VycmVudFZhbHVlKTtcbiAgICAgIHRoaXMuY29udHJvbCgpPy5zZXRWYWx1ZSh0aGlzLmdldFZhbGlkSW5pdGlhbFZhbHVlcygpKTtcbiAgICB9XG4gIH1cblxuICBpbml0T3B0aW9ucyhsaXN0OiBzdHJpbmdbXSB8IElCbWJEcm9wZG93bkl0ZW1bXSk6IHZvaWQge1xuICAgIHRoaXMuaXRlbXMgPSBjb252ZXJ0TGlzdFRvU2VsZWN0TGlzdChsaXN0KTtcbiAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcy5tYXAoKGVsZW1lbnQ6IElEcm9wZG93bkl0ZW0pID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmVsZW1lbnQsXG4gICAgICAgIGFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRWYWx1ZShlbGVtZW50KTtcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgSURyb3Bkb3duSXRlbTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2V0U2VsZWN0ZWRUYWdzKHRoaXMuZ2V0VmFsaWRJbml0aWFsVmFsdWVzKCkpO1xuXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBbLi4udGhpcy5pdGVtc107XG4gIH1cblxuICBnZXRVVUlEKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke25hbWV9XyR7dGhpcy5uYW1lKCl9XyR7dGhpcy51dWlkfWA7XG4gIH1cblxuICBnZXRWYWxpZEluaXRpYWxWYWx1ZXMoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGluaXRpYWxWYWx1ZTogc3RyaW5nW10gfCBzdHJpbmcgPSBnZXRWYWxpZEluaXRpYWxWYWx1ZXMoXG4gICAgICB0aGlzLmNvbnRyb2woKS52YWx1ZSxcbiAgICAgIHRoaXMudmFsdWUoKSxcbiAgICAgIHRoaXMudGFnT3B0aW9ucygpLFxuICAgICAgdHJ1ZSxcbiAgICApO1xuXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoaW5pdGlhbFZhbHVlKSA/IGluaXRpYWxWYWx1ZSA6IFtdO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRWYWx1ZShlbGVtZW50OiBJRHJvcGRvd25JdGVtKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sKCkuc2V0VmFsdWUoXG4gICAgICBnZXRTZWxlY3RlZFZhbHVlcyh0aGlzLmNvbnRyb2woKS52YWx1ZSwgZWxlbWVudC52YWx1ZSEpLFxuICAgICk7XG4gICAgdGhpcy5maWx0ZXJDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodGhpcy5jb250cm9sKCkudmFsdWUpO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRUYWdzKGNvbnRyb2xWYWx1ZTogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkVGFncyA9IHRoaXMuaXRlbXMuZmlsdGVyKCh7IHZhbHVlIH0pID0+XG4gICAgICBjb250cm9sVmFsdWUuaW5jbHVkZXModmFsdWUhKSxcbiAgICApO1xuICB9XG5cbiAgcmVtb3ZlVGFnKHRhZzogSURyb3Bkb3duSXRlbSkge1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRWYWx1ZSh0YWcpO1xuICB9XG5cbiAgb3Blbkxpc3QoKSB7XG4gICAgdGhpcy5zaG93RHJvcGRvd24gPSB0cnVlO1xuICB9XG5cbiAgY2xvc2VMaXN0KCkge1xuICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XG4gICAgdGhpcy5pc0tleWJvYXJkRXZlbnQgPSBmYWxzZTtcbiAgfVxuXG4gIHNlbGVjdE9wdGlvbldpdGhLZXkodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghIXZhbHVlKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZExlbmd0aDogbnVtYmVyID0gdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoO1xuXG4gICAgICBpZiAoISFzZWxlY3RlZExlbmd0aCkge1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUodGhpcy5maWx0ZXJlZE9wdGlvbnNbMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hZGRPcHRpb24odmFsdWUpO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUoXG4gICAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNbdGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoIC0gMV0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWRkT3B0aW9uKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIHRoaXMudGFnT3B0aW9ucygpWzBdID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgbmV3VGFnT3B0aW9uczogc3RyaW5nW10gPSBbXG4gICAgICAgIC4uLih0aGlzLnRhZ09wdGlvbnMoKSBhcyBzdHJpbmdbXSksXG4gICAgICAgIHZhbHVlLFxuICAgICAgXTtcbiAgICAgIHRoaXMudGFnT3B0aW9ucy5zZXQoWy4uLm5ldyBTZXQobmV3VGFnT3B0aW9ucyldKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbmV3T3B0aW9uOiBJQm1iRHJvcGRvd25JdGVtID0ge1xuICAgICAgICBuYW1lOiB2YWx1ZSxcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHNlbGVjdGVkVGV4dDogdmFsdWUsXG4gICAgICAgIGlkOiBnZXRVVUlEKCksXG4gICAgICB9O1xuICAgICAgY29uc3QgbmV3TGlzdDogSUJtYkRyb3Bkb3duSXRlbVtdID0gW1xuICAgICAgICAuLi4odGhpcy50YWdPcHRpb25zKCkgYXMgSUJtYkRyb3Bkb3duSXRlbVtdKSxcbiAgICAgICAgbmV3T3B0aW9uLFxuICAgICAgXTtcbiAgICAgIHRoaXMudGFnT3B0aW9ucy5zZXQoWy4uLm5ldyBTZXQobmV3TGlzdCldKTtcbiAgICB9XG5cbiAgICB0aGlzLmluaXRPcHRpb25zKHRoaXMudGFnT3B0aW9ucygpKTtcbiAgfVxuXG4gIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCBrZXlib2FyZFZhbHVlc1RvT3BlbkRpYWxvZyA9IFsnICcsICdBcnJvd0Rvd24nLCAnRG93biddO1xuICAgIGNvbnN0IGtleWJvYXJkVmFsdWVzVG9BZGRPcHRpb24gPSBbJywnLCAnRW50ZXInXTtcblxuICAgIGlmIChrZXlib2FyZFZhbHVlc1RvT3BlbkRpYWxvZy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICBpZiAoIXRoaXMuc2hvd0Ryb3Bkb3duKSB7XG4gICAgICAgIHRoaXMuaXNLZXlib2FyZEV2ZW50ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vcGVuTGlzdCgpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGtleWJvYXJkVmFsdWVzVG9BZGRPcHRpb24uaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuc2VsZWN0T3B0aW9uV2l0aEtleSh0aGlzLmZpbHRlckNvbnRyb2wudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUZvY3VzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0ZvY3VzZWQuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZVZhbGlkaXR5KCk6IHZvaWQge1xuICAgIGhhbmRsZVZhbGlkaXR5KHRoaXMuY29udHJvbCgpKTtcbiAgfVxuXG4gIGdldCBzaG91bGRTaG93RXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNob3dFcnJvcih0aGlzLmNvbnRyb2woKSk7XG4gIH1cbn1cbiIsIjxibWItaW5wdXQtdmFsaWRhdG9yXG4gIGNsYXNzPVwiYm1iX2lucHV0LXRhZ3NcIlxuICBbbmFtZV09XCJuYW1lKClcIlxuICBbdmFsdWVdPVwiZ2V0VmFsaWRJbml0aWFsVmFsdWVzKClcIlxuICBbbGFiZWxdPVwibGFiZWwoKSFcIlxuICBbZXJyb3JNZXNzYWdlXT1cImVycm9yTWVzc2FnZSgpXCJcbiAgW2hlbHBlck1lc3NhZ2VdPVwiaGVscGVyTWVzc2FnZSgpXCJcbiAgW2lzUmVxdWlyZWRdPVwiaXNSZXF1aXJlZCgpXCJcbiAgW2lzRGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gIFtjb250cm9sXT1cImNvbnRyb2woKVwiXG4gIFtzaG93RXJyb3JdPVwic2hvdWxkU2hvd0Vycm9yXCJcbiAgW3Rvb2x0aXBdPVwidG9vbHRpcCgpXCJcbiAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb24oKVwiXG4gIFtjdXN0b21WYWxpZGF0aW9uXT1cImN1c3RvbVZhbGlkYXRpb24oKVwiXG4gIGNsaWNrT3V0c2lkZVxuICAoY2xpY2tPdXRzaWRlKT1cImNsb3NlTGlzdCgpXCJcbiAgW2lucHV0SWRdPVwiaW5wdXRJZCgpXCJcbj5cbiAgPHNlY3Rpb25cbiAgICBjbGFzcz1cImJtYl9pbnB1dC10YWdzLWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2JtYl9pbnB1dC10YWdzLWNvbnRhaW5lci1lcnJvcic6IHNob3VsZFNob3dFcnJvcixcbiAgICAgICdibWJfaW5wdXQtdGFncy1jb250YWluZXItZm9jdXMnOiBpc0ZvY3VzZWQoKVxuICAgIH1cIlxuICA+XG4gICAgPGJtYi1pbnB1dC1jb250ZW50XG4gICAgICBjbGFzcz1cImJtYl9pbnB1dC10YWdzLWZpbHRlclwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbaW5wdXRJZF09XCJpbnB1dElkKClcIlxuICAgICAgW25hbWVdPVwiZ2V0VVVJRCgnZmlsdGVyJylcIlxuICAgICAgW2NvbnRyb2xdPVwiZmlsdGVyQ29udHJvbFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXG4gICAgICAoY2xpY2spPVwib3Blbkxpc3QoKVwiXG4gICAgICAob25CbHVyKT1cImhhbmRsZVZhbGlkaXR5KClcIlxuICAgICAgKGtleWRvd24pPVwiaGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgICAgIChvbkZvY3VzKT1cImhhbmRsZUZvY3VzKCRldmVudClcIlxuICAgIC8+XG4gICAgQGlmICghIXNlbGVjdGVkVGFncyAmJiAhIXNlbGVjdGVkVGFncy5sZW5ndGgpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJibWJfaW5wdXQtdGFncy1zZWxlY3RlZC1saXN0XCIgW3RhYkluZGV4XT1cIi0xXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2Ygc2VsZWN0ZWRUYWdzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8Ym1iLXRhZ1xuICAgICAgICAgICAgW3RleHRdPVwiaXRlbS5zZWxlY3RlZFRleHQhXCJcbiAgICAgICAgICAgIFtkaXNtaXNzaWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtpc0Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAgICAgKGNsaWNrZWRUYWcpPVwicmVtb3ZlVGFnKGl0ZW0pXCJcbiAgICAgICAgICAgIChjbG9zZWRUYWcpPVwicmVtb3ZlVGFnKGl0ZW0pXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvc2VjdGlvbj5cbiAgPGlucHV0XG4gICAgaGlkZGVuXG4gICAgdHlwZT1cInRleHRcIlxuICAgIFtpZF09XCJuYW1lKClcIlxuICAgIFtuYW1lXT1cIm5hbWUoKVwiXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2woKVwiXG4gIC8+XG4gIDxkaWFsb2cgW29wZW5dPVwic2hvd0Ryb3Bkb3duXCIgY2xhc3M9XCJibWJfZ2VuZXJpYy1kaWFsb2dcIj5cbiAgICA8Ym1iLWRyb3Bkb3duLWNvbnRlbnRcbiAgICAgIGNsYXNzPVwiYm1iX2lucHV0LXRhZ3MtZGlhbG9nXCJcbiAgICAgIG5hbWU9XCJsaXN0XCJcbiAgICAgIFtzZWxlY3RlZE9wdGlvbl09XCJjb250cm9sKCkudmFsdWVcIlxuICAgICAgW2lzS2V5Ym9hcmRFdmVudF09XCJpc0tleWJvYXJkRXZlbnRcIlxuICAgICAgWyhpdGVtcyldPVwiZmlsdGVyZWRPcHRpb25zXCJcbiAgICAgIFsoaXNPcGVuKV09XCJzaG93RHJvcGRvd25cIlxuICAgIC8+XG4gIDwvZGlhbG9nPlxuPC9ibWItaW5wdXQtdmFsaWRhdG9yPlxuIl19