@ti-tecnologico-de-monterrey-oficial/ds-ng 1.5.1118-a → 1.5.1118-c
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.
- package/assets/images/placeholders/credential.svg +69 -69
- package/assets/images/placeholders/user-icon-test.svg +9 -9
- package/assets/styles/main.min.css +1 -1
- package/assets/styles/main.min.css.map +1 -1
- package/esm2022/lib/components/bmb-academic-progress/bmb-academic-progress.component.mjs +5 -5
- package/esm2022/lib/components/bmb-accordion/bmb-accordion.component.mjs +5 -5
- package/esm2022/lib/components/bmb-account-statement/bmb-account-statement.component.mjs +37 -15
- package/esm2022/lib/components/bmb-action-icon/bmb-action-icon.component.mjs +5 -5
- package/esm2022/lib/components/bmb-action-menu/bmb-action-menu.component.mjs +5 -5
- package/esm2022/lib/components/bmb-advertisement-card/bmb-advertisement-card.component.mjs +5 -5
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-ads/bmb-alert-center-ads.component.mjs +5 -5
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-empty/bmb-alert-center-empty.component.mjs +5 -5
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-form/bmb-alert-center-form.component.mjs +5 -5
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center-list/bmb-alert-center-list.component.mjs +5 -5
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.component.mjs +20 -13
- package/esm2022/lib/components/bmb-alert-center/bmb-alert-center.service.mjs +3 -3
- package/esm2022/lib/components/bmb-badge/bmb-badge.component.mjs +5 -5
- package/esm2022/lib/components/bmb-balance-overview/bmb-balance-overview.component.mjs +5 -5
- package/esm2022/lib/components/bmb-bookmark/bmb-bookmark.component.mjs +3 -3
- package/esm2022/lib/components/bmb-bottom-navigation-bar/bmb-bottom-navigation-bar.component.mjs +3 -3
- package/esm2022/lib/components/bmb-breadcrumb/bmb-breadcrumb.component.mjs +5 -5
- package/esm2022/lib/components/bmb-button-icon/bmb-button-icon.component.mjs +5 -5
- package/esm2022/lib/components/bmb-calendar/bmb-calendar.component.mjs +28 -5
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-header/bmb-calendar-header.component.mjs +5 -6
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-hour-view/bmb-calendar-hour-view.component.mjs +4 -4
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-schedule-cards/bmb-calendar-schedule-cards.component.mjs +5 -5
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-day/bmb-calendar-template-day.component.mjs +3 -3
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-mobile/bmb-calendar-template-mobile.component.mjs +5 -5
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-month/bmb-calendar-template-month.component.mjs +5 -5
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-week/bmb-calendar-template-week.component.mjs +3 -3
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-time-indicator/bmb-calendar-time-indicator.component.mjs +5 -5
- package/esm2022/lib/components/bmb-card/bmb-card.component.mjs +19 -14
- package/esm2022/lib/components/bmb-card-button/bmb-card-button.component.mjs +5 -5
- package/esm2022/lib/components/bmb-carousel/bmb-carousel.component.mjs +5 -5
- package/esm2022/lib/components/bmb-chat-bar/bmb-chat-bar.component.mjs +69 -45
- package/esm2022/lib/components/bmb-chat-bubbles/bmb-chat-bubbles.component.mjs +5 -5
- package/esm2022/lib/components/bmb-check-external-link-button/bmb-check-external-link-button.component.mjs +5 -5
- package/esm2022/lib/components/bmb-checkbox/bmb-checkbox.component.mjs +5 -5
- package/esm2022/lib/components/bmb-chevron-title-selector/bmb-chevron-title-selector.component.mjs +3 -3
- package/esm2022/lib/components/bmb-container/bmb-container.component.mjs +3 -3
- package/esm2022/lib/components/bmb-container-button/bmb-container-button.component.mjs +5 -5
- package/esm2022/lib/components/bmb-date-range/bmb-date-range.component.mjs +5 -5
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker-modal/bmb-datepicker-modal.component.mjs +5 -5
- package/esm2022/lib/components/bmb-datepicker/bmb-datepicker.component.mjs +5 -5
- package/esm2022/lib/components/bmb-digital-id/bmb-digital-id.component.mjs +5 -5
- package/esm2022/lib/components/bmb-divider/bmb-divider.component.mjs +3 -3
- package/esm2022/lib/components/bmb-dot-paginator/bmb-dot-paginator.component.mjs +3 -3
- package/esm2022/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.mjs +18 -7
- package/esm2022/lib/components/bmb-dropdown/bmb-dropdown.component.mjs +14 -13
- package/esm2022/lib/components/bmb-dropdown-menu/bmb-dropdown-menu.component.mjs +5 -5
- package/esm2022/lib/components/bmb-dropzone/bmb-dropzone.component.mjs +5 -5
- package/esm2022/lib/components/bmb-evaluation-rubric/bmb-evaluation-rubric.component.mjs +5 -5
- package/esm2022/lib/components/bmb-external-link/bmb-external-link.component.mjs +5 -5
- package/esm2022/lib/components/bmb-fab/bmb-fab.component.mjs +5 -5
- package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.component.mjs +29 -17
- package/esm2022/lib/components/bmb-filter-card/bmb-filter-card.interface.mjs +1 -1
- package/esm2022/lib/components/bmb-focus-element/bmb-focus-element.component.mjs +5 -5
- package/esm2022/lib/components/bmb-form-validator/bmb-form-validator.component.mjs +3 -3
- package/esm2022/lib/components/bmb-frequent-apps-selector/bmb-frequent-apps-selector.component.mjs +5 -5
- package/esm2022/lib/components/bmb-grade-value/bmb-grade-value.component.mjs +5 -5
- package/esm2022/lib/components/bmb-grades/bmb-grades.component.mjs +10 -13
- package/esm2022/lib/components/bmb-header-mitec/bmb-header-mitec.component.mjs +5 -5
- package/esm2022/lib/components/bmb-header-mobile/bmb-header-mobile.component.mjs +5 -5
- package/esm2022/lib/components/bmb-hito-card/bmb-hito-card.component.mjs +16 -7
- package/esm2022/lib/components/bmb-hito-list/bmb-hito-list.component.mjs +5 -5
- package/esm2022/lib/components/bmb-home-card/bmb-home-card-header/bmb-home-card-header.component.mjs +5 -5
- package/esm2022/lib/components/bmb-home-card/bmb-home-card.component.mjs +5 -5
- package/esm2022/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.mjs +8 -8
- package/esm2022/lib/components/bmb-home-section/bmb-home-section.component.mjs +5 -5
- package/esm2022/lib/components/bmb-icon/bmb-icon.component.mjs +5 -5
- package/esm2022/lib/components/bmb-icon-item/bmb-icon-item.component.mjs +5 -5
- package/esm2022/lib/components/bmb-icon-status/bmb-icon-status.component.mjs +3 -3
- package/esm2022/lib/components/bmb-iframe/bmb-iframe.component.mjs +3 -3
- package/esm2022/lib/components/bmb-iframe/bmb-iframe.pipe.mjs +3 -3
- package/esm2022/lib/components/bmb-image/bmb-image.component.mjs +5 -5
- package/esm2022/lib/components/bmb-inner-header/bmb-inner-header.component.mjs +5 -5
- package/esm2022/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.mjs +5 -6
- package/esm2022/lib/components/bmb-input/bmb-input-validator/bmb-input-validator.component.mjs +5 -5
- package/esm2022/lib/components/bmb-input/bmb-input.component.mjs +5 -5
- package/esm2022/lib/components/bmb-input-phone-number/bmb-input-phone-number.component.mjs +5 -5
- package/esm2022/lib/components/bmb-input-tags/bmb-input-tags.component.mjs +5 -5
- package/esm2022/lib/components/bmb-interactive-icon/bmb-interactive-icon.component.mjs +5 -5
- package/esm2022/lib/components/bmb-invoice/bmb-invoice.component.mjs +5 -5
- package/esm2022/lib/components/bmb-item/bmb-item.component.mjs +5 -5
- package/esm2022/lib/components/bmb-legend/bmb-legend.component.mjs +5 -5
- package/esm2022/lib/components/bmb-list-group/bmb-list-group-item/bmb-list-group-item.component.mjs +5 -5
- package/esm2022/lib/components/bmb-list-group/bmb-list-group.component.mjs +5 -5
- package/esm2022/lib/components/bmb-list-group/bmb-list-group.service.mjs +3 -3
- package/esm2022/lib/components/bmb-list-items/bmb-list-items.component.mjs +5 -5
- package/esm2022/lib/components/bmb-loader/bmb-loader.component.mjs +5 -5
- package/esm2022/lib/components/bmb-login/bmb-login-content/bmb-login-content.component.mjs +5 -5
- package/esm2022/lib/components/bmb-login/bmb-login.component.mjs +3 -3
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logged/bmb-login-onboarding-logged.component.mjs +5 -5
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-login/bmb-login-onboarding-login.component.mjs +5 -5
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-logout/bmb-login-onboarding-logout.component.mjs +5 -5
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-four.component.mjs +3 -3
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-one.component.mjs +3 -3
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-three.component.mjs +3 -3
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step-two.component.mjs +3 -3
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper-steps/bmb-login-onboarding-stepper-step.component.mjs +5 -5
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding-stepper/bmb-login-onboarding-stepper.component.mjs +5 -5
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.component.mjs +5 -5
- package/esm2022/lib/components/bmb-login-onboarding/bmb-login-onboarding.service.mjs +3 -3
- package/esm2022/lib/components/bmb-logo/bmb-logo.component.mjs +3 -3
- package/esm2022/lib/components/bmb-media-card/bmb-media-card.component.mjs +5 -5
- package/esm2022/lib/components/bmb-mitec-logo-animation/bmb-mitec-logo-animation.component.mjs +4 -4
- package/esm2022/lib/components/bmb-mobile-templates/bmb-mobile-templates.component.mjs +5 -5
- package/esm2022/lib/components/bmb-modal/bmb-modal.component.mjs +5 -5
- package/esm2022/lib/components/bmb-modal/bmb-modal.interface.mjs +1 -1
- package/esm2022/lib/components/bmb-modal/bmb-native-modal.component.mjs +21 -13
- package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator-item/bmb-multi-dot-paginator-item.component.mjs +5 -5
- package/esm2022/lib/components/bmb-multi-dot-paginator/bmb-multi-dot-paginator.component.mjs +5 -5
- package/esm2022/lib/components/bmb-navigation-bar/bmb-navigation-bar.component.mjs +3 -3
- package/esm2022/lib/components/bmb-notice-card/bmb-notice-card.component.mjs +5 -5
- package/esm2022/lib/components/bmb-notification-card/bmb-notification-card.component.mjs +5 -5
- package/esm2022/lib/components/bmb-overlay/bmb-overlay.component.mjs +3 -3
- package/esm2022/lib/components/bmb-paginator/bmb-paginator.component.mjs +5 -5
- package/esm2022/lib/components/bmb-portal/bmb-portal.component.mjs +8 -5
- package/esm2022/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.mjs +6 -16
- package/esm2022/lib/components/bmb-profile/bmb-profile.component.mjs +5 -5
- package/esm2022/lib/components/bmb-progress-bar/bmb-progress-bar.component.mjs +5 -5
- package/esm2022/lib/components/bmb-progress-cirlce/bmb-progress-circle.component.mjs +6 -6
- package/esm2022/lib/components/bmb-pull-wedge/bmb-pull-wedge.component.mjs +5 -5
- package/esm2022/lib/components/bmb-push-notification/bmb-push-notification-item/bmb-push-notification-item.component.mjs +5 -5
- package/esm2022/lib/components/bmb-push-notification/bmb-push-notification.component.mjs +3 -3
- package/esm2022/lib/components/bmb-radial/bmb-radial.component.mjs +5 -5
- package/esm2022/lib/components/bmb-search-input/bmb-search-input.component.mjs +10 -5
- package/esm2022/lib/components/bmb-server-table/bmb-server-table.component.mjs +3 -3
- package/esm2022/lib/components/bmb-sidebar/bmb-sidebar.component.mjs +19 -25
- package/esm2022/lib/components/bmb-simple-header/bmb-simple-header.component.mjs +3 -3
- package/esm2022/lib/components/bmb-skeleton/bmb-skeleton.component.mjs +5 -5
- package/esm2022/lib/components/bmb-sounds-card/bmb-sounds-card.component.mjs +5 -5
- package/esm2022/lib/components/bmb-stat-counter/bmb-stat-counter.component.mjs +5 -5
- package/esm2022/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.mjs +21 -7
- package/esm2022/lib/components/bmb-student-activity-card/bmb-student-activity-card.component.mjs +5 -5
- package/esm2022/lib/components/bmb-student-activity-selector/bmb-student-activity-tab/bmb-student-activity-tab.component.mjs +3 -3
- package/esm2022/lib/components/bmb-switch/bmb-switch.component.mjs +5 -5
- package/esm2022/lib/components/bmb-tables/bmb-tables.component.mjs +11 -11
- package/esm2022/lib/components/bmb-tabs/bmb-tabs.component.mjs +5 -5
- package/esm2022/lib/components/bmb-tags/bmb-tags.component.mjs +5 -5
- package/esm2022/lib/components/bmb-text-editor/bmb-text-editor.component.mjs +5 -5
- package/esm2022/lib/components/bmb-text-link/bmb-text-link.component.mjs +5 -5
- package/esm2022/lib/components/bmb-theme/bmb-theme.component.mjs +3 -3
- package/esm2022/lib/components/bmb-three-cols/bmb-three-cols.component.mjs +3 -3
- package/esm2022/lib/components/bmb-timestream/bmb-timestream-detail/bmb-timestream-detail.component.mjs +5 -5
- package/esm2022/lib/components/bmb-timestream/bmb-timestream-error/bmb-timestream-error.component.mjs +5 -5
- package/esm2022/lib/components/bmb-timestream/bmb-timestream.component.mjs +5 -5
- package/esm2022/lib/components/bmb-timestream-card/bmb-timestream-card.component.mjs +4 -4
- package/esm2022/lib/components/bmb-title-content/bmb-title-content.component.mjs +5 -5
- package/esm2022/lib/components/bmb-toast/bmb-toast.component.mjs +5 -5
- package/esm2022/lib/components/bmb-tooltip/bmb-tooltip.component.mjs +5 -5
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-item/bmb-top-bar-item.component.mjs +6 -6
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.mjs +45 -7
- package/esm2022/lib/components/bmb-top-bar/bmb-top-bar.component.mjs +11 -5
- package/esm2022/lib/components/bmb-totp/bmb-totp.component.mjs +5 -5
- package/esm2022/lib/components/bmb-user-image/bmb-user-image.component.mjs +3 -3
- package/esm2022/lib/components/bmb-user-profile/bmb-user-profile-content/bmb-user-profile-content.component.mjs +5 -5
- package/esm2022/lib/components/bmb-user-profile/bmb-user-profile.component.mjs +3 -3
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.mjs +19 -9
- package/esm2022/lib/components/bmb-user-summary/bmb-user-summary.component.mjs +5 -5
- package/esm2022/lib/components/bmb-value-counter/bmb-value-counter.component.mjs +5 -5
- package/esm2022/lib/components/bmb-web-templates/bmb-web-templates.component.mjs +5 -5
- package/esm2022/lib/components/bmb-wheel-menu/bmb-wheel-menu.component.mjs +5 -5
- package/esm2022/lib/components/utils/bmb-dropdown-content/bmb-dropdown-content.component.mjs +5 -5
- package/esm2022/lib/directives/bmb-accordion/bmb-accordion-control.directive.mjs +3 -3
- package/esm2022/lib/directives/bmb-button/button.directive.mjs +3 -3
- package/esm2022/lib/directives/bmb-button-group/bmb-button-group.directive.mjs +3 -3
- package/esm2022/lib/directives/bmb-layout/bmb-layout-item.directive.mjs +3 -3
- package/esm2022/lib/directives/bmb-layout/bmb-layout.directive.mjs +3 -3
- package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout-item.directive.mjs +3 -3
- package/esm2022/lib/directives/bmb-layout/bmb-vertical-layout/bmb-vertical-layout.directive.mjs +3 -3
- package/esm2022/lib/directives/bmb-layout-grid/bmb-layout-grid.directive.mjs +6 -6
- package/esm2022/lib/directives/utils/clickoutside.directive.mjs +3 -3
- package/esm2022/lib/ds-ng.component.mjs +3 -3
- package/esm2022/lib/ds-ng.service.mjs +3 -3
- package/esm2022/lib/services/calendar.service.mjs +3 -3
- package/esm2022/lib/services/native-modal.service.mjs +3 -3
- package/esm2022/lib/services/notification.service.mjs +18 -11
- package/esm2022/lib/services/projection.service.mjs +3 -3
- package/esm2022/lib/services/tabs.service.mjs +3 -3
- package/esm2022/lib/services/theme.service.mjs +3 -3
- package/esm2022/lib/services/toast.service.mjs +3 -3
- package/esm2022/lib/services/user/profile.service.mjs +3 -3
- package/esm2022/lib/types/index.mjs +1 -1
- package/esm2022/lib/utils/utils.mjs +6 -1
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs +1164 -983
- package/fesm2022/ti-tecnologico-de-monterrey-oficial-ds-ng.mjs.map +1 -1
- package/lib/components/bmb-account-statement/bmb-account-statement.component.d.ts +6 -4
- package/lib/components/bmb-alert-center/bmb-alert-center.component.d.ts +3 -3
- package/lib/components/bmb-calendar/bmb-calendar.component.d.ts +2 -0
- package/lib/components/bmb-card/bmb-card.component.d.ts +2 -1
- package/lib/components/bmb-chat-bar/bmb-chat-bar.component.d.ts +19 -18
- package/lib/components/bmb-container-button/bmb-container-button.component.d.ts +1 -1
- package/lib/components/bmb-drawer-overlay/bmb-drawer-overlay.component.d.ts +2 -0
- package/lib/components/bmb-filter-card/bmb-filter-card.component.d.ts +6 -5
- package/lib/components/bmb-filter-card/bmb-filter-card.interface.d.ts +2 -0
- package/lib/components/bmb-grades/bmb-grades.component.d.ts +3 -3
- package/lib/components/bmb-hito-card/bmb-hito-card.component.d.ts +7 -0
- package/lib/components/bmb-home-card-chat/bmb-home-card-chat.component.d.ts +3 -3
- package/lib/components/bmb-input/bmb-input-content/bmb-input-content.component.d.ts +1 -2
- package/lib/components/bmb-item/bmb-item.component.d.ts +1 -1
- package/lib/components/bmb-modal/bmb-modal.interface.d.ts +4 -1
- package/lib/components/bmb-modal/bmb-native-modal.component.d.ts +6 -5
- package/lib/components/bmb-portal/bmb-portal.component.d.ts +1 -0
- package/lib/components/bmb-portal/bmb-projected-content/bmb-projected-content.component.d.ts +1 -10
- package/lib/components/bmb-sidebar/bmb-sidebar.component.d.ts +4 -4
- package/lib/components/bmb-step-progress-bar/bmb-step-progress-bar.component.d.ts +10 -0
- package/lib/components/bmb-top-bar/bmb-top-bar-user-section/bmb-top-bar-user-section.component.d.ts +2 -0
- package/lib/components/bmb-top-bar/bmb-top-bar.component.d.ts +4 -1
- package/lib/components/bmb-user-summary/bmb-user-summary-content/bmb-user-summary-content.component.d.ts +4 -2
- package/lib/services/notification.service.d.ts +1 -1
- package/lib/types/index.d.ts +2 -1
- package/lib/utils/utils.d.ts +1 -0
- package/package.json +2 -2
- package/assets/images/gif/mitecLogoIntroMobile.gif +0 -0
- package/assets/images/gif/mitecLogoIntroWeb.gif +0 -0
- package/assets/images/lang-flags/mx.svg +0 -392
- package/assets/images/lang-flags/us.svg +0 -13
- package/assets/svg/info_fill.svg +0 -1
- package/assets/svg/info_fill_primary.svg +0 -1
- package/esm2022/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.mjs +0 -63
- package/esm2022/lib/components/bmb-form-validation/bmb-form-validation.component.mjs +0 -159
- package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.mjs +0 -162
- package/esm2022/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.mjs +0 -116
- package/esm2022/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.mjs +0 -16
- package/esm2022/lib/components/bmb-select/bmb-select.component.mjs +0 -55
- package/lib/components/bmb-calendar/common/bmb-calendar-template-event-list/bmb-calendar-template-event-list.component.d.ts +0 -17
- package/lib/components/bmb-form-validation/bmb-form-validation.component.d.ts +0 -34
- package/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.component.d.ts +0 -46
- package/lib/components/bmb-input/bmb-input-validation/bmb-input-validation.service.d.ts +0 -16
- package/lib/components/bmb-select/bmb-select-item/bmb-select-item.component.d.ts +0 -6
- package/lib/components/bmb-select/bmb-select.component.d.ts +0 -17
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, input, output, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input, output, signal, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
2
2
|
import { BmbBalanceOverviewComponent } from '../bmb-balance-overview/bmb-balance-overview.component';
|
|
3
3
|
import { BmbCardComponent, BmbCardContentComponent, } from '../bmb-card/bmb-card.component';
|
|
4
4
|
import { BmbProgressBarComponent } from '../bmb-progress-bar/bmb-progress-bar.component';
|
|
5
5
|
import { DateTime } from 'luxon';
|
|
6
6
|
import { BmbDividerComponent } from '../bmb-divider/bmb-divider.component';
|
|
7
7
|
import { BmbButtonDirective } from '../../directives/bmb-button/button.directive';
|
|
8
|
-
import { BmbModalComponent } from '../bmb-modal/bmb-modal.component';
|
|
9
8
|
import { BmbRadialComponent } from '../bmb-radial/bmb-radial.component';
|
|
10
9
|
import { currencyFormat } from '../../utils/currencyFormat';
|
|
11
10
|
import { BmbLayoutDirective } from '../../directives/bmb-layout/bmb-layout.directive';
|
|
@@ -13,12 +12,13 @@ import { BmbLayoutItemDirective } from '../../directives/bmb-layout/bmb-layout-i
|
|
|
13
12
|
import { BmbInputComponent } from '../bmb-input/bmb-input.component';
|
|
14
13
|
import { BmbInnerHeaderComponent } from '../bmb-inner-header/bmb-inner-header.component';
|
|
15
14
|
import { FormControl, FormGroup, Validators, ReactiveFormsModule, } from '@angular/forms';
|
|
15
|
+
import { CommonModule } from '@angular/common';
|
|
16
16
|
import * as i0 from "@angular/core";
|
|
17
|
-
import * as i1 from "
|
|
17
|
+
import * as i1 from "../../services/native-modal.service";
|
|
18
18
|
import * as i2 from "@angular/forms";
|
|
19
19
|
export class BmbAccountStatementComponent {
|
|
20
|
-
constructor(
|
|
21
|
-
this.
|
|
20
|
+
constructor(modalService) {
|
|
21
|
+
this.modalService = modalService;
|
|
22
22
|
this.title = input('Estado de cuenta');
|
|
23
23
|
this.progressCircleTitle = input(['Total a pagar', 'este mes']);
|
|
24
24
|
this.labelPrimary = input('Cuota Mensual');
|
|
@@ -46,6 +46,7 @@ export class BmbAccountStatementComponent {
|
|
|
46
46
|
this.customAmount = 0;
|
|
47
47
|
this.isEnableCustomAmount = false;
|
|
48
48
|
this.maxAmount = 0;
|
|
49
|
+
this.modalID = signal(null);
|
|
49
50
|
this.amountForm = new FormGroup({
|
|
50
51
|
amount: new FormControl(0, [Validators.required]),
|
|
51
52
|
});
|
|
@@ -71,10 +72,8 @@ export class BmbAccountStatementComponent {
|
|
|
71
72
|
subtitle: this.modalSubtitle(),
|
|
72
73
|
content: this.newModal,
|
|
73
74
|
size: 'large',
|
|
74
|
-
hidePrimaryButton: true,
|
|
75
|
-
hideSecondaryButton: true,
|
|
76
75
|
};
|
|
77
|
-
this.
|
|
76
|
+
this.modalID.set(this.modalService.openModal(data));
|
|
78
77
|
}
|
|
79
78
|
getFormattedDate(date) {
|
|
80
79
|
if (!date)
|
|
@@ -92,14 +91,18 @@ export class BmbAccountStatementComponent {
|
|
|
92
91
|
handleActiveCustomAmount(event) {
|
|
93
92
|
this.isEnableCustomAmount = event.value === 'modalOtherAmountInput';
|
|
94
93
|
}
|
|
95
|
-
|
|
94
|
+
handleSubmit() {
|
|
96
95
|
if (!this.isEnableCustomAmount) {
|
|
97
96
|
this.payEvent.emit(this.totalCount() - this.counter());
|
|
97
|
+
this.modalService.closeModal(this.modalID());
|
|
98
|
+
this.modalID.set(null);
|
|
98
99
|
}
|
|
99
100
|
else if (this.amountForm.valid) {
|
|
100
101
|
const amount = Number(this.amountForm.controls['amount'].value);
|
|
101
102
|
if (amount > 0 && amount <= this.maxAmount) {
|
|
102
103
|
this.payEvent.emit(amount);
|
|
104
|
+
this.modalService.closeModal(this.modalID());
|
|
105
|
+
this.modalID.set(null);
|
|
103
106
|
}
|
|
104
107
|
else {
|
|
105
108
|
this.showErrors['amount'] = true;
|
|
@@ -124,10 +127,28 @@ export class BmbAccountStatementComponent {
|
|
|
124
127
|
getProgressPercent() {
|
|
125
128
|
return (100 * this.counter()) / this.totalCount();
|
|
126
129
|
}
|
|
127
|
-
|
|
128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BmbAccountStatementComponent, isStandalone: true, selector: "bmb-account-statement", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, progressCircleTitle: { classPropertyName: "progressCircleTitle", publicName: "progressCircleTitle", isSignal: true, isRequired: false, transformFunction: null }, labelPrimary: { classPropertyName: "labelPrimary", publicName: "labelPrimary", isSignal: true, isRequired: false, transformFunction: null }, labelSecondary: { classPropertyName: "labelSecondary", publicName: "labelSecondary", isSignal: true, isRequired: false, transformFunction: null }, totalCount: { classPropertyName: "totalCount", publicName: "totalCount", isSignal: true, isRequired: false, transformFunction: null }, counter: { classPropertyName: "counter", publicName: "counter", isSignal: true, isRequired: false, transformFunction: null }, progressTitle: { classPropertyName: "progressTitle", publicName: "progressTitle", isSignal: true, isRequired: false, transformFunction: null }, formatDates: { classPropertyName: "formatDates", publicName: "formatDates", isSignal: true, isRequired: false, transformFunction: null }, paymentDeadline: { classPropertyName: "paymentDeadline", publicName: "paymentDeadline", isSignal: true, isRequired: false, transformFunction: null }, cutOffDate: { classPropertyName: "cutOffDate", publicName: "cutOffDate", isSignal: true, isRequired: false, transformFunction: null }, paymentDeadlineLabel: { classPropertyName: "paymentDeadlineLabel", publicName: "paymentDeadlineLabel", isSignal: true, isRequired: false, transformFunction: null }, cutOffDateLabel: { classPropertyName: "cutOffDateLabel", publicName: "cutOffDateLabel", isSignal: true, isRequired: false, transformFunction: null }, payButtonLabel: { classPropertyName: "payButtonLabel", publicName: "payButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, backButtonLabel: { classPropertyName: "backButtonLabel", publicName: "backButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, modalTitle: { classPropertyName: "modalTitle", publicName: "modalTitle", isSignal: true, isRequired: false, transformFunction: null }, modalSubtitle: { classPropertyName: "modalSubtitle", publicName: "modalSubtitle", isSignal: true, isRequired: false, transformFunction: null }, modalRestLabel: { classPropertyName: "modalRestLabel", publicName: "modalRestLabel", isSignal: true, isRequired: false, transformFunction: null }, modalOtherAmountLabel: { classPropertyName: "modalOtherAmountLabel", publicName: "modalOtherAmountLabel", isSignal: true, isRequired: false, transformFunction: null }, modalPrimaryButtonLabel: { classPropertyName: "modalPrimaryButtonLabel", publicName: "modalPrimaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeEvent: "closeEvent", backEvent: "backEvent", payEvent: "payEvent" }, viewQueries: [{ propertyName: "modalTemplate", first: true, predicate: ["modalTemplate"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"bmb_account-statement\">\n <bmb-inner-header\n (onHandleClose)=\"handleClose($event)\"\n [title]=\"title()\"\n [showSearch]=\"false\"\n [showClose]=\"true\"\n />\n <main class=\"bmb_account-statement-content\">\n <div class=\"bmb_account-statement-content-balance\">\n <bmb-balance-overview\n [progressCircleTitle]=\"progressCircleTitle()\"\n [labelPrimary]=\"labelPrimary()\"\n [labelSecondary]=\"labelSecondary()\"\n [progressCircleValue]=\"getFormattedAmount(totalCount() - counter())\"\n [valuePrimary]=\"getFormattedAmount(totalCount())\"\n [valueSecondary]=\"getFormattedAmount(counter())\"\n [progressCirclePercent]=\"getProgressPercent()\"\n />\n </div>\n <bmb-card>\n <bmb-card-content padding=\"none\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n </bmb-card-content>\n </bmb-card>\n <bmb-card>\n <bmb-card-content>\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ cutOffDateLabel() }}</span>\n <span>{{ getFormattedDate(cutOffDate()) }}</span>\n </p>\n <bmb-divider />\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ paymentDeadlineLabel() }}</span>\n <span>{{ getFormattedDate(paymentDeadline()) }}</span>\n </p>\n </bmb-card-content>\n </bmb-card>\n </main>\n <footer class=\"bmb_account-statement-footer\">\n <button\n bmbButton\n size=\"large\"\n appearance=\"secondary-outlined\"\n (click)=\"handleBack($event)\"\n type=\"button\"\n >\n {{ backButtonLabel() }}\n </button>\n <button (click)=\"handlePay()\" bmbButton size=\"large\" type=\"button\">\n {{ payButtonLabel() }}\n </button>\n </footer>\n</div>\n\n<ng-template #modalTemplate>\n <section class=\"bmb_account-statement-modal\">\n <form [formGroup]=\"amountForm\" (ngSubmit)=\"onSubmit()\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalRestInput\"\n name=\"modalAmount\"\n [checked]=\"true\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalRestInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalRestLabel() }}\n <br />\n {{ getFormattedAmount(totalCount() - counter()) }}\n </span>\n </label>\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalOtherAmountInput\"\n name=\"modalAmount\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalOtherAmountInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalOtherAmountLabel() }}\n </span>\n </label>\n @if (isEnableCustomAmount) {\n <bmb-input\n type=\"number\"\n [max]=\"totalCount() - counter()\"\n [min]=\"0\"\n pattern=\"\\d*\"\n [errorMessage]=\"errorMessage()\"\n [isRequired]=\"true\"\n [control]=\"getFormControl('amount')\"\n [showError]=\"showErrors['amount']\"\n />\n }\n <footer class=\"bmb_account-statement-footer\">\n <button type=\"submit\" bmbButton size=\"large\">\n {{ modalPrimaryButtonLabel() }}\n </button>\n </footer>\n </form>\n </section>\n</ng-template>\n", styles: ["@font-face{font-family:Poppins-Thin;font-style:normal;font-weight:100;src:url(/assets/fonts/Poppins/Poppins-Thin.ttf) format(\"truetype\")}@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-Medium;font-style:normal;font-weight:500;src:url(/assets/fonts/Poppins/Poppins-Medium.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Semibold;font-style:normal;font-weight:600;src:url(/assets/fonts/Poppins/Poppins-SemiBold.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_account-statement{height:100dvh;display:flex;flex-flow:column}.bmb_account-statement-content{flex:1;overflow:auto}.bmb_account-statement-content-balance{max-width:18.75rem;margin:var(--bmb-spacing-xl) auto}.bmb_account-statement-content-date{text-transform:capitalize;display:flex;justify-content:space-between;margin:0}.bmb_account-statement-footer{display:flex;gap:var(--bmb-spacing-m);padding:var(--bmb-spacing-m)}.bmb_account-statement-modal{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.bmb_account-statement-modal .bmb_progress-bar-container-main{padding:0}[data-theme=dark] .bmb_account-statement-modal,.storybook-dark-theme .bmb_account-statement-modal{color:RGBA(var(--color-charade-50))}\n"], dependencies: [{ kind: "component", type: BmbBalanceOverviewComponent, selector: "bmb-balance-overview", inputs: ["progressCirclePercent", "progressCircleValue", "showProgressCircleValue", "progressCircleTitle", "showProgressCircleTitle", "showProgressCircleBackground", "labelPrimary", "valuePrimary", "labelSecondary", "valueSecondary"] }, { kind: "component", type: BmbCardComponent, selector: "bmb-card", inputs: ["borderRadius", "margin", "type", "state", "boxShadowStyle", "borderColor", "alternative"] }, { kind: "component", type: BmbCardContentComponent, selector: "bmb-card-content", inputs: ["padding", "colorBackground"] }, { kind: "component", type: BmbProgressBarComponent, selector: "bmb-progress-bar", inputs: ["type", "totalCount", "counter", "title", "appearance", "textLink", "href", "target", "textFormat"] }, { kind: "component", type: BmbDividerComponent, selector: "bmb-divider", inputs: ["type"] }, { kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbRadialComponent, selector: "bmb-radial", inputs: ["id", "checked", "disabled", "value", "name", "label", "labelPosition", "ariaDescribedby", "ariaLabel", "ariaLabelledby", "required", "errorMessage", "helperMessage", "showError", "control", "inputId"], outputs: ["showErrorChange", "controlChange", "inputIdChange", "change", "onKeyDown"] }, { kind: "directive", type: BmbLayoutDirective, selector: "[bmbLayout]", inputs: ["gapSize", "margin", "dynamicCols", "justify", "alignItems"] }, { kind: "directive", type: BmbLayoutItemDirective, selector: "[bmbLayoutItem]", inputs: ["colSm", "colLg", "marginLeft", "marginRight", "colGrow", "isDynamicItem"] }, { kind: "component", type: BmbInputComponent, selector: "bmb-input", inputs: ["label", "type", "placeholder", "icon", "appearance", "errorMessage", "helperMessage", "disabled", "isRequired", "name", "spellcheck", "jsonFormat", "heightTextArea", "maxlength", "minlength", "pattern", "size", "max", "min", "id", "value", "autocomplete", "tooltip", "rows", "showMaxTextLength", "additionalAction", "tooltipPosition", "isClearable", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange", "isFocus", "isBlur", "onChange", "onKeyDown"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: BmbInnerHeaderComponent, selector: "bmb-inner-header", inputs: ["title", "placeholderSearch", "subTitle", "trailingIconPrimary", "trailingIconSecondary", "showClose", "showReturn", "showSearch"], outputs: ["onHandleTrailingPrimary", "onHandleTrailingSecondary", "onHandleBack", "onHandleClose", "searchData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
130
|
+
customHandleClick() {
|
|
131
|
+
console.log('customHandleClick');
|
|
132
|
+
if (!this.isEnableCustomAmount) {
|
|
133
|
+
this.payEvent.emit(this.totalCount() - this.counter());
|
|
134
|
+
}
|
|
135
|
+
else if (this.amountForm.valid) {
|
|
136
|
+
const amount = Number(this.amountForm.controls['amount'].value);
|
|
137
|
+
if (amount > 0 && amount <= this.maxAmount) {
|
|
138
|
+
this.payEvent.emit(amount);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
this.showErrors['amount'] = true;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
this.showErrors['amount'] = true;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbAccountStatementComponent, deps: [{ token: i1.BmbNativeModalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
149
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BmbAccountStatementComponent, isStandalone: true, selector: "bmb-account-statement", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, progressCircleTitle: { classPropertyName: "progressCircleTitle", publicName: "progressCircleTitle", isSignal: true, isRequired: false, transformFunction: null }, labelPrimary: { classPropertyName: "labelPrimary", publicName: "labelPrimary", isSignal: true, isRequired: false, transformFunction: null }, labelSecondary: { classPropertyName: "labelSecondary", publicName: "labelSecondary", isSignal: true, isRequired: false, transformFunction: null }, totalCount: { classPropertyName: "totalCount", publicName: "totalCount", isSignal: true, isRequired: false, transformFunction: null }, counter: { classPropertyName: "counter", publicName: "counter", isSignal: true, isRequired: false, transformFunction: null }, progressTitle: { classPropertyName: "progressTitle", publicName: "progressTitle", isSignal: true, isRequired: false, transformFunction: null }, formatDates: { classPropertyName: "formatDates", publicName: "formatDates", isSignal: true, isRequired: false, transformFunction: null }, paymentDeadline: { classPropertyName: "paymentDeadline", publicName: "paymentDeadline", isSignal: true, isRequired: false, transformFunction: null }, cutOffDate: { classPropertyName: "cutOffDate", publicName: "cutOffDate", isSignal: true, isRequired: false, transformFunction: null }, paymentDeadlineLabel: { classPropertyName: "paymentDeadlineLabel", publicName: "paymentDeadlineLabel", isSignal: true, isRequired: false, transformFunction: null }, cutOffDateLabel: { classPropertyName: "cutOffDateLabel", publicName: "cutOffDateLabel", isSignal: true, isRequired: false, transformFunction: null }, payButtonLabel: { classPropertyName: "payButtonLabel", publicName: "payButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, backButtonLabel: { classPropertyName: "backButtonLabel", publicName: "backButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, modalTitle: { classPropertyName: "modalTitle", publicName: "modalTitle", isSignal: true, isRequired: false, transformFunction: null }, modalSubtitle: { classPropertyName: "modalSubtitle", publicName: "modalSubtitle", isSignal: true, isRequired: false, transformFunction: null }, modalRestLabel: { classPropertyName: "modalRestLabel", publicName: "modalRestLabel", isSignal: true, isRequired: false, transformFunction: null }, modalOtherAmountLabel: { classPropertyName: "modalOtherAmountLabel", publicName: "modalOtherAmountLabel", isSignal: true, isRequired: false, transformFunction: null }, modalPrimaryButtonLabel: { classPropertyName: "modalPrimaryButtonLabel", publicName: "modalPrimaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeEvent: "closeEvent", backEvent: "backEvent", payEvent: "payEvent" }, viewQueries: [{ propertyName: "modalTemplate", first: true, predicate: ["modalTemplate"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"bmb_account-statement\">\n <bmb-inner-header\n (onHandleClose)=\"handleClose($event)\"\n [title]=\"title()\"\n [showSearch]=\"false\"\n [showClose]=\"true\"\n />\n <main class=\"bmb_account-statement-content\">\n <div class=\"bmb_account-statement-content-balance\">\n <bmb-balance-overview\n [progressCircleTitle]=\"progressCircleTitle()\"\n [labelPrimary]=\"labelPrimary()\"\n [labelSecondary]=\"labelSecondary()\"\n [progressCircleValue]=\"getFormattedAmount(totalCount() - counter())\"\n [valuePrimary]=\"getFormattedAmount(totalCount())\"\n [valueSecondary]=\"getFormattedAmount(counter())\"\n [progressCirclePercent]=\"getProgressPercent()\"\n />\n </div>\n <bmb-card>\n <bmb-card-content padding=\"none\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n </bmb-card-content>\n </bmb-card>\n <bmb-card>\n <bmb-card-content>\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ cutOffDateLabel() }}</span>\n <span>{{ getFormattedDate(cutOffDate()) }}</span>\n </p>\n <bmb-divider />\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ paymentDeadlineLabel() }}</span>\n <span>{{ getFormattedDate(paymentDeadline()) }}</span>\n </p>\n </bmb-card-content>\n </bmb-card>\n </main>\n <footer class=\"bmb_account-statement-footer\">\n <button\n bmbButton\n size=\"large\"\n appearance=\"secondary-outlined\"\n (click)=\"handleBack($event)\"\n type=\"button\"\n >\n {{ backButtonLabel() }}\n </button>\n <button (click)=\"handlePay()\" bmbButton size=\"large\" type=\"button\">\n {{ payButtonLabel() }}\n </button>\n </footer>\n</div>\n\n<ng-template #modalTemplate>\n <section class=\"bmb_account-statement-modal\">\n <form [formGroup]=\"amountForm\" (ngSubmit)=\"handleSubmit()\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalRestInput\"\n name=\"modalAmount\"\n [checked]=\"true\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalRestInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalRestLabel() }}\n <br />\n {{ getFormattedAmount(totalCount() - counter()) }}\n </span>\n </label>\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalOtherAmountInput\"\n name=\"modalAmount\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalOtherAmountInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalOtherAmountLabel() }}\n </span>\n </label>\n @if (isEnableCustomAmount) {\n <bmb-input\n type=\"number\"\n [max]=\"totalCount() - counter()\"\n [min]=\"1\"\n pattern=\"\\d*\"\n [errorMessage]=\"errorMessage()\"\n [isRequired]=\"true\"\n [control]=\"getFormControl('amount')\"\n [showError]=\"showErrors['amount']\"\n />\n }\n <footer class=\"bmb_account-statement-footer\">\n <button type=\"submit\" bmbButton size=\"large\">\n {{ modalPrimaryButtonLabel() }}\n </button>\n </footer>\n </form>\n </section>\n</ng-template>\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_account-statement{height:100dvh;display:flex;flex-flow:column}.bmb_account-statement-content{flex:1;overflow:auto}.bmb_account-statement-content-balance{max-width:18.75rem;margin:var(--bmb-spacing-xl) auto}.bmb_account-statement-content-date{text-transform:capitalize;display:flex;justify-content:space-between;margin:0}.bmb_account-statement-footer{display:flex;gap:var(--bmb-spacing-m);padding:var(--bmb-spacing-m)}.bmb_account-statement-modal{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.bmb_account-statement-modal .bmb_progress-bar-container-main{padding:0}[data-theme=dark] .bmb_account-statement-modal,.storybook-dark-theme .bmb_account-statement-modal{color:RGBA(var(--color-charade-50))}\n"], dependencies: [{ kind: "component", type: BmbBalanceOverviewComponent, selector: "bmb-balance-overview", inputs: ["progressCirclePercent", "progressCircleValue", "showProgressCircleValue", "progressCircleTitle", "showProgressCircleTitle", "showProgressCircleBackground", "labelPrimary", "valuePrimary", "labelSecondary", "valueSecondary"] }, { kind: "component", type: BmbCardComponent, selector: "bmb-card", inputs: ["borderRadius", "margin", "type", "state", "boxShadowStyle", "borderColor", "alternative"] }, { kind: "component", type: BmbCardContentComponent, selector: "bmb-card-content", inputs: ["padding", "colorBackground", "setBorderRadius"] }, { kind: "component", type: BmbProgressBarComponent, selector: "bmb-progress-bar", inputs: ["type", "totalCount", "counter", "title", "appearance", "textLink", "href", "target", "textFormat"] }, { kind: "component", type: BmbDividerComponent, selector: "bmb-divider", inputs: ["type"] }, { kind: "directive", type: BmbButtonDirective, selector: "[bmbButton]", inputs: ["icon", "iconSize", "position", "case", "appearance", "size", "isToggleActive", "enableButtonToggle", "isRounded", "isMobile", "iconAlt"] }, { kind: "component", type: BmbRadialComponent, selector: "bmb-radial", inputs: ["id", "checked", "disabled", "value", "name", "label", "labelPosition", "ariaDescribedby", "ariaLabel", "ariaLabelledby", "required", "errorMessage", "helperMessage", "showError", "control", "inputId"], outputs: ["showErrorChange", "controlChange", "inputIdChange", "change", "onKeyDown"] }, { kind: "directive", type: BmbLayoutDirective, selector: "[bmbLayout]", inputs: ["gapSize", "margin", "dynamicCols", "justify", "alignItems"] }, { kind: "directive", type: BmbLayoutItemDirective, selector: "[bmbLayoutItem]", inputs: ["colSm", "colLg", "marginLeft", "marginRight", "colGrow", "isDynamicItem"] }, { kind: "component", type: BmbInputComponent, selector: "bmb-input", inputs: ["label", "type", "placeholder", "icon", "appearance", "errorMessage", "helperMessage", "disabled", "isRequired", "name", "spellcheck", "jsonFormat", "heightTextArea", "maxlength", "minlength", "pattern", "size", "max", "min", "id", "value", "autocomplete", "tooltip", "rows", "showMaxTextLength", "additionalAction", "tooltipPosition", "isClearable", "customValidation", "showError", "control"], outputs: ["showErrorChange", "controlChange", "isFocus", "isBlur", "onChange", "onKeyDown"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: BmbInnerHeaderComponent, selector: "bmb-inner-header", inputs: ["title", "placeholderSearch", "subTitle", "trailingIconPrimary", "trailingIconSecondary", "showClose", "showReturn", "showSearch"], outputs: ["onHandleTrailingPrimary", "onHandleTrailingSecondary", "onHandleBack", "onHandleClose", "searchData"] }, { kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
129
150
|
}
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BmbAccountStatementComponent, decorators: [{
|
|
131
152
|
type: Component,
|
|
132
153
|
args: [{ selector: 'bmb-account-statement', standalone: true, imports: [
|
|
133
154
|
BmbBalanceOverviewComponent,
|
|
@@ -142,9 +163,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
142
163
|
BmbInputComponent,
|
|
143
164
|
ReactiveFormsModule,
|
|
144
165
|
BmbInnerHeaderComponent,
|
|
145
|
-
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bmb_account-statement\">\n <bmb-inner-header\n (onHandleClose)=\"handleClose($event)\"\n [title]=\"title()\"\n [showSearch]=\"false\"\n [showClose]=\"true\"\n />\n <main class=\"bmb_account-statement-content\">\n <div class=\"bmb_account-statement-content-balance\">\n <bmb-balance-overview\n [progressCircleTitle]=\"progressCircleTitle()\"\n [labelPrimary]=\"labelPrimary()\"\n [labelSecondary]=\"labelSecondary()\"\n [progressCircleValue]=\"getFormattedAmount(totalCount() - counter())\"\n [valuePrimary]=\"getFormattedAmount(totalCount())\"\n [valueSecondary]=\"getFormattedAmount(counter())\"\n [progressCirclePercent]=\"getProgressPercent()\"\n />\n </div>\n <bmb-card>\n <bmb-card-content padding=\"none\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n </bmb-card-content>\n </bmb-card>\n <bmb-card>\n <bmb-card-content>\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ cutOffDateLabel() }}</span>\n <span>{{ getFormattedDate(cutOffDate()) }}</span>\n </p>\n <bmb-divider />\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ paymentDeadlineLabel() }}</span>\n <span>{{ getFormattedDate(paymentDeadline()) }}</span>\n </p>\n </bmb-card-content>\n </bmb-card>\n </main>\n <footer class=\"bmb_account-statement-footer\">\n <button\n bmbButton\n size=\"large\"\n appearance=\"secondary-outlined\"\n (click)=\"handleBack($event)\"\n type=\"button\"\n >\n {{ backButtonLabel() }}\n </button>\n <button (click)=\"handlePay()\" bmbButton size=\"large\" type=\"button\">\n {{ payButtonLabel() }}\n </button>\n </footer>\n</div>\n\n<ng-template #modalTemplate>\n <section class=\"bmb_account-statement-modal\">\n <form [formGroup]=\"amountForm\" (ngSubmit)=\"onSubmit()\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalRestInput\"\n name=\"modalAmount\"\n [checked]=\"true\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalRestInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalRestLabel() }}\n <br />\n {{ getFormattedAmount(totalCount() - counter()) }}\n </span>\n </label>\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalOtherAmountInput\"\n name=\"modalAmount\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalOtherAmountInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalOtherAmountLabel() }}\n </span>\n </label>\n @if (isEnableCustomAmount) {\n <bmb-input\n type=\"number\"\n [max]=\"totalCount() - counter()\"\n [min]=\"0\"\n pattern=\"\\d*\"\n [errorMessage]=\"errorMessage()\"\n [isRequired]=\"true\"\n [control]=\"getFormControl('amount')\"\n [showError]=\"showErrors['amount']\"\n />\n }\n <footer class=\"bmb_account-statement-footer\">\n <button type=\"submit\" bmbButton size=\"large\">\n {{ modalPrimaryButtonLabel() }}\n </button>\n </footer>\n </form>\n </section>\n</ng-template>\n", styles: ["@font-face{font-family:Poppins-Thin;font-style:normal;font-weight:100;src:url(/assets/fonts/Poppins/Poppins-Thin.ttf) format(\"truetype\")}@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-Medium;font-style:normal;font-weight:500;src:url(/assets/fonts/Poppins/Poppins-Medium.ttf) format(\"truetype\")}@font-face{font-family:Poppins-Semibold;font-style:normal;font-weight:600;src:url(/assets/fonts/Poppins/Poppins-SemiBold.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_account-statement{height:100dvh;display:flex;flex-flow:column}.bmb_account-statement-content{flex:1;overflow:auto}.bmb_account-statement-content-balance{max-width:18.75rem;margin:var(--bmb-spacing-xl) auto}.bmb_account-statement-content-date{text-transform:capitalize;display:flex;justify-content:space-between;margin:0}.bmb_account-statement-footer{display:flex;gap:var(--bmb-spacing-m);padding:var(--bmb-spacing-m)}.bmb_account-statement-modal{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.bmb_account-statement-modal .bmb_progress-bar-container-main{padding:0}[data-theme=dark] .bmb_account-statement-modal,.storybook-dark-theme .bmb_account-statement-modal{color:RGBA(var(--color-charade-50))}\n"] }]
|
|
146
|
-
}], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { modalTemplate: [{
|
|
166
|
+
CommonModule,
|
|
167
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bmb_account-statement\">\n <bmb-inner-header\n (onHandleClose)=\"handleClose($event)\"\n [title]=\"title()\"\n [showSearch]=\"false\"\n [showClose]=\"true\"\n />\n <main class=\"bmb_account-statement-content\">\n <div class=\"bmb_account-statement-content-balance\">\n <bmb-balance-overview\n [progressCircleTitle]=\"progressCircleTitle()\"\n [labelPrimary]=\"labelPrimary()\"\n [labelSecondary]=\"labelSecondary()\"\n [progressCircleValue]=\"getFormattedAmount(totalCount() - counter())\"\n [valuePrimary]=\"getFormattedAmount(totalCount())\"\n [valueSecondary]=\"getFormattedAmount(counter())\"\n [progressCirclePercent]=\"getProgressPercent()\"\n />\n </div>\n <bmb-card>\n <bmb-card-content padding=\"none\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n </bmb-card-content>\n </bmb-card>\n <bmb-card>\n <bmb-card-content>\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ cutOffDateLabel() }}</span>\n <span>{{ getFormattedDate(cutOffDate()) }}</span>\n </p>\n <bmb-divider />\n <p class=\"bmb_account-statement-content-date\">\n <span>{{ paymentDeadlineLabel() }}</span>\n <span>{{ getFormattedDate(paymentDeadline()) }}</span>\n </p>\n </bmb-card-content>\n </bmb-card>\n </main>\n <footer class=\"bmb_account-statement-footer\">\n <button\n bmbButton\n size=\"large\"\n appearance=\"secondary-outlined\"\n (click)=\"handleBack($event)\"\n type=\"button\"\n >\n {{ backButtonLabel() }}\n </button>\n <button (click)=\"handlePay()\" bmbButton size=\"large\" type=\"button\">\n {{ payButtonLabel() }}\n </button>\n </footer>\n</div>\n\n<ng-template #modalTemplate>\n <section class=\"bmb_account-statement-modal\">\n <form [formGroup]=\"amountForm\" (ngSubmit)=\"handleSubmit()\">\n <bmb-progress-bar\n appearance=\"info\"\n type=\"container\"\n [counter]=\"counter()\"\n [totalCount]=\"totalCount()\"\n [title]=\"progressTitle()\"\n />\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalRestInput\"\n name=\"modalAmount\"\n [checked]=\"true\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalRestInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalRestLabel() }}\n <br />\n {{ getFormattedAmount(totalCount() - counter()) }}\n </span>\n </label>\n <bmb-divider />\n <label\n class=\"bmb_account-statement-modal-label\"\n bmbLayout\n alignItems=\"center\"\n [dynamicCols]=\"true\"\n >\n <bmb-radial\n id=\"modalOtherAmountInput\"\n name=\"modalAmount\"\n (change)=\"handleActiveCustomAmount($event)\"\n value=\"modalOtherAmountInput\"\n />\n <span bmbLayoutItem [colGrow]=\"1\">\n {{ modalOtherAmountLabel() }}\n </span>\n </label>\n @if (isEnableCustomAmount) {\n <bmb-input\n type=\"number\"\n [max]=\"totalCount() - counter()\"\n [min]=\"1\"\n pattern=\"\\d*\"\n [errorMessage]=\"errorMessage()\"\n [isRequired]=\"true\"\n [control]=\"getFormControl('amount')\"\n [showError]=\"showErrors['amount']\"\n />\n }\n <footer class=\"bmb_account-statement-footer\">\n <button type=\"submit\" bmbButton size=\"large\">\n {{ modalPrimaryButtonLabel() }}\n </button>\n </footer>\n </form>\n </section>\n</ng-template>\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_account-statement{height:100dvh;display:flex;flex-flow:column}.bmb_account-statement-content{flex:1;overflow:auto}.bmb_account-statement-content-balance{max-width:18.75rem;margin:var(--bmb-spacing-xl) auto}.bmb_account-statement-content-date{text-transform:capitalize;display:flex;justify-content:space-between;margin:0}.bmb_account-statement-footer{display:flex;gap:var(--bmb-spacing-m);padding:var(--bmb-spacing-m)}.bmb_account-statement-modal{font-family:Poppins-Medium,sans-serif;font-size:.75rem}.bmb_account-statement-modal .bmb_progress-bar-container-main{padding:0}[data-theme=dark] .bmb_account-statement-modal,.storybook-dark-theme .bmb_account-statement-modal{color:RGBA(var(--color-charade-50))}\n"] }]
|
|
168
|
+
}], ctorParameters: () => [{ type: i1.BmbNativeModalService }], propDecorators: { modalTemplate: [{
|
|
147
169
|
type: ViewChild,
|
|
148
170
|
args: ['modalTemplate', { read: TemplateRef }]
|
|
149
171
|
}] } });
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItYWNjb3VudC1zdGF0ZW1lbnQvYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItYWNjb3VudC1zdGF0ZW1lbnQvYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUNMLGdCQUFnQixFQUNoQix1QkFBdUIsR0FDeEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRWxGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0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SSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwRCxDQUFDOytHQTNIVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixvbkdBNEJILFdBQVcsNkJDdEZqRCxvOEhBK0hBLHFoT0R2RkksMkJBQTJCLDRTQUMzQixnQkFBZ0IsMEpBQ2hCLHVCQUF1QixxR0FDdkIsdUJBQXVCLDJLQUN2QixtQkFBbUIsMEVBQ25CLGtCQUFrQiw0TUFDbEIsa0JBQWtCLGtXQUNsQixrQkFBa0IsK0hBQ2xCLHNCQUFzQixpSkFDdEIsaUJBQWlCLHVpQkFDakIsbUJBQW1CLHFiQUNuQix1QkFBdUI7OzRGQU9kLDRCQUE0QjtrQkF0QnhDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUDt3QkFDUCwyQkFBMkI7d0JBQzNCLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3FCQUN4QixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzhFQStCL0MsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgT25Jbml0LFxuICBvdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJtYkJhbGFuY2VPdmVydmlld0NvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1iYWxhbmNlLW92ZXJ2aWV3L2JtYi1iYWxhbmNlLW92ZXJ2aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBCbWJDYXJkQ29tcG9uZW50LFxuICBCbWJDYXJkQ29udGVudENvbXBvbmVudCxcbn0gZnJvbSAnLi4vYm1iLWNhcmQvYm1iLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYlByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLXByb2dyZXNzLWJhci9ibWItcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gJ2x1eG9uJztcbmltcG9ydCB7IEJtYkRpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuLi9ibWItZGl2aWRlci9ibWItZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ibWItYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEJtYk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLW1vZGFsL2JtYi1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWxEYXRhQ29uZmlnIH0gZnJvbSAnLi4vYm1iLW1vZGFsL2JtYi1tb2RhbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQm1iUmFkaWFsQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLXJhZGlhbC9ibWItcmFkaWFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjdXJyZW5jeUZvcm1hdCB9IGZyb20gJy4uLy4uL3V0aWxzL2N1cnJlbmN5Rm9ybWF0JztcbmltcG9ydCB7IEJtYkxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvYm1iLWxheW91dC9ibWItbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCbWJMYXlvdXRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ibWItbGF5b3V0L2JtYi1sYXlvdXQtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQm1iSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9ibWItaW5wdXQvYm1iLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJJbm5lckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pbm5lci1oZWFkZXIvYm1iLWlubmVyLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9ycyxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItYWNjb3VudC1zdGF0ZW1lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQm1iQmFsYW5jZU92ZXJ2aWV3Q29tcG9uZW50LFxuICAgIEJtYkNhcmRDb21wb25lbnQsXG4gICAgQm1iQ2FyZENvbnRlbnRDb21wb25lbnQsXG4gICAgQm1iUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgQm1iRGl2aWRlckNvbXBvbmVudCxcbiAgICBCbWJCdXR0b25EaXJlY3RpdmUsXG4gICAgQm1iUmFkaWFsQ29tcG9uZW50LFxuICAgIEJtYkxheW91dERpcmVjdGl2ZSxcbiAgICBCbWJMYXlvdXRJdGVtRGlyZWN0aXZlLFxuICAgIEJtYklucHV0Q29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQm1iSW5uZXJIZWFkZXJDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ibWItYWNjb3VudC1zdGF0ZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJtYkFjY291bnRTdGF0ZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuICB0aXRsZSA9IGlucHV0PHN0cmluZz4oJ0VzdGFkbyBkZSBjdWVudGEnKTtcbiAgcHJvZ3Jlc3NDaXJjbGVUaXRsZSA9IGlucHV0PHN0cmluZ1tdPihbJ1RvdGFsIGEgcGFnYXInLCAnZXN0ZSBtZXMnXSk7XG4gIGxhYmVsUHJpbWFyeSA9IGlucHV0PHN0cmluZz4oJ0N1b3RhIE1lbnN1YWwnKTtcbiAgbGFiZWxTZWNvbmRhcnkgPSBpbnB1dDxzdHJpbmc+KCdQZW5kaWVudGUnKTtcbiAgdG90YWxDb3VudCA9IGlucHV0PG51bWJlcj4oMCk7XG4gIGNvdW50ZXIgPSBpbnB1dDxudW1iZXI+KDApO1xuICBwcm9ncmVzc1RpdGxlID0gaW5wdXQ8c3RyaW5nPignVG90YWwgcGFnYWRvJyk7XG4gIGZvcm1hdERhdGVzID0gaW5wdXQ8c3RyaW5nPigneXl5eS1NTS1kZCcpO1xuICBwYXltZW50RGVhZGxpbmUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGN1dE9mZkRhdGUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHBheW1lbnREZWFkbGluZUxhYmVsID0gaW5wdXQ8c3RyaW5nPignRmVjaGEgbMOtbWl0ZSBkZSBwYWdvOicpO1xuICBjdXRPZmZEYXRlTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdGZWNoYSBkZSBjb3J0ZTonKTtcbiAgcGF5QnV0dG9uTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdQYWdhcicpO1xuICBiYWNrQnV0dG9uTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdSZWdyZXNhcicpO1xuICBtb2RhbFRpdGxlID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIG1vZGFsU3VidGl0bGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgbW9kYWxSZXN0TGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdQYWdhciByZXN0YW50ZScpO1xuICBtb2RhbE90aGVyQW1vdW50TGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdPdHJhIGNhbnRpZGFkJyk7XG4gIG1vZGFsUHJpbWFyeUJ1dHRvbkxhYmVsID0gaW5wdXQ8c3RyaW5nPignUGFnYXInKTtcbiAgZXJyb3JNZXNzYWdlID0gaW5wdXQ8c3RyaW5nPihcbiAgICAnRXJyb3IsIEVzdGUgY2FtcG8gZXMgcmVxdWVyaWRvIHkgZGViZSBzZXIgdW5hIGNhbnRpZGFkIGVudHJlIDEgeSAnLFxuICApO1xuXG4gIGNsb3NlRXZlbnQgPSBvdXRwdXQ8TW91c2VFdmVudD4oKTtcbiAgYmFja0V2ZW50ID0gb3V0cHV0PE1vdXNlRXZlbnQ+KCk7XG4gIHBheUV2ZW50ID0gb3V0cHV0PG51bWJlcj4oKTtcblxuICBAVmlld0NoaWxkKCdtb2RhbFRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBtb2RhbFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBuZXdNb2RhbDogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICBjdXN0b21BbW91bnQ6IG51bWJlciA9IDA7XG4gIGlzRW5hYmxlQ3VzdG9tQW1vdW50OiBib29sZWFuID0gZmFsc2U7XG4gIG1heEFtb3VudDogbnVtYmVyID0gMDtcblxuICBhbW91bnRGb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBhbW91bnQ6IG5ldyBGb3JtQ29udHJvbDxudW1iZXI+KDAsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXG4gIH0pO1xuICBzaG93RXJyb3JzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWF0RGlhbG9nOiBNYXREaWFsb2cpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tYXhBbW91bnQgPSB0aGlzLnRvdGFsQ291bnQoKSAtIHRoaXMuY291bnRlcigpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZGFsVGVtcGxhdGUpIHtcbiAgICAgIHRoaXMubmV3TW9kYWwgPSB0aGlzLm1vZGFsVGVtcGxhdGU7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ2xvc2UoZXZlbnQ/OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQoZXZlbnQgfHwgbmV3IE1vdXNlRXZlbnQoJ2NsaWNrJykpO1xuICB9XG5cbiAgaGFuZGxlQmFjayhldmVudD86IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmJhY2tFdmVudC5lbWl0KGV2ZW50IHx8IG5ldyBNb3VzZUV2ZW50KCdjbGljaycpKTtcbiAgfVxuXG4gIGhhbmRsZVBheSgpIHtcbiAgICBjb25zdCBkYXRhOiBNb2RhbERhdGFDb25maWcgPSB7XG4gICAgICB0aXRsZTogdGhpcy5tb2RhbFRpdGxlKCksXG4gICAgICBzdWJ0aXRsZTogdGhpcy5tb2RhbFN1YnRpdGxlKCksXG4gICAgICBjb250ZW50OiB0aGlzLm5ld01vZGFsLFxuICAgICAgc2l6ZTogJ2xhcmdlJyxcbiAgICAgIGhpZGVQcmltYXJ5QnV0dG9uOiB0cnVlLFxuICAgICAgaGlkZVNlY29uZGFyeUJ1dHRvbjogdHJ1ZSxcbiAgICB9O1xuXG4gICAgdGhpcy5tYXREaWFsb2cub3BlbihCbWJNb2RhbENvbXBvbmVudCwgeyBkYXRhIH0pO1xuICB9XG5cbiAgZ2V0Rm9ybWF0dGVkRGF0ZShkYXRlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWRhdGUpIHJldHVybiAnJztcbiAgICBjb25zdCBmb3JtYXREYXRlID0gRGF0ZVRpbWUuZnJvbUZvcm1hdChkYXRlLCB0aGlzLmZvcm1hdERhdGVzKCkpO1xuICAgIHJldHVybiBmb3JtYXREYXRlLnRvTG9jYWxlU3RyaW5nKHtcbiAgICAgIGRheTogJzItZGlnaXQnLFxuICAgICAgbW9udGg6ICdzaG9ydCcsXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgfSk7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRBbW91bnQoYW1vdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBjdXJyZW5jeUZvcm1hdChhbW91bnQpO1xuICB9XG5cbiAgaGFuZGxlQWN0aXZlQ3VzdG9tQW1vdW50KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmlzRW5hYmxlQ3VzdG9tQW1vdW50ID0gZXZlbnQudmFsdWUgPT09ICdtb2RhbE90aGVyQW1vdW50SW5wdXQnO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgaWYgKCF0aGlzLmlzRW5hYmxlQ3VzdG9tQW1vdW50KSB7XG4gICAgICB0aGlzLnBheUV2ZW50LmVtaXQodGhpcy50b3RhbENvdW50KCkgLSB0aGlzLmNvdW50ZXIoKSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtb3VudEZvcm0udmFsaWQpIHtcbiAgICAgIGNvbnN0IGFtb3VudCA9IE51bWJlcih0aGlzLmFtb3VudEZvcm0uY29udHJvbHNbJ2Ftb3VudCddLnZhbHVlKTtcbiAgICAgIGlmIChhbW91bnQgPiAwICYmIGFtb3VudCA8PSB0aGlzLm1heEFtb3VudCkge1xuICAgICAgICB0aGlzLnBheUV2ZW50LmVtaXQoYW1vdW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2hvd0Vycm9yc1snYW1vdW50J10gPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3dFcnJvcnNbJ2Ftb3VudCddID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBnZXRGb3JtQ29udHJvbChuYW1lOiBzdHJpbmcpOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuYW1vdW50Rm9ybS5nZXQobmFtZSkgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICB1cGRhdGVFcnJvclN0YXRlKCkge1xuICAgIE9iamVjdC5rZXlzKHRoaXMuYW1vdW50Rm9ybS5jb250cm9scykuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmFtb3VudEZvcm0uZ2V0KGZpZWxkKTtcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgdGhpcy5zaG93RXJyb3JzW2ZpZWxkXSA9XG4gICAgICAgICAgY29udHJvbC5pbnZhbGlkICYmIChjb250cm9sLnRvdWNoZWQgfHwgY29udHJvbC5kaXJ0eSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRQcm9ncmVzc1BlcmNlbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKDEwMCAqIHRoaXMuY291bnRlcigpKSAvIHRoaXMudG90YWxDb3VudCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYm1iX2FjY291bnQtc3RhdGVtZW50XCI+XG4gIDxibWItaW5uZXItaGVhZGVyXG4gICAgKG9uSGFuZGxlQ2xvc2UpPVwiaGFuZGxlQ2xvc2UoJGV2ZW50KVwiXG4gICAgW3RpdGxlXT1cInRpdGxlKClcIlxuICAgIFtzaG93U2VhcmNoXT1cImZhbHNlXCJcbiAgICBbc2hvd0Nsb3NlXT1cInRydWVcIlxuICAvPlxuICA8bWFpbiBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1jb250ZW50LWJhbGFuY2VcIj5cbiAgICAgIDxibWItYmFsYW5jZS1vdmVydmlld1xuICAgICAgICBbcHJvZ3Jlc3NDaXJjbGVUaXRsZV09XCJwcm9ncmVzc0NpcmNsZVRpdGxlKClcIlxuICAgICAgICBbbGFiZWxQcmltYXJ5XT1cImxhYmVsUHJpbWFyeSgpXCJcbiAgICAgICAgW2xhYmVsU2Vjb25kYXJ5XT1cImxhYmVsU2Vjb25kYXJ5KClcIlxuICAgICAgICBbcHJvZ3Jlc3NDaXJjbGVWYWx1ZV09XCJnZXRGb3JtYXR0ZWRBbW91bnQodG90YWxDb3VudCgpIC0gY291bnRlcigpKVwiXG4gICAgICAgIFt2YWx1ZVByaW1hcnldPVwiZ2V0Rm9ybWF0dGVkQW1vdW50KHRvdGFsQ291bnQoKSlcIlxuICAgICAgICBbdmFsdWVTZWNvbmRhcnldPVwiZ2V0Rm9ybWF0dGVkQW1vdW50KGNvdW50ZXIoKSlcIlxuICAgICAgICBbcHJvZ3Jlc3NDaXJjbGVQZXJjZW50XT1cImdldFByb2dyZXNzUGVyY2VudCgpXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPGJtYi1jYXJkPlxuICAgICAgPGJtYi1jYXJkLWNvbnRlbnQgcGFkZGluZz1cIm5vbmVcIj5cbiAgICAgICAgPGJtYi1wcm9ncmVzcy1iYXJcbiAgICAgICAgICBhcHBlYXJhbmNlPVwiaW5mb1wiXG4gICAgICAgICAgdHlwZT1cImNvbnRhaW5lclwiXG4gICAgICAgICAgW2NvdW50ZXJdPVwiY291bnRlcigpXCJcbiAgICAgICAgICBbdG90YWxDb3VudF09XCJ0b3RhbENvdW50KClcIlxuICAgICAgICAgIFt0aXRsZV09XCJwcm9ncmVzc1RpdGxlKClcIlxuICAgICAgICAvPlxuICAgICAgPC9ibWItY2FyZC1jb250ZW50PlxuICAgIDwvYm1iLWNhcmQ+XG4gICAgPGJtYi1jYXJkPlxuICAgICAgPGJtYi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxwIGNsYXNzPVwiYm1iX2FjY291bnQtc3RhdGVtZW50LWNvbnRlbnQtZGF0ZVwiPlxuICAgICAgICAgIDxzcGFuPnt7IGN1dE9mZkRhdGVMYWJlbCgpIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuPnt7IGdldEZvcm1hdHRlZERhdGUoY3V0T2ZmRGF0ZSgpKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8Ym1iLWRpdmlkZXIgLz5cbiAgICAgICAgPHAgY2xhc3M9XCJibWJfYWNjb3VudC1zdGF0ZW1lbnQtY29udGVudC1kYXRlXCI+XG4gICAgICAgICAgPHNwYW4+e3sgcGF5bWVudERlYWRsaW5lTGFiZWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj57eyBnZXRGb3JtYXR0ZWREYXRlKHBheW1lbnREZWFkbGluZSgpKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9ibWItY2FyZC1jb250ZW50PlxuICAgIDwvYm1iLWNhcmQ+XG4gIDwvbWFpbj5cbiAgPGZvb3RlciBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1mb290ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBibWJCdXR0b25cbiAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5LW91dGxpbmVkXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVCYWNrKCRldmVudClcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAge3sgYmFja0J1dHRvbkxhYmVsKCkgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVQYXkoKVwiIGJtYkJ1dHRvbiBzaXplPVwibGFyZ2VcIiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICB7eyBwYXlCdXR0b25MYWJlbCgpIH19XG4gICAgPC9idXR0b24+XG4gIDwvZm9vdGVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbW9kYWxUZW1wbGF0ZT5cbiAgPHNlY3Rpb24gY2xhc3M9XCJibWJfYWNjb3VudC1zdGF0ZW1lbnQtbW9kYWxcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImFtb3VudEZvcm1cIiAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiPlxuICAgICAgPGJtYi1wcm9ncmVzcy1iYXJcbiAgICAgICAgYXBwZWFyYW5jZT1cImluZm9cIlxuICAgICAgICB0eXBlPVwiY29udGFpbmVyXCJcbiAgICAgICAgW2NvdW50ZXJdPVwiY291bnRlcigpXCJcbiAgICAgICAgW3RvdGFsQ291bnRdPVwidG90YWxDb3VudCgpXCJcbiAgICAgICAgW3RpdGxlXT1cInByb2dyZXNzVGl0bGUoKVwiXG4gICAgICAvPlxuICAgICAgPGJtYi1kaXZpZGVyIC8+XG4gICAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJibWJfYWNjb3VudC1zdGF0ZW1lbnQtbW9kYWwtbGFiZWxcIlxuICAgICAgICBibWJMYXlvdXRcbiAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgIFtkeW5hbWljQ29sc109XCJ0cnVlXCJcbiAgICAgID5cbiAgICAgICAgPGJtYi1yYWRpYWxcbiAgICAgICAgICBpZD1cIm1vZGFsUmVzdElucHV0XCJcbiAgICAgICAgICBuYW1lPVwibW9kYWxBbW91bnRcIlxuICAgICAgICAgIFtjaGVja2VkXT1cInRydWVcIlxuICAgICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlQWN0aXZlQ3VzdG9tQW1vdW50KCRldmVudClcIlxuICAgICAgICAgIHZhbHVlPVwibW9kYWxSZXN0SW5wdXRcIlxuICAgICAgICAvPlxuICAgICAgICA8c3BhbiBibWJMYXlvdXRJdGVtIFtjb2xHcm93XT1cIjFcIj5cbiAgICAgICAgICB7eyBtb2RhbFJlc3RMYWJlbCgpIH19XG4gICAgICAgICAgPGJyIC8+XG4gICAgICAgICAge3sgZ2V0Rm9ybWF0dGVkQW1vdW50KHRvdGFsQ291bnQoKSAtIGNvdW50ZXIoKSkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxibWItZGl2aWRlciAvPlxuICAgICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwiYm1iX2FjY291bnQtc3RhdGVtZW50LW1vZGFsLWxhYmVsXCJcbiAgICAgICAgYm1iTGF5b3V0XG4gICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICBbZHluYW1pY0NvbHNdPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICAgIDxibWItcmFkaWFsXG4gICAgICAgICAgaWQ9XCJtb2RhbE90aGVyQW1vdW50SW5wdXRcIlxuICAgICAgICAgIG5hbWU9XCJtb2RhbEFtb3VudFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVBY3RpdmVDdXN0b21BbW91bnQoJGV2ZW50KVwiXG4gICAgICAgICAgdmFsdWU9XCJtb2RhbE90aGVyQW1vdW50SW5wdXRcIlxuICAgICAgICAvPlxuICAgICAgICA8c3BhbiBibWJMYXlvdXRJdGVtIFtjb2xHcm93XT1cIjFcIj5cbiAgICAgICAgICB7eyBtb2RhbE90aGVyQW1vdW50TGFiZWwoKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2xhYmVsPlxuICAgICAgQGlmIChpc0VuYWJsZUN1c3RvbUFtb3VudCkge1xuICAgICAgICA8Ym1iLWlucHV0XG4gICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgW21heF09XCJ0b3RhbENvdW50KCkgLSBjb3VudGVyKClcIlxuICAgICAgICAgIFttaW5dPVwiMFwiXG4gICAgICAgICAgcGF0dGVybj1cIlxcZCpcIlxuICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlKClcIlxuICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgIFtjb250cm9sXT1cImdldEZvcm1Db250cm9sKCdhbW91bnQnKVwiXG4gICAgICAgICAgW3Nob3dFcnJvcl09XCJzaG93RXJyb3JzWydhbW91bnQnXVwiXG4gICAgICAgIC8+XG4gICAgICB9XG4gICAgICA8Zm9vdGVyIGNsYXNzPVwiYm1iX2FjY291bnQtc3RhdGVtZW50LWZvb3RlclwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBibWJCdXR0b24gc2l6ZT1cImxhcmdlXCI+XG4gICAgICAgICAge3sgbW9kYWxQcmltYXJ5QnV0dG9uTGFiZWwoKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZm9vdGVyPlxuICAgIDwvZm9ybT5cbiAgPC9zZWN0aW9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItYWNjb3VudC1zdGF0ZW1lbnQvYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RzLW5nL3NyYy9saWIvY29tcG9uZW50cy9ibWItYWNjb3VudC1zdGF0ZW1lbnQvYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEdBQ3hCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNqQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdURBQXVE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QztnQkFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNuQyxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQzsrR0EvSVUsNEJBQTRCO21HQUE1Qiw0QkFBNEIsb25HQTRCSCxXQUFXLDZCQ3hGakQsdzhIQStIQSx3bU5EdEZJLDJCQUEyQiw0U0FDM0IsZ0JBQWdCLDBKQUNoQix1QkFBdUIsd0hBQ3ZCLHVCQUF1QiwyS0FDdkIsbUJBQW1CLDBFQUNuQixrQkFBa0IsNE1BQ2xCLGtCQUFrQixrV0FDbEIsa0JBQWtCLCtIQUNsQixzQkFBc0IsaUpBQ3RCLGlCQUFpQix1aUJBQ2pCLG1CQUFtQixxYkFDbkIsdUJBQXVCLDJUQUN2QixZQUFZOzs0RkFPSCw0QkFBNEI7a0JBdkJ4QyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1A7d0JBQ1AsMkJBQTJCO3dCQUMzQixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsWUFBWTtxQkFDYixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzBGQStCL0MsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgT25Jbml0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm1iQmFsYW5jZU92ZXJ2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWJhbGFuY2Utb3ZlcnZpZXcvYm1iLWJhbGFuY2Utb3ZlcnZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEJtYkNhcmRDb21wb25lbnQsXG4gIEJtYkNhcmRDb250ZW50Q29tcG9uZW50LFxufSBmcm9tICcuLi9ibWItY2FyZC9ibWItY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm1iUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuLi9ibWItcHJvZ3Jlc3MtYmFyL2JtYi1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgQm1iRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1kaXZpZGVyL2JtYi1kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCbWJSYWRpYWxDb21wb25lbnQgfSBmcm9tICcuLi9ibWItcmFkaWFsL2JtYi1yYWRpYWwuY29tcG9uZW50JztcbmltcG9ydCB7IGN1cnJlbmN5Rm9ybWF0IH0gZnJvbSAnLi4vLi4vdXRpbHMvY3VycmVuY3lGb3JtYXQnO1xuaW1wb3J0IHsgQm1iTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ibWItbGF5b3V0L2JtYi1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJtYkxheW91dEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2JtYi1sYXlvdXQvYm1iLWxheW91dC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCbWJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2JtYi1pbnB1dC9ibWItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEJtYklubmVySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYm1iLWlubmVyLWhlYWRlci9ibWItaW5uZXItaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbWJOYXRpdmVNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uYXRpdmUtbW9kYWwuc2VydmljZSc7XG5pbXBvcnQge1xuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBWYWxpZGF0b3JzLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQm1iTmF0aXZlTW9kYWwgfSBmcm9tICcuLi9ibWItbW9kYWwvYm1iLW1vZGFsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdibWItYWNjb3VudC1zdGF0ZW1lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQm1iQmFsYW5jZU92ZXJ2aWV3Q29tcG9uZW50LFxuICAgIEJtYkNhcmRDb21wb25lbnQsXG4gICAgQm1iQ2FyZENvbnRlbnRDb21wb25lbnQsXG4gICAgQm1iUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgQm1iRGl2aWRlckNvbXBvbmVudCxcbiAgICBCbWJCdXR0b25EaXJlY3RpdmUsXG4gICAgQm1iUmFkaWFsQ29tcG9uZW50LFxuICAgIEJtYkxheW91dERpcmVjdGl2ZSxcbiAgICBCbWJMYXlvdXRJdGVtRGlyZWN0aXZlLFxuICAgIEJtYklucHV0Q29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQm1iSW5uZXJIZWFkZXJDb21wb25lbnQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYm1iLWFjY291bnQtc3RhdGVtZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2JtYi1hY2NvdW50LXN0YXRlbWVudC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCbWJBY2NvdW50U3RhdGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IHtcbiAgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCdFc3RhZG8gZGUgY3VlbnRhJyk7XG4gIHByb2dyZXNzQ2lyY2xlVGl0bGUgPSBpbnB1dDxzdHJpbmdbXT4oWydUb3RhbCBhIHBhZ2FyJywgJ2VzdGUgbWVzJ10pO1xuICBsYWJlbFByaW1hcnkgPSBpbnB1dDxzdHJpbmc+KCdDdW90YSBNZW5zdWFsJyk7XG4gIGxhYmVsU2Vjb25kYXJ5ID0gaW5wdXQ8c3RyaW5nPignUGVuZGllbnRlJyk7XG4gIHRvdGFsQ291bnQgPSBpbnB1dDxudW1iZXI+KDApO1xuICBjb3VudGVyID0gaW5wdXQ8bnVtYmVyPigwKTtcbiAgcHJvZ3Jlc3NUaXRsZSA9IGlucHV0PHN0cmluZz4oJ1RvdGFsIHBhZ2FkbycpO1xuICBmb3JtYXREYXRlcyA9IGlucHV0PHN0cmluZz4oJ3l5eXktTU0tZGQnKTtcbiAgcGF5bWVudERlYWRsaW5lID0gaW5wdXQ8c3RyaW5nPigpO1xuICBjdXRPZmZEYXRlID0gaW5wdXQ8c3RyaW5nPigpO1xuICBwYXltZW50RGVhZGxpbmVMYWJlbCA9IGlucHV0PHN0cmluZz4oJ0ZlY2hhIGzDrW1pdGUgZGUgcGFnbzonKTtcbiAgY3V0T2ZmRGF0ZUxhYmVsID0gaW5wdXQ8c3RyaW5nPignRmVjaGEgZGUgY29ydGU6Jyk7XG4gIHBheUJ1dHRvbkxhYmVsID0gaW5wdXQ8c3RyaW5nPignUGFnYXInKTtcbiAgYmFja0J1dHRvbkxhYmVsID0gaW5wdXQ8c3RyaW5nPignUmVncmVzYXInKTtcbiAgbW9kYWxUaXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xuICBtb2RhbFN1YnRpdGxlID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIG1vZGFsUmVzdExhYmVsID0gaW5wdXQ8c3RyaW5nPignUGFnYXIgcmVzdGFudGUnKTtcbiAgbW9kYWxPdGhlckFtb3VudExhYmVsID0gaW5wdXQ8c3RyaW5nPignT3RyYSBjYW50aWRhZCcpO1xuICBtb2RhbFByaW1hcnlCdXR0b25MYWJlbCA9IGlucHV0PHN0cmluZz4oJ1BhZ2FyJyk7XG4gIGVycm9yTWVzc2FnZSA9IGlucHV0PHN0cmluZz4oXG4gICAgJ0Vycm9yLCBFc3RlIGNhbXBvIGVzIHJlcXVlcmlkbyB5IGRlYmUgc2VyIHVuYSBjYW50aWRhZCBlbnRyZSAxIHkgJyxcbiAgKTtcblxuICBjbG9zZUV2ZW50ID0gb3V0cHV0PE1vdXNlRXZlbnQ+KCk7XG4gIGJhY2tFdmVudCA9IG91dHB1dDxNb3VzZUV2ZW50PigpO1xuICBwYXlFdmVudCA9IG91dHB1dDxudW1iZXI+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxUZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgbW9kYWxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgbmV3TW9kYWw6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgY3VzdG9tQW1vdW50OiBudW1iZXIgPSAwO1xuICBpc0VuYWJsZUN1c3RvbUFtb3VudDogYm9vbGVhbiA9IGZhbHNlO1xuICBtYXhBbW91bnQ6IG51bWJlciA9IDA7XG4gIG1vZGFsSUQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgYW1vdW50Rm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgYW1vdW50OiBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyPigwLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICB9KTtcbiAgc2hvd0Vycm9yczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogQm1iTmF0aXZlTW9kYWxTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWF4QW1vdW50ID0gdGhpcy50b3RhbENvdW50KCkgLSB0aGlzLmNvdW50ZXIoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2RhbFRlbXBsYXRlKSB7XG4gICAgICB0aGlzLm5ld01vZGFsID0gdGhpcy5tb2RhbFRlbXBsYXRlO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNsb3NlKGV2ZW50PzogTW91c2VFdmVudCkge1xuICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KGV2ZW50IHx8IG5ldyBNb3VzZUV2ZW50KCdjbGljaycpKTtcbiAgfVxuXG4gIGhhbmRsZUJhY2soZXZlbnQ/OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5iYWNrRXZlbnQuZW1pdChldmVudCB8fCBuZXcgTW91c2VFdmVudCgnY2xpY2snKSk7XG4gIH1cblxuICBoYW5kbGVQYXkoKSB7XG4gICAgY29uc3QgZGF0YTogSUJtYk5hdGl2ZU1vZGFsID0ge1xuICAgICAgdGl0bGU6IHRoaXMubW9kYWxUaXRsZSgpLFxuICAgICAgc3VidGl0bGU6IHRoaXMubW9kYWxTdWJ0aXRsZSgpLFxuICAgICAgY29udGVudDogdGhpcy5uZXdNb2RhbCxcbiAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgfTtcblxuICAgIHRoaXMubW9kYWxJRC5zZXQodGhpcy5tb2RhbFNlcnZpY2Uub3Blbk1vZGFsKGRhdGEpKTtcbiAgfVxuXG4gIGdldEZvcm1hdHRlZERhdGUoZGF0ZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFkYXRlKSByZXR1cm4gJyc7XG4gICAgY29uc3QgZm9ybWF0RGF0ZSA9IERhdGVUaW1lLmZyb21Gb3JtYXQoZGF0ZSwgdGhpcy5mb3JtYXREYXRlcygpKTtcbiAgICByZXR1cm4gZm9ybWF0RGF0ZS50b0xvY2FsZVN0cmluZyh7XG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICAgIG1vbnRoOiAnc2hvcnQnLFxuICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0Rm9ybWF0dGVkQW1vdW50KGFtb3VudDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY3VycmVuY3lGb3JtYXQoYW1vdW50KTtcbiAgfVxuXG4gIGhhbmRsZUFjdGl2ZUN1c3RvbUFtb3VudChldmVudDogYW55KSB7XG4gICAgdGhpcy5pc0VuYWJsZUN1c3RvbUFtb3VudCA9IGV2ZW50LnZhbHVlID09PSAnbW9kYWxPdGhlckFtb3VudElucHV0JztcbiAgfVxuXG4gIGhhbmRsZVN1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMuaXNFbmFibGVDdXN0b21BbW91bnQpIHtcbiAgICAgIHRoaXMucGF5RXZlbnQuZW1pdCh0aGlzLnRvdGFsQ291bnQoKSAtIHRoaXMuY291bnRlcigpKTtcbiAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLmNsb3NlTW9kYWwodGhpcy5tb2RhbElEKCkgYXMgc3RyaW5nKTtcbiAgICAgIHRoaXMubW9kYWxJRC5zZXQobnVsbCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFtb3VudEZvcm0udmFsaWQpIHtcbiAgICAgIGNvbnN0IGFtb3VudCA9IE51bWJlcih0aGlzLmFtb3VudEZvcm0uY29udHJvbHNbJ2Ftb3VudCddLnZhbHVlKTtcbiAgICAgIGlmIChhbW91bnQgPiAwICYmIGFtb3VudCA8PSB0aGlzLm1heEFtb3VudCkge1xuICAgICAgICB0aGlzLnBheUV2ZW50LmVtaXQoYW1vdW50KTtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCh0aGlzLm1vZGFsSUQoKSBhcyBzdHJpbmcpO1xuICAgICAgICB0aGlzLm1vZGFsSUQuc2V0KG51bGwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zaG93RXJyb3JzWydhbW91bnQnXSA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd0Vycm9yc1snYW1vdW50J10gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGdldEZvcm1Db250cm9sKG5hbWU6IHN0cmluZyk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5hbW91bnRGb3JtLmdldChuYW1lKSBhcyBGb3JtQ29udHJvbDtcbiAgfVxuXG4gIHVwZGF0ZUVycm9yU3RhdGUoKSB7XG4gICAgT2JqZWN0LmtleXModGhpcy5hbW91bnRGb3JtLmNvbnRyb2xzKS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuYW1vdW50Rm9ybS5nZXQoZmllbGQpO1xuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICB0aGlzLnNob3dFcnJvcnNbZmllbGRdID1cbiAgICAgICAgICBjb250cm9sLmludmFsaWQgJiYgKGNvbnRyb2wudG91Y2hlZCB8fCBjb250cm9sLmRpcnR5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldFByb2dyZXNzUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiAoMTAwICogdGhpcy5jb3VudGVyKCkpIC8gdGhpcy50b3RhbENvdW50KCk7XG4gIH1cblxuICBjdXN0b21IYW5kbGVDbGljaygpIHtcbiAgICBjb25zb2xlLmxvZygnY3VzdG9tSGFuZGxlQ2xpY2snKTtcblxuICAgIGlmICghdGhpcy5pc0VuYWJsZUN1c3RvbUFtb3VudCkge1xuICAgICAgdGhpcy5wYXlFdmVudC5lbWl0KHRoaXMudG90YWxDb3VudCgpIC0gdGhpcy5jb3VudGVyKCkpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hbW91bnRGb3JtLnZhbGlkKSB7XG4gICAgICBjb25zdCBhbW91bnQgPSBOdW1iZXIodGhpcy5hbW91bnRGb3JtLmNvbnRyb2xzWydhbW91bnQnXS52YWx1ZSk7XG4gICAgICBpZiAoYW1vdW50ID4gMCAmJiBhbW91bnQgPD0gdGhpcy5tYXhBbW91bnQpIHtcbiAgICAgICAgdGhpcy5wYXlFdmVudC5lbWl0KGFtb3VudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNob3dFcnJvcnNbJ2Ftb3VudCddID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93RXJyb3JzWydhbW91bnQnXSA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYm1iX2FjY291bnQtc3RhdGVtZW50XCI+XG4gIDxibWItaW5uZXItaGVhZGVyXG4gICAgKG9uSGFuZGxlQ2xvc2UpPVwiaGFuZGxlQ2xvc2UoJGV2ZW50KVwiXG4gICAgW3RpdGxlXT1cInRpdGxlKClcIlxuICAgIFtzaG93U2VhcmNoXT1cImZhbHNlXCJcbiAgICBbc2hvd0Nsb3NlXT1cInRydWVcIlxuICAvPlxuICA8bWFpbiBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1jb250ZW50LWJhbGFuY2VcIj5cbiAgICAgIDxibWItYmFsYW5jZS1vdmVydmlld1xuICAgICAgICBbcHJvZ3Jlc3NDaXJjbGVUaXRsZV09XCJwcm9ncmVzc0NpcmNsZVRpdGxlKClcIlxuICAgICAgICBbbGFiZWxQcmltYXJ5XT1cImxhYmVsUHJpbWFyeSgpXCJcbiAgICAgICAgW2xhYmVsU2Vjb25kYXJ5XT1cImxhYmVsU2Vjb25kYXJ5KClcIlxuICAgICAgICBbcHJvZ3Jlc3NDaXJjbGVWYWx1ZV09XCJnZXRGb3JtYXR0ZWRBbW91bnQodG90YWxDb3VudCgpIC0gY291bnRlcigpKVwiXG4gICAgICAgIFt2YWx1ZVByaW1hcnldPVwiZ2V0Rm9ybWF0dGVkQW1vdW50KHRvdGFsQ291bnQoKSlcIlxuICAgICAgICBbdmFsdWVTZWNvbmRhcnldPVwiZ2V0Rm9ybWF0dGVkQW1vdW50KGNvdW50ZXIoKSlcIlxuICAgICAgICBbcHJvZ3Jlc3NDaXJjbGVQZXJjZW50XT1cImdldFByb2dyZXNzUGVyY2VudCgpXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPGJtYi1jYXJkPlxuICAgICAgPGJtYi1jYXJkLWNvbnRlbnQgcGFkZGluZz1cIm5vbmVcIj5cbiAgICAgICAgPGJtYi1wcm9ncmVzcy1iYXJcbiAgICAgICAgICBhcHBlYXJhbmNlPVwiaW5mb1wiXG4gICAgICAgICAgdHlwZT1cImNvbnRhaW5lclwiXG4gICAgICAgICAgW2NvdW50ZXJdPVwiY291bnRlcigpXCJcbiAgICAgICAgICBbdG90YWxDb3VudF09XCJ0b3RhbENvdW50KClcIlxuICAgICAgICAgIFt0aXRsZV09XCJwcm9ncmVzc1RpdGxlKClcIlxuICAgICAgICAvPlxuICAgICAgPC9ibWItY2FyZC1jb250ZW50PlxuICAgIDwvYm1iLWNhcmQ+XG4gICAgPGJtYi1jYXJkPlxuICAgICAgPGJtYi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxwIGNsYXNzPVwiYm1iX2FjY291bnQtc3RhdGVtZW50LWNvbnRlbnQtZGF0ZVwiPlxuICAgICAgICAgIDxzcGFuPnt7IGN1dE9mZkRhdGVMYWJlbCgpIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuPnt7IGdldEZvcm1hdHRlZERhdGUoY3V0T2ZmRGF0ZSgpKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8Ym1iLWRpdmlkZXIgLz5cbiAgICAgICAgPHAgY2xhc3M9XCJibWJfYWNjb3VudC1zdGF0ZW1lbnQtY29udGVudC1kYXRlXCI+XG4gICAgICAgICAgPHNwYW4+e3sgcGF5bWVudERlYWRsaW5lTGFiZWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj57eyBnZXRGb3JtYXR0ZWREYXRlKHBheW1lbnREZWFkbGluZSgpKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9ibWItY2FyZC1jb250ZW50PlxuICAgIDwvYm1iLWNhcmQ+XG4gIDwvbWFpbj5cbiAgPGZvb3RlciBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1mb290ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBibWJCdXR0b25cbiAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5LW91dGxpbmVkXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVCYWNrKCRldmVudClcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAge3sgYmFja0J1dHRvbkxhYmVsKCkgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVQYXkoKVwiIGJtYkJ1dHRvbiBzaXplPVwibGFyZ2VcIiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICB7eyBwYXlCdXR0b25MYWJlbCgpIH19XG4gICAgPC9idXR0b24+XG4gIDwvZm9vdGVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbW9kYWxUZW1wbGF0ZT5cbiAgPHNlY3Rpb24gY2xhc3M9XCJibWJfYWNjb3VudC1zdGF0ZW1lbnQtbW9kYWxcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImFtb3VudEZvcm1cIiAobmdTdWJtaXQpPVwiaGFuZGxlU3VibWl0KClcIj5cbiAgICAgIDxibWItcHJvZ3Jlc3MtYmFyXG4gICAgICAgIGFwcGVhcmFuY2U9XCJpbmZvXCJcbiAgICAgICAgdHlwZT1cImNvbnRhaW5lclwiXG4gICAgICAgIFtjb3VudGVyXT1cImNvdW50ZXIoKVwiXG4gICAgICAgIFt0b3RhbENvdW50XT1cInRvdGFsQ291bnQoKVwiXG4gICAgICAgIFt0aXRsZV09XCJwcm9ncmVzc1RpdGxlKClcIlxuICAgICAgLz5cbiAgICAgIDxibWItZGl2aWRlciAvPlxuICAgICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwiYm1iX2FjY291bnQtc3RhdGVtZW50LW1vZGFsLWxhYmVsXCJcbiAgICAgICAgYm1iTGF5b3V0XG4gICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICBbZHluYW1pY0NvbHNdPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICAgIDxibWItcmFkaWFsXG4gICAgICAgICAgaWQ9XCJtb2RhbFJlc3RJbnB1dFwiXG4gICAgICAgICAgbmFtZT1cIm1vZGFsQW1vdW50XCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJ0cnVlXCJcbiAgICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUFjdGl2ZUN1c3RvbUFtb3VudCgkZXZlbnQpXCJcbiAgICAgICAgICB2YWx1ZT1cIm1vZGFsUmVzdElucHV0XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW4gYm1iTGF5b3V0SXRlbSBbY29sR3Jvd109XCIxXCI+XG4gICAgICAgICAge3sgbW9kYWxSZXN0TGFiZWwoKSB9fVxuICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIHt7IGdldEZvcm1hdHRlZEFtb3VudCh0b3RhbENvdW50KCkgLSBjb3VudGVyKCkpIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8Ym1iLWRpdmlkZXIgLz5cbiAgICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1tb2RhbC1sYWJlbFwiXG4gICAgICAgIGJtYkxheW91dFxuICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgW2R5bmFtaWNDb2xzXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgICA8Ym1iLXJhZGlhbFxuICAgICAgICAgIGlkPVwibW9kYWxPdGhlckFtb3VudElucHV0XCJcbiAgICAgICAgICBuYW1lPVwibW9kYWxBbW91bnRcIlxuICAgICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlQWN0aXZlQ3VzdG9tQW1vdW50KCRldmVudClcIlxuICAgICAgICAgIHZhbHVlPVwibW9kYWxPdGhlckFtb3VudElucHV0XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW4gYm1iTGF5b3V0SXRlbSBbY29sR3Jvd109XCIxXCI+XG4gICAgICAgICAge3sgbW9kYWxPdGhlckFtb3VudExhYmVsKCkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIEBpZiAoaXNFbmFibGVDdXN0b21BbW91bnQpIHtcbiAgICAgICAgPGJtYi1pbnB1dFxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgIFttYXhdPVwidG90YWxDb3VudCgpIC0gY291bnRlcigpXCJcbiAgICAgICAgICBbbWluXT1cIjFcIlxuICAgICAgICAgIHBhdHRlcm49XCJcXGQqXCJcbiAgICAgICAgICBbZXJyb3JNZXNzYWdlXT1cImVycm9yTWVzc2FnZSgpXCJcbiAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbY29udHJvbF09XCJnZXRGb3JtQ29udHJvbCgnYW1vdW50JylcIlxuICAgICAgICAgIFtzaG93RXJyb3JdPVwic2hvd0Vycm9yc1snYW1vdW50J11cIlxuICAgICAgICAvPlxuICAgICAgfVxuICAgICAgPGZvb3RlciBjbGFzcz1cImJtYl9hY2NvdW50LXN0YXRlbWVudC1mb290ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgYm1iQnV0dG9uIHNpemU9XCJsYXJnZVwiPlxuICAgICAgICAgIHt7IG1vZGFsUHJpbWFyeUJ1dHRvbkxhYmVsKCkgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Zvb3Rlcj5cbiAgICA8L2Zvcm0+XG4gIDwvc2VjdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|